From 88fed997f5e1afb317d28a09642052e22d381163 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Thu, 18 Feb 2021 22:18:45 +0100 Subject: [PATCH 01/11] Prototyped non-Webpack build --- package-lock.json | 21703 +--------------- package.json | 22 +- .../integrations/search/worker/main/index.ts | 2 +- tools/index.ts | 232 + tsconfig.json | 1 + 5 files changed, 252 insertions(+), 21708 deletions(-) create mode 100644 tools/index.ts diff --git a/package-lock.json b/package-lock.json index 247806bff..add99766b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16014 +1,8 @@ { "name": "mkdocs-material", "version": "7.0.0b2", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "version": "7.0.0b2", - "license": "MIT", - "dependencies": { - "clipboard": "^2.0.6", - "escape-html": "^1.0.3", - "focus-visible": "^5.2.0", - "fuzzaldrin-plus": "^0.6.0", - "lunr": "^2.3.9", - "lunr-languages": "^1.4.0", - "rxjs": "^7.0.0-beta.10" - }, - "devDependencies": { - "@fortawesome/fontawesome-free": "^5.15.2", - "@mdi/svg": "^5.9.55", - "@primer/octicons": "^12.0.0", - "@types/clipboard": "^2.0.1", - "@types/copy-webpack-plugin": "^6.4.0", - "@types/escape-html": "1.0.0", - "@types/event-hooks-webpack-plugin": "^2.2.0", - "@types/fuzzaldrin-plus": "^0.6.1", - "@types/html-minifier": "^4.0.0", - "@types/lunr": "^2.3.3", - "@types/mini-css-extract-plugin": "^1.2.2", - "@types/node": "^14.14.28", - "@types/ramda": "^0.27.37", - "@types/resize-observer-browser": "^0.1.5", - "@types/webpack": "^4.41.26", - "@types/webpack-assets-manifest": "^3.0.1", - "@typescript-eslint/eslint-plugin": "^4.15.0", - "@typescript-eslint/parser": "^4.15.0", - "autoprefixer": "10.2.4", - "copy-webpack-plugin": "^6.4.1", - "css-loader": "^5.0.2", - "eslint": "^7.20.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsdoc": "^32.0.0", - "eslint-plugin-no-null": "^1.0.2", - "event-hooks-webpack-plugin": "^2.2.0", - "expose-loader": "^1.0.3", - "github-types": "^1.0.0", - "gitlab": "^14.2.2", - "html-minifier": "^4.0.0", - "ignore-emit-webpack-plugin": "2.0.3", - "imagemin-webpack-plugin": "^2.4.2", - "material-design-color": "^2.3.2", - "material-shadows": "^3.0.1", - "mini-css-extract-plugin": "^1.3.5", - "postcss": "^8.2.5", - "postcss-inline-svg": "^5.0.0", - "postcss-loader": "^4.2.0", - "postcss-svgo": "^4.0.2", - "preact": "^10.5.12", - "ramda": "^0.27.1", - "rimraf": "^3.0.2", - "sass": "^1.32.6", - "sass-loader": "^10.1.1", - "stylelint": "^13.9.0", - "stylelint-config-rational-order": "^0.1.2", - "stylelint-config-recommended": "^3.0.0", - "stylelint-config-standard": "^20.0.0", - "stylelint-scss": "^3.19.0", - "tiny-glob": "^0.2.8", - "ts-loader": "^8.0.15", - "ts-node": "^9.1.1", - "tsconfig-paths-webpack-plugin": "^3.3.0", - "tslib": "^2.1.0", - "typescript": "^4.1.5", - "webpack": "^4.46.0", - "webpack-assets-manifest": "3.1.1", - "webpack-cli": "^4.5.0" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/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/@babel/generator": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", - "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.9.5", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/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/@babel/helper-function-name": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", - "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.9.5" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.8.3" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.8.3" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.8.3" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", - "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.9.0", - "lodash": "^4.17.13" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.8.3" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", - "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", - "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.8.3" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "node_modules/@babel/helpers": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.2.tgz", - "integrity": "sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", - "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "node_modules/@babel/traverse": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", - "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.5", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "node_modules/@babel/types": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", - "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/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" - } - }, - "node_modules/@eslint/eslintrc/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" - } - }, - "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/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" - } - }, - "node_modules/@eslint/eslintrc/node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/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/@fortawesome/fontawesome-free": { - "version": "5.15.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.2.tgz", - "integrity": "sha512-7l/AX41m609L/EXI9EKH3Vs3v0iA8tKlIOGtw+kgcoanI7p+e4I4GYLqW3UXWiTnjSFymKSmTTPKYrivzbxxqA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@mdi/svg": { - "version": "5.9.55", - "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-5.9.55.tgz", - "integrity": "sha512-gO0ZpKIeCn9vFg46QduK9MM+n1fuCNwSdcdlBTtbafnnuvwLveK2uj+byhdLtg/8VJGXDhp+DJ35QUMbeWeULA==", - "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, - "dependencies": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@primer/octicons": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@primer/octicons/-/octicons-12.0.0.tgz", - "integrity": "sha512-R3HgUaKpQQnDS1aYN0R+e3ADawsyBuvOHjzYj4ds1AJMwvV18u+Zf2/C1+kQcnWDEM5ZizANU6iQbhYrgPUcPg==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1" - } - }, - "node_modules/@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@stylelint/postcss-css-in-js": { - "version": "0.37.2", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz", - "integrity": "sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==", - "dev": true, - "dependencies": { - "@babel/core": ">=7.9.0" - } - }, - "node_modules/@stylelint/postcss-markdown": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", - "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", - "dev": true, - "dependencies": { - "remark": "^13.0.0", - "unist-util-find-all-after": "^3.0.2" - } - }, - "node_modules/@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, - "node_modules/@types/clean-css": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.2.tgz", - "integrity": "sha512-xiTJn3bmDh1lA8c6iVJs4ZhHw+pcmxXlJQXOB6G1oULaak8rmarIeFKI4aTJ7849dEhaO612wgIualZfbxTJwA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/clipboard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/clipboard/-/clipboard-2.0.1.tgz", - "integrity": "sha512-gJJX9Jjdt3bIAePQRRjYWG20dIhAgEqonguyHxXuqALxsoDsDLimihqrSg8fXgVTJ4KZCzkfglKtwsh/8dLfbA==", - "dev": true - }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "node_modules/@types/copy-webpack-plugin": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@types/copy-webpack-plugin/-/copy-webpack-plugin-6.4.0.tgz", - "integrity": "sha512-f5mQG5c7xH3zLGrEmKgzLLFSGNB7Y4+4a+a1X4DvjgfbTEWEZUNNXUqGs5tBVCtb5qKPzm2z+6ixX3xirWmOCg==", - "dev": true, - "dependencies": { - "@types/webpack": "*" - } - }, - "node_modules/@types/escape-html": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.0.tgz", - "integrity": "sha512-Ehe6irbxo5BSYwG03buglLJCmy3JqqtC69UvopsBWYf4hDa+ZODJ7BuZU6y+YE4U6MaoSruTxM2+uePfAHts9Q==", - "dev": true - }, - "node_modules/@types/event-hooks-webpack-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/event-hooks-webpack-plugin/-/event-hooks-webpack-plugin-2.2.0.tgz", - "integrity": "sha512-1xuZO3Yb5a4eDTY/WIgFVpSkGi1mx/k3f4inf9eZPf8+ZHB66My9b+3ugD2znXN5rtzsufLNfigaGcAVrsTGxw==", - "dev": true, - "dependencies": { - "@types/webpack": "*" - } - }, - "node_modules/@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "node_modules/@types/fuzzaldrin-plus": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@types/fuzzaldrin-plus/-/fuzzaldrin-plus-0.6.1.tgz", - "integrity": "sha512-UFGM/hVBPlttAqSDMbYdupckngYNY/DAYBPHrHw4Pl2bK3mPwSabhkRHK1uK9udi5KZG/qX7D6z1/Jo5smTJFw==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "dev": true, - "dependencies": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/html-minifier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier/-/html-minifier-4.0.0.tgz", - "integrity": "sha512-eFnGhrKmjWBlnSGNtunetE3UU2Tc/LUl92htFslSSTmpp9EKHQVcYQadCyYfnzUEFB5G/3wLWo/USQS/mEPKrA==", - "dev": true, - "dependencies": { - "@types/clean-css": "*", - "@types/relateurl": "*", - "@types/uglify-js": "*" - } - }, - "node_modules/@types/imagemin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-7.0.0.tgz", - "integrity": "sha512-BiNd5FazD5ZmJUYD9txsbrttL0P0welrb9yAPn6ykKK3kWufwFsxYqw5KdggfZQDjiNYwsBrX+Fwei0Xsw4oAw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/imagemin-gifsicle": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz", - "integrity": "sha512-WohEsNMyGYTc+u6WA7KUvX8g+uLgTJOhqteexGdGZ/TPyS65GuCzMJ1RTaSzqG/cIfLFxbxg/HbGBg8YJrNZaw==", - "dev": true, - "dependencies": { - "@types/imagemin": "*" - } - }, - "node_modules/@types/imagemin-jpegtran": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/imagemin-jpegtran/-/imagemin-jpegtran-5.0.0.tgz", - "integrity": "sha512-uwJknBgND9Jx+/d5bJf+mvAjfes0NIDyCeOKFJ9LbEYnp8/PVt0YDGh8K96JemeF84VbhHFxnN62Wz68rVNfFQ==", - "dev": true, - "dependencies": { - "@types/imagemin": "*" - } - }, - "node_modules/@types/imagemin-optipng": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.0.tgz", - "integrity": "sha512-Qn4gTV1fpPG2WIsUIl10yi2prudOuDIx+D+O0H3aKZRcTCwpMjszBVeRWUqkhG5wADhWO4giLut1sFNr3H2XIQ==", - "dev": true, - "dependencies": { - "@types/imagemin": "*" - } - }, - "node_modules/@types/imagemin-svgo": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-7.0.0.tgz", - "integrity": "sha512-Uq2T4hHE9PvBLB1lZM1+bZUzPc14XCKKWzQqJ47qe4/iuVHavYX4ig/gbBj8W3ZvRAJcQV3nagfoqFUzzdFD4g==", - "dev": true, - "dependencies": { - "@types/imagemin": "*", - "@types/svgo": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "node_modules/@types/lunr": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/lunr/-/lunr-2.3.3.tgz", - "integrity": "sha512-09sXZZVsB3Ib41U0fC+O1O+4UOZT1bl/e+/QubPxpqDWHNEchvx/DEb1KJMOwq6K3MTNzZFoNSzVdR++o1DVnw==", - "dev": true - }, - "node_modules/@types/mdast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", - "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", - "dev": true, - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mini-css-extract-plugin": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-1.2.2.tgz", - "integrity": "sha512-EoHBJ4rcrd5j7weAFE4yU1gxedx53EFCWKso03G7DW0h2YvtwjKYz/NnuFHudcQDI1HpTLqoQFTwEgfJxygYCw==", - "dev": true, - "dependencies": { - "@types/webpack": "*" - } - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.14.28", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.28.tgz", - "integrity": "sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", - "dev": true - }, - "node_modules/@types/ramda": { - "version": "0.27.38", - "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.27.38.tgz", - "integrity": "sha512-tZoQ0lv1WKkrpBHemL8yCkI9p8kUk/1PSMwhl0eeyqMQjD+2ePUtVLV8PpNS9Kq3OktObwOx9I3k+HumxTviRg==", - "dev": true, - "dependencies": { - "ts-toolbelt": "^6.15.1" - } - }, - "node_modules/@types/relateurl": { - "version": "0.2.28", - "resolved": "https://registry.npmjs.org/@types/relateurl/-/relateurl-0.2.28.tgz", - "integrity": "sha1-a9p9uGU/piZD9e5p6facEaOS46Y=", - "dev": true - }, - "node_modules/@types/resize-observer-browser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@types/resize-observer-browser/-/resize-observer-browser-0.1.5.tgz", - "integrity": "sha512-8k/67Z95Goa6Lznuykxkfhq9YU3l1Qe6LNZmwde1u7802a3x8v44oq0j91DICclxatTr0rNnhXx7+VTIetSrSQ==", - "dev": true - }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "node_modules/@types/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-2CNgVZbMzH6KYHTaf0DOtlm8ejjK8JBxL8C8Xv0fDogDsRQaM55m2bv66+isxmWm/w6z6kmOD3GxNVZ85Z0Uyg==", - "dev": true - }, - "node_modules/@types/tapable": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.5.tgz", - "integrity": "sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ==", - "dev": true - }, - "node_modules/@types/uglify-js": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.0.tgz", - "integrity": "sha512-3ZcoyPYHVOCcLpnfZwD47KFLr8W/mpUcgjpf1M4Q78TMJIw7KMAHSjiCLJp1z3ZrBR9pTLbe191O0TldFK5zcw==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", - "dev": true - }, - "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, - "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==", - "dev": true, - "dependencies": { - "vfile-message": "*" - } - }, - "node_modules/@types/webpack": { - "version": "4.41.26", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", - "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", - "dev": true, - "dependencies": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "*", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - } - }, - "node_modules/@types/webpack-assets-manifest": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/webpack-assets-manifest/-/webpack-assets-manifest-3.0.1.tgz", - "integrity": "sha512-yNvIA1a+IyiPmWaJVnS4OjJwiCoJX+1UQKsvG46PEnvnAqL/JvdBhhjpDFLkdA8I+sOxaQRjGHOSUYt6bru5iQ==", - "dev": true, - "dependencies": { - "@types/tapable": "*", - "@types/webpack": "*" - } - }, - "node_modules/@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.0.tgz", - "integrity": "sha512-DJgdGZW+8CFUTz5C/dnn4ONcUm2h2T0itWD85Ob5/V27Ndie8hUoX5HKyGssvR8sUMkAIlUc/AMK67Lqa3kBIQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.15.0", - "@typescript-eslint/scope-manager": "4.15.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/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/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/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/@typescript-eslint/experimental-utils": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.0.tgz", - "integrity": "sha512-V4vaDWvxA2zgesg4KPgEGiomWEBpJXvY4ZX34Y3qxK8LUm5I87L+qGIOTd9tHZOARXNRt9pLbblSKiYBlGMawg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.15.0", - "@typescript-eslint/types": "4.15.0", - "@typescript-eslint/typescript-estree": "4.15.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/experimental-utils/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/@typescript-eslint/parser": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.15.0.tgz", - "integrity": "sha512-L6Dtbq8Bc7g2aZwnIBETpmUa9XDKCMzKVwAArnGp5Mn7PRNFjf3mUzq8UeBjL3K8t311hvevnyqXAMSmxO8Gpg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "4.15.0", - "@typescript-eslint/types": "4.15.0", - "@typescript-eslint/typescript-estree": "4.15.0", - "debug": "^4.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.15.0.tgz", - "integrity": "sha512-CSNBZnCC2jEA/a+pR9Ljh8Y+5TY5qgbPz7ICEk9WCpSEgT6Pi7H2RIjxfrrbUXvotd6ta+i27sssKEH8Azm75g==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.15.0", - "@typescript-eslint/visitor-keys": "4.15.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.15.0.tgz", - "integrity": "sha512-su4RHkJhS+iFwyqyXHcS8EGPlUVoC+XREfy5daivjLur9JP8GhvTmDipuRpcujtGC4M+GYhUOJCPDE3rC5NJrg==", - "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.0.tgz", - "integrity": "sha512-jG6xTmcNbi6xzZq0SdWh7wQ9cMb2pqXaUp6bUZOMsIlu5aOlxGxgE/t6L/gPybybQGvdguajXGkZKSndZJpksA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.15.0", - "@typescript-eslint/visitor-keys": "4.15.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/visitor-keys": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.0.tgz", - "integrity": "sha512-RnDtJwOwFucWFAMjG3ghCG/ikImFJFEg20DI7mn4pHEx3vC48lIAoyjhffvfHmErRDboUPC7p9Z2il4CLb7qxA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.15.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.1.tgz", - "integrity": "sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ==", - "dev": true - }, - "node_modules/@webpack-cli/info": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.2.tgz", - "integrity": "sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.0.tgz", - "integrity": "sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==", - "dev": true - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", - "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" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "node_modules/ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "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/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "node_modules/arch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", - "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", - "dev": true - }, - "node_modules/archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", - "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", - "dev": true, - "dependencies": { - "file-type": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/archive-type/node_modules/file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "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-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-includes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", - "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "get-intrinsic": "^1.0.1", - "is-string": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-includes/node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-includes/node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-includes/node_modules/is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-includes/node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true - }, - "node_modules/array-includes/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-includes/node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/array-includes/node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true, - "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": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array.prototype.flat/node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array.prototype.flat/node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array.prototype.flat/node_modules/is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array.prototype.flat/node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true - }, - "node_modules/array.prototype.flat/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array.prototype.flat/node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/array.prototype.flat/node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "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": "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/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, - "node_modules/async-throttle": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/async-throttle/-/async-throttle-1.1.0.tgz", - "integrity": "sha1-Ip5/P6eip5fobzYOYwmggiTU+no=", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "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, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.4.tgz", - "integrity": "sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.1", - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "fraction.js": "^4.0.13", - "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/autoprefixer/node_modules/browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", - "escalade": "^3.1.1", - "node-releases": "^1.1.70" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/autoprefixer/node_modules/caniuse-lite": { - "version": "1.0.30001185", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz", - "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==", - "dev": true - }, - "node_modules/autoprefixer/node_modules/electron-to-chromium": { - "version": "1.3.663", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.663.tgz", - "integrity": "sha512-xkVkzHj6k3oRRGlmdgUCCLSLhtFYHDCTH7SeK+LJdJjnsLcrdbpr8EYmfMQhez3V/KPO5UScSpzQ0feYX6Qoyw==", - "dev": true - }, - "node_modules/autoprefixer/node_modules/node-releases": { - "version": "1.1.70", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", - "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", - "dev": true - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.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 - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": 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, - "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": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/bin-build": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", - "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", - "dev": true, - "dependencies": { - "decompress": "^4.0.0", - "download": "^6.2.2", - "execa": "^0.7.0", - "p-map-series": "^1.0.0", - "tempfile": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-build/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/bin-build/node_modules/execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-build/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-build/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/bin-build/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/bin-check": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", - "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", - "dev": true, - "dependencies": { - "execa": "^0.7.0", - "executable": "^4.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/bin-check/node_modules/execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/bin-check/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/bin-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", - "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", - "dev": true, - "dependencies": { - "execa": "^1.0.0", - "find-versions": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-version-check": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", - "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", - "dev": true, - "dependencies": { - "bin-version": "^3.0.0", - "semver": "^5.6.0", - "semver-truncate": "^1.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", - "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", - "dev": true, - "dependencies": { - "bin-check": "^4.1.0", - "bin-version-check": "^4.0.0", - "download": "^7.1.0", - "import-lazy": "^3.1.0", - "os-filter-obj": "^2.0.0", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper/node_modules/download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", - "dev": true, - "dependencies": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper/node_modules/download/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/got/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "dev": true, - "dependencies": { - "p-timeout": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bin-wrapper/node_modules/p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-wrapper/node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", - "dev": true - }, - "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.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-rsa/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/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/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserslist": { - "version": "4.14.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", - "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001135", - "electron-to-chromium": "^1.3.571", - "escalade": "^3.1.0", - "node-releases": "^1.1.61" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "node_modules/cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", - "dev": true, - "dependencies": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cacache/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/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/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/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, - "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/cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "dev": true, - "dependencies": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cacheable-request/node_modules/normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "dev": true, - "dependencies": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cacheable-request/node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/cacheable-request/node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cacheable-request/node_modules/sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dev": true, - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cacheable-request/node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "node_modules/call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "dependencies": { - "callsites": "^2.0.0" - }, - "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": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001154", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001154.tgz", - "integrity": "sha512-y9DvdSti8NnYB9Be92ddMZQrcOe04kcQtcxtBx4NkB04+qZ+JUWotnXBJTmxlKudhxNTQ3RRknMwNU2YQl/Org==", - "dev": true - }, - "node_modules/caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "dev": true, - "dependencies": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ccount": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz", - "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==", - "dev": true - }, - "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 - }, - "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 - }, - "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 - }, - "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 - }, - "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/chokidar/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chokidar/node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/chrome-trace-event/node_modules/tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "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, - "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": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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-spinners": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", - "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/clipboard": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", - "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", - "dependencies": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "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": "2.2.0", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", - "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", - "dev": true, - "dependencies": { - "is-regexp": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "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 - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "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/colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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/comment-parser": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.1.2.tgz", - "integrity": "sha512-AOdq0i8ghZudnYv8RUnHrhTgafUGs61Rdz9jemU5x2lnZwAWyOq7vySo626K59e1fVKH1xSRorJwPVRLSWOoAQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "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-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/console-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", - "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "node_modules/contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", - "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", - "dev": true, - "dependencies": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/copy-webpack-plugin/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" - } - }, - "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "node_modules/copy-webpack-plugin/node_modules/fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/copy-webpack-plugin/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" - } - }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true - }, - "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": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "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/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "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/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/css-loader": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.2.tgz", - "integrity": "sha512-gbkBigdcHbmNvZ1Cg6aV6qh6k9N6XOr8YWzISLQGrwk2mgOH8LLrizhkxbDhQtaLtktyKHD4970S0xwz5btfTA==", - "dev": true, - "dependencies": { - "camelcase": "^6.2.0", - "cssesc": "^3.0.0", - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.4", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, - "node_modules/css-loader/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" - } - }, - "node_modules/css-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "node_modules/css-loader/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/css-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/css-loader/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/css-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/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/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-what": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", - "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "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": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "dev": true, - "dependencies": { - "css-tree": "1.0.0-alpha.39" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", - "dev": true - }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "dependencies": { - "array-find-index": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "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": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar/node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz/node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "dev": true, - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "dev": true, - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "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, - "dependencies": { - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, - "engines": { - "node": ">=0.10.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, - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", - "dev": true - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "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 - }, - "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, - "dependencies": { - "domelementtype": "1" - } - }, - "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, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/download": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", - "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", - "dev": true, - "dependencies": { - "caw": "^2.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.0.0", - "ext-name": "^5.0.0", - "file-type": "5.2.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^7.0.0", - "make-dir": "^1.0.0", - "p-event": "^1.0.0", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.3.585", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.585.tgz", - "integrity": "sha512-xoeqjMQhgHDZM7FiglJAb2aeOxHZWFruUc3MbAGTgE7GB8rr5fTn1Sdh5THGuQtndU3GuXlu91ZKqRivxoCZ/A==", - "dev": true - }, - "node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dev": true, - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "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/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "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 - }, - "node_modules/envinfo": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", - "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "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/es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "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": "7.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", - "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.3.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", - "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", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "dependencies": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - } - }, - "node_modules/eslint-import-resolver-node/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dev": true, - "dependencies": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-module-utils/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/eslint-module-utils/node_modules/pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - }, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/eslint-plugin-eslint-comments/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/eslint-plugin-import/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "dependencies": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "node_modules/eslint-plugin-jsdoc": { - "version": "32.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-32.0.0.tgz", - "integrity": "sha512-AfGe3gqJlcxyRKUjhLzPTUnEMlVVlWJCAh2N0leJndpMflyh0W7zP09+b6NQHBHk7GyR/JY0bXiSswN3QX9Lhg==", - "dev": true, - "dependencies": { - "comment-parser": "1.1.2", - "debug": "^4.3.1", - "jsdoctypeparser": "^9.0.0", - "lodash": "^4.17.20", - "regextras": "^0.7.1", - "semver": "^7.3.4", - "spdx-expression-parse": "^3.0.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0" - } - }, - "node_modules/eslint-plugin-jsdoc/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/eslint-plugin-jsdoc/node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "node_modules/eslint-plugin-jsdoc/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/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-jsdoc/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/eslint-plugin-jsdoc/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/eslint-plugin-no-null": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-null/-/eslint-plugin-no-null-1.0.2.tgz", - "integrity": "sha1-EjaoEjkTkKGHetQAfCbnRTQclR8=", - "dev": true, - "engines": { - "node": ">=5.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-utils/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-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "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" - } - }, - "node_modules/eslint/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/eslint/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "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/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/eslint/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/eslint/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/node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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" - } - }, - "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": "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/eslint/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" - } - }, - "node_modules/eslint/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/eslint/node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "node_modules/eslint/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/eslint/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/eslint/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/eslint/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/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/eslint/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/eslint/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" - } - }, - "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/eslint/node_modules/table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/eslint/node_modules/table/node_modules/ajv": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz", - "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==", - "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" - } - }, - "node_modules/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/eslint/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/eslint/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/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/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/espree/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/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.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "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/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-hooks-webpack-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/event-hooks-webpack-plugin/-/event-hooks-webpack-plugin-2.2.0.tgz", - "integrity": "sha512-r3j2Zez2Y8dRtSFCdNzmkN1m3p651a3VHi5A77zbhAP0Y08YTQaNx6vadCVaZ/szup9uBrVRlvUVgOW6pSINgg==", - "dev": true - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/exec-buffer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", - "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", - "dev": true, - "dependencies": { - "execa": "^0.7.0", - "p-finally": "^1.0.0", - "pify": "^3.0.0", - "rimraf": "^2.5.4", - "tempfile": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/exec-buffer/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/exec-buffer/node_modules/execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/exec-buffer/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/exec-buffer/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/exec-buffer/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/exec-buffer/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/exec-buffer/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/execall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", - "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", - "dev": true, - "dependencies": { - "clone-regexp": "^2.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "dependencies": { - "pify": "^2.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/executable/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "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": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "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, - "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": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "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": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/expose-loader": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-1.0.3.tgz", - "integrity": "sha512-gP6hs3vYeWIqyoVfsApGQcgCEpbcI1xe+celwI31zeDhXz2q03ycBC1+75IlQUGaYvj6rAloFIe/NIBnEElLsQ==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/expose-loader/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" - } - }, - "node_modules/expose-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "node_modules/expose-loader/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/expose-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/expose-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "dev": true, - "dependencies": { - "mime-db": "^1.28.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "dev": true, - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/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/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "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": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", - "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "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.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "node_modules/figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-entry-cache/node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-entry-cache/node_modules/flatted": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", - "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", - "dev": true - }, - "node_modules/file-type": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", - "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", - "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/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" - } - }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/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/find-cache-dir/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/find-cache-dir/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/find-versions": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", - "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", - "dev": true, - "dependencies": { - "semver-regex": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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/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": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/focus-visible": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/focus-visible/-/focus-visible-5.2.0.tgz", - "integrity": "sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==" - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/form-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", - "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fraction.js": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz", - "integrity": "sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "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.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "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/fuzzaldrin-plus": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/fuzzaldrin-plus/-/fuzzaldrin-plus-0.6.0.tgz", - "integrity": "sha1-gy9kifvodnaUWVmckUpnDsIpR+4=" - }, - "node_modules/gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "node_modules/get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", - "dev": true, - "dependencies": { - "npm-conf": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gifsicle": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-4.0.1.tgz", - "integrity": "sha512-A/kiCLfDdV+ERV/UB+2O41mifd+RxH8jlRG8DMxZO84Bma/Fw0htqZ+hY2iaalLRNyUu7tYZQslqUBJxBggxbg==", - "dev": true, - "dependencies": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.0", - "execa": "^1.0.0", - "logalot": "^2.0.0" - }, - "bin": { - "gifsicle": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/github-types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/github-types/-/github-types-1.0.0.tgz", - "integrity": "sha512-cUyNZq/cC853l0mlbWaugGWNqegqoxj0iVJCfQYBYSjfqhz6mDRExfsfdp6a5kFvGfwsDiNduE+e18hlsERSuA==", - "dev": true - }, - "node_modules/gitlab": { - "version": "14.2.2", - "resolved": "https://registry.npmjs.org/gitlab/-/gitlab-14.2.2.tgz", - "integrity": "sha512-MVLGXLFk5erJCeDnDtV+srDHogadVV8y94G4mAulukCwdCwh+IUqsU4ESZksZvBis8VTJsK9Mj01lRJ1JrxVsg==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "form-data": "^3.0.0", - "ky": "^0.16.0", - "ky-universal": "^0.3.0", - "li": "^1.3.0", - "ora": "^4.0.3", - "query-string": "^6.9.0", - "sywac": "^1.2.2", - "xcase": "^2.0.1" - }, - "bin": { - "gitlab": "dist/index.cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/gitlab/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gitlab/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/gitlab/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/gitlab/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/gitlab/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/gitlab/node_modules/supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "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": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.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": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "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/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/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/globalyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true - }, - "node_modules/globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/globby/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/globby/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/globby/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/globby/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/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/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, - "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, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "gonzales": "bin/gonzales.js" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "dependencies": { - "delegate": "^3.1.2" - } - }, - "node_modules/got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "dependencies": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "node_modules/graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "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-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.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-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "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": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "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 - }, - "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": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "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": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/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/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "node_modules/html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "node_modules/html-minifier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", - "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", - "dev": true, - "dependencies": { - "camel-case": "^3.0.0", - "clean-css": "^4.2.1", - "commander": "^2.19.0", - "he": "^1.2.0", - "param-case": "^2.1.1", - "relateurl": "^0.2.7", - "uglify-js": "^3.5.1" - }, - "bin": { - "html-minifier": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "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/htmlparser2/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/http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "node_modules/ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "node_modules/ignore-emit-webpack-plugin": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ignore-emit-webpack-plugin/-/ignore-emit-webpack-plugin-2.0.3.tgz", - "integrity": "sha512-ahTYD5KZ3DiZG9goS8NCxBaPEfXsPLH5JeWKmFTThD8lsPen6R4tLnWcN/mrksK5cDqyxOzmRL12feJQZjffuA==", - "dev": true - }, - "node_modules/imagemin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz", - "integrity": "sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==", - "dev": true, - "dependencies": { - "file-type": "^10.7.0", - "globby": "^8.0.1", - "make-dir": "^1.0.0", - "p-pipe": "^1.1.0", - "pify": "^4.0.1", - "replace-ext": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imagemin-gifsicle": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-6.0.1.tgz", - "integrity": "sha512-kuu47c6iKDQ6R9J10xCwL0lgs0+sMz3LRHqRcJ2CRBWdcNmo3T5hUaM8hSZfksptZXJLGKk8heSAvwtSdB1Fng==", - "dev": true, - "dependencies": { - "exec-buffer": "^3.0.0", - "gifsicle": "^4.0.0", - "is-gif": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imagemin-jpegtran": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-6.0.0.tgz", - "integrity": "sha512-Ih+NgThzqYfEWv9t58EItncaaXIHR0u9RuhKa8CtVBlMBvY0dCIxgQJQCfwImA4AV1PMfmUKlkyIHJjb7V4z1g==", - "dev": true, - "dependencies": { - "exec-buffer": "^3.0.0", - "is-jpg": "^2.0.0", - "jpegtran-bin": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imagemin-optipng": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-6.0.0.tgz", - "integrity": "sha512-FoD2sMXvmoNm/zKPOWdhKpWdFdF9qiJmKC17MxZJPH42VMAp17/QENI/lIuP7LCUnLVAloO3AUoTSNzfhpyd8A==", - "dev": true, - "dependencies": { - "exec-buffer": "^3.0.0", - "is-png": "^1.0.0", - "optipng-bin": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imagemin-pngquant": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-6.0.1.tgz", - "integrity": "sha512-Stk+fZCLxZznV8MFNA/T3AY/VRKevsiP9uZOLV0RCXoi0vUUFriySYuz/83IGp9D254EW8miGyyQ69zKouFr7w==", - "dev": true, - "dependencies": { - "execa": "^0.10.0", - "is-png": "^1.0.0", - "is-stream": "^1.1.0", - "pngquant-bin": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imagemin-pngquant/node_modules/execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/imagemin-pngquant/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imagemin-svgo": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-7.1.0.tgz", - "integrity": "sha512-0JlIZNWP0Luasn1HT82uB9nU9aa+vUj6kpT+MjPW11LbprXC+iC4HDwn1r4Q2/91qj4iy9tRZNsFySMlEpLdpg==", - "dev": true, - "dependencies": { - "is-svg": "^4.2.1", - "svgo": "^1.3.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imagemin-svgo/node_modules/is-svg": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.2.1.tgz", - "integrity": "sha512-PHx3ANecKsKNl5y5+Jvt53Y4J7MfMpbNZkv384QNiswMKAWIbvcqbPz+sYbFKJI8Xv3be01GSFniPmoaP+Ai5A==", - "dev": true, - "dependencies": { - "html-comment-regex": "^1.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imagemin-webpack-plugin": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/imagemin-webpack-plugin/-/imagemin-webpack-plugin-2.4.2.tgz", - "integrity": "sha512-/K6ueN7avxjesAwGMpwuNYAHSHQcDrJYcpRTI74wBLg2nUBp+i9MXjXm04/94M0hDqy4kYdxeC+XzuBfOiIrmA==", - "dev": true, - "dependencies": { - "@types/imagemin-gifsicle": "^5.2.0", - "@types/imagemin-jpegtran": "^5.0.0", - "@types/imagemin-optipng": "^5.2.0", - "@types/imagemin-svgo": "^7.0.0", - "@types/webpack": "^4.4.24", - "async-throttle": "^1.1.0", - "babel-runtime": "^6.18.0", - "imagemin": "^6.1.0", - "imagemin-gifsicle": "^6.0.1", - "imagemin-jpegtran": "^6.0.0", - "imagemin-optipng": "^6.0.0", - "imagemin-pngquant": "^6.0.0", - "imagemin-svgo": "^7.0.0", - "lodash.map": "^4.6.0", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "util.promisify": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/imagemin/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, - "engines": { - "node": ">= 6" - } - }, - "node_modules/imagemin/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, - "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/imagemin/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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/imagemin/node_modules/dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/imagemin/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, - "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/imagemin/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "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/imagemin/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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/imagemin/node_modules/globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/imagemin/node_modules/globby/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imagemin/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 - }, - "node_modules/imagemin/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/imagemin/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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/imagemin/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/imagemin/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imagemin/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, - "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/imagemin/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": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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/import-local/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/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "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.7", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", - "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", - "dev": true - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "dev": true, - "dependencies": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/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 - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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 - }, - "node_modules/is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=", - "dev": true, - "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, - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "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/is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-core-module": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/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 - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true, - "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 - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "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-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true, - "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-gif": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz", - "integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==", - "dev": true, - "dependencies": { - "file-type": "^10.4.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "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 - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-jpg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz", - "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", - "dev": true - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "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, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true - }, - "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": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "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-png": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", - "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-regexp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", - "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "dependencies": { - "html-comment-regex": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "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-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 - }, - "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 - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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/isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/jpegtran-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-4.0.0.tgz", - "integrity": "sha512-2cRl1ism+wJUoYAYFt6O/rLBfpXNWG2dUWbgcEkTt5WGMnqI46eEro8T4C5zGROxKRqyKpCBSdHPvt5UYCtxaQ==", - "dev": true, - "dependencies": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.0", - "logalot": "^2.0.0" - }, - "bin": { - "jpegtran": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "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 - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdoctypeparser": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz", - "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==", - "dev": true, - "bin": { - "jsdoctypeparser": "bin/jsdoctypeparser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "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 - }, - "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": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "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/klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/known-css-properties": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", - "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", - "dev": true - }, - "node_modules/ky": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.16.2.tgz", - "integrity": "sha512-4/Xcb0hqeueNX9sa+G2jREiam9yb+I2Y3p3J42lIeitAenHXUZwpyejEgeQcQsaGl+hbuA0s7c3u+nlcIYFtog==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ky-universal": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.3.0.tgz", - "integrity": "sha512-CM4Bgb2zZZpsprcjI6DNYTaH3oGHXL2u7BU4DK+lfCuC4snkt9/WRpMYeKbBbXscvKkeqBwzzjFX2WwmKY5K/A==", - "dev": true, - "dependencies": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "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/li": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/li/-/li-1.3.0.tgz", - "integrity": "sha1-IsWbyu+qmo7zWc91l4TkvxBq6hs=", - "dev": true - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "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": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "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/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "node_modules/lodash.has": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", - "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=", - "dev": true - }, - "node_modules/lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/logalot": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", - "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", - "dev": true, - "dependencies": { - "figures": "^1.3.5", - "squeak": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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 - }, - "node_modules/loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "dependencies": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", - "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", - "dev": true, - "dependencies": { - "get-stdin": "^4.0.1", - "indent-string": "^2.1.0", - "longest": "^1.0.0", - "meow": "^3.3.0" - }, - "bin": { - "lpad-align": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "dependencies": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "dependencies": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "dependencies": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "dependencies": { - "get-stdin": "^4.0.1" - }, - "bin": { - "strip-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lpad-align/node_modules/trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" - }, - "node_modules/lunr-languages": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.4.0.tgz", - "integrity": "sha512-YWfZDExJN/MJEVE/DbM4AuVRLsqeHi+q3wmECMsWjGIOkd5mr9DUNos7fv8f5do9VLRMYXIzFjn+N4+KPI9pQA==" - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", - "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "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 - }, - "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 - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", - "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", - "dev": true, - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", - "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - } - }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "dev": true - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true - }, - "node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/meow/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/meow/node_modules/normalize-package-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz", - "integrity": "sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw==", - "dev": true, - "dependencies": { - "hosted-git-info": "^3.0.6", - "resolve": "^1.17.0", - "semver": "^7.3.2", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/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" - } - }, - "node_modules/meow/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/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/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.3.0", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", - "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/micromark": { - "version": "2.11.4", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", - "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", - "dev": true, - "dependencies": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - } - }, - "node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "dev": true, - "dependencies": { - "mime-db": "1.43.0" - }, - "engines": { - "node": ">= 0.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/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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/mini-css-extract-plugin": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.6.tgz", - "integrity": "sha512-t86rLnySRQgN2+58gAIARTEtnClLNZoC99shNrvQ960V/wB9n50AUKJyqly76/s4fT0zwaLFIDFZAW7aK25pvg==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/mini-css-extract-plugin/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" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "node_modules/mini-css-extract-plugin/node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "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/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass/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/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/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/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "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, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/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/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/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "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-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/nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", - "dev": true, - "optional": true - }, - "node_modules/nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", - "dev": true, - "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, - "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/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "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/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "dependencies": { - "lower-case": "^1.1.1" - } - }, - "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "dev": true, - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "node_modules/node-releases": { - "version": "1.1.65", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.65.tgz", - "integrity": "sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA==", - "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, - "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-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": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", - "dev": true - }, - "node_modules/npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "dev": true, - "dependencies": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-conf/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "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": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "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": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "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 - }, - "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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/optipng-bin": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-5.1.0.tgz", - "integrity": "sha512-9baoqZTNNmXQjq/PQTWEXbVV3AMO2sI/GaaqZJZ8SExfAzjijeAP7FEeT+TtyumSw7gr0PZtSUYB/Ke7iHQVKA==", - "dev": true, - "dependencies": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.0", - "logalot": "^2.0.0" - }, - "bin": { - "optipng": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ora": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz", - "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/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/ora/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/ora/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/ora/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/ora/node_modules/supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "node_modules/os-filter-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", - "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", - "dev": true, - "dependencies": { - "arch": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-event": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", - "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", - "dev": true, - "dependencies": { - "p-timeout": "^1.1.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/p-map-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", - "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", - "dev": true, - "dependencies": { - "p-reduce": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-pipe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", - "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "dependencies": { - "no-case": "^2.2.0" - } - }, - "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/parent-module/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/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dev": true, - "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-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "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": "http://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": "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/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "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, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-type/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "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/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/pkg-dir/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/pkg-dir/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/pkg-dir/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" - } - }, - "node_modules/pkg-dir/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/pkg-dir/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/pngquant-bin": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-5.0.2.tgz", - "integrity": "sha512-OLdT+4JZx5BqE1CFJkrvomYV0aSsv6x2Bba+aWaVc0PMfWlE+ZByNKYAdKeIqsM4uvW1HOSEHnf8KcOnykPNxA==", - "dev": true, - "dependencies": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.1", - "execa": "^0.10.0", - "logalot": "^2.0.0" - }, - "bin": { - "pngquant": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pngquant-bin/node_modules/execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pngquant-bin/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz", - "integrity": "sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==", - "dev": true, - "dependencies": { - "colorette": "^1.2.1", - "nanoid": "^3.1.20", - "source-map": "^0.6.1" - }, - "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, - "dependencies": { - "htmlparser2": "^3.10.0" - } - }, - "node_modules/postcss-inline-svg": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-inline-svg/-/postcss-inline-svg-5.0.0.tgz", - "integrity": "sha512-Agqkrn91Qgi+KAO+cTvUS1IAZbHPD4sryPoG0q5U0ThokL4UGoMcmwvNV6tDoRp69B5tgD1VNkn9P09E+xpQAg==", - "dev": true, - "dependencies": { - "css-select": "^3.1.0", - "dom-serializer": "^1.1.0", - "htmlparser2": "^5.0.1", - "postcss-value-parser": "^4.0.0" - } - }, - "node_modules/postcss-inline-svg/node_modules/css-select": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.0.tgz", - "integrity": "sha512-tVdCXyNpLLvy23s6E82sYq6+wOlaRyrkT9Ff9XLW7cl+xwZXS6h23qfEeDHna4U/W/IKe+X55tJ9BUnh6RwOGg==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.4.1", - "domhandler": "^3.2.0", - "domutils": "^2.4.1", - "nth-check": "^1.0.2" - } - }, - "node_modules/postcss-inline-svg/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-inline-svg/node_modules/dom-serializer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.1.0.tgz", - "integrity": "sha512-ox7bvGXt2n+uLWtCRLybYx60IrOlWL/aCebWJk1T0d4m3y2tzf4U3ij9wBMUb6YJZpz06HCCYuyCDveE2xXmzQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^3.0.0", - "entities": "^2.0.0" - } - }, - "node_modules/postcss-inline-svg/node_modules/domelementtype": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", - "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==", - "dev": true - }, - "node_modules/postcss-inline-svg/node_modules/domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/postcss-inline-svg/node_modules/domutils": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.2.tgz", - "integrity": "sha512-NKbgaM8ZJOecTZsIzW5gSuplsX2IWW2mIK7xVr8hTQF2v1CJWTmLZ1HOCh5sH+IzVPAGE5IucooOkvwBRAdowA==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.0.1", - "domhandler": "^3.3.0" - } - }, - "node_modules/postcss-inline-svg/node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true - }, - "node_modules/postcss-inline-svg/node_modules/htmlparser2": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz", - "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^3.3.0", - "domutils": "^2.4.2", - "entities": "^2.0.0" - } - }, - "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, - "dependencies": { - "@babel/core": ">=7.2.2" - } - }, - "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, - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/postcss-less/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-less/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-loader": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", - "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", - "dev": true, - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/postcss-loader/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" - } - }, - "node_modules/postcss-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "node_modules/postcss-loader/node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-loader/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" - } - }, - "node_modules/postcss-loader/node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/postcss-loader/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/postcss-loader/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" - } - }, - "node_modules/postcss-loader/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/postcss-loader/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/postcss-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/postcss-loader/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-loader/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/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, - "dependencies": { - "remark": "^10.0.1", - "unist-util-find-all-after": "^1.0.2" - } - }, - "node_modules/postcss-markdown/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 - }, - "node_modules/postcss-markdown/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, - "dependencies": { - "unist-util-visit": "^1.1.0" - } - }, - "node_modules/postcss-markdown/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, - "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/postcss-markdown/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, - "dependencies": { - "remark-parse": "^6.0.0", - "remark-stringify": "^6.0.0", - "unified": "^7.0.0" - } - }, - "node_modules/postcss-markdown/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, - "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/postcss-markdown/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, - "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/postcss-markdown/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, - "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/postcss-markdown/node_modules/unified": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", - "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", - "dev": true, - "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/postcss-markdown/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, - "dependencies": { - "unist-util-is": "^3.0.0" - } - }, - "node_modules/postcss-markdown/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 - }, - "node_modules/postcss-markdown/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, - "dependencies": { - "unist-util-visit": "^1.1.0" - } - }, - "node_modules/postcss-markdown/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 - }, - "node_modules/postcss-markdown/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, - "dependencies": { - "unist-util-visit-parents": "^2.0.0" - } - }, - "node_modules/postcss-markdown/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, - "dependencies": { - "unist-util-is": "^3.0.0" - } - }, - "node_modules/postcss-markdown/node_modules/vfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", - "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", - "dev": true, - "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/postcss-markdown/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 - }, - "node_modules/postcss-markdown/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, - "dependencies": { - "unist-util-stringify-position": "^1.1.1" - } - }, - "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-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - } - }, - "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - } - }, - "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, - "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/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, - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-reporter/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-reporter/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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": "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, - "dependencies": { - "postcss": "^7.0.26" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-safe-parser/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-safe-parser/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-sass": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", - "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", - "dev": true, - "dependencies": { - "gonzales-pe": "^4.3.0", - "postcss": "^7.0.21" - } - }, - "node_modules/postcss-sass/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-sass/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-scss": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz", - "integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==", - "dev": true, - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-scss/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-scss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "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/postcss-sorting/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-sorting/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dev": true, - "dependencies": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-svgo/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-svgo/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 - }, - "node_modules/postcss-svgo/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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 - }, - "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "node_modules/preact": { - "version": "10.5.12", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.5.12.tgz", - "integrity": "sha512-r6siDkuD36oszwlCkcqDJCAKBQxGoeEGytw2DGMD5A/GGdu5Tymw+N2OBXwvOLxg6d1FeY8MgMV3cc5aVQo4Cg==", - "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/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.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-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "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/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/query-string": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.12.1.tgz", - "integrity": "sha512-OHj+zzfRMyj3rmo/6G8a5Ifvw3AleL/EbcHMD27YA31Q+cO5lfmQxECkImuNVjcskLcvBRVHNAB3w6udMs1eAA==", - "dev": true, - "dependencies": { - "decode-uri-component": "^0.2.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ramda": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz", - "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==", - "dev": true - }, - "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/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/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" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/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/read-pkg-up/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/read-pkg-up/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/read-pkg/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" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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/readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", - "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "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, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/regextras": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz", - "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==", - "dev": true, - "engines": { - "node": ">=0.1.14" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", - "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", - "dev": true, - "dependencies": { - "remark-parse": "^9.0.0", - "remark-stringify": "^9.0.0", - "unified": "^9.1.0" - } - }, - "node_modules/remark-parse": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", - "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", - "dev": true, - "dependencies": { - "mdast-util-from-markdown": "^0.8.0" - } - }, - "node_modules/remark-stringify": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", - "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", - "dev": true, - "dependencies": { - "mdast-util-to-markdown": "^0.6.0" - } - }, - "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, - "optional": true - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true, - "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": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "dependencies": { - "is-finite": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "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.16.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.16.0.tgz", - "integrity": "sha512-LarL/PIKJvc09k1jaeT4kQb/8/7P+qV4qSnN2K80AES+OHdfZELAKVOBjxsvtToT/uLOfFbvYvKfZmV8cee7nA==", - "dev": true, - "dependencies": { - "path-parse": "^1.0.6" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/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/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "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, - "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/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" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", - "dev": true - }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1" - } - }, - "node_modules/rxjs": { - "version": "7.0.0-beta.10", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.0.0-beta.10.tgz", - "integrity": "sha512-iK8B6ACjMn00gObHQYoIyXouyD0cPmzuXFxfYi/i9jBVFQHsjjPt5T51sRDsXJ9Utg4Q7R1m7QiLtuQEQ3r73g==", - "dependencies": { - "tslib": "^1.9.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "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": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "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.32.7", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.7.tgz", - "integrity": "sha512-C8Z4bjqGWnsYa11o8hpKAuoyFdRhrSHcYjCr+XAWVPSIQqC8mp2f5Dx4em0dKYehPzg5XSekmCjqJnEZbIls9A==", - "dev": true, - "dependencies": { - "chokidar": ">=2.0.0 <4.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/sass-loader": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", - "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", - "dev": true, - "dependencies": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/sass-loader/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" - } - }, - "node_modules/sass-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "node_modules/sass-loader/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/sass-loader/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/sass-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/sass-loader/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sass-loader/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/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "dev": true, - "dependencies": { - "commander": "~2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" - } - }, - "node_modules/seek-bzip/node_modules/commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, - "dependencies": { - "graceful-readlink": ">= 1.0.0" - }, - "engines": { - "node": ">= 0.6.x" - } - }, - "node_modules/select": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/semver-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", - "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/semver-truncate": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", - "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", - "dev": true, - "dependencies": { - "semver": "^5.3.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "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, - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "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": "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/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/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/slice-ansi/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/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, - "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, - "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": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "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, - "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 - }, - "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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "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, - "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": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "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": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/snapdragon/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/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", - "dev": true, - "dependencies": { - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "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-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, - "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/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "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, - "bin": { - "specificity": "bin/specificity" - } - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "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/squeak": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", - "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", - "dev": true, - "dependencies": { - "chalk": "^1.0.0", - "console-stream": "^0.1.1", - "lpad-align": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/squeak/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/squeak/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/squeak/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/squeak/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/squeak/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "dev": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "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 - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "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": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "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/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "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": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dev": true, - "dependencies": { - "is-natural-number": "^4.0.1" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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" - } - }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", - "dev": true - }, - "node_modules/stylelint": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.10.0.tgz", - "integrity": "sha512-eDuLrL0wzPKbl5/TbNGZcbw0lTIGbDEr5W6lCODvb1gAg0ncbgCRt7oU0C2VFDvbrcY0A3MFZOwltwTRmc0XCw==", - "dev": true, - "dependencies": { - "@stylelint/postcss-css-in-js": "^0.37.2", - "@stylelint/postcss-markdown": "^0.36.2", - "autoprefixer": "^9.8.6", - "balanced-match": "^1.0.0", - "chalk": "^4.1.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.3.1", - "execall": "^2.0.0", - "fast-glob": "^3.2.5", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.0", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.0.2", - "globjoin": "^0.1.4", - "html-tags": "^3.1.0", - "ignore": "^5.1.8", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "known-css-properties": "^0.21.0", - "lodash": "^4.17.20", - "log-symbols": "^4.0.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.2", - "normalize-selector": "^0.2.0", - "postcss": "^7.0.35", - "postcss-html": "^0.36.0", - "postcss-less": "^3.1.4", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.4", - "postcss-scss": "^2.1.1", - "postcss-selector-parser": "^6.0.4", - "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^4.1.0", - "resolve-from": "^5.0.0", - "slash": "^3.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "style-search": "^0.1.0", - "sugarss": "^2.0.0", - "svg-tags": "^1.0.0", - "table": "^6.0.7", - "v8-compile-cache": "^2.2.0", - "write-file-atomic": "^3.0.3" - }, - "bin": { - "stylelint": "bin/stylelint.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "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, - "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, - "engines": { - "node": ">= 6" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "dependencies": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-config-rational-order/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, - "dependencies": { - "is-regexp": "^1.0.0", - "is-supported-regexp-flag": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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 - }, - "node_modules/stylelint-config-rational-order/node_modules/execall": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz", - "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", - "dev": true, - "dependencies": { - "clone-regexp": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "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, - "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": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-config-rational-order/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, - "engines": { - "node": ">=4" - } - }, - "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, - "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/globby/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/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": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/stylelint-config-rational-order/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true, - "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 - }, - "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "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": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true, - "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 - }, - "node_modules/stylelint-config-rational-order/node_modules/leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-config-rational-order/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, - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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, - "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, - "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/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, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/stylelint-config-rational-order/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, - "dependencies": { - "gonzales-pe": "^4.2.3", - "postcss": "^7.0.1" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/postcss-sass/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "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, - "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-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 - }, - "node_modules/stylelint-config-rational-order/node_modules/quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-config-rational-order/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": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", - "dev": true, - "dependencies": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-config-rational-order/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/stylelint-config-rational-order/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/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, - "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, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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, - "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" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/stylelint-order/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/stylelint/node_modules/autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "dev": true, - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/stylelint/node_modules/autoprefixer/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/stylelint/node_modules/autoprefixer/node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "node_modules/stylelint-config-rational-order/node_modules/stylelint/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-config-rational-order/node_modules/trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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, - "dependencies": { - "camelcase": "^4.1.0" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", - "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", - "dev": true - }, - "node_modules/stylelint-config-standard": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz", - "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==", - "dev": true, - "dependencies": { - "stylelint-config-recommended": "^3.0.0" - } - }, - "node_modules/stylelint-scss": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.19.0.tgz", - "integrity": "sha512-Ic5bsmpS4wVucOw44doC1Yi9f5qbeVL4wPFiEOaUElgsOuLEN6Ofn/krKI8BeNL2gAn53Zu+IcVV4E345r6rBw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "stylelint": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0" - } - }, - "node_modules/stylelint-scss/node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "node_modules/stylelint/node_modules/ajv": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.0.tgz", - "integrity": "sha512-svS9uILze/cXbH0z2myCK2Brqprx/+JJYK5pHicT/GQiBfzzhUVAIT6MwqJg8y4xV/zoGsUeuPuwtoiKSGE15g==", - "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" - } - }, - "node_modules/stylelint/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/stylelint/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/stylelint/node_modules/autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "dev": true, - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - } - }, - "node_modules/stylelint/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stylelint/node_modules/chalk/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" - } - }, - "node_modules/stylelint/node_modules/chalk/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/stylelint/node_modules/chalk/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/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/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/stylelint/node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stylelint/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/stylelint/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/stylelint/node_modules/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/stylelint/node_modules/globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stylelint/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/stylelint/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" - } - }, - "node_modules/stylelint/node_modules/import-fresh/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/stylelint/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/stylelint/node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "node_modules/stylelint/node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stylelint/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" - } - }, - "node_modules/stylelint/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/stylelint/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/stylelint/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, - "dependencies": { - "postcss": "^7.0.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/stylelint/node_modules/postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint/node_modules/postcss/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/stylelint/node_modules/postcss/node_modules/chalk/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/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/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/stylelint/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" - } - }, - "node_modules/stylelint/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" - } - }, - "node_modules/stylelint/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint/node_modules/table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "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, - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/sugarss/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/sugarss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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/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": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/sywac": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sywac/-/sywac-1.3.0.tgz", - "integrity": "sha512-LDt2stNTp4bVPMgd70Jj9PWrSa4batl+bv+Ea5NLNGT7ufc4oQPtRfQ73wbddNV6RilaPqnEt6y1Wkm5FVTNEg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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/table/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/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/table/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/table/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/table/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/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", - "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/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/temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/tempfile": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", - "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", - "dev": true, - "dependencies": { - "temp-dir": "^1.0.0", - "uuid": "^3.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/terser-webpack-plugin/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/terser-webpack-plugin/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/terser-webpack-plugin/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "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/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": "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/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" - }, - "node_modules/tiny-glob": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.8.tgz", - "integrity": "sha512-vkQP7qOslq63XRX9kMswlby99kyO5OvKptw7AMwBVMjXEI7Tb61eoI5DydyEMOseyGS5anDN1VPoVxEvH01q8w==", - "dev": true, - "dependencies": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" - } - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, - "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": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "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 - }, - "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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "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, - "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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", - "dev": true - }, - "node_modules/trim-newlines": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", - "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/trim-trailing-lines": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz", - "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==", - "dev": true - }, - "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 - }, - "node_modules/ts-loader": { - "version": "8.0.17", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.0.17.tgz", - "integrity": "sha512-OeVfSshx6ot/TCxRwpBHQ/4lRzfgyTkvi7ghDVrLXOHzTbSK413ROgu/xNqM72i3AFeAIJgQy78FwSMKmOW68w==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^2.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ts-loader/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" - } - }, - "node_modules/ts-loader/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-loader/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/ts-loader/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/ts-loader/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/ts-loader/node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/ts-loader/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/ts-loader/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-loader/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/ts-loader/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/ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "dev": true, - "dependencies": { - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ts-toolbelt": { - "version": "6.15.5", - "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz", - "integrity": "sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==", - "dev": true - }, - "node_modules/tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.3.0.tgz", - "integrity": "sha512-MpQeZpwPY4gYASCUjY4yt2Zj8yv86O8f++3Ai4o0yI0fUC6G1syvnL9VuY71PBgimRYDQU47f12BEmJq9wRaSw==", - "dev": true, - "dependencies": { - "chalk": "^2.3.0", - "enhanced-resolve": "^4.0.0", - "tsconfig-paths": "^3.4.0" - } - }, - "node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz", - "integrity": "sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/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/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "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": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz", - "integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/uglify-js": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.1.tgz", - "integrity": "sha512-JUPoL1jHsc9fOjVFHdQIhqEEJsQvfKDjlubcCilu8U26uZ73qOg8VsN8O1jbuei44ZPlwL7kmbAdM4tzaUvqnA==", - "dev": true, - "dependencies": { - "commander": "~2.20.3" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.2.tgz", - "integrity": "sha512-pZMVAofMrrHX6Ik39hCk470kulCbmZ2SWfQLPmTWqfJV/oUm0gn1CblvHdUu4+54Je6Jq34x8kY6XjTy6dMkOg==", - "dev": true, - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/unbzip2-stream/node_modules/buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "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, - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "dev": true, - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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, - "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/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unist-util-find-all-after": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", - "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", - "dev": true, - "dependencies": { - "unist-util-is": "^4.0.0" - } - }, - "node_modules/unist-util-is": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.4.tgz", - "integrity": "sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==", - "dev": true - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.2" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "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": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "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": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "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": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "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": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "dependencies": { - "prepend-http": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "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/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "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/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", - "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.0" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "dev": true, - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - }, - "engines": { - "node": "<8.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/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, - "optional": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/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, - "optional": true, - "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/watchpack-chokidar2/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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "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/watchpack-chokidar2/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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/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, - "optional": true - }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/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, - "optional": true, - "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/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchpack-chokidar2/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": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack/node_modules/chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", - "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - }, - "engines": { - "node": ">= 8.10.0" - } - }, - "node_modules/watchpack/node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/webpack-assets-manifest": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/webpack-assets-manifest/-/webpack-assets-manifest-3.1.1.tgz", - "integrity": "sha512-JV9V2QKc5wEWQptdIjvXDUL1ucbPLH2f27toAY3SNdGZp+xSaStAgpoMcvMZmqtFrBc9a5pTS1058vxyMPOzRQ==", - "dev": true, - "dependencies": { - "chalk": "^2.0", - "lodash.get": "^4.0", - "lodash.has": "^4.0", - "mkdirp": "^0.5", - "schema-utils": "^1.0.0", - "tapable": "^1.0.0", - "webpack-sources": "^1.0.0" - }, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/webpack-cli": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.5.0.tgz", - "integrity": "sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.1", - "@webpack-cli/info": "^1.2.2", - "@webpack-cli/serve": "^1.3.0", - "colorette": "^1.2.1", - "commander": "^7.0.0", - "enquirer": "^2.3.6", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.0.0.tgz", - "integrity": "sha512-ovx/7NkTrnPuIV8sqk/GjUIIM1+iUQeqA3ye2VNpq9sVoiZsooObWlQy+OPWGI17GDaEoybuAGJm6U8yC077BA==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-cli/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/webpack-cli/node_modules/execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/webpack-cli/node_modules/get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/webpack-cli/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-cli/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-cli/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" - } - }, - "node_modules/webpack-cli/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/webpack-cli/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/webpack-cli/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/webpack-cli/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/webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack/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, - "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/webpack/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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "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/webpack/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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/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 - }, - "node_modules/webpack/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/webpack/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, - "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/webpack/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": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "dependencies": { - "errno": "~0.1.7" - } - }, - "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": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "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": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=", - "dev": true - }, - "node_modules/xcase": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xcase/-/xcase-2.0.1.tgz", - "integrity": "sha1-x/pyyqD0QNt4/VZzQyA4rJhEULk=", - "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": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "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/yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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" - } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "dev": true - } - }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", @@ -16246,12 +240,6 @@ "to-fast-properties": "^2.0.0" } }, - "@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", - "dev": true - }, "@eslint/eslintrc": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", @@ -16375,23 +363,6 @@ "fastq": "^1.6.0" } }, - "@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, "@primer/octicons": { "version": "12.0.0", "resolved": "https://registry.npmjs.org/@primer/octicons/-/octicons-12.0.0.tgz", @@ -16401,12 +372,6 @@ "object-assign": "^4.1.1" } }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true - }, "@stylelint/postcss-css-in-js": { "version": "0.37.2", "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz", @@ -16426,12 +391,6 @@ "unist-util-find-all-after": "^3.0.2" } }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, "@types/clean-css": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.2.tgz", @@ -16453,30 +412,12 @@ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, - "@types/copy-webpack-plugin": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@types/copy-webpack-plugin/-/copy-webpack-plugin-6.4.0.tgz", - "integrity": "sha512-f5mQG5c7xH3zLGrEmKgzLLFSGNB7Y4+4a+a1X4DvjgfbTEWEZUNNXUqGs5tBVCtb5qKPzm2z+6ixX3xirWmOCg==", - "dev": true, - "requires": { - "@types/webpack": "*" - } - }, "@types/escape-html": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.0.tgz", "integrity": "sha512-Ehe6irbxo5BSYwG03buglLJCmy3JqqtC69UvopsBWYf4hDa+ZODJ7BuZU6y+YE4U6MaoSruTxM2+uePfAHts9Q==", "dev": true }, - "@types/event-hooks-webpack-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/event-hooks-webpack-plugin/-/event-hooks-webpack-plugin-2.2.0.tgz", - "integrity": "sha512-1xuZO3Yb5a4eDTY/WIgFVpSkGi1mx/k3f4inf9eZPf8+ZHB66My9b+3ugD2znXN5rtzsufLNfigaGcAVrsTGxw==", - "dev": true, - "requires": { - "@types/webpack": "*" - } - }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", @@ -16511,52 +452,6 @@ "@types/uglify-js": "*" } }, - "@types/imagemin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-7.0.0.tgz", - "integrity": "sha512-BiNd5FazD5ZmJUYD9txsbrttL0P0welrb9yAPn6ykKK3kWufwFsxYqw5KdggfZQDjiNYwsBrX+Fwei0Xsw4oAw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/imagemin-gifsicle": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz", - "integrity": "sha512-WohEsNMyGYTc+u6WA7KUvX8g+uLgTJOhqteexGdGZ/TPyS65GuCzMJ1RTaSzqG/cIfLFxbxg/HbGBg8YJrNZaw==", - "dev": true, - "requires": { - "@types/imagemin": "*" - } - }, - "@types/imagemin-jpegtran": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/imagemin-jpegtran/-/imagemin-jpegtran-5.0.0.tgz", - "integrity": "sha512-uwJknBgND9Jx+/d5bJf+mvAjfes0NIDyCeOKFJ9LbEYnp8/PVt0YDGh8K96JemeF84VbhHFxnN62Wz68rVNfFQ==", - "dev": true, - "requires": { - "@types/imagemin": "*" - } - }, - "@types/imagemin-optipng": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.0.tgz", - "integrity": "sha512-Qn4gTV1fpPG2WIsUIl10yi2prudOuDIx+D+O0H3aKZRcTCwpMjszBVeRWUqkhG5wADhWO4giLut1sFNr3H2XIQ==", - "dev": true, - "requires": { - "@types/imagemin": "*" - } - }, - "@types/imagemin-svgo": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-7.0.0.tgz", - "integrity": "sha512-Uq2T4hHE9PvBLB1lZM1+bZUzPc14XCKKWzQqJ47qe4/iuVHavYX4ig/gbBj8W3ZvRAJcQV3nagfoqFUzzdFD4g==", - "dev": true, - "requires": { - "@types/imagemin": "*", - "@types/svgo": "*" - } - }, "@types/json-schema": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", @@ -16584,15 +479,6 @@ "@types/unist": "*" } }, - "@types/mini-css-extract-plugin": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-1.2.2.tgz", - "integrity": "sha512-EoHBJ4rcrd5j7weAFE4yU1gxedx53EFCWKso03G7DW0h2YvtwjKYz/NnuFHudcQDI1HpTLqoQFTwEgfJxygYCw==", - "dev": true, - "requires": { - "@types/webpack": "*" - } - }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -16650,24 +536,6 @@ "integrity": "sha512-8k/67Z95Goa6Lznuykxkfhq9YU3l1Qe6LNZmwde1u7802a3x8v44oq0j91DICclxatTr0rNnhXx7+VTIetSrSQ==", "dev": true }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-2CNgVZbMzH6KYHTaf0DOtlm8ejjK8JBxL8C8Xv0fDogDsRQaM55m2bv66+isxmWm/w6z6kmOD3GxNVZ85Z0Uyg==", - "dev": true - }, - "@types/tapable": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.5.tgz", - "integrity": "sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ==", - "dev": true - }, "@types/uglify-js": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.0.tgz", @@ -16703,49 +571,6 @@ "vfile-message": "*" } }, - "@types/webpack": { - "version": "4.41.26", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", - "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", - "dev": true, - "requires": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "*", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - } - }, - "@types/webpack-assets-manifest": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/webpack-assets-manifest/-/webpack-assets-manifest-3.0.1.tgz", - "integrity": "sha512-yNvIA1a+IyiPmWaJVnS4OjJwiCoJX+1UQKsvG46PEnvnAqL/JvdBhhjpDFLkdA8I+sOxaQRjGHOSUYt6bru5iQ==", - "dev": true, - "requires": { - "@types/tapable": "*", - "@types/webpack": "*" - } - }, - "@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, "@typescript-eslint/eslint-plugin": { "version": "4.15.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.0.tgz", @@ -16893,214 +718,6 @@ "eslint-visitor-keys": "^2.0.0" } }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.1.tgz", - "integrity": "sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ==", - "dev": true - }, - "@webpack-cli/info": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.2.tgz", - "integrity": "sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.0.tgz", - "integrity": "sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==", - "dev": true - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, "abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -17110,28 +727,12 @@ "event-target-shim": "^5.0.0" } }, - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, "acorn-jsx": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, "ajv": { "version": "6.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", @@ -17144,18 +745,6 @@ "uri-js": "^4.2.2" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true - }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -17187,35 +776,6 @@ "picomatch": "^2.0.4" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "arch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", - "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", - "dev": true - }, - "archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", - "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", - "dev": true, - "requires": { - "file-type": "^4.2.0" - }, - "dependencies": { - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", - "dev": true - } - } - }, "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -17462,53 +1022,6 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -17521,19 +1034,6 @@ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, - "async-throttle": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/async-throttle/-/async-throttle-1.1.0.tgz", - "integrity": "sha1-Ip5/P6eip5fobzYOYwmggiTU+no=", - "dev": true - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -17593,16 +1093,6 @@ } } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, "bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", @@ -17670,351 +1160,12 @@ } } }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "bin-build": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", - "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", - "dev": true, - "requires": { - "decompress": "^4.0.0", - "download": "^6.2.2", - "execa": "^0.7.0", - "p-map-series": "^1.0.0", - "tempfile": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "bin-check": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", - "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "executable": "^4.1.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "bin-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", - "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "find-versions": "^3.0.0" - } - }, - "bin-version-check": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", - "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", - "dev": true, - "requires": { - "bin-version": "^3.0.0", - "semver": "^5.6.0", - "semver-truncate": "^1.1.2" - } - }, - "bin-wrapper": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", - "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", - "dev": true, - "requires": { - "bin-check": "^4.1.0", - "bin-version-check": "^4.0.0", - "download": "^7.1.0", - "import-lazy": "^3.1.0", - "os-filter-obj": "^2.0.0", - "pify": "^4.0.1" - }, - "dependencies": { - "download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", - "dev": true, - "requires": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "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 - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "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": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", - "dev": true - }, - "p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "dev": true, - "requires": { - "p-timeout": "^2.0.1" - } - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - } - } - } - }, "binary-extensions": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", - "dev": true - }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -18040,112 +1191,6 @@ "fill-range": "^7.0.1" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.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" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, "browserslist": { "version": "4.14.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", @@ -18158,111 +1203,12 @@ "node-releases": "^1.1.61" } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", - "dev": true, - "requires": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "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" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "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 - } - } - }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -18280,78 +1226,6 @@ "unset-value": "^1.0.0" } }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "dev": true, - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "dev": true, - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - } - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - } - } - }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -18425,18 +1299,6 @@ "integrity": "sha512-y9DvdSti8NnYB9Be92ddMZQrcOe04kcQtcxtBx4NkB04+qZ+JUWotnXBJTmxlKudhxNTQ3RRknMwNU2YQl/Org==", "dev": true }, - "caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "dev": true, - "requires": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" - } - }, "ccount": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz", @@ -18521,39 +1383,6 @@ } } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -18586,12 +1415,6 @@ "source-map": "~0.6.0" } }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -18623,17 +1446,6 @@ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "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": "2.2.0", "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", @@ -18643,15 +1455,6 @@ "is-regexp": "^2.0.0" } }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, "coa": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", @@ -18721,12 +1524,6 @@ "integrity": "sha512-AOdq0i8ghZudnYv8RUnHrhTgafUGs61Rdz9jemU5x2lnZwAWyOq7vySo626K59e1fVKH1xSRorJwPVRLSWOoAQ==", "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.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -18739,61 +1536,12 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "console-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", - "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, "contains-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, "convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", @@ -18803,151 +1551,12 @@ "safe-buffer": "~5.1.1" } }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, - "copy-webpack-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", - "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", - "dev": true, - "requires": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "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" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "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" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true - }, - "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": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -18960,190 +1569,12 @@ "parse-json": "^4.0.0" } }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "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" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css-loader": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.2.tgz", - "integrity": "sha512-gbkBigdcHbmNvZ1Cg6aV6qh6k9N6XOr8YWzISLQGrwk2mgOH8LLrizhkxbDhQtaLtktyKHD4970S0xwz5btfTA==", - "dev": true, - "requires": { - "camelcase": "^6.2.0", - "cssesc": "^3.0.0", - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.4", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.4" - }, - "dependencies": { - "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" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "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" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, "css-select": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", @@ -19220,12 +1651,6 @@ "array-find-index": "^1.0.1" } }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -19265,151 +1690,6 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, - "decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "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": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true - } - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true - } - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "dev": true, - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -19486,41 +1766,12 @@ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, "dir-glob": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", @@ -19564,12 +1815,6 @@ } } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, "domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", @@ -19604,133 +1849,18 @@ "is-obj": "^2.0.0" } }, - "download": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", - "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", - "dev": true, - "requires": { - "caw": "^2.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.0.0", - "ext-name": "^5.0.0", - "file-type": "5.2.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^7.0.0", - "make-dir": "^1.0.0", - "p-event": "^1.0.0", - "pify": "^3.0.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, "electron-to-chromium": { "version": "1.3.585", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.585.tgz", "integrity": "sha512-xoeqjMQhgHDZM7FiglJAb2aeOxHZWFruUc3MbAGTgE7GB8rr5fTn1Sdh5THGuQtndU3GuXlu91ZKqRivxoCZ/A==", "dev": true }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "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 }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "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" - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - } - }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -19746,21 +1876,6 @@ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, - "envinfo": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", - "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -19800,6 +1915,12 @@ "is-symbol": "^1.0.2" } }, + "esbuild": { + "version": "0.8.46", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.46.tgz", + "integrity": "sha512-xck9sXNCNmjDHCCfxTCyhKTiFuEBweh+IDAhMLOJI990v1Fzii6MyIkT1LbkvjgoVgPX2SK1kpi5eZVGNrl8yg==", + "dev": true + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -20356,16 +2477,6 @@ "integrity": "sha1-EjaoEjkTkKGHetQAfCbnRTQclR8=", "dev": true }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, "eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -20466,127 +2577,12 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, - "event-hooks-webpack-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/event-hooks-webpack-plugin/-/event-hooks-webpack-plugin-2.2.0.tgz", - "integrity": "sha512-r3j2Zez2Y8dRtSFCdNzmkN1m3p651a3VHi5A77zbhAP0Y08YTQaNx6vadCVaZ/szup9uBrVRlvUVgOW6pSINgg==", - "dev": true - }, "event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-buffer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", - "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "p-finally": "^1.0.0", - "pify": "^3.0.0", - "rimraf": "^2.5.4", - "tempfile": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, "execall": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", @@ -20596,23 +2592,6 @@ "clone-regexp": "^2.1.0" } }, - "executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "requires": { - "pify": "^2.2.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -20663,86 +2642,6 @@ } } }, - "expose-loader": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-1.0.3.tgz", - "integrity": "sha512-gP6hs3vYeWIqyoVfsApGQcgCEpbcI1xe+celwI31zeDhXz2q03ycBC1+75IlQUGaYvj6rAloFIe/NIBnEElLsQ==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "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" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "dev": true, - "requires": { - "mime-db": "^1.28.0" - } - }, - "ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "dev": true, - "requires": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - } - }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -20893,31 +2792,6 @@ "reusify": "^1.0.4" } }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, "file-entry-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", @@ -20945,36 +2819,6 @@ } } }, - "file-type": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", - "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", - "dev": true - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", - "dev": true - }, - "filenamify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", - "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", - "dev": true, - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -20984,77 +2828,6 @@ "to-regex-range": "^5.0.1" } }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "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 - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -21064,15 +2837,6 @@ "locate-path": "^2.0.0" } }, - "find-versions": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", - "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", - "dev": true, - "requires": { - "semver-regex": "^2.0.0" - } - }, "flat-cache": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", @@ -21101,16 +2865,6 @@ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, "focus-visible": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/focus-visible/-/focus-visible-5.2.0.tgz", @@ -21148,56 +2902,12 @@ "map-cache": "^0.2.2" } }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, "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.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -21232,48 +2942,18 @@ "has-symbols": "^1.0.1" } }, - "get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", - "dev": true, - "requires": { - "npm-conf": "^1.1.0" - } - }, "get-stdin": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", "dev": true }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, - "gifsicle": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-4.0.1.tgz", - "integrity": "sha512-A/kiCLfDdV+ERV/UB+2O41mifd+RxH8jlRG8DMxZO84Bma/Fw0htqZ+hY2iaalLRNyUu7tYZQslqUBJxBggxbg==", - "dev": true, - "requires": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.0", - "execa": "^1.0.0", - "logalot": "^2.0.0" - } - }, "github-types": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/github-types/-/github-types-1.0.0.tgz", @@ -21500,48 +3180,12 @@ "delegate": "^3.1.2" } }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, "graceful-fs": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "dev": true }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, "hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -21557,50 +3201,18 @@ "function-bind": "^1.1.1" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true - }, "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "dev": true }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -21659,63 +3271,12 @@ } } }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.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" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, "hosted-git-info": { "version": "2.8.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", @@ -21776,365 +3337,6 @@ } } }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "ignore-emit-webpack-plugin": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ignore-emit-webpack-plugin/-/ignore-emit-webpack-plugin-2.0.3.tgz", - "integrity": "sha512-ahTYD5KZ3DiZG9goS8NCxBaPEfXsPLH5JeWKmFTThD8lsPen6R4tLnWcN/mrksK5cDqyxOzmRL12feJQZjffuA==", - "dev": true - }, - "imagemin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz", - "integrity": "sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==", - "dev": true, - "requires": { - "file-type": "^10.7.0", - "globby": "^8.0.1", - "make-dir": "^1.0.0", - "p-pipe": "^1.1.0", - "pify": "^4.0.1", - "replace-ext": "^1.0.0" - }, - "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 - }, - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - } - }, - "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" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "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-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "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": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "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" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "imagemin-gifsicle": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-6.0.1.tgz", - "integrity": "sha512-kuu47c6iKDQ6R9J10xCwL0lgs0+sMz3LRHqRcJ2CRBWdcNmo3T5hUaM8hSZfksptZXJLGKk8heSAvwtSdB1Fng==", - "dev": true, - "requires": { - "exec-buffer": "^3.0.0", - "gifsicle": "^4.0.0", - "is-gif": "^3.0.0" - } - }, - "imagemin-jpegtran": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-6.0.0.tgz", - "integrity": "sha512-Ih+NgThzqYfEWv9t58EItncaaXIHR0u9RuhKa8CtVBlMBvY0dCIxgQJQCfwImA4AV1PMfmUKlkyIHJjb7V4z1g==", - "dev": true, - "requires": { - "exec-buffer": "^3.0.0", - "is-jpg": "^2.0.0", - "jpegtran-bin": "^4.0.0" - } - }, - "imagemin-optipng": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-6.0.0.tgz", - "integrity": "sha512-FoD2sMXvmoNm/zKPOWdhKpWdFdF9qiJmKC17MxZJPH42VMAp17/QENI/lIuP7LCUnLVAloO3AUoTSNzfhpyd8A==", - "dev": true, - "requires": { - "exec-buffer": "^3.0.0", - "is-png": "^1.0.0", - "optipng-bin": "^5.0.0" - } - }, - "imagemin-pngquant": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-6.0.1.tgz", - "integrity": "sha512-Stk+fZCLxZznV8MFNA/T3AY/VRKevsiP9uZOLV0RCXoi0vUUFriySYuz/83IGp9D254EW8miGyyQ69zKouFr7w==", - "dev": true, - "requires": { - "execa": "^0.10.0", - "is-png": "^1.0.0", - "is-stream": "^1.1.0", - "pngquant-bin": "^5.0.0" - }, - "dependencies": { - "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "imagemin-svgo": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-7.1.0.tgz", - "integrity": "sha512-0JlIZNWP0Luasn1HT82uB9nU9aa+vUj6kpT+MjPW11LbprXC+iC4HDwn1r4Q2/91qj4iy9tRZNsFySMlEpLdpg==", - "dev": true, - "requires": { - "is-svg": "^4.2.1", - "svgo": "^1.3.2" - }, - "dependencies": { - "is-svg": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.2.1.tgz", - "integrity": "sha512-PHx3ANecKsKNl5y5+Jvt53Y4J7MfMpbNZkv384QNiswMKAWIbvcqbPz+sYbFKJI8Xv3be01GSFniPmoaP+Ai5A==", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.2" - } - } - } - }, - "imagemin-webpack-plugin": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/imagemin-webpack-plugin/-/imagemin-webpack-plugin-2.4.2.tgz", - "integrity": "sha512-/K6ueN7avxjesAwGMpwuNYAHSHQcDrJYcpRTI74wBLg2nUBp+i9MXjXm04/94M0hDqy4kYdxeC+XzuBfOiIrmA==", - "dev": true, - "requires": { - "@types/imagemin-gifsicle": "^5.2.0", - "@types/imagemin-jpegtran": "^5.0.0", - "@types/imagemin-optipng": "^5.2.0", - "@types/imagemin-svgo": "^7.0.0", - "@types/webpack": "^4.4.24", - "async-throttle": "^1.1.0", - "babel-runtime": "^6.18.0", - "imagemin": "^6.1.0", - "imagemin-gifsicle": "^6.0.1", - "imagemin-jpegtran": "^6.0.0", - "imagemin-optipng": "^6.0.0", - "imagemin-pngquant": "^6.0.0", - "imagemin-svgo": "^7.0.0", - "lodash.map": "^4.6.0", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "util.promisify": "^1.0.0", - "webpack-sources": "^1.1.0" - } - }, "import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", @@ -22151,76 +3353,6 @@ "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "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 - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -22239,12 +3371,6 @@ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", "dev": true }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -22267,22 +3393,6 @@ "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", "dev": true }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "dev": true, - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -22442,27 +3552,12 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "is-gif": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz", - "integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==", - "dev": true, - "requires": { - "file-type": "^10.4.0" - } - }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -22484,18 +3579,6 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true }, - "is-jpg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz", - "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=", - "dev": true - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", - "dev": true - }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -22514,12 +3597,6 @@ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true - }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -22535,12 +3612,6 @@ "isobject": "^3.0.1" } }, - "is-png": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", - "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=", - "dev": true - }, "is-regex": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", @@ -22556,18 +3627,6 @@ "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", "dev": true }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, "is-string": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", @@ -22604,12 +3663,6 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, "is-whitespace-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", @@ -22628,12 +3681,6 @@ "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", "dev": true }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -22652,27 +3699,6 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jpegtran-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-4.0.0.tgz", - "integrity": "sha512-2cRl1ism+wJUoYAYFt6O/rLBfpXNWG2dUWbgcEkTt5WGMnqI46eEro8T4C5zGROxKRqyKpCBSdHPvt5UYCtxaQ==", - "dev": true, - "requires": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.0", - "logalot": "^2.0.0" - } - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -22701,12 +3727,6 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "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", @@ -22740,27 +3760,12 @@ "minimist": "^1.2.0" } }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, "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 }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", - "dev": true - }, "known-css-properties": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", @@ -22825,23 +3830,6 @@ } } }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -22858,24 +3846,6 @@ "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lodash.has": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", - "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=", - "dev": true - }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", - "dev": true - }, "log-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", @@ -22885,22 +3855,6 @@ "chalk": "^2.4.2" } }, - "logalot": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", - "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", - "dev": true, - "requires": { - "figures": "^1.3.5", - "squeak": "^1.0.0" - } - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, "longest-streak": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", @@ -22923,203 +3877,6 @@ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", "dev": true }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lpad-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", - "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "indent-string": "^2.1.0", - "longest": "^1.0.0", - "meow": "^3.3.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - } - } - }, - "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" - } - }, "lunr": { "version": "2.3.9", "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", @@ -23130,23 +3887,6 @@ "resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.4.0.tgz", "integrity": "sha512-YWfZDExJN/MJEVE/DbM4AuVRLsqeHi+q3wmECMsWjGIOkd5mr9DUNos7fv8f5do9VLRMYXIzFjn+N4+KPI9pQA==" }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -23198,17 +3938,6 @@ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", "dev": true }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "mdast-util-from-markdown": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", @@ -23248,16 +3977,6 @@ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", "dev": true }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, "meow": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", @@ -23344,12 +4063,6 @@ } } }, - "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.3.0", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", @@ -23376,24 +4089,6 @@ "picomatch": "^2.0.5" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, "mime-db": { "version": "1.43.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", @@ -23415,92 +4110,12 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "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 }, - "mini-css-extract-plugin": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.6.tgz", - "integrity": "sha512-t86rLnySRQgN2+58gAIARTEtnClLNZoC99shNrvQ960V/wB9n50AUKJyqly76/s4fT0zwaLFIDFZAW7aK25pvg==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "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" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -23527,86 +4142,6 @@ "kind-of": "^6.0.3" } }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -23637,31 +4172,6 @@ "minimist": "^1.2.5" } }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -23674,13 +4184,6 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, - "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", - "dev": true, - "optional": true - }, "nanoid": { "version": "3.1.20", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", @@ -23712,18 +4215,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "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 - }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", @@ -23739,45 +4230,6 @@ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", "dev": true }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, "node-releases": { "version": "1.1.65", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.65.tgz", @@ -23814,33 +4266,6 @@ "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", "dev": true }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "dev": true, - "requires": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, "nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -23995,17 +4420,6 @@ "word-wrap": "^1.2.3" } }, - "optipng-bin": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-5.1.0.tgz", - "integrity": "sha512-9baoqZTNNmXQjq/PQTWEXbVV3AMO2sI/GaaqZJZ8SExfAzjijeAP7FEeT+TtyumSw7gr0PZtSUYB/Ke7iHQVKA==", - "dev": true, - "requires": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.0", - "logalot": "^2.0.0" - } - }, "ora": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz", @@ -24074,48 +4488,6 @@ } } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-filter-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", - "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", - "dev": true, - "requires": { - "arch": "^2.1.0" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true - }, - "p-event": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", - "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", - "dev": true, - "requires": { - "p-timeout": "^1.1.1" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", - "dev": true - }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -24134,68 +4506,12 @@ "p-limit": "^1.1.0" } }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-map-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", - "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" - } - }, - "p-pipe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", - "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", - "dev": true - }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, "param-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", @@ -24222,19 +4538,6 @@ } } }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, "parse-entities": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", @@ -24265,12 +4568,6 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -24289,12 +4586,6 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", @@ -24318,25 +4609,6 @@ } } }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, "picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", @@ -24349,110 +4621,6 @@ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "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" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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-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 - } - } - }, - "pngquant-bin": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-5.0.2.tgz", - "integrity": "sha512-OLdT+4JZx5BqE1CFJkrvomYV0aSsv6x2Bba+aWaVc0PMfWlE+ZByNKYAdKeIqsM4uvW1HOSEHnf8KcOnykPNxA==", - "dev": true, - "requires": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.1", - "execa": "^0.10.0", - "logalot": "^2.0.0" - }, - "dependencies": { - "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -24607,141 +4775,6 @@ } } }, - "postcss-loader": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", - "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.4" - }, - "dependencies": { - "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" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "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" - } - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "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 - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, "postcss-markdown": { "version": "0.36.0", "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz", @@ -24948,55 +4981,6 @@ "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", "dev": true }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - } - } - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, "postcss-reporter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", @@ -25247,109 +5231,12 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "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-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -25373,18 +5260,6 @@ "strict-uri-encode": "^2.0.0" } }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, "quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -25397,25 +5272,6 @@ "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==", "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" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -25516,40 +5372,6 @@ } } }, - "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" - } - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", - "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, "redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -25560,12 +5382,6 @@ "strip-indent": "^3.0.0" } }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -25623,13 +5439,6 @@ "mdast-util-to-markdown": "^0.6.0" } }, - "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, - "optional": true - }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", @@ -25642,15 +5451,6 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "replace-ext": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", @@ -25672,23 +5472,6 @@ "path-parse": "^1.0.6" } }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "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 - } - } - }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", @@ -25701,15 +5484,6 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -25741,31 +5515,12 @@ "glob": "^7.1.3" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, "run-parallel": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", "dev": true }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, "rxjs": { "version": "7.0.0-beta.10", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.0.0-beta.10.tgz", @@ -25796,12 +5551,6 @@ "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.32.7", "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.7.tgz", @@ -25811,131 +5560,12 @@ "chokidar": ">=2.0.0 <4.0.0" } }, - "sass-loader": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", - "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", - "dev": true, - "requires": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "dependencies": { - "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" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "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" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "dev": true, - "requires": { - "commander": "~2.8.1" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } - } - } - }, "select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", @@ -25947,30 +5577,6 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, - "semver-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", - "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", - "dev": true - }, - "semver-truncate": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", - "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", - "dev": true, - "requires": { - "semver": "^5.3.0" - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "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", @@ -25994,58 +5600,12 @@ } } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "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": "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 - }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, "slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", @@ -26199,30 +5759,6 @@ } } }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", - "dev": true, - "requires": { - "sort-keys": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -26317,68 +5853,6 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "squeak": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", - "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", - "dev": true, - "requires": { - "chalk": "^1.0.0", - "console-stream": "^0.1.1", - "lpad-align": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", @@ -26412,60 +5886,12 @@ } } }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "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 - }, "strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", "dev": true }, - "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.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -26519,6 +5945,15 @@ "es-abstract": "^1.17.5" } }, + "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" + } + }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -26534,27 +5969,6 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dev": true, - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, "strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -26570,15 +5984,6 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, "style-search": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", @@ -27719,215 +7124,12 @@ } } }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "tar": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", - "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "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 - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", - "dev": true - }, - "tempfile": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", - "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", - "dev": true, - "requires": { - "temp-dir": "^1.0.0", - "uuid": "^3.0.1" - } - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "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" - } - }, - "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" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - } - } - }, "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 }, - "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": "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" - } - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, "tiny-emitter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", @@ -27943,18 +7145,6 @@ "globrex": "^0.1.2" } }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -28020,15 +7210,6 @@ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", "dev": true }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, "trim-trailing-lines": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz", @@ -28041,114 +7222,6 @@ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", "dev": true }, - "ts-loader": { - "version": "8.0.17", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.0.17.tgz", - "integrity": "sha512-OeVfSshx6ot/TCxRwpBHQ/4lRzfgyTkvi7ghDVrLXOHzTbSK413ROgu/xNqM72i3AFeAIJgQy78FwSMKmOW68w==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^2.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "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.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "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 - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "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" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "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" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, "ts-node": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", @@ -28181,17 +7254,6 @@ "strip-bom": "^3.0.0" } }, - "tsconfig-paths-webpack-plugin": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.3.0.tgz", - "integrity": "sha512-MpQeZpwPY4gYASCUjY4yt2Zj8yv86O8f++3Ai4o0yI0fUC6G1syvnL9VuY71PBgimRYDQU47f12BEmJq9wRaSw==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "enhanced-resolve": "^4.0.0", - "tsconfig-paths": "^3.4.0" - } - }, "tslib": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", @@ -28215,21 +7277,6 @@ } } }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -28245,12 +7292,6 @@ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, "typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -28275,28 +7316,6 @@ "commander": "~2.20.3" } }, - "unbzip2-stream": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.2.tgz", - "integrity": "sha512-pZMVAofMrrHX6Ik39hCk470kulCbmZ2SWfQLPmTWqfJV/oUm0gn1CblvHdUu4+54Je6Jq34x8kY6XjTy6dMkOg==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - }, - "dependencies": { - "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - } - } - }, "unherit": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", @@ -28347,24 +7366,6 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, "unist-util-find-all-after": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", @@ -28435,13 +7436,6 @@ } } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", @@ -28463,62 +7457,12 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "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": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -28537,12 +7481,6 @@ "object.getownpropertydescriptors": "^2.1.0" } }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, "v8-compile-cache": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", @@ -28581,267 +7519,6 @@ "unist-util-stringify-position": "^2.0.0" } }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", - "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - }, - "dependencies": { - "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", - "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "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, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": 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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": 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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.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, - "optional": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": 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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": 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" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, "wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -28851,311 +7528,6 @@ "defaults": "^1.0.3" } }, - "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "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": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^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-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "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": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "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" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "webpack-assets-manifest": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/webpack-assets-manifest/-/webpack-assets-manifest-3.1.1.tgz", - "integrity": "sha512-JV9V2QKc5wEWQptdIjvXDUL1ucbPLH2f27toAY3SNdGZp+xSaStAgpoMcvMZmqtFrBc9a5pTS1058vxyMPOzRQ==", - "dev": true, - "requires": { - "chalk": "^2.0", - "lodash.get": "^4.0", - "lodash.has": "^4.0", - "mkdirp": "^0.5", - "schema-utils": "^1.0.0", - "tapable": "^1.0.0", - "webpack-sources": "^1.0.0" - } - }, - "webpack-cli": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.5.0.tgz", - "integrity": "sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.1", - "@webpack-cli/info": "^1.2.2", - "@webpack-cli/serve": "^1.3.0", - "colorette": "^1.2.1", - "commander": "^7.0.0", - "enquirer": "^2.3.6", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.0.0.tgz", - "integrity": "sha512-ovx/7NkTrnPuIV8sqk/GjUIIM1+iUQeqA3ye2VNpq9sVoiZsooObWlQy+OPWGI17GDaEoybuAGJm6U8yC077BA==", - "dev": true - }, - "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" - } - }, - "execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", - "dev": true - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "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" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -29165,27 +7537,12 @@ "isexe": "^2.0.0" } }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -29231,18 +7588,6 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, "yaml": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", @@ -29255,28 +7600,12 @@ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "dev": true }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "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 - }, "zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", diff --git a/package.json b/package.json index 431abe4c3..700125d67 100644 --- a/package.json +++ b/package.json @@ -45,61 +45,43 @@ "@mdi/svg": "^5.9.55", "@primer/octicons": "^12.0.0", "@types/clipboard": "^2.0.1", - "@types/copy-webpack-plugin": "^6.4.0", "@types/escape-html": "1.0.0", - "@types/event-hooks-webpack-plugin": "^2.2.0", "@types/fuzzaldrin-plus": "^0.6.1", "@types/html-minifier": "^4.0.0", "@types/lunr": "^2.3.3", - "@types/mini-css-extract-plugin": "^1.2.2", "@types/node": "^14.14.28", "@types/ramda": "^0.27.37", "@types/resize-observer-browser": "^0.1.5", - "@types/webpack": "^4.41.26", - "@types/webpack-assets-manifest": "^3.0.1", "@typescript-eslint/eslint-plugin": "^4.15.0", "@typescript-eslint/parser": "^4.15.0", "autoprefixer": "10.2.4", - "copy-webpack-plugin": "^6.4.1", - "css-loader": "^5.0.2", + "esbuild": "^0.8.46", "eslint": "^7.20.0", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-import": "^2.22.1", "eslint-plugin-jsdoc": "^32.0.0", "eslint-plugin-no-null": "^1.0.2", - "event-hooks-webpack-plugin": "^2.2.0", - "expose-loader": "^1.0.3", "github-types": "^1.0.0", "gitlab": "^14.2.2", "html-minifier": "^4.0.0", - "ignore-emit-webpack-plugin": "2.0.3", - "imagemin-webpack-plugin": "^2.4.2", "material-design-color": "^2.3.2", "material-shadows": "^3.0.1", - "mini-css-extract-plugin": "^1.3.5", "postcss": "^8.2.5", "postcss-inline-svg": "^5.0.0", - "postcss-loader": "^4.2.0", "postcss-svgo": "^4.0.2", "preact": "^10.5.12", "ramda": "^0.27.1", "rimraf": "^3.0.2", "sass": "^1.32.6", - "sass-loader": "^10.1.1", "stylelint": "^13.9.0", "stylelint-config-rational-order": "^0.1.2", "stylelint-config-recommended": "^3.0.0", "stylelint-config-standard": "^20.0.0", "stylelint-scss": "^3.19.0", "tiny-glob": "^0.2.8", - "ts-loader": "^8.0.15", "ts-node": "^9.1.1", - "tsconfig-paths-webpack-plugin": "^3.3.0", "tslib": "^2.1.0", - "typescript": "^4.1.5", - "webpack": "^4.46.0", - "webpack-assets-manifest": "3.1.1", - "webpack-cli": "^4.5.0" + "typescript": "^4.1.5" }, "engines": { "node": ">= 12" diff --git a/src/assets/javascripts/integrations/search/worker/main/index.ts b/src/assets/javascripts/integrations/search/worker/main/index.ts index 558d77c1f..1a0845de3 100644 --- a/src/assets/javascripts/integrations/search/worker/main/index.ts +++ b/src/assets/javascripts/integrations/search/worker/main/index.ts @@ -91,7 +91,7 @@ async function setupSearchLanguages( /* Add scripts for languages */ const scripts = [] for (const lang of config.lang) { - if (lang === "ja") scripts.push(`${base}/tinyseg.min.js`) + if (lang === "ja") scripts.push(`${base}/tinyseg.js`) if (lang !== "en") scripts.push(`${base}/min/lunr.${lang}.min.js`) } diff --git a/tools/index.ts b/tools/index.ts new file mode 100644 index 000000000..1ac3c6210 --- /dev/null +++ b/tools/index.ts @@ -0,0 +1,232 @@ +/* + * Copyright (c) 2016-2021 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 + * IN THE SOFTWARE. + */ + +// import { build } from "esbuild" +import * as fs from "fs/promises" +import { minify as minhtml } from "html-minifier" +import * as path from "path" +import { concat, from } from "rxjs" +import { + finalize, + mapTo, + mergeMap, + switchMap +} from "rxjs/operators" +import glob from "tiny-glob" + +/* ---------------------------------------------------------------------------- + * Data + * ------------------------------------------------------------------------- */ + +/** + * Base directory + */ +const base = "material2" + +/* ---------------------------------------------------------------------------- + * Helper types + * ------------------------------------------------------------------------- */ + +/** + * Transform function + * + * @param content - Content + * + * @returns Promise resolving with transformed content + */ +type TransformFn = (content: string) => Promise + +/* ------------------------------------------------------------------------- */ + +/** + * Copy options + */ +interface CopyOptions { + source: string /* Source destination */ + target: string /* Target destination */ + transform?: TransformFn /* Transform function */ +} + +/* ---------------------------------------------------------------------------- + * Helper functions + * ------------------------------------------------------------------------- */ + +/** + * Recursively create the given directory + * + * @param directory - Directory + * + * @returns Directory observable + */ +function mkdir(directory: string) { + return from(fs.mkdir(directory, { recursive: true })) + .pipe( + mapTo(directory) + ) +} + +/** + * Copy a file from source to target + * + * @param options - Options + * + * @returns File observable + */ +function copy({ source, target, transform }: CopyOptions) { + return mkdir(path.dirname(target)) + .pipe( + switchMap(() => typeof transform === "undefined" + ? from(fs.copyFile(source, target)) + : from(fs.readFile(source, "utf8")) + .pipe( + switchMap(transform), + switchMap(content => fs.writeFile(target, content)) + ) + ), + mapTo(target) + ) +} + +/** + * Resolve a pattern and copy all files to target + * + * Note that this function will rebase all files that match the pattern to the + * target folder, even if the pattern resolves to a parent folder. + * + * @param pattern - Pattern + * @param options - Options + * + * @returns File observable + */ +function copyAll(pattern: string, options: CopyOptions) { + return from(glob(pattern, { cwd: options.source })) + .pipe( + switchMap(from), + mergeMap(file => copy({ + ...options, + source: `${options.source}/${file}`, + target: `${options.target}/${file.replace(/(\.{2}\/)+/, "")}`, + }), 16) + ) +} + +/* ---------------------------------------------------------------------------- + * Program + * ------------------------------------------------------------------------- */ + +const icons$ = concat( + + /* Copy Material Design icons */ + ...["*.svg", "../LICENSE"] + .map(pattern => copyAll(pattern, { + source: "node_modules/@mdi/svg/svg", + target: `${base}/.icons/material` + })), + + /* Copy GitHub octicons */ + ...["*.svg", "../../LICENSE"] + .map(pattern => copyAll(pattern, { + source: "node_modules/@primer/octicons/build/svg", + target: `${base}/.icons/octicons` + })), + + /* Copy FontAwesome icons */ + ...["**/*.svg", "../LICENSE.txt"] + .map(pattern => copyAll(pattern, { + source: "node_modules/@fortawesome/fontawesome-free/svgs", + target: `${base}/.icons/fontawesome` + })) +) + +const assets$ = concat( + icons$, + + /* Copy search stemmers and segmenter */ + ...["min/*.js", "tinyseg.js"] + .map(pattern => copyAll(pattern, { + source: "node_modules/lunr-languages", + target: `${base}/assets/javascripts/lunr` + })), + + /* Copy assets and configuration */ + ...[".icons/*.svg", "assets/images/*", "**/*.{py,yml}"] + .map(pattern => copyAll(pattern, { + source: "src", + target: base + })), + + /* Template files */ + ...["**/*.html"] + .map(pattern => copyAll(pattern, { + source: "src", + target: base, + transform: async content => { + const metadata = require("../package.json") + const banner = + "{#-\n" + + " This file was automatically generated - do not edit\n" + + "-#}\n" + + /* Normalize line feeds and minify HTML */ + const html = content.replace(/\r\n/gm, "\n") + return banner + minhtml(html, { + collapseBooleanAttributes: true, + includeAutoGeneratedTags: false, + minifyCSS: true, + minifyJS: true, + removeComments: true, + removeScriptTypeAttributes: true, + removeStyleLinkTypeAttributes: true + }) + + /* Remove empty lines without collapsing everything */ + .replace(/^\s*[\r\n]/gm, "") + + /* Write theme version into template */ + .replace("$md-name$", metadata.name) + .replace("$md-version$", metadata.version) + } + })) +) + +console.time("a") + +assets$ + .pipe( + finalize(() => console.timeEnd("a")) + ) + .subscribe() + // .subscribe(console.log) + +// async function main() { +// console.time("build") +// const res = await build({ +// bundle: true, +// sourceMap: true, +// entryPoints: [ +// "src/assets/javascripts/index.ts" +// ], +// outdir: "material2" +// }) +// console.timeEnd("build") +// console.log(res) +// } diff --git a/tsconfig.json b/tsconfig.json index 3c48007d2..dfbed3ecf 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -34,6 +34,7 @@ "include": [ "src/assets/javascripts", "src/overrides/assets/javascripts", + "tools", "typings", "webpack.config.ts" ] From b65c40308ddcbbd33e5ca1a99a0cede8cc5edf73 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Sat, 20 Feb 2021 18:03:53 +0100 Subject: [PATCH 02/11] Implemented SCSS compilation --- .stylelintignore | 2 +- package-lock.json | 1662 ++++++++++++++++- package.json | 2 + .../javascripts/browser/request/index.ts | 6 +- src/assets/stylesheets/main/_typeset.scss | 4 +- .../main/extensions/markdown/_admonition.scss | 2 +- .../main/extensions/markdown/_footnotes.scss | 2 +- .../main/extensions/pymdownx/_details.scss | 2 +- .../main/extensions/pymdownx/_tasklist.scss | 4 +- .../stylesheets/main/layout/_clipboard.scss | 2 +- src/assets/stylesheets/main/layout/_nav.scss | 6 +- .../stylesheets/main/layout/_search.scss | 2 +- tools/copy/index.ts | 104 ++ tools/index.ts | 251 +-- tools/resolve/index.ts | 83 + tools/transform/index.ts | 114 ++ 16 files changed, 2018 insertions(+), 230 deletions(-) create mode 100644 tools/copy/index.ts create mode 100644 tools/resolve/index.ts create mode 100644 tools/transform/index.ts diff --git a/.stylelintignore b/.stylelintignore index 3447759df..53f05f0ab 100644 --- a/.stylelintignore +++ b/.stylelintignore @@ -27,4 +27,4 @@ src/**/*.html src/assets/stylesheets/_shame.scss # Prevent stylelint from constantly complaining -webpack.config.ts +*.ts diff --git a/package-lock.json b/package-lock.json index add99766b..10ce49b9a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -510,9 +510,9 @@ "dev": true }, "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", "dev": true }, "@types/ramda": { @@ -745,6 +745,12 @@ "uri-js": "^4.2.2" } }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -1293,6 +1299,18 @@ "quick-lru": "^4.0.1" } }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, "caniuse-lite": { "version": "1.0.30001154", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001154.tgz", @@ -1482,6 +1500,16 @@ "object-visit": "^1.0.0" } }, + "color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -1497,6 +1525,16 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "color-string": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "colorette": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", @@ -1575,6 +1613,44 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "css-select": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", @@ -1604,9 +1680,9 @@ } }, "css-what": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", - "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, "cssesc": { @@ -1615,29 +1691,172 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, - "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.39" + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" }, "dependencies": { "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", "dev": true, "requires": { - "mdn-data": "2.0.6", + "mdn-data": "2.0.14", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true } } @@ -3277,12 +3496,30 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, "hosted-git-info": { "version": "2.8.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, "html-comment-regex": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", @@ -3393,6 +3630,12 @@ "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", "dev": true }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -3468,6 +3711,20 @@ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", "dev": true }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, "is-core-module": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", @@ -3627,6 +3884,12 @@ "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", "dev": true }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, "is-string": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", @@ -3846,6 +4109,18 @@ "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, "log-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", @@ -4266,6 +4541,12 @@ "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", "dev": true }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, "nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -4358,13 +4639,92 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + } } }, "object.pick": { @@ -4638,6 +4998,242 @@ "source-map": "^0.6.1" } }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "postcss-html": { "version": "0.36.0", "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", @@ -4981,6 +5577,716 @@ "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", "dev": true }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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 + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "postcss-reporter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", @@ -5204,6 +6510,27 @@ "requires": { "has-flag": "^3.0.0" } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } } } }, @@ -5213,6 +6540,39 @@ "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", "dev": true }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", @@ -5506,6 +6866,18 @@ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -5606,6 +6978,23 @@ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, "slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", @@ -5990,6 +7379,50 @@ "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", "dev": true }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "stylelint": { "version": "13.10.0", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.10.0.tgz", @@ -7046,24 +8479,163 @@ "dev": true }, "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.0.1.tgz", + "integrity": "sha512-v5Tzv3WPayd0XVnpmnRHqWqSHAabQFFjiTuA/KrBAOwMIyn6odBk1bCmygJJbw/6IJLwGznSvaNDKqNQeWJOtA==", "dev": true, "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", + "chalk": "^4.1.0", + "commander": "^7.1.0", + "css-select": "^3.1.2", "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", + "css-tree": "^1.1.2", + "csso": "^4.2.0", "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" + "stable": "^0.1.8" + }, + "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.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "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 + }, + "commander": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", + "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", + "dev": true + }, + "css-select": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", + "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^4.0.0", + "domhandler": "^4.0.0", + "domutils": "^2.4.3", + "nth-check": "^2.0.0" + } + }, + "css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", + "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==", + "dev": true + }, + "dom-serializer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", + "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "dev": true + }, + "domhandler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", + "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", + "dev": true, + "requires": { + "domelementtype": "^2.1.0" + } + }, + "domutils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", + "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "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 + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "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" + } + } } }, "sywac": { @@ -7130,6 +8702,12 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, "tiny-emitter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", @@ -7366,6 +8944,12 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, "unist-util-find-all-after": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", @@ -7497,6 +9081,12 @@ "spdx-expression-parse": "^3.0.0" } }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, "vfile": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", diff --git a/package.json b/package.json index 700125d67..8e0784ccb 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "@typescript-eslint/eslint-plugin": "^4.15.0", "@typescript-eslint/parser": "^4.15.0", "autoprefixer": "10.2.4", + "cssnano": "^4.1.10", "esbuild": "^0.8.46", "eslint": "^7.20.0", "eslint-plugin-eslint-comments": "^3.2.0", @@ -78,6 +79,7 @@ "stylelint-config-recommended": "^3.0.0", "stylelint-config-standard": "^20.0.0", "stylelint-scss": "^3.19.0", + "svgo": "^2.0.1", "tiny-glob": "^0.2.8", "ts-node": "^9.1.1", "tslib": "^2.1.0", diff --git a/src/assets/javascripts/browser/request/index.ts b/src/assets/javascripts/browser/request/index.ts index eb80a9022..2ecad3bd1 100644 --- a/src/assets/javascripts/browser/request/index.ts +++ b/src/assets/javascripts/browser/request/index.ts @@ -36,7 +36,7 @@ import { * Fetch the given URL * * @param url - Request URL - * @param options - Request options + * @param options - Options * * @returns Response observable */ @@ -55,7 +55,7 @@ export function request( * @template T - Data type * * @param url - Request URL - * @param options - Request options + * @param options - Options * * @returns Data observable */ @@ -73,7 +73,7 @@ export function requestJSON( * Fetch XML from the given URL * * @param url - Request URL - * @param options - Request options + * @param options - Options * * @returns Data observable */ diff --git a/src/assets/stylesheets/main/_typeset.scss b/src/assets/stylesheets/main/_typeset.scss index a745f53be..31f6cb6aa 100644 --- a/src/assets/stylesheets/main/_typeset.scss +++ b/src/assets/stylesheets/main/_typeset.scss @@ -57,8 +57,8 @@ kbd { // Icon definitions :root { - --md-typeset-table--ascending: svg-load("@mdi/svg/svg/arrow-down.svg"); - --md-typeset-table--descending: svg-load("@mdi/svg/svg/arrow-up.svg"); + --md-typeset-table--ascending: svg-load("material/arrow-down.svg"); + --md-typeset-table--descending: svg-load("material/arrow-up.svg"); } // ---------------------------------------------------------------------------- diff --git a/src/assets/stylesheets/main/extensions/markdown/_admonition.scss b/src/assets/stylesheets/main/extensions/markdown/_admonition.scss index 185387e98..de2fc580d 100644 --- a/src/assets/stylesheets/main/extensions/markdown/_admonition.scss +++ b/src/assets/stylesheets/main/extensions/markdown/_admonition.scss @@ -48,7 +48,7 @@ $admonitions: ( :root { @each $names, $props in $admonitions { --md-admonition-icon--#{nth($names, 1)}: - svg-load("@mdi/svg/svg/#{nth($props, 1)}.svg"); + svg-load("material/#{nth($props, 1)}.svg"); } } diff --git a/src/assets/stylesheets/main/extensions/markdown/_footnotes.scss b/src/assets/stylesheets/main/extensions/markdown/_footnotes.scss index 5269b9d7c..b4b2e4aa0 100644 --- a/src/assets/stylesheets/main/extensions/markdown/_footnotes.scss +++ b/src/assets/stylesheets/main/extensions/markdown/_footnotes.scss @@ -26,7 +26,7 @@ // Icon definitions :root { - --md-footnotes-icon: svg-load("@mdi/svg/svg/keyboard-return.svg"); + --md-footnotes-icon: svg-load("material/keyboard-return.svg"); } // ---------------------------------------------------------------------------- diff --git a/src/assets/stylesheets/main/extensions/pymdownx/_details.scss b/src/assets/stylesheets/main/extensions/pymdownx/_details.scss index 486b51fcd..d79ab4954 100644 --- a/src/assets/stylesheets/main/extensions/pymdownx/_details.scss +++ b/src/assets/stylesheets/main/extensions/pymdownx/_details.scss @@ -26,7 +26,7 @@ // Icon definitions :root { - --md-details-icon: svg-load("@mdi/svg/svg/chevron-right.svg"); + --md-details-icon: svg-load("material/chevron-right.svg"); } // ---------------------------------------------------------------------------- diff --git a/src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss b/src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss index 71681c609..6ee104861 100644 --- a/src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss +++ b/src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss @@ -27,9 +27,9 @@ // Icon definitions :root { --md-tasklist-icon: - svg-load("@primer/octicons/build/svg/check-circle-fill-24.svg"); + svg-load("octicons/check-circle-fill-24.svg"); --md-tasklist-icon--checked: - svg-load("@primer/octicons/build/svg/check-circle-fill-24.svg"); + svg-load("octicons/check-circle-fill-24.svg"); } // ---------------------------------------------------------------------------- diff --git a/src/assets/stylesheets/main/layout/_clipboard.scss b/src/assets/stylesheets/main/layout/_clipboard.scss index 420b03e1b..95ade7b08 100644 --- a/src/assets/stylesheets/main/layout/_clipboard.scss +++ b/src/assets/stylesheets/main/layout/_clipboard.scss @@ -26,7 +26,7 @@ // Icon definitions :root { - --md-clipboard-icon: svg-load("@mdi/svg/svg/content-copy.svg"); + --md-clipboard-icon: svg-load("material/content-copy.svg"); } // ---------------------------------------------------------------------------- diff --git a/src/assets/stylesheets/main/layout/_nav.scss b/src/assets/stylesheets/main/layout/_nav.scss index 7ecf78d41..fbfbed553 100644 --- a/src/assets/stylesheets/main/layout/_nav.scss +++ b/src/assets/stylesheets/main/layout/_nav.scss @@ -26,9 +26,9 @@ // Icon definitions :root { - --md-nav-icon--prev: svg-load("@mdi/svg/svg/arrow-left.svg"); - --md-nav-icon--next: svg-load("@mdi/svg/svg/chevron-right.svg"); - --md-toc-icon: svg-load("@mdi/svg/svg/table-of-contents.svg"); + --md-nav-icon--prev: svg-load("material/arrow-left.svg"); + --md-nav-icon--next: svg-load("material/chevron-right.svg"); + --md-toc-icon: svg-load("material/table-of-contents.svg"); } // ---------------------------------------------------------------------------- diff --git a/src/assets/stylesheets/main/layout/_search.scss b/src/assets/stylesheets/main/layout/_search.scss index 60b7e0f0a..1d2292bd6 100644 --- a/src/assets/stylesheets/main/layout/_search.scss +++ b/src/assets/stylesheets/main/layout/_search.scss @@ -26,7 +26,7 @@ // Icon definitions :root { - --md-search-result-icon: svg-load("@mdi/svg/svg/file-search-outline.svg"); + --md-search-result-icon: svg-load("material/file-search-outline.svg"); } // ---------------------------------------------------------------------------- diff --git a/tools/copy/index.ts b/tools/copy/index.ts new file mode 100644 index 000000000..3a0603edc --- /dev/null +++ b/tools/copy/index.ts @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2016-2021 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 + * IN THE SOFTWARE. + */ + +import * as fs from "fs/promises" +import * as path from "path" +import { Observable, from } from "rxjs" +import { mapTo, mergeMap, switchMap } from "rxjs/operators" + +import { mkdir, resolve } from "../resolve" + +/* ---------------------------------------------------------------------------- + * Helper types + * ------------------------------------------------------------------------- */ + +/** + * Copy transform function + * + * @param content - Content + * + * @returns Transformed content + */ +type CopyTransformFn = (content: string) => Promise | string + +/* ------------------------------------------------------------------------- */ + +/** + * Copy options + */ +interface CopyOptions { + src: string /* Source file */ + out: string /* Target file */ + fn?: CopyTransformFn /* Transform function */ +} + +/* ---------------------------------------------------------------------------- + * Functions + * ------------------------------------------------------------------------- */ + +/** + * Copy a file + * + * @param options - Options + * + * @returns File observable + */ +export function copy( + { src, out, fn }: CopyOptions +): Observable { + return mkdir(path.dirname(out)) + .pipe( + switchMap(() => typeof fn === "undefined" + ? from(fs.copyFile(src, out)) + : from(fs.readFile(src, "utf8")) + .pipe( + switchMap(content => from(fn(content))), + switchMap(content => fs.writeFile(out, content)) + ) + ), + mapTo(out) + ) +} + +/** + * Copy all files matching the given pattern + * + * Note that this function will rebase all files that match the pattern to the + * target folder, even if the pattern resolves to a parent folder. + * + * @param pattern - Pattern + * @param options - Options + * + * @returns File observable + */ +export function copyAll( + pattern: string, options: CopyOptions +): Observable { + return resolve(pattern, { cwd: options.src }) + .pipe( + mergeMap(file => copy({ + ...options, + src: `${options.src}/${file}`, + out: `${options.out}/${file.replace(/(\.{2}\/)+/, "")}` + }), 16) + ) +} diff --git a/tools/index.ts b/tools/index.ts index 1ac3c6210..7f0171d9b 100644 --- a/tools/index.ts +++ b/tools/index.ts @@ -21,212 +21,107 @@ */ // import { build } from "esbuild" -import * as fs from "fs/promises" import { minify as minhtml } from "html-minifier" -import * as path from "path" -import { concat, from } from "rxjs" -import { - finalize, - mapTo, - mergeMap, - switchMap -} from "rxjs/operators" -import glob from "tiny-glob" +import { concat } from "rxjs" +import { concatMap } from "rxjs/operators" -/* ---------------------------------------------------------------------------- - * Data - * ------------------------------------------------------------------------- */ - -/** - * Base directory - */ -const base = "material2" - -/* ---------------------------------------------------------------------------- - * Helper types - * ------------------------------------------------------------------------- */ - -/** - * Transform function - * - * @param content - Content - * - * @returns Promise resolving with transformed content - */ -type TransformFn = (content: string) => Promise - -/* ------------------------------------------------------------------------- */ - -/** - * Copy options - */ -interface CopyOptions { - source: string /* Source destination */ - target: string /* Target destination */ - transform?: TransformFn /* Transform function */ -} - -/* ---------------------------------------------------------------------------- - * Helper functions - * ------------------------------------------------------------------------- */ - -/** - * Recursively create the given directory - * - * @param directory - Directory - * - * @returns Directory observable - */ -function mkdir(directory: string) { - return from(fs.mkdir(directory, { recursive: true })) - .pipe( - mapTo(directory) - ) -} - -/** - * Copy a file from source to target - * - * @param options - Options - * - * @returns File observable - */ -function copy({ source, target, transform }: CopyOptions) { - return mkdir(path.dirname(target)) - .pipe( - switchMap(() => typeof transform === "undefined" - ? from(fs.copyFile(source, target)) - : from(fs.readFile(source, "utf8")) - .pipe( - switchMap(transform), - switchMap(content => fs.writeFile(target, content)) - ) - ), - mapTo(target) - ) -} - -/** - * Resolve a pattern and copy all files to target - * - * Note that this function will rebase all files that match the pattern to the - * target folder, even if the pattern resolves to a parent folder. - * - * @param pattern - Pattern - * @param options - Options - * - * @returns File observable - */ -function copyAll(pattern: string, options: CopyOptions) { - return from(glob(pattern, { cwd: options.source })) - .pipe( - switchMap(from), - mergeMap(file => copy({ - ...options, - source: `${options.source}/${file}`, - target: `${options.target}/${file.replace(/(\.{2}\/)+/, "")}`, - }), 16) - ) -} +import { copyAll } from "./copy" +import { base, resolve } from "./resolve" +import { transformStyle } from "./transform" /* ---------------------------------------------------------------------------- * Program * ------------------------------------------------------------------------- */ -const icons$ = concat( +/* Copy all dependencies */ +const dependencies$ = concat( /* Copy Material Design icons */ ...["*.svg", "../LICENSE"] .map(pattern => copyAll(pattern, { - source: "node_modules/@mdi/svg/svg", - target: `${base}/.icons/material` + src: "node_modules/@mdi/svg/svg", + out: `${base}/.icons/material` })), /* Copy GitHub octicons */ ...["*.svg", "../../LICENSE"] .map(pattern => copyAll(pattern, { - source: "node_modules/@primer/octicons/build/svg", - target: `${base}/.icons/octicons` + src: "node_modules/@primer/octicons/build/svg", + out: `${base}/.icons/octicons` })), /* Copy FontAwesome icons */ ...["**/*.svg", "../LICENSE.txt"] .map(pattern => copyAll(pattern, { - source: "node_modules/@fortawesome/fontawesome-free/svgs", - target: `${base}/.icons/fontawesome` - })) -) + src: "node_modules/@fortawesome/fontawesome-free/svgs", + out: `${base}/.icons/fontawesome` + })), -const assets$ = concat( - icons$, - - /* Copy search stemmers and segmenter */ + /* Copy Lunr.js search stemmers and segmenter */ ...["min/*.js", "tinyseg.js"] .map(pattern => copyAll(pattern, { - source: "node_modules/lunr-languages", - target: `${base}/assets/javascripts/lunr` - })), - - /* Copy assets and configuration */ - ...[".icons/*.svg", "assets/images/*", "**/*.{py,yml}"] - .map(pattern => copyAll(pattern, { - source: "src", - target: base - })), - - /* Template files */ - ...["**/*.html"] - .map(pattern => copyAll(pattern, { - source: "src", - target: base, - transform: async content => { - const metadata = require("../package.json") - const banner = - "{#-\n" + - " This file was automatically generated - do not edit\n" + - "-#}\n" - - /* Normalize line feeds and minify HTML */ - const html = content.replace(/\r\n/gm, "\n") - return banner + minhtml(html, { - collapseBooleanAttributes: true, - includeAutoGeneratedTags: false, - minifyCSS: true, - minifyJS: true, - removeComments: true, - removeScriptTypeAttributes: true, - removeStyleLinkTypeAttributes: true - }) - - /* Remove empty lines without collapsing everything */ - .replace(/^\s*[\r\n]/gm, "") - - /* Write theme version into template */ - .replace("$md-name$", metadata.name) - .replace("$md-version$", metadata.version) - } + src: "node_modules/lunr-languages", + out: `${base}/assets/javascripts/lunr` })) ) -console.time("a") +/* Copy all assets */ +const assets$ = concat( -assets$ + /* Copy icons, images and configurations */ + ...[".icons/*.svg", "assets/images/*", "**/*.{py,yml}"] + .map(pattern => copyAll(pattern, { + src: "src", + out: base + })), + + /* Copy and minify template files */ + copyAll("**/*.html", { + src: "src", + out: base, + fn: content => { + const metadata = require("../package.json") + const banner = + "{#-\n" + + " This file was automatically generated - do not edit\n" + + "-#}\n" + + /* Normalize line feeds and minify HTML */ + const html = content.replace(/\r\n/gm, "\n") + return banner + minhtml(html, { + collapseBooleanAttributes: true, + includeAutoGeneratedTags: false, + minifyCSS: true, + minifyJS: true, + removeComments: true, + removeScriptTypeAttributes: true, + removeStyleLinkTypeAttributes: true + }) + + /* Remove empty lines without collapsing everything */ + .replace(/^\s*[\r\n]/gm, "") + + /* Write theme version into template */ + .replace("$md-name$", metadata.name) + .replace("$md-version$", metadata.version) + } + }) +) + +/* Transform stylesheets with SASS and PostCSS */ +const styles$ = resolve("**/[!_]*.scss", { cwd: "src" }) .pipe( - finalize(() => console.timeEnd("a")) + concatMap(file => transformStyle({ + src: `src/${file}`, + out: `${base}/${file.replace(/\.scss$/, ".css")}`, + optimize: true // TODO: wrap with commander + })) ) - .subscribe() - // .subscribe(console.log) -// async function main() { -// console.time("build") -// const res = await build({ -// bundle: true, -// sourceMap: true, -// entryPoints: [ -// "src/assets/javascripts/index.ts" -// ], -// outdir: "material2" -// }) -// console.timeEnd("build") -// console.log(res) -// } +/* Compile everything */ +concat( + dependencies$, + assets$, + styles$ +) + .subscribe() diff --git a/tools/resolve/index.ts b/tools/resolve/index.ts new file mode 100644 index 000000000..93b3996d5 --- /dev/null +++ b/tools/resolve/index.ts @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2016-2021 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 + * IN THE SOFTWARE. + */ + +import * as fs from "fs/promises" +import { Observable, from } from "rxjs" +import { mapTo, switchMap } from "rxjs/operators" +import glob from "tiny-glob" + +/* ---------------------------------------------------------------------------- + * Helper types + * ------------------------------------------------------------------------- */ + +/** + * Resolve options + */ +interface ResolveOptions { + cwd: string /* Working directory */ +} + +/* ---------------------------------------------------------------------------- + * Data + * ------------------------------------------------------------------------- */ + +/** + * Base directory for compiled files + */ +export const base = "material2" + +/* ---------------------------------------------------------------------------- + * Functions + * ------------------------------------------------------------------------- */ + +/** + * Resolve a pattern + * + * @param pattern - Pattern + * @param options - Options + * + * @returns Files + */ +export function resolve( + pattern: string, options?: ResolveOptions +): Observable { + return from(glob(pattern, options)) + .pipe( + switchMap(files => from(files)) + ) +} + +/** + * Recursively create the given directory + * + * @param directory - Directory + * + * @returns Directory observable + */ +export function mkdir( + directory: string +): Observable { + return from(fs.mkdir(directory, { recursive: true })) + .pipe( + mapTo(directory) + ) +} diff --git a/tools/transform/index.ts b/tools/transform/index.ts new file mode 100644 index 000000000..e9c588a29 --- /dev/null +++ b/tools/transform/index.ts @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2016-2021 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 + * IN THE SOFTWARE. + */ + +import * as fs from "fs/promises" +import * as path from "path" +import postcss from "postcss" +import { Observable, defer, merge } from "rxjs" +import { + endWith, + ignoreElements, + switchMap, + tap +} from "rxjs/operators" +import { render as sass } from "sass" +import { promisify } from "util" + +import { base, mkdir } from "../resolve" + +/* ---------------------------------------------------------------------------- + * Helper types + * ------------------------------------------------------------------------- */ + +/** + * Transform options + */ +interface TransformOptions { + src: string /* Source file */ + out: string /* Target file */ + optimize?: boolean /* Optimize assets */ +} + +/* ---------------------------------------------------------------------------- + * Data + * ------------------------------------------------------------------------- */ + +/** + * Base directory for source maps + */ +const root = new RegExp(`file://${path.resolve(".")}/`, "g") + +/* ---------------------------------------------------------------------------- + * Functions + * ------------------------------------------------------------------------- */ + +/** + * Transform a stylesheet + * + * @param options - Options + * + * @returns File observable + */ +export function transformStyle( + { src, out, optimize }: TransformOptions +): Observable { + return defer(() => promisify(sass)({ + file: src, + includePaths: [ + "src/assets/stylesheets", + "node_modules/modularscale-sass/stylesheets", + "node_modules/material-design-color", + "node_modules/material-shadows" + ], + sourceMap: true, + sourceMapRoot: ".", + outFile: out + })) + .pipe( + switchMap(({ css, map }) => postcss([ + require("autoprefixer"), + require("postcss-inline-svg")({ + paths: [ + `${base}/.icons` + ], + encode: false + }), + ...optimize ? [require("cssnano")] : [] + ]) + .process(css, { + from: src, + to: out, + map: { + prev: `${map}`.replace(root, ""), + inline: false + } + }) + ), + tap(() => mkdir(path.dirname(out))), + switchMap(({ css, map }) => merge( + fs.writeFile(`${out}`, css), + fs.writeFile(`${out}.map`, map.toString()) + )), + ignoreElements(), + endWith(out) + ) +} From a2d9eb7aeefb77578d6389c2c7015637708266a7 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Sat, 20 Feb 2021 18:46:28 +0100 Subject: [PATCH 03/11] Implemented TS compilation --- package-lock.json | 36 +++++++++--------------------------- package.json | 7 +++---- tools/copy/index.ts | 4 ++-- tools/index.ts | 40 ++++++++++++++++++++++++++++++++-------- tools/resolve/index.ts | 2 +- tools/transform/index.ts | 29 ++++++++++++++++++++++++++--- 6 files changed, 73 insertions(+), 45 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10ce49b9a..c185c008d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -515,15 +515,6 @@ "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", "dev": true }, - "@types/ramda": { - "version": "0.27.38", - "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.27.38.tgz", - "integrity": "sha512-tZoQ0lv1WKkrpBHemL8yCkI9p8kUk/1PSMwhl0eeyqMQjD+2ePUtVLV8PpNS9Kq3OktObwOx9I3k+HumxTviRg==", - "dev": true, - "requires": { - "ts-toolbelt": "^6.15.1" - } - }, "@types/relateurl": { "version": "0.2.28", "resolved": "https://registry.npmjs.org/@types/relateurl/-/relateurl-0.2.28.tgz", @@ -536,6 +527,15 @@ "integrity": "sha512-8k/67Z95Goa6Lznuykxkfhq9YU3l1Qe6LNZmwde1u7802a3x8v44oq0j91DICclxatTr0rNnhXx7+VTIetSrSQ==", "dev": true }, + "@types/sass": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.16.0.tgz", + "integrity": "sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/uglify-js": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.0.tgz", @@ -6626,12 +6626,6 @@ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true }, - "ramda": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz", - "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==", - "dev": true - }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -8814,12 +8808,6 @@ "yn": "3.1.1" } }, - "ts-toolbelt": { - "version": "6.15.5", - "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz", - "integrity": "sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==", - "dev": true - }, "tsconfig-paths": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", @@ -8832,12 +8820,6 @@ "strip-bom": "^3.0.0" } }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - }, "tsutils": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz", diff --git a/package.json b/package.json index 8e0784ccb..8fdbc14d6 100644 --- a/package.json +++ b/package.json @@ -50,11 +50,12 @@ "@types/html-minifier": "^4.0.0", "@types/lunr": "^2.3.3", "@types/node": "^14.14.28", - "@types/ramda": "^0.27.37", "@types/resize-observer-browser": "^0.1.5", + "@types/sass": "^1.16.0", "@typescript-eslint/eslint-plugin": "^4.15.0", "@typescript-eslint/parser": "^4.15.0", - "autoprefixer": "10.2.4", + "autoprefixer": "^10.2.4", + "chokidar": "^3.5.1", "cssnano": "^4.1.10", "esbuild": "^0.8.46", "eslint": "^7.20.0", @@ -71,7 +72,6 @@ "postcss-inline-svg": "^5.0.0", "postcss-svgo": "^4.0.2", "preact": "^10.5.12", - "ramda": "^0.27.1", "rimraf": "^3.0.2", "sass": "^1.32.6", "stylelint": "^13.9.0", @@ -82,7 +82,6 @@ "svgo": "^2.0.1", "tiny-glob": "^0.2.8", "ts-node": "^9.1.1", - "tslib": "^2.1.0", "typescript": "^4.1.5" }, "engines": { diff --git a/tools/copy/index.ts b/tools/copy/index.ts index 3a0603edc..ddcff2c85 100644 --- a/tools/copy/index.ts +++ b/tools/copy/index.ts @@ -38,7 +38,7 @@ import { mkdir, resolve } from "../resolve" * * @returns Transformed content */ -type CopyTransformFn = (content: string) => Promise | string +type CopyTransformFn = (content: string) => Promise /* ------------------------------------------------------------------------- */ @@ -71,7 +71,7 @@ export function copy( ? from(fs.copyFile(src, out)) : from(fs.readFile(src, "utf8")) .pipe( - switchMap(content => from(fn(content))), + switchMap(content => fn(content)), switchMap(content => fs.writeFile(out, content)) ) ), diff --git a/tools/index.ts b/tools/index.ts index 7f0171d9b..7859448bc 100644 --- a/tools/index.ts +++ b/tools/index.ts @@ -20,14 +20,16 @@ * IN THE SOFTWARE. */ -// import { build } from "esbuild" import { minify as minhtml } from "html-minifier" -import { concat } from "rxjs" +import { concat, merge } from "rxjs" import { concatMap } from "rxjs/operators" import { copyAll } from "./copy" import { base, resolve } from "./resolve" -import { transformStyle } from "./transform" +import { + transformScript, + transformStyle +} from "./transform" /* ---------------------------------------------------------------------------- * Program @@ -79,7 +81,7 @@ const assets$ = concat( copyAll("**/*.html", { src: "src", out: base, - fn: content => { + fn: async content => { const metadata = require("../package.json") const banner = "{#-\n" + @@ -113,15 +115,37 @@ const styles$ = resolve("**/[!_]*.scss", { cwd: "src" }) .pipe( concatMap(file => transformStyle({ src: `src/${file}`, - out: `${base}/${file.replace(/\.scss$/, ".css")}`, - optimize: true // TODO: wrap with commander + out: `${base}/${file.replace(/\.scss$/, ".css")}` })) ) +/* Transform scripts with ESBuild */ +const scripts$ = merge( + + /* Transform application */ + transformScript({ + src: "src/assets/javascripts/index.ts", + out: `${base}/assets/javascripts/bundle.js` + }), + + /* Transform application overrides */ + transformScript({ + src: "src/overrides/assets/javascripts/index.ts", + out: `${base}/overrides/assets/javascripts/bundle.js` + }), + + /* Transform search worker */ + transformScript({ + src: "src/assets/javascripts/integrations/search/worker/main/index.ts", + out: `${base}/assets/javascripts/worker/search.js` + }) +) + /* Compile everything */ concat( dependencies$, assets$, - styles$ + styles$, + scripts$ ) - .subscribe() + .subscribe(console.log) diff --git a/tools/resolve/index.ts b/tools/resolve/index.ts index 93b3996d5..b408fab6e 100644 --- a/tools/resolve/index.ts +++ b/tools/resolve/index.ts @@ -55,7 +55,7 @@ export const base = "material2" * @param pattern - Pattern * @param options - Options * - * @returns Files + * @returns File observable */ export function resolve( pattern: string, options?: ResolveOptions diff --git a/tools/transform/index.ts b/tools/transform/index.ts index e9c588a29..6339618cb 100644 --- a/tools/transform/index.ts +++ b/tools/transform/index.ts @@ -20,6 +20,7 @@ * IN THE SOFTWARE. */ +import { build } from "esbuild" import * as fs from "fs/promises" import * as path from "path" import postcss from "postcss" @@ -27,6 +28,7 @@ import { Observable, defer, merge } from "rxjs" import { endWith, ignoreElements, + mapTo, switchMap, tap } from "rxjs/operators" @@ -45,7 +47,6 @@ import { base, mkdir } from "../resolve" interface TransformOptions { src: string /* Source file */ out: string /* Target file */ - optimize?: boolean /* Optimize assets */ } /* ---------------------------------------------------------------------------- @@ -69,7 +70,7 @@ const root = new RegExp(`file://${path.resolve(".")}/`, "g") * @returns File observable */ export function transformStyle( - { src, out, optimize }: TransformOptions + { src, out }: TransformOptions ): Observable { return defer(() => promisify(sass)({ file: src, @@ -92,7 +93,7 @@ export function transformStyle( ], encode: false }), - ...optimize ? [require("cssnano")] : [] + require("cssnano") ]) .process(css, { from: src, @@ -112,3 +113,25 @@ export function transformStyle( endWith(out) ) } + +/** + * Transform a script + * + * @param options - Options + * + * @returns File observable + */ +export function transformScript( + { src, out }: TransformOptions +): Observable { + return defer(() => build({ + entryPoints: [src], + outfile: out, + bundle: true, + sourcemap: true, + minify: true + })) + .pipe( + mapTo(out) + ) +} From 4957bb467dd10810151b59aa9a4ae0dd1915c23b Mon Sep 17 00:00:00 2001 From: squidfunk Date: Sun, 21 Feb 2021 11:59:38 +0100 Subject: [PATCH 04/11] Fixed visibility of exports --- .../assets/javascripts/bundle.e8ecd72e.min.js | 2 - .../javascripts/bundle.e8ecd72e.min.js.map | 1 - material/assets/javascripts/bundle.js | 31 + material/assets/javascripts/bundle.js.map | 7 + material/assets/javascripts/lunr/tinyseg.js | 206 + .../assets/javascripts/lunr/tinyseg.min.js | 1 - .../assets/javascripts/vendor.00ecb175.min.js | 16 - .../javascripts/vendor.00ecb175.min.js.map | 1 - .../javascripts/worker/search.3f4c5856.min.js | 59 - .../worker/search.3f4c5856.min.js.map | 1 - material/assets/javascripts/worker/search.js | 60 + .../assets/javascripts/worker/search.js.map | 7 + material/assets/manifest.json | 16 - material/assets/stylesheets/main.css | 3600 +++++++++++++++++ material/assets/stylesheets/main.css.map | 1 + .../assets/stylesheets/main.fa8597d9.min.css | 3 - .../stylesheets/main.fa8597d9.min.css.map | 1 - material/assets/stylesheets/palette.css | 370 ++ material/assets/stylesheets/palette.css.map | 1 + .../stylesheets/palette.e03a20ad.min.css | 3 - .../stylesheets/palette.e03a20ad.min.css.map | 1 - material/base.html | 9 +- .../assets/javascripts/bundle.e5217812.min.js | 16 - .../javascripts/bundle.e5217812.min.js.map | 1 - .../overrides/assets/javascripts/bundle.js | 18 + .../assets/javascripts/bundle.js.map | 7 + .../assets/javascripts/icon_search_index.json | 1 - .../assets/stylesheets/main.01a7853e.min.css | 3 - .../stylesheets/main.01a7853e.min.css.map | 1 - .../overrides/assets/stylesheets/main.css | 285 ++ .../overrides/assets/stylesheets/main.css.map | 1 + material/overrides/main.html | 4 +- src/assets/javascripts/browser/media/index.ts | 2 +- .../javascripts/components/content/_/index.ts | 2 +- .../components/content/details/index.ts | 4 +- src/assets/javascripts/index.ts | 27 +- .../integrations/search/_/index.ts | 9 +- .../search/query/transform/index.ts | 2 +- .../integrations/search/worker/_/index.ts | 2 +- .../integrations/search/worker/main/index.ts | 6 +- src/base.html | 1 - src/overrides/assets/javascripts/index.ts | 5 +- src/overrides/main.html | 1 - tools/copy/index.ts | 8 +- tools/index.ts | 36 +- tools/resolve/index.ts | 2 +- tools/transform/index.ts | 19 +- typings/_/index.d.ts | 33 +- typings/lunr/index.d.ts | 6 +- 49 files changed, 4707 insertions(+), 192 deletions(-) delete mode 100644 material/assets/javascripts/bundle.e8ecd72e.min.js delete mode 100644 material/assets/javascripts/bundle.e8ecd72e.min.js.map create mode 100644 material/assets/javascripts/bundle.js create mode 100644 material/assets/javascripts/bundle.js.map create mode 100644 material/assets/javascripts/lunr/tinyseg.js delete mode 100644 material/assets/javascripts/lunr/tinyseg.min.js delete mode 100644 material/assets/javascripts/vendor.00ecb175.min.js delete mode 100644 material/assets/javascripts/vendor.00ecb175.min.js.map delete mode 100644 material/assets/javascripts/worker/search.3f4c5856.min.js delete mode 100644 material/assets/javascripts/worker/search.3f4c5856.min.js.map create mode 100644 material/assets/javascripts/worker/search.js create mode 100644 material/assets/javascripts/worker/search.js.map delete mode 100644 material/assets/manifest.json create mode 100644 material/assets/stylesheets/main.css create mode 100644 material/assets/stylesheets/main.css.map delete mode 100644 material/assets/stylesheets/main.fa8597d9.min.css delete mode 100644 material/assets/stylesheets/main.fa8597d9.min.css.map create mode 100644 material/assets/stylesheets/palette.css create mode 100644 material/assets/stylesheets/palette.css.map delete mode 100644 material/assets/stylesheets/palette.e03a20ad.min.css delete mode 100644 material/assets/stylesheets/palette.e03a20ad.min.css.map delete mode 100644 material/overrides/assets/javascripts/bundle.e5217812.min.js delete mode 100644 material/overrides/assets/javascripts/bundle.e5217812.min.js.map create mode 100644 material/overrides/assets/javascripts/bundle.js create mode 100644 material/overrides/assets/javascripts/bundle.js.map delete mode 100644 material/overrides/assets/javascripts/icon_search_index.json delete mode 100644 material/overrides/assets/stylesheets/main.01a7853e.min.css delete mode 100644 material/overrides/assets/stylesheets/main.01a7853e.min.css.map create mode 100644 material/overrides/assets/stylesheets/main.css create mode 100644 material/overrides/assets/stylesheets/main.css.map diff --git a/material/assets/javascripts/bundle.e8ecd72e.min.js b/material/assets/javascripts/bundle.e8ecd72e.min.js deleted file mode 100644 index a5d08872e..000000000 --- a/material/assets/javascripts/bundle.e8ecd72e.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){for(var c in t)e[c]=t[c]}(window,function(e){function t(t){for(var n,o,i=t[0],s=t[1],b=t[2],u=0,l=[];uObject(y.a)(new ResizeObserver(e=>{for(const t of e)k.next(t)}))).pipe(Object(s.a)(e=>x.a.pipe(Object(v.a)(e)).pipe(Object(_.a)(()=>e.disconnect()))),Object(b.a)(1));function T(e){return{width:e.offsetWidth,height:e.offsetHeight}}function S(e){return{width:e.scrollWidth,height:e.scrollHeight}}function R(e){return A.pipe(Object(E.a)(t=>t.observe(e)),Object(s.a)(t=>k.pipe(Object(o.a)(({target:t})=>t===e),Object(_.a)(()=>t.unobserve(e)),Object(i.a)(({contentRect:e})=>({width:e.width,height:e.height})))),Object(v.a)(T(e)))}function M(e){return{x:e.scrollLeft,y:e.scrollTop}}function C(e,t=16){return function(e){return Object(a.a)(Object(l.a)(e,"scroll"),Object(l.a)(window,"resize")).pipe(Object(i.a)(()=>M(e)),Object(v.a)(M(e)))}(e).pipe(Object(i.a)(({y:c})=>{const n=T(e);return c>=S(e).height-n.height-t}),Object($.a)())}var L=c(42);const P={drawer:O("[data-md-toggle=drawer]"),search:O("[data-md-toggle=search]")};function U(e,t){P[e].checked!==t&&P[e].click()}var N=c(60);function H(){return new URL(location.href)}function z(){return location.hash.substring(1)}function I(e){const t=matchMedia(e);return Object(l.a)(t,"change").pipe(Object(i.a)(e=>e.matches),Object(v.a)(t.matches))}function D(e,t){return e.pipe(Object(s.a)(e=>e?t():x.a))}var Y=c(6);function F(e,t={credentials:"same-origin"}){return Object(Y.a)(fetch(e,t)).pipe(Object(o.a)(e=>200===e.status))}function q(e,t){return F(e,t).pipe(Object(s.a)(e=>e.json()),Object(b.a)(1))}var J=c(46),W=c(61);function B(){return{x:Math.max(0,pageXOffset),y:Math.max(0,pageYOffset)}}function K({x:e,y:t}){window.scrollTo(e||0,t||0)}function Q(){return{width:innerWidth,height:innerHeight}}function X(e,{viewport$:t,header$:c}){const n=t.pipe(Object(W.a)("size")),a=Object(J.a)([n,c]).pipe(Object(i.a)(()=>({x:e.offsetLeft,y:e.offsetTop})));return Object(J.a)([c,t,a]).pipe(Object(i.a)(([{height:e},{offset:t,size:c},{x:n,y:a}])=>({offset:{x:t.x-n,y:t.y-a+e},size:c})))}var V=c(62),G=c(63);const Z=O("#__config"),ee=JSON.parse(Z.textContent);function te(){return ee}function ce(e){return ee.features.includes(e)}function ne(e,t){return void 0!==t?ee.translations[e].replace("#",t.toString()):ee.translations[e]}function ae(e,t=document){return O(`[data-md-component=${e}]`,t)}function re(e,t=document){return h(`[data-md-component=${e}]`,t)}ee.base=new URL(ee.base,H()).toString().replace(/\/$/,"");var oe,ie=c(26),se=c.n(ie),be=c(64);function pe(e,t){e.setAttribute("data-md-state",t)}function ue(e){e.removeAttribute("data-md-state")}function le(e,t){e.classList.toggle("md-nav__link--active",t)}function fe(e){e.classList.remove("md-nav__link--active")}function de(e,t){if("string"==typeof t||"number"==typeof t)e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(const c of t)de(e,c)}function Oe(e,t,...c){const n=document.createElement(e);if(t)for(const e of Object.keys(t))"boolean"!=typeof t[e]?n.setAttribute(e,t[e]):t[e]&&n.setAttribute(e,"");for(const e of c)de(n,e);return n}function je(e){if(e>999){return((e+1e-6)/1e3).toFixed(+((e-950)%1e3>99))+"k"}return e.toString()}function he(e){e.removeAttribute("data-md-state")}function me(e,t){const c=t&oe.PARENT,n=t&oe.TEASER,a=Object.keys(e.terms).filter(t=>!e.terms[t]).map(e=>[Oe("del",null,e)," "]).flat().slice(0,-1);return Oe("a",{href:e.location,class:"md-search-result__link",tabIndex:-1},Oe("article",{class:["md-search-result__article",...c?["md-search-result__article--document"]:[]].join(" "),"data-md-score":e.score.toFixed(2)},c>0&&Oe("div",{class:"md-search-result__icon md-icon"}),Oe("h1",{class:"md-search-result__title"},e.title),n>0&&e.text.length>0&&Oe("p",{class:"md-search-result__teaser"},function(e,t){let c=t;if(e.length>c){for(;" "!==e[c]&&--c>0;);return e.substring(0,c)+"..."}return e}(e.text,320)),n>0&&a.length>0&&Oe("p",{class:"md-search-result__terms"},ne("search.result.term.missing"),": ",a)))}!function(e){e[e.TEASER=1]="TEASER",e[e.PARENT=2]="PARENT"}(oe||(oe={}));let ge=0;function ve(e,t){const c=new n.a;if(c.pipe(Object(be.a)(I("(hover)"))).subscribe(([{scroll:t},c])=>{t&&c?function(e,t=0){e.setAttribute("tabindex",t.toString())}(e):function(e){e.removeAttribute("tabindex")}(e)}),se.a.isSupported()){const t=e.closest("pre");t.id="__code_"+ge++,t.insertBefore((r=t.id,Oe("button",{class:"md-clipboard md-icon",title:ne("clipboard.copy"),"data-clipboard-target":`#${r} > code`})),e)}var r;return function(e,{viewport$:t}){const c=Object(y.a)(e).pipe(Object(s.a)(e=>{const t=e.closest("[data-tabs]");return t instanceof HTMLElement?Object(a.a)(...h("input",t).map(e=>Object(l.a)(e,"change"))):x.a}));return Object(a.a)(t.pipe(Object(W.a)("size")),c).pipe(Object(i.a)(()=>{const t=T(e);return{scroll:S(e).width>t.width}}),Object(W.a)("scroll"))}(e,t).pipe(Object(E.a)(c),Object(_.a)(()=>c.complete()),Object(i.a)(t=>Object.assign({ref:e},t)))}function we(e,t){const c=new n.a;return c.subscribe(()=>{e.setAttribute("open",""),e.scrollIntoView()}),function(e,{target$:t,print$:c}){return t.pipe(Object(i.a)(e=>e.closest("details:not([open])")),Object(o.a)(t=>e===t),Object(p.a)(c),Object(f.a)(e))}(e,t).pipe(Object(E.a)(c),Object(_.a)(()=>c.complete()),Object(f.a)({ref:e}))}const $e=m("table");function ye(e){return g(e,$e),g($e,Oe("div",{class:"md-typeset__scrollwrap"},Oe("div",{class:"md-typeset__table"},e))),Object(y.a)({ref:e})}var xe=c(77),_e=c(78),Ee=c(66);function ke(e,t){const c=new n.a;return c.pipe(Object(Ee.a)(xe.a)).subscribe(({message:t,open:c})=>{!function(e,t){e.firstElementChild.innerHTML=t}(e,t),c?function(e,t){e.setAttribute("data-md-state",t)}(e,"open"):function(e){e.removeAttribute("data-md-state")}(e)}),function(e,{alert$:t}){return t.pipe(Object(s.a)(e=>Object(a.a)(Object(y.a)(!0),Object(y.a)(!1).pipe(Object(_e.a)(2e3))).pipe(Object(i.a)(t=>({message:e,open:t})))))}(0,t).pipe(Object(E.a)(c),Object(_.a)(()=>c.complete()),Object(i.a)(t=>Object.assign({ref:e},t)))}var Ae=c(67),Te=c(68);function Se({viewport$:e}){if(!ce("header.autohide"))return Object(y.a)(!1);const t=e.pipe(Object(i.a)(({offset:{y:e}})=>e),Object(Ae.a)(2,1),Object(i.a)(([e,t])=>[eMath.abs(t-e.y)>100),Object(i.a)(([,[e]])=>e),Object($.a)()),n=function(e){const t=P[e];return Object(l.a)(t,"change").pipe(Object(i.a)(()=>t.checked),Object(v.a)(t.checked))}("search");return Object(J.a)([e,n]).pipe(Object(i.a)(([{offset:e},t])=>e.y>400&&!t),Object($.a)(),Object(s.a)(e=>e?c:Object(y.a)(!1)),Object(v.a)(!1))}function Re(e,t){const c=new n.a;c.pipe(Object(Ee.a)(xe.a)).subscribe(({active:t})=>{t?function(e,t){e.setAttribute("data-md-state",t)}(e,"active"):function(e){e.removeAttribute("data-md-state")}(e)});const a=d("article h1");return void 0===a?x.a:function(e,{viewport$:t,header$:c}){return X(e,{header$:c,viewport$:t}).pipe(Object(i.a)(({offset:{y:t}})=>{const{height:c}=T(e);return{active:t>=c}}),Object(W.a)("active"))}(a,t).pipe(Object(E.a)(c),Object(_.a)(()=>c.complete()),Object(i.a)(t=>Object.assign({ref:e},t)))}var Me=c(71),Ce=c(39),Le=c(3);var Pe=c(17),Ue=c(69),Ne=c(70),He=c(72),ze=c(73),Ie=c(79);var De;c(45);function Ye(e){return e.split(/"([^"]+)"/g).map((e,t)=>1&t?e.replace(/^\b|^(?![^\x00-\x7F]|$)|\s+/g," +"):e).join("").replace(/"|(?:^|\s+)[*+\-:^~]+(?=\s+|$)/g,"").trim()}function Fe(e){return e.type===De.READY}function qe(e){return e.type===De.QUERY}function Je(e){return e.type===De.RESULT}function We({config:e,docs:t,index:c}){1===e.lang.length&&"en"===e.lang[0]&&(e.lang=[ne("search.config.lang")]),"[\\s\\-]+"===e.separator&&(e.separator=ne("search.config.separator"));return{config:e,docs:t,index:c,pipeline:ne("search.config.pipeline").split(/\s*,\s*/).filter(Boolean)}}function Be(e,t){const c=te(),a=new Worker(e),r=new n.a,o=function(e,{tx$:t}){const c=Object(l.a)(e,"message").pipe(Object(i.a)(({data:e})=>e));return t.pipe(Object(V.a)(()=>c,{leading:!0,trailing:!0}),Object(E.a)(t=>e.postMessage(t)),Object(G.a)(c),Object(L.a)())}(a,{tx$:r}).pipe(Object(i.a)(e=>{if(Je(e))for(const t of e.data)for(const e of t)e.location=`${c.base}/${e.location}`;return e}),Object(L.a)());return Object(Y.a)(t).pipe(Object(i.a)(e=>({type:De.SETUP,data:We(e)}))).subscribe(r.next.bind(r)),{tx$:r,rx$:o}}!function(e){e[e.SETUP=0]="SETUP",e[e.READY=1]="READY",e[e.QUERY=2]="QUERY",e[e.RESULT=3]="RESULT"}(De||(De={}));var Ke=c(74),Qe=c(75);function Xe(e){const t=(null===__search||void 0===__search?void 0:__search.transform)||Ye,c=function(e){return Object(a.a)(Object(l.a)(e,"focus"),Object(l.a)(e,"blur")).pipe(Object(i.a)(({type:e})=>"focus"===e),Object(v.a)(e===j()))}(e),n=Object(a.a)(Object(l.a)(e,"keyup"),Object(l.a)(e,"focus").pipe(Object(_e.a)(1))).pipe(Object(i.a)(()=>t(e.value)),Object(v.a)(t(e.value)),Object($.a)());return Object(J.a)([n,c]).pipe(Object(i.a)(([e,t])=>({value:e,focus:t})))}function Ve(e,{tx$:t}){const c=new n.a;return c.pipe(Object(W.a)("value"),Object(i.a)(({value:e})=>({type:De.QUERY,data:e}))).subscribe(t.next.bind(t)),c.pipe(Object(W.a)("focus")).subscribe(({focus:t})=>{t?(U("search",t),function(e,t){e.placeholder=t}(e,"")):function(e){e.placeholder=ne("search.placeholder")}(e)}),Object(l.a)(e.form,"reset").pipe(Object(Ke.a)(c.pipe(Object(Qe.a)(1)))).subscribe(()=>w(e)),Xe(e).pipe(Object(E.a)(c),Object(_.a)(()=>c.complete()),Object(i.a)(t=>Object.assign({ref:e},t)))}var Ge=c(80);function Ze(e,{rx$:t},{query$:c}){const r=new n.a,b=C(e.parentElement).pipe(Object(o.a)(Boolean)),p=O(":scope > :first-child",e);r.pipe(Object(Ee.a)(xe.a),Object(be.a)(c)).subscribe(([{data:e},{value:t}])=>{t?function(e,t){switch(t){case 0:e.textContent=ne("search.result.none");break;case 1:e.textContent=ne("search.result.one");break;default:e.textContent=ne("search.result.other",je(t))}}(p,e.length):function(e){e.textContent=ne("search.result.placeholder")}(p)});const u=O(":scope > :last-child",e);r.pipe(Object(Ee.a)(xe.a),Object(E.a)(()=>function(e){e.innerHTML=""}(u)),Object(s.a)(({data:e})=>Object(a.a)(Object(y.a)(...e.slice(0,10)),Object(y.a)(...e.slice(10)).pipe(Object(Ae.a)(4),Object(Ge.a)(b),Object(s.a)(([e])=>Object(y.a)(...e)))))).subscribe(e=>{!function(e,t){e.appendChild(t)}(u,function(e){const t=e[0].score,c=[...e],n=c.findIndex(e=>!e.location.includes("#")),[a]=c.splice(n,1);let r=c.findIndex(e=>e.scoreme(e,oe.TEASER)),...i.length?[Oe("details",{class:"md-search-result__more"},Oe("summary",{tabIndex:-1},i.length>0&&1===i.length?ne("search.result.more.one"):ne("search.result.more.other",i.length)),i.map(e=>me(e,oe.TEASER)))]:[]];return Oe("li",{class:"md-search-result__item"},s)}(e))});return t.pipe(Object(o.a)(Je),Object(i.a)(({data:e})=>({data:e})),Object(v.a)({data:[]})).pipe(Object(E.a)(r),Object(_.a)(()=>r.complete()),Object(i.a)(t=>Object.assign({ref:e},t)))}function et(e,{keyboard$:t}){if("file:"===location.protocol)return x.a;const c=te(),n=Be(c.search,(r=c.base+"/search/search_index.json",(null===__search||void 0===__search?void 0:__search.index)||q(r)));var r;const i=ae("search-query",e),s=ae("search-result",e),{tx$:b,rx$:p}=n;b.pipe(Object(o.a)(qe),Object(Me.a)(p.pipe(Object(o.a)(Fe))),Object(Ce.a)(1)).subscribe(b.next.bind(b)),t.pipe(Object(o.a)(({mode:e})=>"search"===e)).subscribe(e=>{const t=j();switch(e.type){case"Enter":t===i&&e.claim();break;case"Escape":case"Tab":U("search",!1),w(i,!1);break;case"ArrowUp":case"ArrowDown":if(void 0===t)w(i);else{const c=[i,...h(":not(details) > [href], summary, details[open] [href]",s)],n=Math.max(0,(Math.max(0,c.indexOf(t))+c.length+("ArrowUp"===e.type?-1:1))%c.length);w(c[n])}e.claim();break;default:i!==j()&&w(i)}}),t.pipe(Object(o.a)(({mode:e})=>"global"===e)).subscribe(e=>{switch(e.type){case"f":case"s":case"/":w(i),function(e){if(!(e instanceof HTMLInputElement))throw new Error("Not implemented");e.select()}(i),e.claim()}});const u=Ve(i,n);return Object(a.a)(u,Ze(s,n,{query$:u}))}var tt=c(25);function ct(e,t){var{header$:c}=t,a=Object(tt.c)(t,["header$"]);const r=new n.a;return r.pipe(Object(Ee.a)(xe.a),Object(be.a)(c)).subscribe({next([{height:t},{height:c}]){!function(e,t){const c=e.firstElementChild;c.style.height=t-2*c.offsetTop+"px"}(e,t),function(e,t){e.style.top=t+"px"}(e,c)},complete(){!function(e){e.style.top=""}(e),function(e){e.firstElementChild.style.height=""}(e)}}),function(e,{viewport$:t,main$:c}){const n=e.parentElement.offsetTop-e.parentElement.parentElement.offsetTop;return Object(J.a)([c,t]).pipe(Object(i.a)(([{offset:e,height:t},{offset:{y:c}}])=>({height:t=t+Math.min(n,Math.max(0,c-e))-n,locked:c>=e+n})),Object($.a)((e,t)=>e.height===t.height&&e.locked===t.locked))}(e,a).pipe(Object(E.a)(r),Object(_.a)(()=>r.complete()),Object(i.a)(t=>Object.assign({ref:e},t)))}var nt=c(76);function at(e){const[t]=e.match(/(git(?:hub|lab))/i)||[];switch(t.toLowerCase()){case"github":const[,t,c]=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);return function(e,t){return q(void 0!==t?`https://api.github.com/repos/${e}/${t}`:"https://api.github.com/users/"+e).pipe(Object(i.a)(e=>{if(void 0!==t){const{stargazers_count:t,forks_count:c}=e;return[je(t)+" Stars",je(c)+" Forks"]}{const{public_repos:t}=e;return[je(t)+" Repositories"]}}),Object(nt.a)([]))}(t,c);case"gitlab":const[,n,a]=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i);return function(e,t){return q(`https://${e}/api/v4/projects/${encodeURIComponent(t)}`).pipe(Object(i.a)(({star_count:e,forks_count:t})=>[je(e)+" Stars",je(t)+" Forks"]),Object(nt.a)([]))}(n,a);default:return x.a}}let rt;function ot(e){const t=new n.a;return t.subscribe(({facts:t})=>{!function(e,t){e.lastElementChild.appendChild(t)}(e,function(e){return Oe("ul",{class:"md-source__facts"},e.map(e=>Oe("li",{class:"md-source__fact"},e)))}(t)),function(e,t){e.lastElementChild.setAttribute("data-md-state",t)}(e,"done")}),function(e){const t=function(e){let t=0;for(let c=0,n=e.length;c{const c=sessionStorage.getItem(t);if(c)return Object(y.a)(JSON.parse(c));{const c=at(e.href);return c.subscribe(e=>{try{sessionStorage.setItem(t,JSON.stringify(e))}catch(e){}}),c}}).pipe(Object(Ne.a)(()=>x.a),Object(o.a)(e=>e.length>0),Object(i.a)(e=>({facts:e})),Object(b.a)(1)))}(e).pipe(Object(E.a)(t),Object(_.a)(()=>t.complete()),Object(i.a)(t=>Object.assign({ref:e},t)))}function it(e,t){const c=new n.a;return c.pipe(Object(Ee.a)(xe.a)).subscribe({next({hidden:t}){t?function(e,t){e.setAttribute("data-md-state",t)}(e,"hidden"):he(e)},complete(){he(e)}}),function(e,{viewport$:t,header$:c}){return X(e,{header$:c,viewport$:t}).pipe(Object(i.a)(({offset:{y:e}})=>({hidden:e>=10})),Object(W.a)("hidden"))}(e,t).pipe(Object(E.a)(c),Object(_.a)(()=>c.complete()),Object(i.a)(t=>Object.assign({ref:e},t)))}var st=c(81);function bt(e,t){const c=new n.a;c.pipe(Object(Ee.a)(xe.a)).subscribe(({prev:e,next:t})=>{for(const[e]of t)fe(e),ue(e);for(const[t,[c]]of e.entries())le(c,t===e.length-1),pe(c,"blur")});return function(e,{viewport$:t,header$:c}){const n=new Map;for(const t of e){const e=d(`[id="${decodeURIComponent(t.hash.substring(1))}"]`);void 0!==e&&n.set(t,e)}const a=c.pipe(Object(i.a)(e=>24+e.height));return R(document.body).pipe(Object(W.a)("height"),Object(i.a)(()=>{let e=[];return[...n].reduce((t,[c,a])=>{for(;e.length;){if(!(n.get(e[e.length-1]).tagName>=a.tagName))break;e.pop()}let r=a.offsetTop;for(;!r&&a.parentElement;)r=(a=a.parentElement).offsetTop;return t.set([...e=[...e,c]].reverse(),r)},new Map)}),Object(s.a)(e=>Object(J.a)([a,t]).pipe(Object(st.a)(([e,t],[c,{offset:{y:n}}])=>{for(;t.length;){const[,a]=t[0];if(!(a-c=n))break;t=[e.pop(),...t]}return[e,t]},[[],[...e]]),Object($.a)((e,t)=>e[0]===t[0]&&e[1]===t[1])))).pipe(Object(i.a)(([e,t])=>({prev:e.map(([e])=>e),next:t.map(([e])=>e)})),Object(v.a)({prev:[],next:[]}),Object(Ae.a)(2,1),Object(i.a)(([e,t])=>e.prev.lengthc.complete()),Object(i.a)(t=>Object.assign({ref:e},t)))}var pt=c(14);function ut(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}document.documentElement.classList.remove("no-js"),document.documentElement.classList.add("js");const lt=function(){const e=new u.a;return Object(l.a)(document,"DOMContentLoaded").pipe(Object(f.a)(document)).subscribe(e),e}(),ft=new N.a(H()),dt=Object(l.a)(window,"hashchange").pipe(Object(i.a)(z),Object(v.a)(z()),Object(o.a)(e=>e.length>0),Object(L.a)()).pipe(Object(s.a)(e=>Object(y.a)(d(`[id="${e}"]`)))),Ot=Object(l.a)(window,"keydown").pipe(Object(o.a)(e=>!(e.metaKey||e.ctrlKey)),Object(i.a)(e=>{return{mode:(t="search",P[t].checked?"search":"global"),type:e.key,claim(){e.preventDefault(),e.stopPropagation()}};var t}),Object(o.a)(({mode:e})=>{if("global"===e){const e=j();if(void 0!==e)return!function(e){switch(e.tagName){case"INPUT":case"SELECT":case"TEXTAREA":return!0;default:return e.isContentEditable}}(e)}return!0}),Object(L.a)()),jt=Object(J.a)([Object(a.a)(Object(l.a)(window,"scroll",{passive:!0}),Object(l.a)(window,"resize",{passive:!0})).pipe(Object(i.a)(B),Object(v.a)(B())),Object(l.a)(window,"resize",{passive:!0}).pipe(Object(i.a)(Q),Object(v.a)(Q()))]).pipe(Object(i.a)(([e,t])=>({offset:e,size:t})),Object(b.a)(1)),ht=I("(min-width: 960px)"),mt=I("(min-width: 1220px)"),gt=Object(a.a)(I("print").pipe(Object(o.a)(Boolean)),Object(l.a)(window,"beforeprint")).pipe(Object(f.a)(void 0)),vt=new n.a;!function({alert$:e}){se.a.isSupported()&&new Le.a(e=>{new se.a("[data-clipboard-target], [data-clipboard-text]").on("success",t=>e.next(t))}).subscribe(()=>e.next(ne("clipboard.copied")))}({alert$:vt}),ce("navigation.instant")&&function({document$:e,location$:t,viewport$:c}){const n=te();if("file:"===location.protocol)return;"scrollRestoration"in history&&(history.scrollRestoration="manual",Object(l.a)(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}));const r=d("link[rel='shortcut icon']");void 0!==r&&(r.href=r.href);const p=function(e,t){const c=new DOMParser;return F(e,t).pipe(Object(s.a)(e=>e.text()),Object(i.a)(e=>c.parseFromString(e,"text/xml")),Object(b.a)(1))}(n.base+"/sitemap.xml").pipe(Object(i.a)(e=>function(e){if(e.length<2)return e;const[t,c]=e.sort((e,t)=>e.length-t.length);let n=0;if(t===c)n=t.length;else for(;t.charCodeAt(n)==t.charCodeAt(n);)n++;const a=te();return e.map(e=>e.replace(t.slice(0,n),a.base+"/"))}(h("loc",e).map(e=>e.textContent))),Object(s.a)(e=>Object(l.a)(document.body,"click").pipe(Object(o.a)(e=>!e.metaKey&&!e.ctrlKey),Object(s.a)(t=>{if(t.target instanceof HTMLElement){const c=t.target.closest("a");if(c&&!c.target&&e.includes(c.href))return t.preventDefault(),Object(y.a)({url:new URL(c.href)})}return x.a}))),Object(L.a)()),u=Object(l.a)(window,"popstate").pipe(Object(o.a)(e=>null!==e.state),Object(i.a)(e=>({url:new URL(location.href),offset:e.state})),Object(L.a)());Object(a.a)(p,u).pipe(Object($.a)((e,t)=>e.url.href===t.url.href),Object(i.a)(({url:e})=>e)).subscribe(t);const f=t.pipe(Object(W.a)("pathname"),Object(Ue.a)(1),Object(s.a)(e=>F(e.href).pipe(Object(Ne.a)(()=>(function(e){location.href=e.href}(e),x.a)))),Object(L.a)());p.pipe(Object(Me.a)(f)).subscribe(({url:e})=>{history.pushState({},"",e.toString())});const O=new DOMParser;f.pipe(Object(s.a)(e=>e.text()),Object(i.a)(e=>O.parseFromString(e,"text/html"))).subscribe(e),Object(a.a)(p,u).pipe(Object(Me.a)(e)).subscribe(({url:e,offset:t})=>{e.hash&&!t?function(e){const t=m("a");t.href=e,t.addEventListener("click",e=>e.stopPropagation()),t.click()}(e.hash):K(t||{y:0})}),e.pipe(Object(Ue.a)(1)).subscribe(e=>{for(const t of["title","link[rel='canonical']","meta[name='author']","meta[name='description']","[data-md-component=announce]","[data-md-component=header-title]","[data-md-component=container]","[data-md-component=skip]"]){const c=d(t),n=d(t,e);void 0!==c&&void 0!==n&&g(c,n)}}),e.pipe(Object(Ue.a)(1),Object(i.a)(()=>ae("container")),Object(s.a)(e=>Object(y.a)(...h("script",e))),Object(He.a)(e=>{const t=m("script");return e.src?(t.src=e.src,g(e,t),new Le.a(e=>{t.onload=()=>e.complete()})):(t.textContent=e.textContent,g(e,t),Pe.a)})).subscribe(),c.pipe(Object(ze.a)(p),Object(Ie.a)(250),Object(W.a)("offset")).subscribe(({offset:e})=>{history.replaceState(e,"")}),Object(a.a)(p,u).pipe(Object(Ae.a)(2,1),Object(o.a)(([e,t])=>e.url.pathname===t.url.pathname),Object(i.a)(([,e])=>e)).subscribe(({offset:e})=>{K(e||{y:0})})}({document$:lt,location$:ft,viewport$:jt}),Object(a.a)(ft,dt).subscribe(()=>U("drawer",!1)),Ot.pipe(Object(o.a)(({mode:e})=>"global"===e)).subscribe(e=>{switch(e.type){case"p":case",":const e=d("[href][rel=prev]");void 0!==e&&e.click();break;case"n":case".":const t=d("[href][rel=next]");void 0!==t&&t.click()}}),function({document$:e}){e.subscribe(()=>{for(const e of h("[data-md-state=indeterminate]"))e.setAttribute("data-md-state",""),e.indeterminate=!0,e.checked=!1})}({document$:lt}),function({document$:e}){e.pipe(Object(s.a)(()=>Object(y.a)(...h("[data-md-scrollfix]"))),Object(E.a)(e=>e.removeAttribute("data-md-scrollfix")),Object(o.a)(ut),Object(pt.a)(e=>Object(l.a)(e,"touchstart").pipe(Object(f.a)(e)))).subscribe(e=>{const t=e.scrollTop;0===t?e.scrollTop=1:t+e.offsetHeight===e.scrollHeight&&(e.scrollTop=t-1)})}({document$:lt});const wt=($t=ae("header"),yt={viewport$:jt},Object(r.a)(()=>{const e=getComputedStyle($t);return Object(y.a)("sticky"===e.position||"-webkit-sticky"===e.position)}).pipe(Object(Te.a)(R($t),Se(yt)),Object(i.a)(([e,{height:t},c])=>({height:e?t:0,sticky:e,hidden:c})),Object($.a)((e,t)=>e.sticky===t.sticky&&e.height===t.height&&e.hidden===t.hidden),Object(b.a)(1)));var $t,yt;const xt=lt.pipe(Object(i.a)(()=>ae("main")),Object(s.a)(e=>function(e,{viewport$:t,header$:c}){const n=c.pipe(Object(i.a)(({height:e})=>e),Object($.a)()),a=n.pipe(Object(s.a)(()=>R(e).pipe(Object(i.a)(({height:t})=>({top:e.offsetTop,bottom:e.offsetTop+t})),Object(W.a)("bottom"))));return Object(J.a)([n,a,t]).pipe(Object(i.a)(([e,{top:t,bottom:c},{offset:{y:n},size:{height:a}}])=>({offset:t-e,height:a=Math.max(0,a-Math.max(0,t-n,e)-Math.max(0,a+n-c)),active:t-e<=n})),Object($.a)((e,t)=>e.offset===t.offset&&e.height===t.height&&e.active===t.active))}(e,{viewport$:jt,header$:wt})),Object(b.a)(1)),_t=Object(a.a)(...re("dialog").map(e=>ke(e,{alert$:vt})),...re("header").map(e=>function(e,{header$:t,main$:c}){const a=new n.a;return a.pipe(Object(W.a)("active"),Object(Te.a)(t),Object(Ee.a)(xe.a)).subscribe(([{active:t},{hidden:c}])=>{t?function(e,t){e.setAttribute("data-md-state",t)}(e,c?"hidden":"shadow"):function(e){e.removeAttribute("data-md-state")}(e)}),c.subscribe(e=>a.next(e)),t.pipe(Object(i.a)(t=>Object.assign({ref:e},t)))}(e,{viewport$:jt,header$:wt,main$:xt})),...re("search").map(e=>et(e,{keyboard$:Ot})),...re("source").map(e=>ot(e)),...re("tabs").map(e=>it(e,{viewport$:jt,header$:wt}))),Et=Object(r.a)(()=>Object(a.a)(...re("content").map(e=>function(e,{target$:t,viewport$:c,print$:n}){return Object(a.a)(...h("pre > code",e).map(e=>ve(e,{viewport$:c})),...h("table:not([class])",e).map(e=>ye(e)),...h("details",e).map(e=>we(e,{target$:t,print$:n})))}(e,{target$:dt,viewport$:jt,print$:gt})),...re("header-title").map(e=>Re(e,{viewport$:jt,header$:wt})),...re("sidebar").map(e=>"navigation"===e.getAttribute("data-md-type")?D(mt,()=>ct(e,{viewport$:jt,header$:wt,main$:xt})):D(ht,()=>ct(e,{viewport$:jt,header$:wt,main$:xt}))),...re("toc").map(e=>bt(e,{viewport$:jt,header$:wt})))),kt=lt.pipe(Object(s.a)(()=>Et),Object(p.a)(_t),Object(b.a)(1));kt.subscribe()}})); -//# sourceMappingURL=bundle.e8ecd72e.min.js.map \ No newline at end of file diff --git a/material/assets/javascripts/bundle.e8ecd72e.min.js.map b/material/assets/javascripts/bundle.e8ecd72e.min.js.map deleted file mode 100644 index ff0ee0831..000000000 --- a/material/assets/javascripts/bundle.e8ecd72e.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/javascripts/browser/element/_/index.ts","webpack:///./src/assets/javascripts/browser/element/focus/index.ts","webpack:///./src/assets/javascripts/browser/element/size/index.ts","webpack:///./src/assets/javascripts/browser/element/offset/index.ts","webpack:///./src/assets/javascripts/browser/toggle/index.ts","webpack:///./src/assets/javascripts/browser/location/_/index.ts","webpack:///./src/assets/javascripts/browser/location/hash/index.ts","webpack:///./src/assets/javascripts/browser/media/index.ts","webpack:///./src/assets/javascripts/browser/request/index.ts","webpack:///./src/assets/javascripts/browser/viewport/offset/index.ts","webpack:///./src/assets/javascripts/browser/viewport/size/index.ts","webpack:///./src/assets/javascripts/browser/viewport/_/index.ts","webpack:///./src/assets/javascripts/_/index.ts","webpack:///./src/assets/javascripts/components/_/index.ts","webpack:///./src/assets/javascripts/templates/search/index.tsx","webpack:///./src/assets/javascripts/actions/anchor/index.ts","webpack:///./src/assets/javascripts/utilities/h/index.ts","webpack:///./src/assets/javascripts/utilities/string/index.ts","webpack:///./src/assets/javascripts/actions/tabs/index.ts","webpack:///./src/assets/javascripts/components/content/code/index.ts","webpack:///./src/assets/javascripts/actions/_/index.ts","webpack:///./src/assets/javascripts/templates/clipboard/index.tsx","webpack:///./src/assets/javascripts/components/content/details/index.ts","webpack:///./src/assets/javascripts/components/content/table/index.ts","webpack:///./src/assets/javascripts/templates/table/index.tsx","webpack:///./src/assets/javascripts/components/dialog/index.ts","webpack:///./src/assets/javascripts/actions/dialog/index.ts","webpack:///./src/assets/javascripts/components/header/_/index.ts","webpack:///./src/assets/javascripts/components/header/title/index.ts","webpack:///./src/assets/javascripts/actions/header/title/index.ts","webpack:///./src/assets/javascripts/integrations/search/worker/message/index.ts","webpack:///./src/assets/javascripts/integrations/search/query/transform/index.ts","webpack:///./src/assets/javascripts/integrations/search/worker/_/index.ts","webpack:///./src/assets/javascripts/browser/worker/index.ts","webpack:///./src/assets/javascripts/components/search/query/index.ts","webpack:///./src/assets/javascripts/actions/search/query/index.ts","webpack:///./src/assets/javascripts/components/search/result/index.ts","webpack:///./src/assets/javascripts/actions/search/result/index.ts","webpack:///./src/assets/javascripts/components/search/_/index.ts","webpack:///./src/assets/javascripts/browser/element/selection/index.ts","webpack:///./src/assets/javascripts/components/sidebar/index.ts","webpack:///./src/assets/javascripts/actions/sidebar/index.ts","webpack:///./src/assets/javascripts/components/source/facts/_/index.ts","webpack:///./src/assets/javascripts/components/source/facts/github/index.ts","webpack:///./src/assets/javascripts/components/source/facts/gitlab/index.ts","webpack:///./src/assets/javascripts/components/source/_/index.ts","webpack:///./src/assets/javascripts/actions/source/index.ts","webpack:///./src/assets/javascripts/templates/source/index.tsx","webpack:///./src/assets/javascripts/components/tabs/index.ts","webpack:///./src/assets/javascripts/components/toc/index.ts","webpack:///./src/assets/javascripts/patches/scrollfix/index.ts","webpack:///./src/assets/javascripts/index.ts","webpack:///./src/assets/javascripts/browser/document/index.ts","webpack:///./src/assets/javascripts/browser/keyboard/index.ts","webpack:///./src/assets/javascripts/integrations/clipboard/index.ts","webpack:///./src/assets/javascripts/integrations/instant/index.ts","webpack:///./src/assets/javascripts/patches/indeterminate/index.ts","webpack:///./src/assets/javascripts/components/main/index.ts","webpack:///./src/assets/javascripts/actions/header/_/index.ts","webpack:///./src/assets/javascripts/components/content/_/index.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","getElement","selector","node","document","querySelector","undefined","getElementOrThrow","el","ReferenceError","getActiveElement","activeElement","HTMLElement","getElements","Array","from","querySelectorAll","createElement","tagName","replaceElement","source","target","replaceWith","setElementFocus","focus","blur","entry$","Subject","observer$","defer","of","ResizeObserver","entries","entry","next","pipe","switchMap","resize","startWith","finalize","disconnect","shareReplay","getElementSize","width","offsetWidth","height","offsetHeight","getElementContentSize","scrollWidth","scrollHeight","watchElementSize","tap","observer","observe","filter","unobserve","map","contentRect","getElementOffset","x","scrollLeft","y","scrollTop","watchElementThreshold","threshold","merge","fromEvent","watchElementOffset","visible","distinctUntilChanged","toggles","drawer","search","setToggle","checked","click","getLocation","URL","location","href","getLocationHash","hash","substring","watchMedia","query","media","matchMedia","ev","matches","at","query$","factory","active","request","url","options","credentials","fetch","res","status","requestJSON","json","getViewportOffset","Math","max","pageXOffset","pageYOffset","setViewportOffset","scrollTo","getViewportSize","innerWidth","innerHeight","watchViewportAt","viewport$","header$","size$","distinctUntilKeyChanged","offset$","combineLatest","offsetLeft","offsetTop","offset","size","JSON","parse","textContent","configuration","feature","flag","features","includes","translation","translations","replace","toString","getComponentElement","type","getComponentElements","base","Flag","setAnchorState","state","setAttribute","resetAnchorState","removeAttribute","setAnchorActive","classList","toggle","resetAnchorActive","remove","appendChild","child","innerHTML","Node","isArray","h","tag","attributes","children","attr","keys","round","toFixed","resetTabsState","renderSearchDocument","parent","PARENT","teaser","TEASER","missing","terms","flat","class","tabIndex","join","score","title","text","truncate","mountCodeBlock","internal$","withLatestFrom","subscribe","scroll","hover","setFocusable","resetFocusable","isSupported","closest","id","insertBefore","container$","container","input","watchCodeBlock","complete","ref","mountDetails","scrollIntoView","target$","print$","details","mergeWith","mapTo","watchDetails","sentinel","mountDataTable","mountDialog","observeOn","animationFrame","message","open","firstElementChild","setDialogMessage","setDialogState","resetDialogState","_el","alert$","delay","watchDialog","isHidden","direction$","bufferCount","a","b","hidden$","abs","direction","search$","watchToggle","mountHeaderTitle","setHeaderTitleState","resetHeaderTitleState","headline","watchHeaderTitle","SearchMessageType","defaultTransform","split","index","trim","isSearchReadyMessage","READY","isSearchQueryMessage","QUERY","isSearchResultMessage","RESULT","setupSearchIndex","config","docs","lang","separator","pipeline","Boolean","setupSearchWorker","worker","Worker","tx$","rx$","throttle","leading","trailing","postMessage","switchMapTo","share","watchWorker","SETUP","watchSearchQuery","fn","__search","transform","focus$","watchElementFocus","value$","mountSearchQuery","placeholder","setSearchQueryPlaceholder","resetSearchQueryPlaceholder","form","takeUntil","takeLast","mountSearchResult","boundary$","parentElement","meta","setSearchResultMeta","resetSearchResultMeta","list","resetSearchResultList","zipWith","chunk","addToSearchResultList","findIndex","doc","article","best","more","section","renderSearchResult","mountSearch","keyboard$","protocol","sample","take","claim","els","indexOf","HTMLInputElement","Error","select","setElementSelection","mountSidebar","scrollwrap","style","setSidebarHeight","top","setSidebarOffset","resetSidebarOffset","resetSidebarHeight","main$","adjust","min","locked","watchSidebar","fetchSourceFacts","match","toLowerCase","user","repo","stargazers_count","forks_count","public_repos","defaultIfEmpty","fetchSourceFactsFromGitHub","slug","project","encodeURIComponent","star_count","fetchSourceFactsFromGitLab","fetch$","mountSource","facts","lastElementChild","setSourceFacts","fact","renderSourceFacts","setSourceState","digest","len","charCodeAt","sessionStorage","getItem","setItem","stringify","err","catchError","watchSource","mountTabs","hidden","setTabsState","watchTabs","mountTableOfContents","prev","anchor","anchors","table","Map","decodeURIComponent","set","adjust$","header","body","path","reduce","pop","reverse","scan","watchTableOfContents","isAppleDevice","test","navigator","userAgent","documentElement","add","document$","ReplaySubject","watchDocument","BehaviorSubject","metaKey","ctrlKey","preventDefault","stopPropagation","isContentEditable","isSusceptibleToKeyboard","passive","tablet$","screen$","Observable","subscriber","on","setupClipboardJS","location$","history","scrollRestoration","favicon","push$","dom","DOMParser","parseFromString","requestXML","sitemap","urls","root","sort","preprocess","pop$","response$","skip","setLocation","pushState","addEventListener","setLocationHash","replacement","concatMap","script","src","onload","skipUntil","debounceTime","replaceState","pathname","setupInstantLoading","indeterminate","patchIndeterminate","mergeMap","patchScrollfix","styles","getComputedStyle","position","combineLatestWith","sticky","border$","bottom","watchMain","control$","setHeaderState","resetHeaderState","main","mountHeader","content$","mountContent","getAttribute","component$"],"mappings":"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","file":"assets/javascripts/bundle.e8ecd72e.min.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([50,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve an element matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element or nothing\n */\nexport function getElement(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElement(\n selector: string, node?: ParentNode\n): T | undefined\n\nexport function getElement(\n selector: string, node: ParentNode = document\n): T | undefined {\n return node.querySelector(selector) || undefined\n}\n\n/**\n * Retrieve an element matching a query selector or throw a reference error\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getElementOrThrow(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElementOrThrow(\n selector: string, node?: ParentNode\n): T\n\nexport function getElementOrThrow(\n selector: string, node: ParentNode = document\n): T {\n const el = getElement(selector, node)\n if (typeof el === \"undefined\")\n throw new ReferenceError(\n `Missing element: expected \"${selector}\" to be present`\n )\n return el\n}\n\n/**\n * Retrieve the currently active element\n *\n * @returns Element or nothing\n */\nexport function getActiveElement(): HTMLElement | undefined {\n return document.activeElement instanceof HTMLElement\n ? document.activeElement\n : undefined\n}\n\n/**\n * Retrieve all elements matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getElements(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T][]\n\nexport function getElements(\n selector: string, node?: ParentNode\n): T[]\n\nexport function getElements(\n selector: string, node: ParentNode = document\n): T[] {\n return Array.from(node.querySelectorAll(selector))\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Create an element\n *\n * @template T - Tag name type\n *\n * @param tagName - Tag name\n *\n * @returns Element\n */\nexport function createElement(\n tagName: T\n): HTMLElementTagNameMap[T] {\n return document.createElement(tagName)\n}\n\n/**\n * Replace an element with another element\n *\n * @param source - Source element\n * @param target - Target element\n */\nexport function replaceElement(\n source: HTMLElement, target: Node\n): void {\n source.replaceWith(target)\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element focus\n *\n * @param el - Element\n * @param value - Whether the element should be focused\n */\nexport function setElementFocus(\n el: HTMLElement, value = true\n): void {\n if (value)\n el.focus()\n else\n el.blur()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element focus\n *\n * @param el - Element\n *\n * @returns Element focus observable\n */\nexport function watchElementFocus(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"focus\"),\n fromEvent(el, \"blur\")\n )\n .pipe(\n map(({ type }) => type === \"focus\"),\n startWith(el === getActiveElement())\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n defer,\n of\n} from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n shareReplay,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementSize {\n width: number /* Element width */\n height: number /* Element height */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Resize observer entry subject\n */\nconst entry$ = new Subject()\n\n/**\n * Resize observer observable\n *\n * This observable will create a `ResizeObserver` on the first subscription\n * and will automatically terminate it when there are no more subscribers.\n * It's quite important to centralize observation in a single `ResizeObserver`,\n * as the performance difference can be quite dramatic, as the link shows.\n *\n * @see https://bit.ly/3iIYfEm - Google Groups on performance\n */\nconst observer$ = defer(() => of(\n new ResizeObserver(entries => {\n for (const entry of entries)\n entry$.next(entry)\n })\n))\n .pipe(\n switchMap(resize => NEVER.pipe(startWith(resize))\n .pipe(\n finalize(() => resize.disconnect())\n )\n ),\n shareReplay(1)\n )\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element size\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementSize(el: HTMLElement): ElementSize {\n return {\n width: el.offsetWidth,\n height: el.offsetHeight\n }\n}\n\n/**\n * Retrieve element content size, i.e. including overflowing content\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementContentSize(el: HTMLElement): ElementSize {\n return {\n width: el.scrollWidth,\n height: el.scrollHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element size\n *\n * This function returns an observable that subscribes to a single internal\n * instance of `ResizeObserver` upon subscription, and emit resize events until\n * termination. Note that this function should not be called with the same\n * element twice, as the first unsubscription will terminate observation.\n *\n * @param el - Element\n *\n * @returns Element size observable\n */\nexport function watchElementSize(\n el: HTMLElement\n): Observable {\n return observer$\n .pipe(\n tap(observer => observer.observe(el)),\n switchMap(observer => entry$\n .pipe(\n filter(({ target }) => target === el),\n finalize(() => observer.unobserve(el)),\n map(({ contentRect }) => ({\n width: contentRect.width,\n height: contentRect.height\n }))\n )\n ),\n startWith(getElementSize(el))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { distinctUntilChanged, map, startWith } from \"rxjs/operators\"\n\nimport { getElementContentSize, getElementSize } from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element offset\n *\n * @param el - Element\n *\n * @returns Element offset\n */\nexport function getElementOffset(el: HTMLElement): ElementOffset {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element offset\n *\n * @param el - Element\n *\n * @returns Element offset observable\n */\nexport function watchElementOffset(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"scroll\"),\n fromEvent(window, \"resize\")\n )\n .pipe(\n map(() => getElementOffset(el)),\n startWith(getElementOffset(el))\n )\n}\n\n/**\n * Watch element threshold\n *\n * This function returns an observable which emits whether the bottom scroll\n * offset of an elements is within a certain threshold.\n *\n * @param el - Element\n * @param threshold - Threshold\n *\n * @returns Element threshold observable\n */\nexport function watchElementThreshold(\n el: HTMLElement, threshold = 16\n): Observable {\n return watchElementOffset(el)\n .pipe(\n map(({ y }) => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return y >= (\n content.height - visible.height - threshold\n )\n }),\n distinctUntilChanged()\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getElementOrThrow } from \"../element\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle\n */\nexport type Toggle =\n | \"drawer\" /* Toggle for drawer */\n | \"search\" /* Toggle for search */\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle map\n */\nconst toggles: Record = {\n drawer: getElementOrThrow(\"[data-md-toggle=drawer]\"),\n search: getElementOrThrow(\"[data-md-toggle=search]\")\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the value of a toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value\n */\nexport function getToggle(name: Toggle): boolean {\n return toggles[name].checked\n}\n\n/**\n * Set toggle\n *\n * Simulating a click event seems to be the most cross-browser compatible way\n * of changing the value while also emitting a `change` event. Before, Material\n * used `CustomEvent` to programmatically change the value of a toggle, but this\n * is a much simpler and cleaner solution which doesn't require a polyfill.\n *\n * @param name - Toggle\n * @param value - Toggle value\n */\nexport function setToggle(name: Toggle, value: boolean): void {\n if (toggles[name].checked !== value)\n toggles[name].click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value observable\n */\nexport function watchToggle(name: Toggle): Observable {\n const el = toggles[name]\n return fromEvent(el, \"change\")\n .pipe(\n map(() => el.checked),\n startWith(el.checked)\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { BehaviorSubject, Subject } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location\n *\n * This function will return a `URL` object (and not `Location`) in order to\n * normalize typings across the application. Furthermore, locations need to be\n * tracked without setting them and `Location` is a singleton which represents\n * the current location.\n *\n * @returns URL\n */\nexport function getLocation(): URL {\n return new URL(location.href)\n}\n\n/**\n * Set location\n *\n * @param url - URL to change to\n */\nexport function setLocation(url: URL): void {\n location.href = url.href\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location\n *\n * @returns Location subject\n */\nexport function watchLocation(): Subject {\n return new BehaviorSubject(getLocation())\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, of } from \"rxjs\"\nimport { filter, map, share, startWith, switchMap } from \"rxjs/operators\"\n\nimport { createElement, getElement } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location hash\n *\n * @returns Location hash\n */\nexport function getLocationHash(): string {\n return location.hash.substring(1)\n}\n\n/**\n * Set location hash\n *\n * Setting a new fragment identifier via `location.hash` will have no effect\n * if the value doesn't change. When a new fragment identifier is set, we want\n * the browser to target the respective element at all times, which is why we\n * use this dirty little trick.\n *\n * @param hash - Location hash\n */\nexport function setLocationHash(hash: string): void {\n const el = createElement(\"a\")\n el.href = hash\n el.addEventListener(\"click\", ev => ev.stopPropagation())\n el.click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location hash\n *\n * @returns Location hash observable\n */\nexport function watchLocationHash(): Observable {\n return fromEvent(window, \"hashchange\")\n .pipe(\n map(getLocationHash),\n startWith(getLocationHash()),\n filter(hash => hash.length > 0),\n share()\n )\n}\n\n/**\n * Watch location target\n *\n * @returns Location target observable\n */\nexport function watchLocationTarget(): Observable {\n return watchLocationHash()\n .pipe(\n switchMap(id => of(getElement(`[id=\"${id}\"]`)!))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, fromEvent, merge } from \"rxjs\"\nimport {\n filter,\n map,\n mapTo,\n startWith,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch media query\n *\n * @param query - Media query\n *\n * @returns Media observable\n */\nexport function watchMedia(query: string): Observable {\n const media = matchMedia(query)\n return fromEvent(media, \"change\")\n .pipe(\n map(ev => ev.matches),\n startWith(media.matches)\n )\n}\n\n/**\n * Watch print mode, cross-browser\n *\n * @returns Print observable\n */\nexport function watchPrint(): Observable {\n return merge(\n watchMedia(\"print\").pipe(filter(Boolean)), /* Webkit */\n fromEvent(window, \"beforeprint\") /* IE, FF */\n )\n .pipe(\n mapTo(undefined)\n )\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Toggle an observable with a media observable\n *\n * @template T - Data type\n *\n * @param query$ - Media observable\n * @param factory - Observable factory\n *\n * @returns Toggled observable\n */\nexport function at(\n query$: Observable, factory: () => Observable\n): Observable {\n return query$\n .pipe(\n switchMap(active => active ? factory() : NEVER)\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, from } from \"rxjs\"\nimport {\n filter,\n map,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch the given URL\n *\n * @param url - Request URL\n * @param options - Request options\n *\n * @returns Response observable\n */\nexport function request(\n url: string, options: RequestInit = { credentials: \"same-origin\" }\n): Observable {\n return from(fetch(url, options))\n .pipe(\n filter(res => res.status === 200),\n )\n}\n\n/**\n * Fetch JSON from the given URL\n *\n * @template T - Data type\n *\n * @param url - Request URL\n * @param options - Request options\n *\n * @returns Data observable\n */\nexport function requestJSON(\n url: string, options?: RequestInit\n): Observable {\n return request(url, options)\n .pipe(\n switchMap(res => res.json()),\n shareReplay(1)\n )\n}\n\n/**\n * Fetch XML from the given URL\n *\n * @param url - Request URL\n * @param options - Request options\n *\n * @returns Data observable\n */\nexport function requestXML(\n url: string, options?: RequestInit\n): Observable {\n const dom = new DOMParser()\n return request(url, options)\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/xml\")),\n shareReplay(1)\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport offset\n */\nexport interface ViewportOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve viewport offset\n *\n * On iOS Safari, viewport offset can be negative due to overflow scrolling.\n * As this may induce strange behaviors downstream, we'll just limit it to 0.\n *\n * @returns Viewport offset\n */\nexport function getViewportOffset(): ViewportOffset {\n return {\n x: Math.max(0, pageXOffset),\n y: Math.max(0, pageYOffset)\n }\n}\n\n/**\n * Set viewport offset\n *\n * @param offset - Viewport offset\n */\nexport function setViewportOffset(\n { x, y }: Partial\n): void {\n window.scrollTo(x || 0, y || 0)\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport offset\n *\n * @returns Viewport offset observable\n */\nexport function watchViewportOffset(): Observable {\n return merge(\n fromEvent(window, \"scroll\", { passive: true }),\n fromEvent(window, \"resize\", { passive: true })\n )\n .pipe(\n map(getViewportOffset),\n startWith(getViewportOffset())\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport size\n */\nexport interface ViewportSize {\n width: number /* Viewport width */\n height: number /* Viewport height */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve viewport size\n *\n * @returns Viewport size\n */\nexport function getViewportSize(): ViewportSize {\n return {\n width: innerWidth,\n height: innerHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport size\n *\n * @returns Viewport size observable\n */\nexport function watchViewportSize(): Observable {\n return fromEvent(window, \"resize\", { passive: true })\n .pipe(\n map(getViewportSize),\n startWith(getViewportSize())\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, combineLatest } from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n map,\n shareReplay\n} from \"rxjs/operators\"\n\nimport { Header } from \"~/components\"\n\nimport {\n ViewportOffset,\n watchViewportOffset\n} from \"../offset\"\nimport {\n ViewportSize,\n watchViewportSize\n} from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport\n */\nexport interface Viewport {\n offset: ViewportOffset /* Viewport offset */\n size: ViewportSize /* Viewport size */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch at options\n */\ninterface WatchAtOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
/* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport\n *\n * @returns Viewport observable\n */\nexport function watchViewport(): Observable {\n return combineLatest([\n watchViewportOffset(),\n watchViewportSize()\n ])\n .pipe(\n map(([offset, size]) => ({ offset, size })),\n shareReplay(1)\n )\n}\n\n/**\n * Watch viewport relative to element\n *\n * @param el - Element\n * @param options - Options\n *\n * @returns Viewport observable\n */\nexport function watchViewportAt(\n el: HTMLElement, { viewport$, header$ }: WatchAtOptions\n): Observable {\n const size$ = viewport$\n .pipe(\n distinctUntilKeyChanged(\"size\")\n )\n\n /* Compute element offset */\n const offset$ = combineLatest([size$, header$])\n .pipe(\n map((): ViewportOffset => ({\n x: el.offsetLeft,\n y: el.offsetTop\n }))\n )\n\n /* Compute relative viewport, return hot observable */\n return combineLatest([header$, viewport$, offset$])\n .pipe(\n map(([{ height }, { offset, size }, { x, y }]) => ({\n offset: {\n x: offset.x - x,\n y: offset.y - y + height\n },\n size\n }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getLocation } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Feature flag\n */\nexport type Flag =\n | \"header.autohide\" /* Hide header */\n | \"navigation.expand\" /* Automatic expansion */\n | \"navigation.instant\" /* Instant loading */\n | \"navigation.sections\" /* Sections navigation */\n | \"navigation.tabs\" /* Tabs navigation */\n | \"toc.integrate\" /* Integrated table of contents */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Translation\n */\nexport type Translation =\n | \"clipboard.copy\" /* Copy to clipboard */\n | \"clipboard.copied\" /* Copied to clipboard */\n | \"search.config.lang\" /* Search language */\n | \"search.config.pipeline\" /* Search pipeline */\n | \"search.config.separator\" /* Search separator */\n | \"search.placeholder\" /* Search */\n | \"search.result.placeholder\" /* Type to start searching */\n | \"search.result.none\" /* No matching documents */\n | \"search.result.one\" /* 1 matching document */\n | \"search.result.other\" /* # matching documents */\n | \"search.result.more.one\" /* 1 more on this page */\n | \"search.result.more.other\" /* # more on this page */\n | \"search.result.term.missing\" /* Missing */\n\n/**\n * Translations\n */\nexport type Translations = Record\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Configuration\n */\nexport interface Config {\n base: string /* Base URL */\n features: Flag[] /* Feature flags */\n translations: Translations /* Translations */\n search: string /* Search worker URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration and make base URL absolute\n */\nconst script = getElementOrThrow(\"#__config\")\nconst config: Config = JSON.parse(script.textContent!)\nconfig.base = new URL(config.base, getLocation())\n .toString()\n .replace(/\\/$/, \"\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration\n *\n * @returns Global configuration\n */\nexport function configuration(): Config {\n return config\n}\n\n/**\n * Check whether a feature flag is enabled\n *\n * @param flag - Feature flag\n *\n * @returns Test result\n */\nexport function feature(flag: Flag): boolean {\n return config.features.includes(flag)\n}\n\n/**\n * Retrieve the translation for the given key\n *\n * @param key - Key to be translated\n * @param value - Value to be replaced\n *\n * @returns Translation\n */\nexport function translation(\n key: Translation, value?: string | number\n): string {\n return typeof value !== \"undefined\"\n ? config.translations[key].replace(\"#\", value.toString())\n : config.translations[key]\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Component\n */\nexport type ComponentType =\n | \"announce\" /* Announcement bar */\n | \"container\" /* Container */\n | \"content\" /* Content */\n | \"dialog\" /* Dialog */\n | \"header\" /* Header */\n | \"header-title\" /* Header title */\n | \"main\" /* Main area */\n | \"search\" /* Search */\n | \"search-query\" /* Search input */\n | \"search-result\" /* Search results */\n | \"sidebar\" /* Sidebar */\n | \"skip\" /* Skip link */\n | \"source\" /* Repository information */\n | \"tabs\" /* Navigation tabs */\n | \"toc\" /* Table of contents */\n\n/**\n * A component\n *\n * @template T - Component type\n * @template U - Reference type\n */\nexport type Component<\n T extends {} = {},\n U extends HTMLElement = HTMLElement\n> =\n T & {\n ref: U /* Component reference */\n }\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the element for a given component or throw a reference error\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getComponentElement(\n type: ComponentType, node: ParentNode = document\n): T {\n return getElementOrThrow(`[data-md-component=${type}]`, node)\n}\n\n/**\n * Retrieve all elements for a given component\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getComponentElements(\n type: ComponentType, node: ParentNode = document\n): T[] {\n return getElements(`[data-md-component=${type}]`, node)\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport {\n SearchDocument,\n SearchMetadata,\n SearchResult\n} from \"~/integrations/search\"\nimport { h, truncate } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Render flag\n */\nconst enum Flag {\n TEASER = 1, /* Render teaser */\n PARENT = 2 /* Render as parent */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper function\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a search document\n *\n * @param document - Search document\n * @param flag - Render flags\n *\n * @returns Element\n */\nfunction renderSearchDocument(\n document: SearchDocument & SearchMetadata, flag: Flag\n): HTMLElement {\n const parent = flag & Flag.PARENT\n const teaser = flag & Flag.TEASER\n\n /* Render missing query terms */\n const missing = Object.keys(document.terms)\n .filter(key => !document.terms[key])\n .map(key => [{key}, \" \"])\n .flat()\n .slice(0, -1)\n\n /* Render article or section, depending on flags */\n const url = document.location\n return (\n \n \n {parent > 0 &&
}\n

{document.title}

\n {teaser > 0 && document.text.length > 0 &&\n

\n {truncate(document.text, 320)}\n

\n }\n {teaser > 0 && missing.length > 0 &&\n

\n {translation(\"search.result.term.missing\")}: {...missing}\n

\n }\n \n
\n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a search result\n *\n * @param result - Search result\n *\n * @returns Element\n */\nexport function renderSearchResult(\n result: SearchResult\n): HTMLElement {\n const threshold = result[0].score\n const docs = [...result]\n\n /* Find and extract parent article */\n const parent = docs.findIndex(doc => !doc.location.includes(\"#\"))\n const [article] = docs.splice(parent, 1)\n\n /* Determine last index above threshold */\n let index = docs.findIndex(doc => doc.score < threshold)\n if (index === -1)\n index = docs.length\n\n /* Partition sections */\n const best = docs.slice(0, index)\n const more = docs.slice(index)\n\n /* Render children */\n const children = [\n renderSearchDocument(article, Flag.PARENT | +(!parent && index === 0)),\n ...best.map(section => renderSearchDocument(section, Flag.TEASER)),\n ...more.length ? [\n
\n \n {more.length > 0 && more.length === 1\n ? translation(\"search.result.more.one\")\n : translation(\"search.result.more.other\", more.length)\n }\n \n {...more.map(section => renderSearchDocument(section, Flag.TEASER))}\n
\n ] : []\n ]\n\n /* Render search result */\n return (\n
  • \n {children}\n
  • \n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set anchor state\n *\n * @param el - Anchor element\n * @param state - Anchor state\n */\nexport function setAnchorState(\n el: HTMLElement, state: \"blur\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset anchor state\n *\n * @param el - Anchor element\n */\nexport function resetAnchorState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set anchor active\n *\n * @param el - Anchor element\n * @param value - Whether the anchor is active\n */\nexport function setAnchorActive(\n el: HTMLElement, value: boolean\n): void {\n el.classList.toggle(\"md-nav__link--active\", value)\n}\n\n/**\n * Reset anchor active\n *\n * @param el - Anchor element\n */\nexport function resetAnchorActive(\n el: HTMLElement\n): void {\n el.classList.remove(\"md-nav__link--active\")\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { JSX as JSXInternal } from \"preact\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * HTML attributes\n */\ntype Attributes =\n & JSXInternal.HTMLAttributes\n & JSXInternal.SVGAttributes\n & Record\n\n/**\n * Child element\n */\ntype Child =\n | HTMLElement\n | Text\n | string\n | number\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Append a child node to an element\n *\n * @param el - Element\n * @param child - Child node(s)\n */\nfunction appendChild(el: HTMLElement, child: Child | Child[]): void {\n\n /* Handle primitive types (including raw HTML) */\n if (typeof child === \"string\" || typeof child === \"number\") {\n el.innerHTML += child.toString()\n\n /* Handle nodes */\n } else if (child instanceof Node) {\n el.appendChild(child)\n\n /* Handle nested children */\n } else if (Array.isArray(child)) {\n for (const node of child)\n appendChild(el, node)\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * JSX factory\n *\n * @param tag - HTML tag\n * @param attributes - HTML attributes\n * @param children - Child elements\n *\n * @returns Element\n */\nexport function h(\n tag: string, attributes: Attributes | null, ...children: Child[]\n): HTMLElement {\n const el = document.createElement(tag)\n\n /* Set attributes, if any */\n if (attributes)\n for (const attr of Object.keys(attributes))\n if (typeof attributes[attr] !== \"boolean\")\n el.setAttribute(attr, attributes[attr])\n else if (attributes[attr])\n el.setAttribute(attr, \"\")\n\n /* Append child nodes */\n for (const child of children)\n appendChild(el, child)\n\n /* Return element */\n return el\n}\n\n/* ----------------------------------------------------------------------------\n * Namespace\n * ------------------------------------------------------------------------- */\n\nexport declare namespace h {\n namespace JSX {\n type Element = HTMLElement\n type IntrinsicElements = JSXInternal.IntrinsicElements\n }\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Truncate a string after the given number of characters\n *\n * This is not a very reasonable approach, since the summaries kind of suck.\n * It would be better to create something more intelligent, highlighting the\n * search occurrences and making a better summary out of it, but this note was\n * written three years ago, so who knows if we'll ever fix it.\n *\n * @param value - Value to be truncated\n * @param n - Number of characters\n *\n * @returns Truncated value\n */\nexport function truncate(value: string, n: number): string {\n let i = n\n if (value.length > i) {\n while (value[i] !== \" \" && --i > 0) { /* keep eating */ }\n return `${value.substring(0, i)}...`\n }\n return value\n}\n\n/**\n * Round a number for display with repository facts\n *\n * This is a reverse-engineered version of GitHub's weird rounding algorithm\n * for stars, forks and all other numbers. While all numbers below `1,000` are\n * returned as-is, bigger numbers are converted to fixed numbers:\n *\n * - `1,049` => `1k`\n * - `1,050` => `1.1k`\n * - `1,949` => `1.9k`\n * - `1,950` => `2k`\n *\n * @param value - Original value\n *\n * @returns Rounded value\n */\nexport function round(value: number): string {\n if (value > 999) {\n const digits = +((value - 950) % 1000 > 99)\n return `${((value + 0.000001) / 1000).toFixed(digits)}k`\n } else {\n return value.toString()\n }\n}\n\n/**\n * Simple hash function\n *\n * @see https://bit.ly/2wsVjJ4 - Original source\n *\n * @param value - Value to be hashed\n *\n * @returns Hash as 32bit integer\n */\nexport function hash(value: string): number {\n let h = 0\n for (let i = 0, len = value.length; i < len; i++) {\n h = ((h << 5) - h) + value.charCodeAt(i)\n h |= 0 // Convert to 32bit integer\n }\n return h\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set tabs state\n *\n * @param el - Tabs element\n * @param state - Tabs state\n */\nexport function setTabsState(\n el: HTMLElement, state: \"hidden\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset tabs state\n *\n * @param el - Tabs element\n */\nexport function resetTabsState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport ClipboardJS from \"clipboard\"\nimport {\n NEVER,\n Observable,\n Subject,\n fromEvent,\n merge,\n of\n} from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n switchMap,\n tap,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport { resetFocusable, setFocusable } from \"~/actions\"\nimport {\n Viewport,\n getElementContentSize,\n getElementSize,\n getElements,\n watchMedia\n} from \"~/browser\"\nimport { renderClipboardButton } from \"~/templates\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Code block\n */\nexport interface CodeBlock {\n scroll: boolean /* Code block overflows */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Global index for Clipboard.js integration\n */\nlet index = 0\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch code block\n *\n * This function will monitor size changes of the viewport, as well as switches\n * of content tabs with embedded code blocks, as both may trigger overflow.\n *\n * @param el - Code block element\n * @param options - Options\n *\n * @returns Code block observable\n */\nexport function watchCodeBlock(\n el: HTMLElement, { viewport$ }: WatchOptions\n): Observable {\n const container$ = of(el)\n .pipe(\n switchMap(child => {\n const container = child.closest(\"[data-tabs]\")\n if (container instanceof HTMLElement) {\n return merge(\n ...getElements(\"input\", container)\n .map(input => fromEvent(input, \"change\"))\n )\n }\n return NEVER\n })\n )\n\n /* Check overflow on resize and tab change */\n return merge(\n viewport$.pipe(distinctUntilKeyChanged(\"size\")),\n container$\n )\n .pipe(\n map(() => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return {\n scroll: content.width > visible.width\n }\n }),\n distinctUntilKeyChanged(\"scroll\")\n )\n}\n\n/**\n * Mount code block\n *\n * This function ensures that an overflowing code block is focusable through\n * keyboard, so it can be scrolled without a mouse to improve on accessibility.\n *\n * @param el - Code block element\n * @param options - Options\n *\n * @returns Code block component observable\n */\nexport function mountCodeBlock(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n withLatestFrom(watchMedia(\"(hover)\"))\n )\n .subscribe(([{ scroll }, hover]) => {\n if (scroll && hover)\n setFocusable(el)\n else\n resetFocusable(el)\n })\n\n /* Inject button for Clipboard.js integration */\n if (ClipboardJS.isSupported()) {\n const parent = el.closest(\"pre\")!\n parent.id = `__code_${index++}`\n parent.insertBefore(\n renderClipboardButton(parent.id),\n el\n )\n }\n\n /* Create and return component */\n return watchCodeBlock(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set focusable property\n *\n * @param el - Element\n * @param value - Tabindex value\n */\nexport function setFocusable(\n el: HTMLElement, value = 0\n): void {\n el.setAttribute(\"tabindex\", value.toString())\n}\n\n/**\n * Reset focusable property\n *\n * @param el - Element\n */\nexport function resetFocusable(\n el: HTMLElement\n): void {\n el.removeAttribute(\"tabindex\")\n}\n\n/**\n * Set scroll lock\n *\n * @param el - Scrollable element\n * @param value - Vertical offset\n */\nexport function setScrollLock(\n el: HTMLElement, value: number\n): void {\n el.setAttribute(\"data-md-state\", \"lock\")\n el.style.top = `-${value}px`\n}\n\n/**\n * Reset scroll lock\n *\n * @param el - Scrollable element\n */\nexport function resetScrollLock(\n el: HTMLElement\n): void {\n const value = -1 * parseInt(el.style.top, 10)\n el.removeAttribute(\"data-md-state\")\n el.style.top = \"\"\n if (value)\n window.scrollTo(0, value)\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a 'copy-to-clipboard' button\n *\n * @param id - Unique identifier\n *\n * @returns Element\n */\nexport function renderClipboardButton(id: string): HTMLElement {\n return (\n code`}\n >\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject } from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n mapTo,\n mergeWith,\n tap\n} from \"rxjs/operators\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Details\n */\nexport interface Details {}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n target$: Observable /* Location target observable */\n print$: Observable /* Print observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n target$: Observable /* Location target observable */\n print$: Observable /* Print observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch details\n *\n * @param el - Details element\n * @param options - Options\n *\n * @returns Details observable\n */\nexport function watchDetails(\n el: HTMLDetailsElement, { target$, print$ }: WatchOptions\n): Observable
    {\n return target$\n .pipe(\n map(target => target.closest(\"details:not([open])\")!),\n filter(details => el === details),\n mergeWith(print$),\n mapTo(el)\n )\n}\n\n/**\n * Mount details\n *\n * This function ensures that `details` tags are opened on anchor jumps and\n * prior to printing, so the whole content of the page is visible.\n *\n * @param el - Details element\n * @param options - Options\n *\n * @returns Details component observable\n */\nexport function mountDetails(\n el: HTMLDetailsElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject
    ()\n internal$.subscribe(() => {\n el.setAttribute(\"open\", \"\")\n el.scrollIntoView()\n })\n\n /* Create and return component */\n return watchDetails(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n mapTo({ ref: el })\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, of } from \"rxjs\"\n\nimport { createElement, replaceElement } from \"~/browser\"\nimport { renderTable } from \"~/templates\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Data table\n */\nexport interface DataTable {}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Sentinel for replacement\n */\nconst sentinel = createElement(\"table\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount data table\n *\n * This function wraps a data table in another scrollable container, so they\n * can be scrolled on smaller screen sizes and won't break the layout.\n *\n * @param el - Data table element\n *\n * @returns Data table component observable\n */\nexport function mountDataTable(\n el: HTMLElement\n): Observable> {\n replaceElement(el, sentinel)\n replaceElement(sentinel, renderTable(el))\n\n /* Create and return component */\n return of({ ref: el })\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { h } from \"utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a table inside a wrapper to improve scrolling on mobile\n *\n * @param table - Table element\n *\n * @returns Element\n */\nexport function renderTable(table: HTMLElement): HTMLElement {\n return (\n
    \n
    \n {table}\n
    \n
    \n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n merge,\n of\n} from \"rxjs\"\nimport {\n delay,\n finalize,\n map,\n observeOn,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetDialogState,\n setDialogMessage,\n setDialogState\n} from \"~/actions\"\n\nimport { Component } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Dialog\n */\nexport interface Dialog {\n message: string /* Dialog message */\n open: boolean /* Dialog is visible */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n alert$: Subject /* Alert subject */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n alert$: Subject /* Alert subject */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch dialog\n *\n * @param _el - Dialog element\n * @param options - Options\n *\n * @returns Dialog observable\n */\nexport function watchDialog(\n _el: HTMLElement, { alert$ }: WatchOptions\n): Observable {\n return alert$\n .pipe(\n switchMap(message => merge(\n of(true),\n of(false).pipe(delay(2000))\n )\n .pipe(\n map(open => ({ message, open }))\n )\n )\n )\n}\n\n/**\n * Mount dialog\n *\n * This function makes the dialog in the right corner appear when a new alert\n * is emitted through the subject that is passed as part of the options.\n *\n * @param el - Dialog element\n * @param options - Options\n *\n * @returns Dialog component observable\n */\nexport function mountDialog(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler)\n )\n .subscribe(({ message, open }) => {\n setDialogMessage(el, message)\n if (open)\n setDialogState(el, \"open\")\n else\n resetDialogState(el)\n })\n\n /* Create and return component */\n return watchDialog(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set dialog message\n *\n * @param el - Dialog element\n * @param value - Dialog message\n */\nexport function setDialogMessage(\n el: HTMLElement, value: string\n): void {\n el.firstElementChild!.innerHTML = value\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set dialog state\n *\n * @param el - Dialog element\n * @param state - Dialog state\n */\nexport function setDialogState(\n el: HTMLElement, state: \"open\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset dialog state\n *\n * @param el - Dialog element\n */\nexport function resetDialogState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest,\n defer,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n combineLatestWith,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n filter,\n map,\n observeOn,\n shareReplay,\n startWith,\n switchMap\n} from \"rxjs/operators\"\n\nimport { feature } from \"~/_\"\nimport { resetHeaderState, setHeaderState } from \"~/actions\"\nimport {\n Viewport,\n watchElementSize,\n watchToggle\n} from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { Main } from \"../../main\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Header\n */\nexport interface Header {\n height: number /* Header visible height */\n sticky: boolean /* Header stickyness */\n hidden: boolean /* User scrolled past threshold */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n main$: Observable
    /* Main area observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Compute whether the header is hidden\n *\n * If the user scrolls past a certain threshold, the header can be hidden when\n * scrolling down, and shown when scrolling up.\n *\n * @param options - Options\n *\n * @returns Toggle observable\n */\nfunction isHidden({ viewport$ }: WatchOptions): Observable {\n if (!feature(\"header.autohide\"))\n return of(false)\n\n /* Compute direction and turning point */\n const direction$ = viewport$\n .pipe(\n map(({ offset: { y } }) => y),\n bufferCount(2, 1),\n map(([a, b]) => [a < b, b] as const),\n distinctUntilKeyChanged(0)\n )\n\n /* Compute whether header should be hidden */\n const hidden$ = combineLatest([viewport$, direction$])\n .pipe(\n filter(([{ offset }, [, y]]) => Math.abs(y - offset.y) > 100),\n map(([, [direction]]) => direction),\n distinctUntilChanged()\n )\n\n /* Compute threshold for autohiding */\n const search$ = watchToggle(\"search\")\n return combineLatest([viewport$, search$])\n .pipe(\n map(([{ offset }, search]) => offset.y > 400 && !search),\n distinctUntilChanged(),\n switchMap(active => active ? hidden$ : of(false)),\n startWith(false)\n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch header\n *\n * @param el - Header element\n * @param options - Options\n *\n * @returns Header observable\n */\nexport function watchHeader(\n el: HTMLElement, options: WatchOptions\n): Observable
    {\n return defer(() => {\n const styles = getComputedStyle(el)\n return of(\n styles.position === \"sticky\" ||\n styles.position === \"-webkit-sticky\"\n )\n })\n .pipe(\n combineLatestWith(watchElementSize(el), isHidden(options)),\n map(([sticky, { height }, hidden]) => ({\n height: sticky ? height : 0,\n sticky,\n hidden\n })),\n distinctUntilChanged((a, b) => (\n a.sticky === b.sticky &&\n a.height === b.height &&\n a.hidden === b.hidden\n )),\n shareReplay(1)\n )\n}\n\n/**\n * Mount header\n *\n * This function manages the different states of the header, i.e. whether it's\n * hidden or rendered with a shadow. This depends heavily on the main area.\n *\n * @param el - Header element\n * @param options - Options\n *\n * @returns Header component observable\n */\nexport function mountHeader(\n el: HTMLElement, { header$, main$ }: MountOptions\n): Observable> {\n const internal$ = new Subject
    ()\n internal$\n .pipe(\n distinctUntilKeyChanged(\"active\"),\n combineLatestWith(header$),\n observeOn(animationFrameScheduler)\n )\n .subscribe(([{ active }, { hidden }]) => {\n if (active)\n setHeaderState(el, hidden ? \"hidden\" : \"shadow\")\n else\n resetHeaderState(el)\n })\n\n /* Connect to long-living subject and return component */\n main$.subscribe(main => internal$.next(main))\n return header$\n .pipe(\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n animationFrameScheduler\n} from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetHeaderTitleState,\n setHeaderTitleState\n} from \"~/actions\"\nimport {\n Viewport,\n getElement,\n getElementSize,\n watchViewportAt\n} from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { Header } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Header\n */\nexport interface HeaderTitle {\n active: boolean /* User scrolled past first headline */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch header title\n *\n * @param el - Heading element\n * @param options - Options\n *\n * @returns Header title observable\n */\nexport function watchHeaderTitle(\n el: HTMLHeadingElement, { viewport$, header$ }: WatchOptions\n): Observable {\n return watchViewportAt(el, { header$, viewport$ })\n .pipe(\n map(({ offset: { y } }) => {\n const { height } = getElementSize(el)\n return {\n active: y >= height\n }\n }),\n distinctUntilKeyChanged(\"active\")\n )\n}\n\n/**\n * Mount header title\n *\n * This function swaps the header title from the site title to the title of the\n * current page when the user scrolls past the first headline.\n *\n * @param el - Header title element\n * @param options - Options\n *\n * @returns Header title component observable\n */\nexport function mountHeaderTitle(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n )\n .subscribe(({ active }) => {\n if (active)\n setHeaderTitleState(el, \"active\")\n else\n resetHeaderTitleState(el)\n })\n\n /* Obtain headline, if any */\n const headline = getElement(\"article h1\")\n if (typeof headline === \"undefined\")\n return NEVER\n\n /* Create and return component */\n return watchHeaderTitle(headline, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set header title state\n *\n * @param el - Header title element\n * @param state - Header title state\n */\nexport function setHeaderTitleState(\n el: HTMLElement, state: \"active\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset header title state\n *\n * @param el - Header title element\n */\nexport function resetHeaderTitleState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndex, SearchResult } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search message type\n */\nexport const enum SearchMessageType {\n SETUP, /* Search index setup */\n READY, /* Search index ready */\n QUERY, /* Search query */\n RESULT /* Search results */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message containing the data necessary to setup the search index\n */\nexport interface SearchSetupMessage {\n type: SearchMessageType.SETUP /* Message type */\n data: SearchIndex /* Message data */\n}\n\n/**\n * A message indicating the search index is ready\n */\nexport interface SearchReadyMessage {\n type: SearchMessageType.READY /* Message type */\n}\n\n/**\n * A message containing a search query\n */\nexport interface SearchQueryMessage {\n type: SearchMessageType.QUERY /* Message type */\n data: string /* Message data */\n}\n\n/**\n * A message containing results for a search query\n */\nexport interface SearchResultMessage {\n type: SearchMessageType.RESULT /* Message type */\n data: SearchResult[] /* Message data */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message exchanged with the search worker\n */\nexport type SearchMessage =\n | SearchSetupMessage\n | SearchReadyMessage\n | SearchQueryMessage\n | SearchResultMessage\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Type guard for search setup messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchSetupMessage(\n message: SearchMessage\n): message is SearchSetupMessage {\n return message.type === SearchMessageType.SETUP\n}\n\n/**\n * Type guard for search ready messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchReadyMessage(\n message: SearchMessage\n): message is SearchReadyMessage {\n return message.type === SearchMessageType.READY\n}\n\n/**\n * Type guard for search query messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchQueryMessage(\n message: SearchMessage\n): message is SearchQueryMessage {\n return message.type === SearchMessageType.QUERY\n}\n\n/**\n * Type guard for search result messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchResultMessage(\n message: SearchMessage\n): message is SearchResultMessage {\n return message.type === SearchMessageType.RESULT\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search transformation function\n *\n * @param value - Query value\n *\n * @returns Transformed query value\n */\nexport type SearchTransformFn = (value: string) => string\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Default transformation function\n *\n * 1. Search for terms in quotation marks and prepend a `+` modifier to denote\n * that the resulting document must contain all terms, converting the query\n * to an `AND` query (as opposed to the default `OR` behavior). While users\n * may expect terms enclosed in quotation marks to map to span queries, i.e.\n * for which order is important, `lunr` doesn't support them, so the best\n * we can do is to convert the terms to an `AND` query.\n *\n * 2. Replace control characters which are not located at the beginning of the\n * query or preceded by white space, or are not followed by a non-whitespace\n * character or are at the end of the query string. Furthermore, filter\n * unmatched quotation marks.\n *\n * 3. Trim excess whitespace from left and right.\n *\n * @param query - Query value\n *\n * @returns Transformed query value\n */\nexport function defaultTransform(query: string): string {\n return query\n .split(/\"([^\"]+)\"/g) /* => 1 */\n .map((terms, index) => index & 1\n ? terms.replace(/^\\b|^(?![^\\x00-\\x7F]|$)|\\s+/g, \" +\")\n : terms\n )\n .join(\"\")\n .replace(/\"|(?:^|\\s+)[*+\\-:^~]+(?=\\s+|$)/g, \"\") /* => 2 */\n .trim() /* => 3 */\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ObservableInput, Subject, from } from \"rxjs\"\nimport { map, share } from \"rxjs/operators\"\n\nimport { configuration, translation } from \"~/_\"\nimport { WorkerHandler, watchWorker } from \"~/browser\"\n\nimport { SearchIndex, SearchIndexPipeline } from \"../../_\"\nimport {\n SearchMessage,\n SearchMessageType,\n SearchSetupMessage,\n isSearchResultMessage\n} from \"../message\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search worker\n */\nexport type SearchWorker = WorkerHandler\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up search index\n *\n * @param data - Search index\n *\n * @returns Search index\n */\nfunction setupSearchIndex(\n { config, docs, index }: SearchIndex\n): SearchIndex {\n\n /* Override default language with value from translation */\n if (config.lang.length === 1 && config.lang[0] === \"en\")\n config.lang = [\n translation(\"search.config.lang\")\n ]\n\n /* Override default separator with value from translation */\n if (config.separator === \"[\\\\s\\\\-]+\")\n config.separator = translation(\"search.config.separator\")\n\n /* Set pipeline from translation */\n const pipeline = translation(\"search.config.pipeline\")\n .split(/\\s*,\\s*/)\n .filter(Boolean) as SearchIndexPipeline\n\n /* Return search index after defaulting */\n return { config, docs, index, pipeline }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up search worker\n *\n * This function will create a web worker to set up and query the search index\n * which is done using `lunr`. The index must be passed as an observable to\n * enable hacks like _localsearch_ via search index embedding as JSON.\n *\n * @param url - Worker URL\n * @param index - Search index observable input\n *\n * @returns Search worker\n */\nexport function setupSearchWorker(\n url: string, index: ObservableInput\n): SearchWorker {\n const config = configuration()\n const worker = new Worker(url)\n\n /* Create communication channels and resolve relative links */\n const tx$ = new Subject()\n const rx$ = watchWorker(worker, { tx$ })\n .pipe(\n map(message => {\n if (isSearchResultMessage(message)) {\n for (const result of message.data)\n for (const document of result)\n document.location = `${config.base}/${document.location}`\n }\n return message\n }),\n share()\n )\n\n /* Set up search index */\n from(index)\n .pipe(\n map(data => ({\n type: SearchMessageType.SETUP,\n data: setupSearchIndex(data)\n }))\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Return search worker */\n return { tx$, rx$ }\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject, fromEvent } from \"rxjs\"\nimport {\n map,\n share,\n switchMapTo,\n tap,\n throttle\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Worker message\n */\nexport interface WorkerMessage {\n type: unknown /* Message type */\n data?: unknown /* Message data */\n}\n\n/**\n * Worker handler\n *\n * @template T - Message type\n */\nexport interface WorkerHandler<\n T extends WorkerMessage\n> {\n tx$: Subject /* Message transmission subject */\n rx$: Observable /* Message receive observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n *\n * @template T - Worker message type\n */\ninterface WatchOptions {\n tx$: Observable /* Message transmission observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch a web worker\n *\n * This function returns an observable that sends all values emitted by the\n * message observable to the web worker. Web worker communication is expected\n * to be bidirectional (request-response) and synchronous. Messages that are\n * emitted during a pending request are throttled, the last one is emitted.\n *\n * @param worker - Web worker\n * @param options - Options\n *\n * @returns Worker message observable\n */\nexport function watchWorker(\n worker: Worker, { tx$ }: WatchOptions\n): Observable {\n\n /* Intercept messages from worker-like objects */\n const rx$ = fromEvent(worker, \"message\")\n .pipe(\n map(({ data }) => data as T)\n )\n\n /* Send and receive messages, return hot observable */\n return tx$\n .pipe(\n throttle(() => rx$, { leading: true, trailing: true }),\n tap(message => worker.postMessage(message)),\n switchMapTo(rx$),\n share()\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n combineLatest,\n fromEvent,\n merge\n} from \"rxjs\"\nimport {\n delay,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n finalize,\n map,\n startWith,\n takeLast,\n takeUntil,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetSearchQueryPlaceholder,\n setSearchQueryPlaceholder\n} from \"~/actions\"\nimport {\n setElementFocus,\n setToggle,\n watchElementFocus\n} from \"~/browser\"\nimport {\n SearchMessageType,\n SearchQueryMessage,\n SearchWorker,\n defaultTransform\n} from \"~/integrations\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search query\n */\nexport interface SearchQuery {\n value: string /* Query value */\n focus: boolean /* Query focus */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch search query\n *\n * Note that the focus event which triggers re-reading the current query value\n * is delayed by `1ms` so the input's empty state is allowed to propagate.\n *\n * @param el - Search query element\n *\n * @returns Search query observable\n */\nexport function watchSearchQuery(\n el: HTMLInputElement\n): Observable {\n const fn = __search?.transform || defaultTransform\n\n /* Intercept focus and input events */\n const focus$ = watchElementFocus(el)\n const value$ = merge(\n fromEvent(el, \"keyup\"),\n fromEvent(el, \"focus\").pipe(delay(1))\n )\n .pipe(\n map(() => fn(el.value)),\n startWith(fn(el.value)),\n distinctUntilChanged()\n )\n\n /* Combine into single observable */\n return combineLatest([value$, focus$])\n .pipe(\n map(([value, focus]) => ({ value, focus }))\n )\n}\n\n/**\n * Mount search query\n *\n * @param el - Search query element\n * @param worker - Search worker\n *\n * @returns Search query component observable\n */\nexport function mountSearchQuery(\n el: HTMLInputElement, { tx$ }: SearchWorker\n): Observable> {\n const internal$ = new Subject()\n\n /* Handle value changes */\n internal$\n .pipe(\n distinctUntilKeyChanged(\"value\"),\n map(({ value }): SearchQueryMessage => ({\n type: SearchMessageType.QUERY,\n data: value\n }))\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Handle focus changes */\n internal$\n .pipe(\n distinctUntilKeyChanged(\"focus\")\n )\n .subscribe(({ focus }) => {\n if (focus) {\n setToggle(\"search\", focus)\n setSearchQueryPlaceholder(el, \"\")\n } else {\n resetSearchQueryPlaceholder(el)\n }\n })\n\n /* Handle reset */\n fromEvent(el.form!, \"reset\")\n .pipe(\n takeUntil(internal$.pipe(takeLast(1)))\n )\n .subscribe(() => setElementFocus(el))\n\n /* Create and return component */\n return watchSearchQuery(el)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set search query placeholder\n *\n * @param el - Search query element\n * @param value - Placeholder\n */\nexport function setSearchQueryPlaceholder(\n el: HTMLInputElement, value: string\n): void {\n el.placeholder = value\n}\n\n/**\n * Reset search query placeholder\n *\n * @param el - Search query element\n */\nexport function resetSearchQueryPlaceholder(\n el: HTMLInputElement\n): void {\n el.placeholder = translation(\"search.placeholder\")\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n filter,\n finalize,\n map,\n observeOn,\n startWith,\n switchMap,\n tap,\n withLatestFrom,\n zipWith\n} from \"rxjs/operators\"\n\nimport {\n addToSearchResultList,\n resetSearchResultList,\n resetSearchResultMeta,\n setSearchResultMeta\n} from \"~/actions\"\nimport {\n getElementOrThrow,\n watchElementThreshold\n} from \"~/browser\"\nimport {\n SearchResult as SearchResultData,\n SearchWorker,\n isSearchResultMessage\n} from \"~/integrations\"\nimport { renderSearchResult } from \"~/templates\"\n\nimport { Component } from \"../../_\"\nimport { SearchQuery } from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search result\n */\nexport interface SearchResult {\n data: SearchResultData[] /* Search result data */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n query$: Observable /* Search query observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount search result list\n *\n * This function will perform a lazy rendering of the search results, depending\n * on the vertical offset of the search result container.\n *\n * @param el - Search result list element\n * @param worker - Search worker\n * @param options - Options\n *\n * @returns Search result list component observable\n */\nexport function mountSearchResult(\n el: HTMLElement, { rx$ }: SearchWorker, { query$ }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n const boundary$ = watchElementThreshold(el.parentElement!)\n .pipe(\n filter(Boolean)\n )\n\n /* Update search result metadata */\n const meta = getElementOrThrow(\":scope > :first-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(query$)\n )\n .subscribe(([{ data }, { value }]) => {\n if (value)\n setSearchResultMeta(meta, data.length)\n else\n resetSearchResultMeta(meta)\n })\n\n /* Update search result list */\n const list = getElementOrThrow(\":scope > :last-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n tap(() => resetSearchResultList(list)),\n switchMap(({ data }) => merge(\n of(...data.slice(0, 10)),\n of(...data.slice(10))\n .pipe(\n bufferCount(4),\n zipWith(boundary$),\n switchMap(([chunk]) => of(...chunk))\n )\n ))\n )\n .subscribe(result => {\n addToSearchResultList(list, renderSearchResult(result))\n })\n\n /* Filter search result list */\n const result$ = rx$\n .pipe(\n filter(isSearchResultMessage),\n map(({ data }) => ({ data })),\n startWith({ data: [] })\n )\n\n /* Create and return component */\n return result$\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { round } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set number of search results\n *\n * @param el - Search result metadata element\n * @param value - Number of results\n */\nexport function setSearchResultMeta(\n el: HTMLElement, value: number\n): void {\n switch (value) {\n\n /* No results */\n case 0:\n el.textContent = translation(\"search.result.none\")\n break\n\n /* One result */\n case 1:\n el.textContent = translation(\"search.result.one\")\n break\n\n /* Multiple result */\n default:\n el.textContent = translation(\"search.result.other\", round(value))\n }\n}\n\n/**\n * Reset number of search results\n *\n * @param el - Search result metadata element\n */\nexport function resetSearchResultMeta(\n el: HTMLElement\n): void {\n el.textContent = translation(\"search.result.placeholder\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Add an element to the search result list\n *\n * @param el - Search result list element\n * @param child - Search result element\n */\nexport function addToSearchResultList(\n el: HTMLElement, child: Element\n): void {\n el.appendChild(child)\n}\n\n/**\n * Reset search result list\n *\n * @param el - Search result list element\n */\nexport function resetSearchResultList(\n el: HTMLElement\n): void {\n el.innerHTML = \"\"\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, ObservableInput, merge } from \"rxjs\"\nimport { filter, sample, take } from \"rxjs/operators\"\n\nimport { configuration } from \"~/_\"\nimport {\n Keyboard,\n getActiveElement,\n getElements,\n requestJSON,\n setElementFocus,\n setElementSelection,\n setToggle\n} from \"~/browser\"\nimport {\n SearchIndex,\n isSearchQueryMessage,\n isSearchReadyMessage,\n setupSearchWorker\n} from \"~/integrations\"\n\nimport { Component, getComponentElement } from \"../../_\"\nimport { SearchQuery, mountSearchQuery } from \"../query\"\nimport { SearchResult, mountSearchResult } from \"../result\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search\n */\nexport type Search =\n | SearchQuery\n | SearchResult\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n keyboard$: Observable /* Keyboard observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @param url - Search index URL\n *\n * @returns Promise or observable\n */\nfunction fetchSearchIndex(url: string): ObservableInput {\n return __search?.index || requestJSON(url)\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount search\n *\n * This function sets up the search functionality, including the underlying\n * web worker and all keyboard bindings.\n *\n * @param el - Search element\n * @param options - Options\n *\n * @returns Search component observable\n */\nexport function mountSearch(\n el: HTMLElement, { keyboard$ }: MountOptions\n): Observable> {\n if (location.protocol === \"file:\")\n return NEVER\n\n /* Set up search worker */\n const config = configuration()\n const worker = setupSearchWorker(config.search, fetchSearchIndex(\n `${config.base}/search/search_index.json`\n ))\n\n /* Retrieve nested components */\n const query = getComponentElement(\"search-query\", el)\n const result = getComponentElement(\"search-result\", el)\n\n /* Re-emit query when search is ready */\n const { tx$, rx$ } = worker\n tx$\n .pipe(\n filter(isSearchQueryMessage),\n sample(rx$.pipe(filter(isSearchReadyMessage))),\n take(1)\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Set up search keyboard handlers */\n keyboard$\n .pipe(\n filter(({ mode }) => mode === \"search\")\n )\n .subscribe(key => {\n const active = getActiveElement()\n switch (key.type) {\n\n /* Enter: prevent form submission */\n case \"Enter\":\n if (active === query)\n key.claim()\n break\n\n /* Escape or Tab: close search */\n case \"Escape\":\n case \"Tab\":\n setToggle(\"search\", false)\n setElementFocus(query, false)\n break\n\n /* Vertical arrows: select previous or next search result */\n case \"ArrowUp\":\n case \"ArrowDown\":\n if (typeof active === \"undefined\") {\n setElementFocus(query)\n } else {\n const els = [query, ...getElements(\n \":not(details) > [href], summary, details[open] [href]\",\n result\n )]\n const i = Math.max(0, (\n Math.max(0, els.indexOf(active)) + els.length + (\n key.type === \"ArrowUp\" ? -1 : +1\n )\n ) % els.length)\n setElementFocus(els[i])\n }\n\n /* Prevent scrolling of page */\n key.claim()\n break\n\n /* All other keys: hand to search query */\n default:\n if (query !== getActiveElement())\n setElementFocus(query)\n }\n })\n\n /* Set up global keyboard handlers */\n keyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\"),\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Open search and select query */\n case \"f\":\n case \"s\":\n case \"/\":\n setElementFocus(query)\n setElementSelection(query)\n key.claim()\n break\n }\n })\n\n /* Create and return component */\n const query$ = mountSearchQuery(query as HTMLInputElement, worker)\n return merge(\n query$,\n mountSearchResult(result, worker, { query$ })\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element text selection\n *\n * @param el - Element\n */\nexport function setElementSelection(\n el: HTMLElement\n): void {\n if (el instanceof HTMLInputElement)\n el.select()\n else\n throw new Error(\"Not implemented\")\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest\n} from \"rxjs\"\nimport {\n distinctUntilChanged,\n finalize,\n map,\n observeOn,\n tap,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport {\n resetSidebarHeight,\n resetSidebarOffset,\n setSidebarHeight,\n setSidebarOffset\n} from \"~/actions\"\nimport { Viewport } from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\nimport { Main } from \"../main\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Sidebar\n */\nexport interface Sidebar {\n height: number /* Sidebar height */\n locked: boolean /* User scrolled past header */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n main$: Observable
    /* Main area observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n main$: Observable
    /* Main area observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch sidebar\n *\n * This function returns an observable that computes the visual parameters of\n * the sidebar which depends on the vertical viewport offset, as well as the\n * height of the main area. When the page is scrolled beyond the header, the\n * sidebar is locked and fills the remaining space.\n *\n * @param el - Sidebar element\n * @param options - Options\n *\n * @returns Sidebar observable\n */\nexport function watchSidebar(\n el: HTMLElement, { viewport$, main$ }: WatchOptions\n): Observable {\n const adjust =\n el.parentElement!.offsetTop -\n el.parentElement!.parentElement!.offsetTop\n\n /* Compute the sidebar's available height and if it should be locked */\n return combineLatest([main$, viewport$])\n .pipe(\n map(([{ offset, height }, { offset: { y } }]) => {\n height = height\n + Math.min(adjust, Math.max(0, y - offset))\n - adjust\n return {\n height,\n locked: y >= offset + adjust\n }\n }),\n distinctUntilChanged((a, b) => (\n a.height === b.height &&\n a.locked === b.locked\n ))\n )\n}\n\n/**\n * Mount sidebar\n *\n * @param el - Sidebar element\n * @param options - Options\n *\n * @returns Sidebar component observable\n */\nexport function mountSidebar(\n el: HTMLElement, { header$, ...options }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(header$)\n )\n .subscribe({\n\n /* Update height and offset */\n next([{ height }, { height: offset }]) {\n setSidebarHeight(el, height)\n setSidebarOffset(el, offset)\n },\n\n /* Reset on complete */\n complete() {\n resetSidebarOffset(el)\n resetSidebarHeight(el)\n }\n })\n\n /* Create and return component */\n return watchSidebar(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set sidebar offset\n *\n * @param el - Sidebar element\n * @param value - Sidebar offset\n */\nexport function setSidebarOffset(\n el: HTMLElement, value: number\n): void {\n el.style.top = `${value}px`\n}\n\n/**\n * Reset sidebar offset\n *\n * @param el - Sidebar element\n */\nexport function resetSidebarOffset(\n el: HTMLElement\n): void {\n el.style.top = \"\"\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set sidebar height\n *\n * This function doesn't set the height of the actual sidebar, but of its first\n * child – the `.md-sidebar__scrollwrap` element in order to mitigiate jittery\n * sidebars when the footer is scrolled into view. At some point we switched\n * from `absolute` / `fixed` positioning to `sticky` positioning, significantly\n * reducing jitter in some browsers (respectively Firefox and Safari) when\n * scrolling from the top. However, top-aligned sticky positioning means that\n * the sidebar snaps to the bottom when the end of the container is reached.\n * This is what leads to the mentioned jitter, as the sidebar's height may be\n * updated too slowly.\n *\n * This behaviour can be mitigiated by setting the height of the sidebar to `0`\n * while preserving the padding, and the height on its first element.\n *\n * @param el - Sidebar element\n * @param value - Sidebar height\n */\nexport function setSidebarHeight(\n el: HTMLElement, value: number\n): void {\n const scrollwrap = el.firstElementChild as HTMLElement\n scrollwrap.style.height = `${value - 2 * scrollwrap.offsetTop}px`\n}\n\n/**\n * Reset sidebar height\n *\n * @param el - Sidebar element\n */\nexport function resetSidebarHeight(\n el: HTMLElement\n): void {\n const scrollwrap = el.firstElementChild as HTMLElement\n scrollwrap.style.height = \"\"\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable } from \"rxjs\"\n\nimport { fetchSourceFactsFromGitHub } from \"../github\"\nimport { fetchSourceFactsFromGitLab } from \"../gitlab\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository facts\n */\nexport type SourceFacts = string[]\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch repository facts\n *\n * @param url - Repository URL\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFacts(\n url: string\n): Observable {\n const [type] = url.match(/(git(?:hub|lab))/i) || []\n switch (type.toLowerCase()) {\n\n /* GitHub repository */\n case \"github\":\n const [, user, repo] = url.match(/^.+github\\.com\\/([^/]+)\\/?([^/]+)?/i)!\n return fetchSourceFactsFromGitHub(user, repo)\n\n /* GitLab repository */\n case \"gitlab\":\n const [, base, slug] = url.match(/^.+?([^/]*gitlab[^/]+)\\/(.+?)\\/?$/i)!\n return fetchSourceFactsFromGitLab(base, slug)\n\n /* Everything else */\n default:\n return NEVER\n }\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Repo, User } from \"github-types\"\nimport { Observable } from \"rxjs\"\nimport { defaultIfEmpty, map } from \"rxjs/operators\"\n\nimport { requestJSON } from \"~/browser\"\nimport { round } from \"~/utilities\"\n\nimport { SourceFacts } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch GitHub repository facts\n *\n * @param user - GitHub user\n * @param repo - GitHub repository\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFactsFromGitHub(\n user: string, repo?: string\n): Observable {\n const url = typeof repo !== \"undefined\"\n ? `https://api.github.com/repos/${user}/${repo}`\n : `https://api.github.com/users/${user}`\n return requestJSON(url)\n .pipe(\n map(data => {\n\n /* GitHub repository */\n if (typeof repo !== \"undefined\") {\n const { stargazers_count, forks_count }: Repo = data\n return [\n `${round(stargazers_count!)} Stars`,\n `${round(forks_count!)} Forks`\n ]\n\n /* GitHub user/organization */\n } else {\n const { public_repos }: User = data\n return [\n `${round(public_repos!)} Repositories`\n ]\n }\n }),\n defaultIfEmpty([])\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ProjectSchema } from \"gitlab\"\nimport { Observable } from \"rxjs\"\nimport { defaultIfEmpty, map } from \"rxjs/operators\"\n\nimport { requestJSON } from \"~/browser\"\nimport { round } from \"~/utilities\"\n\nimport { SourceFacts } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch GitLab repository facts\n *\n * @param base - GitLab base\n * @param project - GitLab project\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFactsFromGitLab(\n base: string, project: string\n): Observable {\n const url = `https://${base}/api/v4/projects/${encodeURIComponent(project)}`\n return requestJSON(url)\n .pipe(\n map(({ star_count, forks_count }) => ([\n `${round(star_count)} Stars`,\n `${round(forks_count)} Forks`\n ])),\n defaultIfEmpty([])\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, Subject, defer, of } from \"rxjs\"\nimport {\n catchError,\n filter,\n finalize,\n map,\n shareReplay,\n tap\n} from \"rxjs/operators\"\n\nimport { setSourceFacts, setSourceState } from \"~/actions\"\nimport { renderSourceFacts } from \"~/templates\"\nimport { hash } from \"~/utilities\"\n\nimport { Component } from \"../../_\"\nimport { SourceFacts, fetchSourceFacts } from \"../facts\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository information\n */\nexport interface Source {\n facts: SourceFacts /* Repository facts */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository facts observable\n */\nlet fetch$: Observable\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch repository information\n *\n * This function will try to read the repository facts from session storage,\n * and if unsuccessful, fetch them from the underlying provider.\n *\n * @param el - Repository information element\n *\n * @returns Repository information observable\n */\nexport function watchSource(\n el: HTMLAnchorElement\n): Observable {\n const digest = hash(el.href).toString()\n\n /* Fetch repository facts once */\n return fetch$ ||= defer(() => {\n const data = sessionStorage.getItem(digest)\n if (data) {\n return of(JSON.parse(data))\n } else {\n const value$ = fetchSourceFacts(el.href)\n value$.subscribe(value => {\n try {\n sessionStorage.setItem(digest, JSON.stringify(value))\n } catch (err) {\n /* Uncritical, just swallow */\n }\n })\n\n /* Return value */\n return value$\n }\n })\n .pipe(\n catchError(() => NEVER),\n filter(facts => facts.length > 0),\n map(facts => ({ facts })),\n shareReplay(1)\n )\n}\n\n/**\n * Mount repository information\n *\n * @param el - Repository information element\n *\n * @returns Repository information component observable\n */\nexport function mountSource(\n el: HTMLAnchorElement\n): Observable> {\n const internal$ = new Subject()\n internal$.subscribe(({ facts }) => {\n setSourceFacts(el, renderSourceFacts(facts))\n setSourceState(el, \"done\")\n })\n\n /* Create and return component */\n return watchSource(el)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set repository facts\n *\n * @param el - Repository element\n * @param child - Repository facts element\n */\nexport function setSourceFacts(\n el: HTMLElement, child: Element\n): void {\n el.lastElementChild!.appendChild(child)\n}\n\n/**\n * Set repository state\n *\n * @param el - Repository element\n * @param state - Repository state\n */\nexport function setSourceState(\n el: HTMLElement, state: \"done\"\n): void {\n el.lastElementChild!.setAttribute(\"data-md-state\", state)\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SourceFacts } from \"~/components\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render repository facts\n *\n * @param facts - Repository facts\n *\n * @returns Element\n */\nexport function renderSourceFacts(facts: SourceFacts): HTMLElement {\n return (\n
      \n {facts.map(fact => (\n
    • {fact}
    • \n ))}\n
    \n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject, animationFrameScheduler } from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n tap\n} from \"rxjs/operators\"\n\nimport { resetTabsState, setTabsState } from \"~/actions\"\nimport { Viewport, watchViewportAt } from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Navigation tabs\n */\nexport interface Tabs {\n hidden: boolean /* User scrolled past tabs */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch navigation tabs\n *\n * @param el - Navigation tabs element\n * @param options - Options\n *\n * @returns Navigation tabs observable\n */\nexport function watchTabs(\n el: HTMLElement, { viewport$, header$ }: WatchOptions\n): Observable {\n return watchViewportAt(el, { header$, viewport$ })\n .pipe(\n map(({ offset: { y } }) => {\n return {\n hidden: y >= 10\n }\n }),\n distinctUntilKeyChanged(\"hidden\")\n )\n}\n\n/**\n * Mount navigation tabs\n *\n * This function hides the navigation tabs when scrolling past the threshold\n * and makes them reappear in a nice CSS animation when scrolling back up.\n *\n * @param el - Navigation tabs element\n * @param options - Options\n *\n * @returns Navigation tabs component observable\n */\nexport function mountTabs(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler)\n )\n .subscribe({\n\n /* Update state */\n next({ hidden }) {\n if (hidden)\n setTabsState(el, \"hidden\")\n else\n resetTabsState(el)\n },\n\n /* Reset on complete */\n complete() {\n resetTabsState(el)\n }\n })\n\n /* Create and return component */\n return watchTabs(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest\n} from \"rxjs\"\nimport {\n bufferCount,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n scan,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetAnchorActive,\n resetAnchorState,\n setAnchorActive,\n setAnchorState\n} from \"~/actions\"\nimport {\n Viewport,\n getElement,\n getElements,\n watchElementSize\n} from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Table of contents\n */\nexport interface TableOfContents {\n prev: HTMLAnchorElement[][] /* Anchors (previous) */\n next: HTMLAnchorElement[][] /* Anchors (next) */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch table of contents\n *\n * This is effectively a scroll spy implementation which will account for the\n * fixed header and automatically re-calculate anchor offsets when the viewport\n * is resized. The returned observable will only emit if the table of contents\n * needs to be repainted.\n *\n * This implementation tracks an anchor element's entire path starting from its\n * level up to the top-most anchor element, e.g. `[h3, h2, h1]`. Although the\n * Material theme currently doesn't make use of this information, it enables\n * the styling of the entire hierarchy through customization.\n *\n * Note that the current anchor is the last item of the `prev` anchor list.\n *\n * @param anchors - Anchor elements\n * @param options - Options\n *\n * @returns Table of contents observable\n */\nexport function watchTableOfContents(\n anchors: HTMLAnchorElement[], { viewport$, header$ }: WatchOptions\n): Observable {\n const table = new Map()\n for (const anchor of anchors) {\n const id = decodeURIComponent(anchor.hash.substring(1))\n const target = getElement(`[id=\"${id}\"]`)\n if (typeof target !== \"undefined\")\n table.set(anchor, target)\n }\n\n /* Compute necessary adjustment for header */\n const adjust$ = header$\n .pipe(\n map(header => 24 + header.height)\n )\n\n /* Compute partition of previous and next anchors */\n const partition$ = watchElementSize(document.body)\n .pipe(\n distinctUntilKeyChanged(\"height\"),\n\n /* Build index to map anchor paths to vertical offsets */\n map(() => {\n let path: HTMLAnchorElement[] = []\n return [...table].reduce((index, [anchor, target]) => {\n while (path.length) {\n const last = table.get(path[path.length - 1])!\n if (last.tagName >= target.tagName) {\n path.pop()\n } else {\n break\n }\n }\n\n /* If the current anchor is hidden, continue with its parent */\n let offset = target.offsetTop\n while (!offset && target.parentElement) {\n target = target.parentElement\n offset = target.offsetTop\n }\n\n /* Map reversed anchor path to vertical offset */\n return index.set(\n [...path = [...path, anchor]].reverse(),\n offset\n )\n }, new Map())\n }),\n\n /* Re-compute partition when viewport offset changes */\n switchMap(index => combineLatest([adjust$, viewport$])\n .pipe(\n scan(([prev, next], [adjust, { offset: { y } }]) => {\n\n /* Look forward */\n while (next.length) {\n const [, offset] = next[0]\n if (offset - adjust < y) {\n prev = [...prev, next.shift()!]\n } else {\n break\n }\n }\n\n /* Look backward */\n while (prev.length) {\n const [, offset] = prev[prev.length - 1]\n if (offset - adjust >= y) {\n next = [prev.pop()!, ...next]\n } else {\n break\n }\n }\n\n /* Return partition */\n return [prev, next]\n }, [[], [...index]]),\n distinctUntilChanged((a, b) => (\n a[0] === b[0] &&\n a[1] === b[1]\n ))\n )\n )\n )\n\n /* Compute and return anchor list migrations */\n return partition$\n .pipe(\n map(([prev, next]) => ({\n prev: prev.map(([path]) => path),\n next: next.map(([path]) => path)\n })),\n\n /* Extract anchor list migrations */\n startWith({ prev: [], next: [] }),\n bufferCount(2, 1),\n map(([a, b]) => {\n\n /* Moving down */\n if (a.prev.length < b.prev.length) {\n return {\n prev: b.prev.slice(Math.max(0, a.prev.length - 1), b.prev.length),\n next: []\n }\n\n /* Moving up */\n } else {\n return {\n prev: b.prev.slice(-1),\n next: b.next.slice(0, b.next.length - a.next.length)\n }\n }\n })\n )\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Mount table of contents\n *\n * @param el - Anchor list element\n * @param options - Options\n *\n * @returns Table of contents component observable\n */\nexport function mountTableOfContents(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n )\n .subscribe(({ prev, next }) => {\n\n /* Look forward */\n for (const [anchor] of next) {\n resetAnchorActive(anchor)\n resetAnchorState(anchor)\n }\n\n /* Look backward */\n for (const [index, [anchor]] of prev.entries()) {\n setAnchorActive(anchor, index === prev.length - 1)\n setAnchorState(anchor, \"blur\")\n }\n })\n\n /* Create and return component */\n const anchors = getElements(\"[href^=\\\\#]\", el)\n return watchTableOfContents(anchors, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, of } from \"rxjs\"\nimport {\n filter,\n mapTo,\n mergeMap,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport { getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch options\n */\ninterface PatchOptions {\n document$: Observable /* Document observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Check whether the given device is an Apple device\n *\n * @returns Test result\n */\nfunction isAppleDevice(): boolean {\n return /(iPad|iPhone|iPod)/.test(navigator.userAgent)\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch all elements with `data-md-scrollfix` attributes\n *\n * This is a year-old patch which ensures that overflow scrolling works at the\n * top and bottom of containers on iOS by ensuring a `1px` scroll offset upon\n * the start of a touch event.\n *\n * @see https://bit.ly/2SCtAOO - Original source\n *\n * @param options - Options\n */\nexport function patchScrollfix(\n { document$ }: PatchOptions\n): void {\n document$\n .pipe(\n switchMap(() => of(...getElements(\"[data-md-scrollfix]\"))),\n tap(el => el.removeAttribute(\"data-md-scrollfix\")),\n filter(isAppleDevice),\n mergeMap(el => fromEvent(el, \"touchstart\")\n .pipe(\n mapTo(el)\n )\n )\n )\n .subscribe(el => {\n const top = el.scrollTop\n\n /* We're at the top of the container */\n if (top === 0) {\n el.scrollTop = 1\n\n /* We're at the bottom of the container */\n } else if (top + el.offsetHeight === el.scrollHeight) {\n el.scrollTop = top - 1\n }\n })\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\nimport { Subject, defer, merge } from \"rxjs\"\nimport {\n filter,\n map,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\nimport { feature } from \"./_\"\nimport {\n at,\n getElement,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountSearch,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n setupClipboardJS,\n setupInstantLoading\n} from \"./integrations\"\nimport {\n patchIndeterminate,\n patchScrollfix\n} from \"./patches\"\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget()\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up instant loading, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantLoading({ document$, location$, viewport$ })\n\n/* Always close drawer on navigation */\nmerge(location$, target$)\n .subscribe(() => setToggle(\"drawer\", false))\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getElement(\"[href][rel=prev]\")\n if (typeof prev !== \"undefined\")\n prev.click()\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getElement(\"[href][rel=next]\")\n if (typeof next !== \"undefined\")\n next.click()\n break\n }\n })\n\n/* Set up patches */\npatchIndeterminate({ document$ })\npatchScrollfix({ document$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el as HTMLAnchorElement)),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { target$, viewport$, print$ })),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, { viewport$, header$ })),\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* Export to window */\nexport {\n document$,\n location$,\n target$,\n keyboard$,\n viewport$,\n tablet$,\n screen$,\n print$,\n component$\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ReplaySubject, Subject, fromEvent } from \"rxjs\"\nimport { mapTo } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch document\n *\n * Documents must be implemented as subjects, so all downstream observables are\n * automatically updated when a new document is emitted. This enabled features\n * like instant loading.\n *\n * @returns Document subject\n */\nexport function watchDocument(): Subject {\n const document$ = new ReplaySubject()\n fromEvent(document, \"DOMContentLoaded\")\n .pipe(\n mapTo(document)\n )\n .subscribe(document$)\n\n /* Return document */\n return document$\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { filter, map, share } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../element\"\nimport { getToggle } from \"../toggle\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Keyboard mode\n */\nexport type KeyboardMode =\n | \"global\" /* Global */\n | \"search\" /* Search is open */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Keyboard\n */\nexport interface Keyboard {\n mode: KeyboardMode /* Keyboard mode */\n type: string /* Key type */\n claim(): void /* Key claim */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Check whether an element may receive keyboard input\n *\n * @param el - Element\n *\n * @returns Test result\n */\nfunction isSusceptibleToKeyboard(el: HTMLElement): boolean {\n switch (el.tagName) {\n\n /* Form elements */\n case \"INPUT\":\n case \"SELECT\":\n case \"TEXTAREA\":\n return true\n\n /* Everything else */\n default:\n return el.isContentEditable\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch keyboard\n *\n * @returns Keyboard observable\n */\nexport function watchKeyboard(): Observable {\n return fromEvent(window, \"keydown\")\n .pipe(\n filter(ev => !(ev.metaKey || ev.ctrlKey)),\n map(ev => ({\n mode: getToggle(\"search\") ? \"search\" : \"global\",\n type: ev.key,\n claim() {\n ev.preventDefault()\n ev.stopPropagation()\n }\n } as Keyboard)),\n filter(({ mode }) => {\n if (mode === \"global\") {\n const active = getActiveElement()\n if (typeof active !== \"undefined\")\n return !isSusceptibleToKeyboard(active)\n }\n return true\n }),\n share()\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport ClipboardJS from \"clipboard\"\nimport { Observable, Subject } from \"rxjs\"\n\nimport { translation } from \"~/_\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Setup options\n */\ninterface SetupOptions {\n alert$: Subject /* Alert subject */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up Clipboard.js integration\n *\n * @param options - Options\n */\nexport function setupClipboardJS(\n { alert$ }: SetupOptions\n): void {\n if (ClipboardJS.isSupported()) {\n new Observable(subscriber => {\n new ClipboardJS(\"[data-clipboard-target], [data-clipboard-text]\")\n .on(\"success\", ev => subscriber.next(ev))\n })\n .subscribe(() => alert$.next(translation(\"clipboard.copied\")))\n }\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n fromEvent,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n catchError,\n concatMap,\n debounceTime,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n filter,\n map,\n sample,\n share,\n skip,\n skipUntil,\n switchMap\n} from \"rxjs/operators\"\n\nimport { configuration } from \"~/_\"\nimport {\n Viewport,\n ViewportOffset,\n createElement,\n getElement,\n getElements,\n replaceElement,\n request,\n requestXML,\n setLocation,\n setLocationHash,\n setViewportOffset\n} from \"~/browser\"\nimport { getComponentElement } from \"~/components\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * History state\n */\nexport interface HistoryState {\n url: URL /* State URL */\n offset?: ViewportOffset /* State viewport offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Setup options\n */\ninterface SetupOptions {\n document$: Subject /* Document subject */\n location$: Subject /* Location subject */\n viewport$: Observable /* Viewport observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Preprocess a list of URLs\n *\n * This function replaces the `site_url` in the sitemap with the actual base\n * URL, to allow instant loading to work in occasions like Netlify previews.\n *\n * @param urls - URLs\n *\n * @returns Processed URLs\n */\nfunction preprocess(urls: string[]): string[] {\n if (urls.length < 2)\n return urls\n\n /* Compute references URLs */\n const [root, next] = urls.sort((a, b) => a.length - b.length)\n\n /* Compute common prefix */\n let index = 0\n if (root === next)\n index = root.length\n else\n while (root.charCodeAt(index) === root.charCodeAt(index))\n index++\n\n /* Replace common prefix (i.e. base) with effective base */\n const config = configuration()\n return urls.map(url => (\n url.replace(root.slice(0, index), `${config.base}/`)\n ))\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up instant loading\n *\n * When fetching, theoretically, we could use `responseType: \"document\"`, but\n * since all MkDocs links are relative, we need to make sure that the current\n * location matches the document we just loaded. Otherwise any relative links\n * in the document could use the old location.\n *\n * This is the reason why we need to synchronize history events and the process\n * of fetching the document for navigation changes (except `popstate` events):\n *\n * 1. Fetch document via `XMLHTTPRequest`\n * 2. Set new location via `history.pushState`\n * 3. Parse and emit fetched document\n *\n * For `popstate` events, we must not use `history.pushState`, or the forward\n * history will be irreversibly overwritten. In case the request fails, the\n * location change is dispatched regularly.\n *\n * @param options - Options\n */\nexport function setupInstantLoading(\n { document$, location$, viewport$ }: SetupOptions\n): void {\n const config = configuration()\n if (location.protocol === \"file:\")\n return\n\n /* Disable automatic scroll restoration */\n if (\"scrollRestoration\" in history) {\n history.scrollRestoration = \"manual\"\n\n /* Hack: ensure that reloads restore viewport offset */\n fromEvent(window, \"beforeunload\")\n .subscribe(() => {\n history.scrollRestoration = \"auto\"\n })\n }\n\n /* Hack: ensure absolute favicon link to omit 404s when switching */\n const favicon = getElement(\"link[rel='shortcut icon']\")\n if (typeof favicon !== \"undefined\")\n favicon.href = favicon.href\n\n /* Intercept internal navigation */\n const push$ = requestXML(`${config.base}/sitemap.xml`)\n .pipe(\n map(sitemap => preprocess(getElements(\"loc\", sitemap)\n .map(node => node.textContent!)\n )),\n switchMap(urls => fromEvent(document.body, \"click\")\n .pipe(\n filter(ev => !ev.metaKey && !ev.ctrlKey),\n switchMap(ev => {\n if (ev.target instanceof HTMLElement) {\n const el = ev.target.closest(\"a\")\n if (el && !el.target && urls.includes(el.href)) {\n ev.preventDefault()\n return of({\n url: new URL(el.href)\n })\n }\n }\n return NEVER\n })\n )\n ),\n share()\n )\n\n /* Intercept history back and forward */\n const pop$ = fromEvent(window, \"popstate\")\n .pipe(\n filter(ev => ev.state !== null),\n map(ev => ({\n url: new URL(location.href),\n offset: ev.state\n })),\n share()\n )\n\n /* Emit location change */\n merge(push$, pop$)\n .pipe(\n distinctUntilChanged((a, b) => a.url.href === b.url.href),\n map(({ url }) => url)\n )\n .subscribe(location$)\n\n /* Fetch document via `XMLHTTPRequest` */\n const response$ = location$\n .pipe(\n distinctUntilKeyChanged(\"pathname\"),\n skip(1),\n switchMap(url => request(url.href)\n .pipe(\n catchError(() => {\n setLocation(url)\n return NEVER\n })\n )\n ),\n share()\n )\n\n /* Set new location via `history.pushState` */\n push$\n .pipe(\n sample(response$)\n )\n .subscribe(({ url }) => {\n history.pushState({}, \"\", url.toString())\n })\n\n /* Parse and emit fetched document */\n const dom = new DOMParser()\n response$\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/html\"))\n )\n .subscribe(document$)\n\n /* Emit history state change */\n merge(push$, pop$)\n .pipe(\n sample(document$)\n )\n .subscribe(({ url, offset }) => {\n if (url.hash && !offset)\n setLocationHash(url.hash)\n else\n setViewportOffset(offset || { y: 0 })\n })\n\n /* Replace meta tags and components */\n document$\n .pipe(\n skip(1)\n )\n .subscribe(replacement => {\n for (const selector of [\n\n /* Meta tags */\n \"title\",\n \"link[rel='canonical']\",\n \"meta[name='author']\",\n \"meta[name='description']\",\n\n /* Components */\n \"[data-md-component=announce]\",\n \"[data-md-component=header-title]\",\n \"[data-md-component=container]\",\n \"[data-md-component=skip]\"\n ]) {\n const source = getElement(selector)\n const target = getElement(selector, replacement)\n if (\n typeof source !== \"undefined\" &&\n typeof target !== \"undefined\"\n ) {\n replaceElement(source, target)\n }\n }\n })\n\n /* Re-evaluate scripts */\n document$\n .pipe(\n skip(1),\n map(() => getComponentElement(\"container\")),\n switchMap(el => of(...getElements(\"script\", el))),\n concatMap(el => {\n const script = createElement(\"script\")\n if (el.src) {\n script.src = el.src\n replaceElement(el, script)\n\n /* Complete when script is loaded */\n return new Observable(observer => {\n script.onload = () => observer.complete()\n })\n\n /* Complete immediately */\n } else {\n script.textContent = el.textContent!\n replaceElement(el, script)\n return EMPTY\n }\n })\n )\n .subscribe()\n\n /* Debounce update of viewport offset */\n viewport$\n .pipe(\n skipUntil(push$),\n debounceTime(250),\n distinctUntilKeyChanged(\"offset\")\n )\n .subscribe(({ offset }) => {\n history.replaceState(offset, \"\")\n })\n\n /* Set viewport offset from history */\n merge(push$, pop$)\n .pipe(\n bufferCount(2, 1),\n filter(([a, b]) => a.url.pathname === b.url.pathname),\n map(([, state]) => state)\n )\n .subscribe(({ offset }) => {\n setViewportOffset(offset || { y: 0 })\n })\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable } from \"rxjs\"\n\nimport { getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch options\n */\ninterface PatchOptions {\n document$: Observable /* Document observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch indeterminate checkboxes\n *\n * This function will replace the indeterminate \"pseudo state\" with the actual\n * indeterminate state, which is used to keep navigation always expanded.\n *\n * @param options - Options\n */\nexport function patchIndeterminate(\n { document$ }: PatchOptions\n): void {\n document$.subscribe(() => {\n for (const el of getElements(\n \"[data-md-state=indeterminate]\"\n )) {\n el.setAttribute(\"data-md-state\", \"\")\n el.indeterminate = true\n el.checked = false\n }\n })\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n combineLatest\n} from \"rxjs\"\nimport {\n distinctUntilChanged,\n distinctUntilKeyChanged,\n map,\n switchMap\n} from \"rxjs/operators\"\n\nimport { Viewport, watchElementSize } from \"~/browser\"\n\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Main area\n */\nexport interface Main {\n offset: number /* Main area top offset */\n height: number /* Main area visible height */\n active: boolean /* User scrolled past header */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch main area\n *\n * This function returns an observable that computes the visual parameters of\n * the main area which depends on the viewport vertical offset and height, as\n * well as the height of the header element, if the header is fixed.\n *\n * @param el - Main area element\n * @param options - Options\n *\n * @returns Main area observable\n */\nexport function watchMain(\n el: HTMLElement, { viewport$, header$ }: WatchOptions\n): Observable
    {\n\n /* Compute necessary adjustment for header */\n const adjust$ = header$\n .pipe(\n map(({ height }) => height),\n distinctUntilChanged()\n )\n\n /* Compute the main area's top and bottom borders */\n const border$ = adjust$\n .pipe(\n switchMap(() => watchElementSize(el)\n .pipe(\n map(({ height }) => ({\n top: el.offsetTop,\n bottom: el.offsetTop + height\n })),\n distinctUntilKeyChanged(\"bottom\")\n )\n )\n )\n\n /* Compute the main area's offset, visible height and if we scrolled past */\n return combineLatest([adjust$, border$, viewport$])\n .pipe(\n map(([header, { top, bottom }, { offset: { y }, size: { height } }]) => {\n height = Math.max(0, height\n - Math.max(0, top - y, header)\n - Math.max(0, height + y - bottom)\n )\n return {\n offset: top - header,\n height,\n active: top - header <= y\n }\n }),\n distinctUntilChanged((a, b) => (\n a.offset === b.offset &&\n a.height === b.height &&\n a.active === b.active\n ))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set header state\n *\n * @param el - Header element\n * @param state - Header state\n */\nexport function setHeaderState(\n el: HTMLElement, state: \"shadow\" | \"hidden\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset header state\n *\n * @param el - Header element\n */\nexport function resetHeaderState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, merge } from \"rxjs\"\n\nimport { Viewport, getElements } from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { CodeBlock, mountCodeBlock } from \"../code\"\nimport { Details, mountDetails } from \"../details\"\nimport { DataTable, mountDataTable } from \"../table\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Content\n */\nexport type Content =\n | CodeBlock\n | DataTable\n | Details\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n target$: Observable /* Location target observable */\n viewport$: Observable /* Viewport observable */\n print$: Observable /* Print observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount content\n *\n * This function mounts all components that are found in the content of the\n * actual article, including code blocks, data tables and details.\n *\n * @param el - Content element\n * @param options - Options\n *\n * @returns Content component observable\n */\nexport function mountContent(\n el: HTMLElement, { target$, viewport$, print$ }: MountOptions\n): Observable> {\n return merge(\n\n /* Code blocks */\n ...getElements(\"pre > code\", el)\n .map(child => mountCodeBlock(child, { viewport$ })),\n\n /* Data tables */\n ...getElements(\"table:not([class])\", el)\n .map(child => mountDataTable(child)),\n\n /* Details */\n ...getElements(\"details\", el)\n .map(child => mountDetails(child, { target$, print$ }))\n )\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/assets/javascripts/bundle.js b/material/assets/javascripts/bundle.js new file mode 100644 index 000000000..750d21803 --- /dev/null +++ b/material/assets/javascripts/bundle.js @@ -0,0 +1,31 @@ +(()=>{var Fo=Object.create,_t=Object.defineProperty,Ro=Object.getPrototypeOf,Po=Object.prototype.hasOwnProperty,$o=Object.getOwnPropertyNames,Do=Object.getOwnPropertyDescriptor;var Vo=e=>_t(e,"__esModule",{value:!0});var Ht=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports);var Uo=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of $o(t))!Po.call(e,n)&&n!=="default"&&_t(e,n,{get:()=>t[n],enumerable:!(r=Do(t,n))||r.enumerable});return e},rt=e=>e&&e.__esModule?e:Uo(Vo(_t(e!=null?Fo(Ro(e)):{},"default",{value:e,enumerable:!0})),e);var ar=Ht((Ct,ir)=>{(function(e,t){typeof Ct=="object"&&typeof ir!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Ct,function(){"use strict";function e(r){var n=!0,o=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function c(y){return!!(y&&y!==document&&y.nodeName!=="HTML"&&y.nodeName!=="BODY"&&"classList"in y&&"contains"in y.classList)}function u(y){var qe=y.type,Lt=y.tagName;return!!(Lt==="INPUT"&&a[qe]&&!y.readOnly||Lt==="TEXTAREA"&&!y.readOnly||y.isContentEditable)}function s(y){y.classList.contains("focus-visible")||(y.classList.add("focus-visible"),y.setAttribute("data-focus-visible-added",""))}function l(y){!y.hasAttribute("data-focus-visible-added")||(y.classList.remove("focus-visible"),y.removeAttribute("data-focus-visible-added"))}function p(y){y.metaKey||y.altKey||y.ctrlKey||(c(r.activeElement)&&s(r.activeElement),n=!0)}function h(y){n=!1}function _(y){!c(y.target)||(n||u(y.target))&&s(y.target)}function F(y){!c(y.target)||(y.target.classList.contains("focus-visible")||y.target.hasAttribute("data-focus-visible-added"))&&(o=!0,window.clearTimeout(i),i=window.setTimeout(function(){o=!1},100),l(y.target))}function T(y){document.visibilityState==="hidden"&&(o&&(n=!0),U())}function U(){document.addEventListener("mousemove",H),document.addEventListener("mousedown",H),document.addEventListener("mouseup",H),document.addEventListener("pointermove",H),document.addEventListener("pointerdown",H),document.addEventListener("pointerup",H),document.addEventListener("touchmove",H),document.addEventListener("touchstart",H),document.addEventListener("touchend",H)}function re(){document.removeEventListener("mousemove",H),document.removeEventListener("mousedown",H),document.removeEventListener("mouseup",H),document.removeEventListener("pointermove",H),document.removeEventListener("pointerdown",H),document.removeEventListener("pointerup",H),document.removeEventListener("touchmove",H),document.removeEventListener("touchstart",H),document.removeEventListener("touchend",H)}function H(y){y.target.nodeName&&y.target.nodeName.toLowerCase()==="html"||(n=!1,re())}document.addEventListener("keydown",p,!0),document.addEventListener("mousedown",h,!0),document.addEventListener("pointerdown",h,!0),document.addEventListener("touchstart",h,!0),document.addEventListener("visibilitychange",T,!0),U(),r.addEventListener("focus",_,!0),r.addEventListener("blur",F,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var Bt=Ht((tt,Jt)=>{(function(t,r){typeof tt=="object"&&typeof Jt=="object"?Jt.exports=r():typeof define=="function"&&define.amd?define([],r):typeof tt=="object"?tt.ClipboardJS=r():t.ClipboardJS=r()})(tt,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(n,o,i){r.o(n,o)||Object.defineProperty(n,o,{enumerable:!0,get:i})},r.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,o){if(o&1&&(n=r(n)),o&8||o&4&&typeof n=="object"&&n&&n.__esModule)return n;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),o&2&&typeof n!="string")for(var a in n)r.d(i,a,function(c){return n[c]}.bind(null,a));return i},r.n=function(n){var o=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(o,"a",o),o},r.o=function(n,o){return Object.prototype.hasOwnProperty.call(n,o)},r.p="",r(r.s=6)}([function(e,t){function r(n){var o;if(n.nodeName==="SELECT")n.focus(),o=n.value;else if(n.nodeName==="INPUT"||n.nodeName==="TEXTAREA"){var i=n.hasAttribute("readonly");i||n.setAttribute("readonly",""),n.select(),n.setSelectionRange(0,n.value.length),i||n.removeAttribute("readonly"),o=n.value}else{n.hasAttribute("contenteditable")&&n.focus();var a=window.getSelection(),c=document.createRange();c.selectNodeContents(n),a.removeAllRanges(),a.addRange(c),o=a.toString()}return o}e.exports=r},function(e,t){function r(){}r.prototype={on:function(n,o,i){var a=this.e||(this.e={});return(a[n]||(a[n]=[])).push({fn:o,ctx:i}),this},once:function(n,o,i){var a=this;function c(){a.off(n,c),o.apply(i,arguments)}return c._=o,this.on(n,c,i)},emit:function(n){var o=[].slice.call(arguments,1),i=((this.e||(this.e={}))[n]||[]).slice(),a=0,c=i.length;for(a;a0&&arguments[0]!==void 0?arguments[0]:{};this.action=b.action,this.container=b.container,this.emitter=b.emitter,this.target=b.target,this.text=b.text,this.trigger=b.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var b=this,x=document.documentElement.getAttribute("dir")=="rtl";this.removeFake(),this.fakeHandlerCallback=function(){return b.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[x?"right":"left"]="-9999px";var L=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=L+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=o()(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=o()(this.target),this.copyText()}},{key:"copyText",value:function(){var b=void 0;try{b=document.execCommand(this.action)}catch(x){b=!1}this.handleResult(b)}},{key:"handleResult",value:function(b){this.emitter.emit(b?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"copy";if(this._action=b,this._action!=="copy"&&this._action!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(b){if(b!==void 0)if(b&&(typeof b=="undefined"?"undefined":i(b))==="object"&&b.nodeType===1){if(this.action==="copy"&&b.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(this.action==="cut"&&(b.hasAttribute("readonly")||b.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`);this._target=b}else throw new Error('Invalid "target" value, use a valid Element')},get:function(){return this._target}}]),S}(),s=u,l=r(1),p=r.n(l),h=r(2),_=r.n(h),F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(S){return typeof S}:function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S},T=function(){function S(m,b){for(var x=0;x0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof x.action=="function"?x.action:this.defaultAction,this.target=typeof x.target=="function"?x.target:this.defaultTarget,this.text=typeof x.text=="function"?x.text:this.defaultText,this.container=F(x.container)==="object"?x.container:document.body}},{key:"listenClick",value:function(x){var L=this;this.listener=_()(x,"click",function(Ke){return L.onClick(Ke)})}},{key:"onClick",value:function(x){var L=x.delegateTarget||x.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s({action:this.action(L),target:this.target(L),text:this.text(L),container:this.container,trigger:L,emitter:this})}},{key:"defaultAction",value:function(x){return qe("action",x)}},{key:"defaultTarget",value:function(x){var L=qe("target",x);if(L)return document.querySelector(L)}},{key:"defaultText",value:function(x){return qe("text",x)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],L=typeof x=="string"?[x]:x,Ke=!!document.queryCommandSupported;return L.forEach(function(Io){Ke=Ke&&!!document.queryCommandSupported(Io)}),Ke}}]),m}(p.a);function qe(S,m){var b="data-clipboard-"+S;if(!!m.hasAttribute(b))return m.getAttribute(b)}var Lt=t.default=y}]).default})});var po=Ht((Qb,fo)=>{"use strict";var Li=/["'&<>]/;fo.exports=_i;function _i(e){var t=""+e,r=Li.exec(t);if(!r)return t;var n,o="",i=0,a=0;for(i=r.index;i0&&i[i.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function kt(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],a;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return i}function k(){for(var e=[],t=0;t0?e.prototype.requestAsyncId.call(this,r,n,o):(r.actions.push(this),r.scheduled||(r.scheduled=je.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,n,o){if(o===void 0&&(o=0),o!=null&&o>0||o==null&&this.delay>0)return e.prototype.recycleAsyncId.call(this,r,n,o);r.actions.length===0&&(je.cancelAnimationFrame(n),r.scheduled=void 0)},t}(ct);var Er=function(e){$(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this.active=!0,this.scheduled=void 0;var n=this.actions,o,i=-1;r=r||n.shift();var a=n.length;do if(o=r.execute(r.state,r.delay))break;while(++i=2,!0))}function G(e){e=e||{};var t=e.connector,r=t===void 0?function(){return new M}:t,n=e.resetOnComplete,o=n===void 0?!0:n,i=e.resetOnError,a=i===void 0?!0:i,c=e.resetOnRefCountZero,u=c===void 0?!0:c,s=null,l=null,p=0,h=!1,_=!1,F=function(){s=l=null,h=_=!1};return d(function(T,U){p++,l||(l=r());var re=l.subscribe(U);return s||(s=de(T).subscribe({next:function(H){return l.next(H)},error:function(H){_=!0;var y=l;a&&F(),y.error(H)},complete:function(){h=!0;var H=l;o&&F(),H.complete()}})),function(){if(p--,re.unsubscribe(),!p&&u&&!_&&!h){var H=s;F(),H==null||H.unsubscribe()}}})}function Z(e,t,r){var n,o,i,a=!1;return e&&typeof e=="object"?(i=(n=e.bufferSize)!==null&&n!==void 0?n:Infinity,t=(o=e.windowTime)!==null&&o!==void 0?o:Infinity,a=!!e.refCount,r=e.scheduler):i=e??Infinity,G({connector:function(){return new st(i,t,r)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function St(e){return A(function(t,r){return e<=r})}function Qr(e){return d(function(t,r){var n=!1,o=new v(r,function(){o==null||o.unsubscribe(),n=!0},void 0,W);R(e).subscribe(o),t.subscribe(new v(r,function(i){return n&&r.next(i)}))})}function P(){for(var e=[],t=0;tt==="focus"),P(e===Te()))}var Gr=new M,bi=ye(()=>I(new ResizeObserver(e=>{for(let t of e)Gr.next(t)}))).pipe(O(e=>K.pipe(P(e)).pipe(D(()=>e.disconnect()))),Z(1));function Ae(e){return{width:e.offsetWidth,height:e.offsetHeight}}function wt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function Ve(e){return bi.pipe(j(t=>t.observe(e)),O(t=>Gr.pipe(A(({target:r})=>r===e),D(()=>t.unobserve(e)),f(({contentRect:r})=>({width:r.width,height:r.height})))),P(Ae(e)))}function Zr(e){return{x:e.scrollLeft,y:e.scrollTop}}function vi(e){return C(E(e,"scroll"),E(window,"resize")).pipe(f(()=>Zr(e)),P(Zr(e)))}function en(e,t=16){return vi(e).pipe(f(({y:r})=>{let n=Ae(e),o=wt(e);return r>=o.height-n.height-t}),N())}function tn(e){if(e instanceof HTMLInputElement)e.select();else throw new Error("Not implemented")}var Et={drawer:fe("[data-md-toggle=drawer]"),search:fe("[data-md-toggle=search]")};function rn(e){return Et[e].checked}function Ue(e,t){Et[e].checked!==t&&Et[e].click()}function nn(e){let t=Et[e];return E(t,"change").pipe(f(()=>t.checked),P(t.checked))}function gi(e){switch(e.tagName){case"INPUT":case"SELECT":case"TEXTAREA":return!0;default:return e.isContentEditable}}function on(){return E(window,"keydown").pipe(A(e=>!(e.metaKey||e.ctrlKey)),f(e=>({mode:rn("search")?"search":"global",type:e.key,claim(){e.preventDefault(),e.stopPropagation()}})),A(({mode:e})=>{if(e==="global"){let t=Te();if(typeof t!="undefined")return!gi(t)}return!0}),G())}function qt(){return new URL(location.href)}function an(e){location.href=e.href}function sn(){return new yr(qt())}function cn(){return location.hash.substring(1)}function un(e){let t=De("a");t.href=e,t.addEventListener("click",r=>r.stopPropagation()),t.click()}function yi(){return E(window,"hashchange").pipe(f(cn),P(cn()),A(e=>e.length>0),G())}function ln(){return yi().pipe(O(e=>I(ee(`[id="${e}"]`))))}function We(e){let t=matchMedia(e);return E(t,"change").pipe(f(r=>r.matches),P(t.matches))}function fn(){return C(We("print").pipe(A(Boolean)),E(window,"beforeprint")).pipe(ae(void 0))}function Kt(e,t){return e.pipe(O(r=>r?t():K))}function Ot(e,t={credentials:"same-origin"}){return de(fetch(e,t)).pipe(A(r=>r.status===200))}function Ne(e,t){return Ot(e,t).pipe(O(r=>r.json()),Z(1))}function pn(e,t){let r=new DOMParser;return Ot(e,t).pipe(O(n=>n.text()),f(n=>r.parseFromString(n,"text/xml")),Z(1))}function mn(){return{x:Math.max(0,pageXOffset),y:Math.max(0,pageYOffset)}}function Yt({x:e,y:t}){window.scrollTo(e||0,t||0)}function dn(){return C(E(window,"scroll",{passive:!0}),E(window,"resize",{passive:!0})).pipe(f(mn),P(mn()))}function hn(){return{width:innerWidth,height:innerHeight}}function bn(){return E(window,"resize",{passive:!0}).pipe(f(hn),P(hn()))}function vn(){return B([dn(),bn()]).pipe(f(([e,t])=>({offset:e,size:t})),Z(1))}function Tt(e,{viewport$:t,header$:r}){let n=t.pipe(V("size")),o=B([n,r]).pipe(f(()=>({x:e.offsetLeft,y:e.offsetTop})));return B([r,t,o]).pipe(f(([{height:i},{offset:a,size:c},{x:u,y:s}])=>({offset:{x:a.x-u,y:a.y-s+i},size:c})))}function gn(e,{tx$:t}){let r=E(e,"message").pipe(f(({data:n})=>n));return t.pipe(Yr(()=>r,{leading:!0,trailing:!0}),j(n=>e.postMessage(n)),qr(r),G())}var xi=fe("#__config"),ze=JSON.parse(xi.textContent);ze.base=new URL(ze.base,qt()).toString().replace(/\/$/,"");function Le(){return ze}function Mt(e){return ze.features.includes(e)}function Q(e,t){return typeof t!="undefined"?ze.translations[e].replace("#",t.toString()):ze.translations[e]}function Ee(e,t=document){return fe(`[data-md-component=${e}]`,t)}function pe(e,t=document){return z(`[data-md-component=${e}]`,t)}var Gn=rt(Bt());function yn(e,t=0){e.setAttribute("tabindex",t.toString())}function xn(e){e.removeAttribute("tabindex")}function Sn(e,t){e.setAttribute("data-md-state",t)}function wn(e){e.removeAttribute("data-md-state")}function En(e,t){e.classList.toggle("md-nav__link--active",t)}function On(e){e.classList.remove("md-nav__link--active")}function Tn(e,t){e.firstElementChild.innerHTML=t}function Mn(e,t){e.setAttribute("data-md-state",t)}function An(e){e.removeAttribute("data-md-state")}function Ln(e,t){e.setAttribute("data-md-state",t)}function _n(e){e.removeAttribute("data-md-state")}function Hn(e,t){e.setAttribute("data-md-state",t)}function Cn(e){e.removeAttribute("data-md-state")}function jn(e,t){e.placeholder=t}function kn(e){e.placeholder=Q("search.placeholder")}function In(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)In(e,r)}function q(e,t,...r){let n=document.createElement(e);if(t)for(let o of Object.keys(t))typeof t[o]!="boolean"?n.setAttribute(o,t[o]):t[o]&&n.setAttribute(o,"");for(let o of r)In(n,o);return n}function Fn(e,t){let r=t;if(e.length>r){for(;e[r]!==" "&&--r>0;);return`${e.substring(0,r)}...`}return e}function he(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function Rn(e){let t=0;for(let r=0,n=e.length;r code`})}var _e;(function(e){e[e.TEASER=1]="TEASER",e[e.PARENT=2]="PARENT"})(_e||(_e={}));function Gt(e,t){let r=t&2,n=t&1,o=Object.keys(e.terms).filter(a=>!e.terms[a]).map(a=>[q("del",null,a)," "]).flat().slice(0,-1),i=e.location;return q("a",{href:i,class:"md-search-result__link",tabIndex:-1},q("article",{class:["md-search-result__article",...r?["md-search-result__article--document"]:[]].join(" "),"data-md-score":e.score.toFixed(2)},r>0&&q("div",{class:"md-search-result__icon md-icon"}),q("h1",{class:"md-search-result__title"},e.title),n>0&&e.text.length>0&&q("p",{class:"md-search-result__teaser"},Fn(e.text,320)),n>0&&o.length>0&&q("p",{class:"md-search-result__terms"},Q("search.result.term.missing"),": ",o)))}function Jn(e){let t=e[0].score,r=[...e],n=r.findIndex(s=>!s.location.includes("#")),[o]=r.splice(n,1),i=r.findIndex(s=>s.scoreGt(s,1)),...c.length?[q("details",{class:"md-search-result__more"},q("summary",{tabIndex:-1},c.length>0&&c.length===1?Q("search.result.more.one"):Q("search.result.more.other",c.length)),c.map(s=>Gt(s,1)))]:[]];return q("li",{class:"md-search-result__item"},u)}function Bn(e){return q("ul",{class:"md-source__facts"},e.map(t=>q("li",{class:"md-source__fact"},t)))}function Xn(e){return q("div",{class:"md-typeset__scrollwrap"},q("div",{class:"md-typeset__table"},e))}var Si=0;function wi(e,{viewport$:t}){let r=I(e).pipe(O(n=>{let o=n.closest("[data-tabs]");return o instanceof HTMLElement?C(...z("input",o).map(i=>E(i,"change"))):K}));return C(t.pipe(V("size")),r).pipe(f(()=>{let n=Ae(e);return{scroll:wt(e).width>n.width}}),V("scroll"))}function Zn(e,t){let r=new M;if(r.pipe($e(We("(hover)"))).subscribe(([{scroll:n},o])=>{n&&o?yn(e):xn(e)}),Gn.default.isSupported()){let n=e.closest("pre");n.id=`__code_${Si++}`,n.insertBefore(Yn(n.id),e)}return wi(e,t).pipe(j(r),D(()=>r.complete()),f(n=>({ref:e,...n})))}function Ei(e,{target$:t,print$:r}){return t.pipe(f(n=>n.closest("details:not([open])")),A(n=>e===n),xt(r),ae(e))}function eo(e,t){let r=new M;return r.subscribe(()=>{e.setAttribute("open",""),e.scrollIntoView()}),Ei(e,t).pipe(j(r),D(()=>r.complete()),ae({ref:e}))}var to=De("table");function ro(e){return Me(e,to),Me(to,Xn(e)),I({ref:e})}function no(e,{target$:t,viewport$:r,print$:n}){return C(...z("pre > code",e).map(o=>Zn(o,{viewport$:r})),...z("table:not([class])",e).map(o=>ro(o)),...z("details",e).map(o=>eo(o,{target$:t,print$:n})))}function Oi(e,{alert$:t}){return t.pipe(O(r=>C(I(!0),I(!1).pipe(yt(2e3))).pipe(f(n=>({message:r,open:n})))))}function oo(e,t){let r=new M;return r.pipe(J(Y)).subscribe(({message:n,open:o})=>{Tn(e,n),o?Mn(e,"open"):An(e)}),Oi(e,t).pipe(j(r),D(()=>r.complete()),f(n=>({ref:e,...n})))}function Ti({viewport$:e}){if(!Mt("header.autohide"))return I(!1);let t=e.pipe(f(({offset:{y:o}})=>o),Se(2,1),f(([o,i])=>[oMath.abs(i-o.y)>100),f(([,[o]])=>o),N()),n=nn("search");return B([e,n]).pipe(f(([{offset:o},i])=>o.y>400&&!i),N(),O(o=>o?r:I(!1)),P(!1))}function io(e,t){return ye(()=>{let r=getComputedStyle(e);return I(r.position==="sticky"||r.position==="-webkit-sticky")}).pipe(zt(Ve(e),Ti(t)),f(([r,{height:n},o])=>({height:r?n:0,sticky:r,hidden:o})),N((r,n)=>r.sticky===n.sticky&&r.height===n.height&&r.hidden===n.hidden),Z(1))}function ao(e,{header$:t,main$:r}){let n=new M;return n.pipe(V("active"),zt(t),J(Y)).subscribe(([{active:o},{hidden:i}])=>{o?Ln(e,i?"hidden":"shadow"):_n(e)}),r.subscribe(o=>n.next(o)),t.pipe(f(o=>({ref:e,...o})))}function Mi(e,{viewport$:t,header$:r}){return Tt(e,{header$:r,viewport$:t}).pipe(f(({offset:{y:n}})=>{let{height:o}=Ae(e);return{active:n>=o}}),V("active"))}function so(e,t){let r=new M;r.pipe(J(Y)).subscribe(({active:o})=>{o?Hn(e,"active"):Cn(e)});let n=ee("article h1");return typeof n=="undefined"?K:Mi(n,t).pipe(j(r),D(()=>r.complete()),f(o=>({ref:e,...o})))}function co(e,{viewport$:t,header$:r}){let n=r.pipe(f(({height:i})=>i),N()),o=n.pipe(O(()=>Ve(e).pipe(f(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),V("bottom"))));return B([n,o,t]).pipe(f(([i,{top:a,bottom:c},{offset:{y:u},size:{height:s}}])=>(s=Math.max(0,s-Math.max(0,a-u,i)-Math.max(0,s+u-c)),{offset:a-i,height:s,active:a-i<=u})),N((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}var Zt=rt(Bt());function uo({alert$:e}){Zt.default.isSupported()&&new w(t=>{new Zt.default("[data-clipboard-target], [data-clipboard-text]").on("success",r=>t.next(r))}).subscribe(()=>e.next(Q("clipboard.copied")))}function Ai(e){if(e.length<2)return e;let[t,r]=e.sort((i,a)=>i.length-a.length),n=0;if(t===r)n=t.length;else for(;t.charCodeAt(n)===t.charCodeAt(n);)n++;let o=Le();return e.map(i=>i.replace(t.slice(0,n),`${o.base}/`))}function lo({document$:e,location$:t,viewport$:r}){let n=Le();if(location.protocol==="file:")return;"scrollRestoration"in history&&(history.scrollRestoration="manual",E(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}));let o=ee("link[rel='shortcut icon']");typeof o!="undefined"&&(o.href=o.href);let i=pn(`${n.base}/sitemap.xml`).pipe(f(s=>Ai(z("loc",s).map(l=>l.textContent))),O(s=>E(document.body,"click").pipe(A(l=>!l.metaKey&&!l.ctrlKey),O(l=>{if(l.target instanceof HTMLElement){let p=l.target.closest("a");if(p&&!p.target&&s.includes(p.href))return l.preventDefault(),I({url:new URL(p.href)})}return K}))),G()),a=E(window,"popstate").pipe(A(s=>s.state!==null),f(s=>({url:new URL(location.href),offset:s.state})),G());C(i,a).pipe(N((s,l)=>s.url.href===l.url.href),f(({url:s})=>s)).subscribe(t);let c=t.pipe(V("pathname"),St(1),O(s=>Ot(s.href).pipe(Ge(()=>(an(s),K)))),G());i.pipe(et(c)).subscribe(({url:s})=>{history.pushState({},"",s.toString())});let u=new DOMParser;c.pipe(O(s=>s.text()),f(s=>u.parseFromString(s,"text/html"))).subscribe(e),C(i,a).pipe(et(e)).subscribe(({url:s,offset:l})=>{s.hash&&!l?un(s.hash):Yt(l||{y:0})}),e.pipe(St(1)).subscribe(s=>{for(let l of["title","link[rel='canonical']","meta[name='author']","meta[name='description']","[data-md-component=announce]","[data-md-component=header-title]","[data-md-component=container]","[data-md-component=skip]"]){let p=ee(l),h=ee(l,s);typeof p!="undefined"&&typeof h!="undefined"&&Me(p,h)}}),e.pipe(St(1),f(()=>Ee("container")),O(s=>I(...z("script",s))),Dr(s=>{let l=De("script");return s.src?(l.src=s.src,Me(s,l),new w(p=>{l.onload=()=>p.complete()})):(l.textContent=s.textContent,Me(s,l),ue)})).subscribe(),r.pipe(Qr(i),Ur(250),V("offset")).subscribe(({offset:s})=>{history.replaceState(s,"")}),C(i,a).pipe(Se(2,1),A(([s,l])=>s.url.pathname===l.url.pathname),f(([,s])=>s)).subscribe(({offset:s})=>{Yt(s||{y:0})})}var Hi=rt(po());function mo(e){return e.split(/"([^"]+)"/g).map((t,r)=>r&1?t.replace(/^\b|^(?![^\x00-\x7F]|$)|\s+/g," +"):t).join("").replace(/"|(?:^|\s+)[*+\-:^~]+(?=\s+|$)/g,"").trim()}var be;(function(e){e[e.SETUP=0]="SETUP",e[e.READY=1]="READY",e[e.QUERY=2]="QUERY",e[e.RESULT=3]="RESULT"})(be||(be={}));function ho(e){return e.type===1}function bo(e){return e.type===2}function At(e){return e.type===3}function Ci({config:e,docs:t,index:r}){e.lang.length===1&&e.lang[0]==="en"&&(e.lang=[Q("search.config.lang")]),e.separator==="[\\s\\-]+"&&(e.separator=Q("search.config.separator"));let n=Q("search.config.pipeline").split(/\s*,\s*/).filter(Boolean);return{config:e,docs:t,index:r,pipeline:n}}function vo(e,t){let r=Le(),n=new Worker(e),o=new M,i=gn(n,{tx$:o}).pipe(f(a=>{if(At(a))for(let c of a.data)for(let u of c)u.location=`${r.base}/${u.location}`;return a}),G());return de(t).pipe(f(a=>({type:be.SETUP,data:Ci(a)}))).subscribe(o.next.bind(o)),{tx$:o,rx$:i}}function ji(e){let t=__search?.transform||mo,r=Xr(e),n=C(E(e,"keyup"),E(e,"focus").pipe(yt(1))).pipe(f(()=>t(e.value)),P(t(e.value)),N());return B([n,r]).pipe(f(([o,i])=>({value:o,focus:i})))}function go(e,{tx$:t}){let r=new M;return r.pipe(V("value"),f(({value:n})=>({type:be.QUERY,data:n}))).subscribe(t.next.bind(t)),r.pipe(V("focus")).subscribe(({focus:n})=>{n?(Ue("search",n),jn(e,"")):kn(e)}),E(e.form,"reset").pipe(Kr(r.pipe(Nr(1)))).subscribe(()=>we(e)),ji(e).pipe(j(r),D(()=>r.complete()),f(n=>({ref:e,...n})))}function yo(e,{rx$:t},{query$:r}){let n=new M,o=en(e.parentElement).pipe(A(Boolean)),i=fe(":scope > :first-child",e);n.pipe(J(Y),$e(r)).subscribe(([{data:u},{value:s}])=>{s?Pn(i,u.length):$n(i)});let a=fe(":scope > :last-child",e);return n.pipe(J(Y),j(()=>Vn(a)),O(({data:u})=>C(I(...u.slice(0,10)),I(...u.slice(10)).pipe(Se(4),Jr(o),O(([s])=>I(...s)))))).subscribe(u=>{Dn(a,Jn(u))}),t.pipe(A(At),f(({data:u})=>({data:u})),P({data:[]})).pipe(j(n),D(()=>n.complete()),f(u=>({ref:e,...u})))}function ki(e){return __search?.index||Ne(e)}function xo(e,{keyboard$:t}){if(location.protocol==="file:")return K;let r=Le(),n=vo(r.search,ki(`${r.base}/search/search_index.json`)),o=Ee("search-query",e),i=Ee("search-result",e),{tx$:a,rx$:c}=n;a.pipe(A(bo),et(c.pipe(A(ho))),Ze(1)).subscribe(a.next.bind(a)),t.pipe(A(({mode:s})=>s==="search")).subscribe(s=>{let l=Te();switch(s.type){case"Enter":l===o&&s.claim();break;case"Escape":case"Tab":Ue("search",!1),we(o,!1);break;case"ArrowUp":case"ArrowDown":if(typeof l=="undefined")we(o);else{let p=[o,...z(":not(details) > [href], summary, details[open] [href]",i)],h=Math.max(0,(Math.max(0,p.indexOf(l))+p.length+(s.type==="ArrowUp"?-1:1))%p.length);we(p[h])}s.claim();break;default:o!==Te()&&we(o)}}),t.pipe(A(({mode:s})=>s==="global")).subscribe(s=>{switch(s.type){case"f":case"s":case"/":we(o),tn(o),s.claim();break}});let u=go(o,n);return C(u,yo(i,n,{query$:u}))}function Ii(e,{viewport$:t,main$:r}){let n=e.parentElement.offsetTop-e.parentElement.parentElement.offsetTop;return B([r,t]).pipe(f(([{offset:o,height:i},{offset:{y:a}}])=>(i=i+Math.min(n,Math.max(0,a-o))-n,{height:i,locked:a>=o+n})),N((o,i)=>o.height===i.height&&o.locked===i.locked))}function er(e,{header$:t,...r}){let n=new M;return n.pipe(J(Y),$e(t)).subscribe({next([{height:o},{height:i}]){Nn(e,o),Un(e,i)},complete(){Wn(e),zn(e)}}),Ii(e,r).pipe(j(n),D(()=>n.complete()),f(o=>({ref:e,...o})))}function So(e,t){let r=typeof t!="undefined"?`https://api.github.com/repos/${e}/${t}`:`https://api.github.com/users/${e}`;return Ne(r).pipe(f(n=>{if(typeof t!="undefined"){let{stargazers_count:o,forks_count:i}=n;return[`${he(o)} Stars`,`${he(i)} Forks`]}else{let{public_repos:o}=n;return[`${he(o)} Repositories`]}}),gt([]))}function wo(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Ne(r).pipe(f(({star_count:n,forks_count:o})=>[`${he(n)} Stars`,`${he(o)} Forks`]),gt([]))}function Eo(e){let[t]=e.match(/(git(?:hub|lab))/i)||[];switch(t.toLowerCase()){case"github":let[,r,n]=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);return So(r,n);case"gitlab":let[,o,i]=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i);return wo(o,i);default:return K}}var Fi;function Ri(e){let t=Rn(e.href).toString();return Fi||=ye(()=>{let r=sessionStorage.getItem(t);if(r)return I(JSON.parse(r));{let n=Eo(e.href);return n.subscribe(o=>{try{sessionStorage.setItem(t,JSON.stringify(o))}catch(i){}}),n}}).pipe(Ge(()=>K),A(r=>r.length>0),f(r=>({facts:r})),Z(1))}function Oo(e){let t=new M;return t.subscribe(({facts:r})=>{Qn(e,Bn(r)),qn(e,"done")}),Ri(e).pipe(j(t),D(()=>t.complete()),f(r=>({ref:e,...r})))}function Pi(e,{viewport$:t,header$:r}){return Tt(e,{header$:r,viewport$:t}).pipe(f(({offset:{y:n}})=>({hidden:n>=10})),V("hidden"))}function To(e,t){let r=new M;return r.pipe(J(Y)).subscribe({next({hidden:n}){n?Kn(e,"hidden"):Xt(e)},complete(){Xt(e)}}),Pi(e,t).pipe(j(r),D(()=>r.complete()),f(n=>({ref:e,...n})))}function $i(e,{viewport$:t,header$:r}){let n=new Map;for(let a of e){let c=decodeURIComponent(a.hash.substring(1)),u=ee(`[id="${c}"]`);typeof u!="undefined"&&n.set(a,u)}let o=r.pipe(f(a=>24+a.height));return Ve(document.body).pipe(V("height"),f(()=>{let a=[];return[...n].reduce((c,[u,s])=>{for(;a.length&&n.get(a[a.length-1]).tagName>=s.tagName;)a.pop();let l=s.offsetTop;for(;!l&&s.parentElement;)s=s.parentElement,l=s.offsetTop;return c.set([...a=[...a,u]].reverse(),l)},new Map)}),O(a=>B([o,t]).pipe(zr(([c,u],[s,{offset:{y:l}}])=>{for(;u.length;){let[,p]=u[0];if(p-s=l)u=[c.pop(),...u];else break}return[c,u]},[[],[...a]]),N((c,u)=>c[0]===u[0]&&c[1]===u[1])))).pipe(f(([a,c])=>({prev:a.map(([u])=>u),next:c.map(([u])=>u)})),P({prev:[],next:[]}),Se(2,1),f(([a,c])=>a.prev.length{for(let[a]of i)On(a),wn(a);for(let[a,[c]]of o.entries())En(c,a===o.length-1),Sn(c,"blur")});let n=z("[href^=\\#]",e);return $i(n,t).pipe(j(r),D(()=>r.complete()),f(o=>({ref:e,...o})))}function Ao({document$:e}){e.subscribe(()=>{for(let t of z("[data-md-state=indeterminate]"))t.setAttribute("data-md-state",""),t.indeterminate=!0,t.checked=!1})}function Di(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Lo({document$:e}){e.pipe(O(()=>I(...z("[data-md-scrollfix]"))),j(t=>t.removeAttribute("data-md-scrollfix")),A(Di),ie(t=>E(t,"touchstart").pipe(ae(t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var Qe=Br(),tr=sn(),rr=ln(),nr=on(),se=vn(),_o=We("(min-width: 960px)"),Ho=We("(min-width: 1220px)"),Co=fn(),jo=new M;uo({alert$:jo});Mt("navigation.instant")&&lo({document$:Qe,location$:tr,viewport$:se});C(tr,rr).subscribe(()=>Ue("drawer",!1));nr.pipe(A(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=ee("[href][rel=prev]");typeof t!="undefined"&&t.click();break;case"n":case".":let r=ee("[href][rel=next]");typeof r!="undefined"&&r.click();break}});Ao({document$:Qe});Lo({document$:Qe});var He=io(Ee("header"),{viewport$:se}),or=Qe.pipe(f(()=>Ee("main")),O(e=>co(e,{viewport$:se,header$:He})),Z(1)),Vi=C(...pe("dialog").map(e=>oo(e,{alert$:jo})),...pe("header").map(e=>ao(e,{viewport$:se,header$:He,main$:or})),...pe("search").map(e=>xo(e,{keyboard$:nr})),...pe("source").map(e=>Oo(e)),...pe("tabs").map(e=>To(e,{viewport$:se,header$:He}))),Ui=ye(()=>C(...pe("content").map(e=>no(e,{target$:rr,viewport$:se,print$:Co})),...pe("header-title").map(e=>so(e,{viewport$:se,header$:He})),...pe("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Kt(Ho,()=>er(e,{viewport$:se,header$:He,main$:or})):Kt(_o,()=>er(e,{viewport$:se,header$:He,main$:or}))),...pe("toc").map(e=>Mo(e,{viewport$:se,header$:He})))),ko=Qe.pipe(O(()=>Ui),xt(Vi),Z(1));ko.subscribe();window.document$=Qe;window.location$=tr;window.target$=rr;window.keyboard$=nr;window.viewport$=se;window.tablet$=_o;window.screen$=Ho;window.print$=Co;window.component$=ko;})(); +/*! + * clipboard.js v2.0.6 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +//# sourceMappingURL=bundle.js.map diff --git a/material/assets/javascripts/bundle.js.map b/material/assets/javascripts/bundle.js.map new file mode 100644 index 000000000..18a893c98 --- /dev/null +++ b/material/assets/javascripts/bundle.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../node_modules/focus-visible/dist/focus-visible.js", "../../../node_modules/clipboard/dist/clipboard.js", "../../../node_modules/escape-html/index.js", "../../../src/assets/javascripts/index.ts", "../../../node_modules/rxjs/node_modules/tslib/tslib.es6.js", "../../../node_modules/rxjs/src/internal/util/isFunction.ts", "../../../node_modules/rxjs/src/internal/util/createErrorClass.ts", "../../../node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "../../../node_modules/rxjs/src/internal/util/arrRemove.ts", "../../../node_modules/rxjs/src/internal/Subscription.ts", "../../../node_modules/rxjs/src/internal/config.ts", "../../../node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "../../../node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "../../../node_modules/rxjs/src/internal/util/noop.ts", "../../../node_modules/rxjs/src/internal/NotificationFactories.ts", "../../../node_modules/rxjs/src/internal/Subscriber.ts", "../../../node_modules/rxjs/src/internal/symbol/observable.ts", "../../../node_modules/rxjs/src/internal/util/identity.ts", "../../../node_modules/rxjs/src/internal/util/pipe.ts", "../../../node_modules/rxjs/src/internal/Observable.ts", "../../../node_modules/rxjs/src/internal/util/lift.ts", "../../../node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "../../../node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "../../../node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "../../../node_modules/rxjs/src/internal/Subject.ts", "../../../node_modules/rxjs/src/internal/BehaviorSubject.ts", "../../../node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "../../../node_modules/rxjs/src/internal/ReplaySubject.ts", "../../../node_modules/rxjs/src/internal/scheduler/Action.ts", "../../../node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "../../../node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "../../../node_modules/rxjs/src/internal/Scheduler.ts", "../../../node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "../../../node_modules/rxjs/src/internal/scheduler/async.ts", "../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "../../../node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "../../../node_modules/rxjs/src/internal/observable/empty.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "../../../node_modules/rxjs/src/internal/util/isArrayLike.ts", "../../../node_modules/rxjs/src/internal/util/isPromise.ts", "../../../node_modules/rxjs/src/internal/symbol/iterator.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "../../../node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "../../../node_modules/rxjs/src/internal/util/caughtSchedule.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "../../../node_modules/rxjs/src/internal/util/isInteropObservable.ts", "../../../node_modules/rxjs/src/internal/util/isIterable.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "../../../node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "../../../node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduled.ts", "../../../node_modules/rxjs/src/internal/observable/from.ts", "../../../node_modules/rxjs/src/internal/observable/fromArray.ts", "../../../node_modules/rxjs/src/internal/util/isScheduler.ts", "../../../node_modules/rxjs/src/internal/util/args.ts", "../../../node_modules/rxjs/src/internal/observable/of.ts", "../../../node_modules/rxjs/src/internal/util/isDate.ts", "../../../node_modules/rxjs/src/internal/operators/map.ts", "../../../node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "../../../node_modules/rxjs/src/internal/operators/observeOn.ts", "../../../node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "../../../node_modules/rxjs/src/internal/observable/combineLatest.ts", "../../../node_modules/rxjs/src/internal/operators/mergeInternals.ts", "../../../node_modules/rxjs/src/internal/operators/mergeMap.ts", "../../../node_modules/rxjs/src/internal/operators/mergeAll.ts", "../../../node_modules/rxjs/src/internal/operators/concatAll.ts", "../../../node_modules/rxjs/src/internal/observable/concat.ts", "../../../node_modules/rxjs/src/internal/observable/defer.ts", "../../../node_modules/rxjs/src/internal/observable/fromEvent.ts", "../../../node_modules/rxjs/src/internal/observable/timer.ts", "../../../node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "../../../node_modules/rxjs/src/internal/observable/merge.ts", "../../../node_modules/rxjs/src/internal/observable/never.ts", "../../../node_modules/rxjs/src/internal/operators/filter.ts", "../../../node_modules/rxjs/src/internal/observable/zip.ts", "../../../node_modules/rxjs/src/internal/operators/bufferCount.ts", "../../../node_modules/rxjs/src/internal/operators/catchError.ts", "../../../node_modules/rxjs/src/internal/operators/scanInternals.ts", "../../../node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "../../../node_modules/rxjs/src/internal/operators/concatMap.ts", "../../../node_modules/rxjs/src/internal/operators/debounce.ts", "../../../node_modules/rxjs/src/internal/operators/debounceTime.ts", "../../../node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "../../../node_modules/rxjs/src/internal/operators/take.ts", "../../../node_modules/rxjs/src/internal/operators/ignoreElements.ts", "../../../node_modules/rxjs/src/internal/operators/mapTo.ts", "../../../node_modules/rxjs/src/internal/operators/delayWhen.ts", "../../../node_modules/rxjs/src/internal/operators/delay.ts", "../../../node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "../../../node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "../../../node_modules/rxjs/src/internal/operators/finalize.ts", "../../../node_modules/rxjs/src/internal/operators/takeLast.ts", "../../../node_modules/rxjs/src/internal/operators/mergeWith.ts", "../../../node_modules/rxjs/src/internal/operators/sample.ts", "../../../node_modules/rxjs/src/internal/operators/scan.ts", "../../../node_modules/rxjs/src/internal/operators/share.ts", "../../../node_modules/rxjs/src/internal/operators/shareReplay.ts", "../../../node_modules/rxjs/src/internal/operators/skip.ts", "../../../node_modules/rxjs/src/internal/operators/skipUntil.ts", "../../../node_modules/rxjs/src/internal/operators/startWith.ts", "../../../node_modules/rxjs/src/internal/operators/switchMap.ts", "../../../node_modules/rxjs/src/internal/operators/switchMapTo.ts", "../../../node_modules/rxjs/src/internal/operators/takeUntil.ts", "../../../node_modules/rxjs/src/internal/operators/tap.ts", "../../../node_modules/rxjs/src/internal/operators/throttle.ts", "../../../node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "../../../node_modules/rxjs/src/internal/operators/zipWith.ts", "../../../src/assets/javascripts/browser/document/index.ts", "../../../src/assets/javascripts/browser/element/_/index.ts", "../../../src/assets/javascripts/browser/element/focus/index.ts", "../../../src/assets/javascripts/browser/element/size/index.ts", "../../../src/assets/javascripts/browser/element/offset/index.ts", "../../../src/assets/javascripts/browser/element/selection/index.ts", "../../../src/assets/javascripts/browser/toggle/index.ts", "../../../src/assets/javascripts/browser/keyboard/index.ts", "../../../src/assets/javascripts/browser/location/_/index.ts", "../../../src/assets/javascripts/browser/location/hash/index.ts", "../../../src/assets/javascripts/browser/media/index.ts", "../../../src/assets/javascripts/browser/request/index.ts", "../../../src/assets/javascripts/browser/viewport/offset/index.ts", "../../../src/assets/javascripts/browser/viewport/size/index.ts", "../../../src/assets/javascripts/browser/viewport/_/index.ts", "../../../src/assets/javascripts/browser/worker/index.ts", "../../../src/assets/javascripts/_/index.ts", "../../../src/assets/javascripts/components/_/index.ts", "../../../src/assets/javascripts/components/content/code/index.ts", "../../../src/assets/javascripts/actions/_/index.ts", "../../../src/assets/javascripts/actions/anchor/index.ts", "../../../src/assets/javascripts/actions/dialog/index.ts", "../../../src/assets/javascripts/actions/header/_/index.ts", "../../../src/assets/javascripts/actions/header/title/index.ts", "../../../src/assets/javascripts/actions/search/query/index.ts", "../../../src/assets/javascripts/utilities/h/index.ts", "../../../src/assets/javascripts/utilities/string/index.ts", "../../../src/assets/javascripts/actions/search/result/index.ts", "../../../src/assets/javascripts/actions/sidebar/index.ts", "../../../src/assets/javascripts/actions/source/index.ts", "../../../src/assets/javascripts/actions/tabs/index.ts", "../../../src/assets/javascripts/templates/clipboard/index.tsx", "../../../src/assets/javascripts/templates/search/index.tsx", "../../../src/assets/javascripts/templates/source/index.tsx", "../../../src/assets/javascripts/templates/table/index.tsx", "../../../src/assets/javascripts/components/content/details/index.ts", "../../../src/assets/javascripts/components/content/table/index.ts", "../../../src/assets/javascripts/components/content/_/index.ts", "../../../src/assets/javascripts/components/dialog/index.ts", "../../../src/assets/javascripts/components/header/_/index.ts", "../../../src/assets/javascripts/components/header/title/index.ts", "../../../src/assets/javascripts/components/main/index.ts", "../../../src/assets/javascripts/integrations/clipboard/index.ts", "../../../src/assets/javascripts/integrations/instant/index.ts", "../../../src/assets/javascripts/integrations/search/document/index.ts", "../../../src/assets/javascripts/integrations/search/query/transform/index.ts", "../../../src/assets/javascripts/integrations/search/worker/message/index.ts", "../../../src/assets/javascripts/integrations/search/worker/_/index.ts", "../../../src/assets/javascripts/components/search/query/index.ts", "../../../src/assets/javascripts/components/search/result/index.ts", "../../../src/assets/javascripts/components/search/_/index.ts", "../../../src/assets/javascripts/components/sidebar/index.ts", "../../../src/assets/javascripts/components/source/facts/github/index.ts", "../../../src/assets/javascripts/components/source/facts/gitlab/index.ts", "../../../src/assets/javascripts/components/source/facts/_/index.ts", "../../../src/assets/javascripts/components/source/_/index.ts", "../../../src/assets/javascripts/components/tabs/index.ts", "../../../src/assets/javascripts/components/toc/index.ts", "../../../src/assets/javascripts/patches/indeterminate/index.ts", "../../../src/assets/javascripts/patches/scrollfix/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * clipboard.js v2.0.6\n * https://clipboardjs.com/\n * \n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(3);\nvar delegate = __webpack_require__(4);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(5);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(0);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n\n// CONCATENATED MODULE: ./src/clipboard-action.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\n\nvar clipboard_action_ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = select_default()(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = select_default()(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n document.activeElement.blur();\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\n/* harmony default export */ var clipboard_action = (clipboard_action_ClipboardAction);\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(1);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(2);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n\n// CONCATENATED MODULE: ./src/clipboard.js\nvar clipboard_typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar clipboard_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\nvar clipboard_Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n clipboard_classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n clipboard_createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new clipboard_action({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(tiny_emitter_default.a);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\n/* harmony default export */ var clipboard = __webpack_exports__[\"default\"] = (clipboard_Clipboard);\n\n/***/ })\n/******/ ])[\"default\"];\n});", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\nimport { Subject, defer, merge } from \"rxjs\"\nimport {\n filter,\n map,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\nimport { feature } from \"./_\"\nimport {\n at,\n getElement,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountSearch,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n setupClipboardJS,\n setupInstantLoading\n} from \"./integrations\"\nimport {\n patchIndeterminate,\n patchScrollfix\n} from \"./patches\"\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget()\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up instant loading, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantLoading({ document$, location$, viewport$ })\n\n/* Always close drawer on navigation */\nmerge(location$, target$)\n .subscribe(() => setToggle(\"drawer\", false))\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getElement(\"[href][rel=prev]\")\n if (typeof prev !== \"undefined\")\n prev.click()\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getElement(\"[href][rel=next]\")\n if (typeof next !== \"undefined\")\n next.click()\n break\n }\n })\n\n/* Set up patches */\npatchIndeterminate({ document$ })\npatchScrollfix({ document$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el as HTMLAnchorElement)),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { target$, viewport$, print$ })),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, { viewport$, header$ })),\n))\n\n/* Set up component observable */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Tablet observable */\nwindow.screen$ = screen$ /* Screen observable */\nwindow.print$ = print$ /* Print mode observable */\nwindow.component$ = component$ /* Component observable */\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ReplaySubject, Subject, fromEvent } from \"rxjs\"\nimport { mapTo } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch document\n *\n * Documents must be implemented as subjects, so all downstream observables are\n * automatically updated when a new document is emitted. This enabled features\n * like instant loading.\n *\n * @returns Document subject\n */\nexport function watchDocument(): Subject {\n const document$ = new ReplaySubject()\n fromEvent(document, \"DOMContentLoaded\")\n .pipe(\n mapTo(document)\n )\n .subscribe(document$)\n\n /* Return document */\n return document$\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve an element matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element or nothing\n */\nexport function getElement(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElement(\n selector: string, node?: ParentNode\n): T | undefined\n\nexport function getElement(\n selector: string, node: ParentNode = document\n): T | undefined {\n return node.querySelector(selector) || undefined\n}\n\n/**\n * Retrieve an element matching a query selector or throw a reference error\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getElementOrThrow(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElementOrThrow(\n selector: string, node?: ParentNode\n): T\n\nexport function getElementOrThrow(\n selector: string, node: ParentNode = document\n): T {\n const el = getElement(selector, node)\n if (typeof el === \"undefined\")\n throw new ReferenceError(\n `Missing element: expected \"${selector}\" to be present`\n )\n return el\n}\n\n/**\n * Retrieve the currently active element\n *\n * @returns Element or nothing\n */\nexport function getActiveElement(): HTMLElement | undefined {\n return document.activeElement instanceof HTMLElement\n ? document.activeElement\n : undefined\n}\n\n/**\n * Retrieve all elements matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getElements(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T][]\n\nexport function getElements(\n selector: string, node?: ParentNode\n): T[]\n\nexport function getElements(\n selector: string, node: ParentNode = document\n): T[] {\n return Array.from(node.querySelectorAll(selector))\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Create an element\n *\n * @template T - Tag name type\n *\n * @param tagName - Tag name\n *\n * @returns Element\n */\nexport function createElement(\n tagName: T\n): HTMLElementTagNameMap[T] {\n return document.createElement(tagName)\n}\n\n/**\n * Replace an element with another element\n *\n * @param source - Source element\n * @param target - Target element\n */\nexport function replaceElement(\n source: HTMLElement, target: Node\n): void {\n source.replaceWith(target)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element focus\n *\n * @param el - Element\n * @param value - Whether the element should be focused\n */\nexport function setElementFocus(\n el: HTMLElement, value = true\n): void {\n if (value)\n el.focus()\n else\n el.blur()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element focus\n *\n * @param el - Element\n *\n * @returns Element focus observable\n */\nexport function watchElementFocus(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"focus\"),\n fromEvent(el, \"blur\")\n )\n .pipe(\n map(({ type }) => type === \"focus\"),\n startWith(el === getActiveElement())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n defer,\n of\n} from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n shareReplay,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementSize {\n width: number /* Element width */\n height: number /* Element height */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Resize observer entry subject\n */\nconst entry$ = new Subject()\n\n/**\n * Resize observer observable\n *\n * This observable will create a `ResizeObserver` on the first subscription\n * and will automatically terminate it when there are no more subscribers.\n * It's quite important to centralize observation in a single `ResizeObserver`,\n * as the performance difference can be quite dramatic, as the link shows.\n *\n * @see https://bit.ly/3iIYfEm - Google Groups on performance\n */\nconst observer$ = defer(() => of(\n new ResizeObserver(entries => {\n for (const entry of entries)\n entry$.next(entry)\n })\n))\n .pipe(\n switchMap(resize => NEVER.pipe(startWith(resize))\n .pipe(\n finalize(() => resize.disconnect())\n )\n ),\n shareReplay(1)\n )\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element size\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementSize(el: HTMLElement): ElementSize {\n return {\n width: el.offsetWidth,\n height: el.offsetHeight\n }\n}\n\n/**\n * Retrieve element content size, i.e. including overflowing content\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementContentSize(el: HTMLElement): ElementSize {\n return {\n width: el.scrollWidth,\n height: el.scrollHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element size\n *\n * This function returns an observable that subscribes to a single internal\n * instance of `ResizeObserver` upon subscription, and emit resize events until\n * termination. Note that this function should not be called with the same\n * element twice, as the first unsubscription will terminate observation.\n *\n * @param el - Element\n *\n * @returns Element size observable\n */\nexport function watchElementSize(\n el: HTMLElement\n): Observable {\n return observer$\n .pipe(\n tap(observer => observer.observe(el)),\n switchMap(observer => entry$\n .pipe(\n filter(({ target }) => target === el),\n finalize(() => observer.unobserve(el)),\n map(({ contentRect }) => ({\n width: contentRect.width,\n height: contentRect.height\n }))\n )\n ),\n startWith(getElementSize(el))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { distinctUntilChanged, map, startWith } from \"rxjs/operators\"\n\nimport { getElementContentSize, getElementSize } from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element offset\n *\n * @param el - Element\n *\n * @returns Element offset\n */\nexport function getElementOffset(el: HTMLElement): ElementOffset {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element offset\n *\n * @param el - Element\n *\n * @returns Element offset observable\n */\nexport function watchElementOffset(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"scroll\"),\n fromEvent(window, \"resize\")\n )\n .pipe(\n map(() => getElementOffset(el)),\n startWith(getElementOffset(el))\n )\n}\n\n/**\n * Watch element threshold\n *\n * This function returns an observable which emits whether the bottom scroll\n * offset of an elements is within a certain threshold.\n *\n * @param el - Element\n * @param threshold - Threshold\n *\n * @returns Element threshold observable\n */\nexport function watchElementThreshold(\n el: HTMLElement, threshold = 16\n): Observable {\n return watchElementOffset(el)\n .pipe(\n map(({ y }) => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return y >= (\n content.height - visible.height - threshold\n )\n }),\n distinctUntilChanged()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element text selection\n *\n * @param el - Element\n */\nexport function setElementSelection(\n el: HTMLElement\n): void {\n if (el instanceof HTMLInputElement)\n el.select()\n else\n throw new Error(\"Not implemented\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getElementOrThrow } from \"../element\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle\n */\nexport type Toggle =\n | \"drawer\" /* Toggle for drawer */\n | \"search\" /* Toggle for search */\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle map\n */\nconst toggles: Record = {\n drawer: getElementOrThrow(\"[data-md-toggle=drawer]\"),\n search: getElementOrThrow(\"[data-md-toggle=search]\")\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the value of a toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value\n */\nexport function getToggle(name: Toggle): boolean {\n return toggles[name].checked\n}\n\n/**\n * Set toggle\n *\n * Simulating a click event seems to be the most cross-browser compatible way\n * of changing the value while also emitting a `change` event. Before, Material\n * used `CustomEvent` to programmatically change the value of a toggle, but this\n * is a much simpler and cleaner solution which doesn't require a polyfill.\n *\n * @param name - Toggle\n * @param value - Toggle value\n */\nexport function setToggle(name: Toggle, value: boolean): void {\n if (toggles[name].checked !== value)\n toggles[name].click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value observable\n */\nexport function watchToggle(name: Toggle): Observable {\n const el = toggles[name]\n return fromEvent(el, \"change\")\n .pipe(\n map(() => el.checked),\n startWith(el.checked)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { filter, map, share } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../element\"\nimport { getToggle } from \"../toggle\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Keyboard mode\n */\nexport type KeyboardMode =\n | \"global\" /* Global */\n | \"search\" /* Search is open */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Keyboard\n */\nexport interface Keyboard {\n mode: KeyboardMode /* Keyboard mode */\n type: string /* Key type */\n claim(): void /* Key claim */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Check whether an element may receive keyboard input\n *\n * @param el - Element\n *\n * @returns Test result\n */\nfunction isSusceptibleToKeyboard(el: HTMLElement): boolean {\n switch (el.tagName) {\n\n /* Form elements */\n case \"INPUT\":\n case \"SELECT\":\n case \"TEXTAREA\":\n return true\n\n /* Everything else */\n default:\n return el.isContentEditable\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch keyboard\n *\n * @returns Keyboard observable\n */\nexport function watchKeyboard(): Observable {\n return fromEvent(window, \"keydown\")\n .pipe(\n filter(ev => !(ev.metaKey || ev.ctrlKey)),\n map(ev => ({\n mode: getToggle(\"search\") ? \"search\" : \"global\",\n type: ev.key,\n claim() {\n ev.preventDefault()\n ev.stopPropagation()\n }\n } as Keyboard)),\n filter(({ mode }) => {\n if (mode === \"global\") {\n const active = getActiveElement()\n if (typeof active !== \"undefined\")\n return !isSusceptibleToKeyboard(active)\n }\n return true\n }),\n share()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { BehaviorSubject, Subject } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location\n *\n * This function will return a `URL` object (and not `Location`) in order to\n * normalize typings across the application. Furthermore, locations need to be\n * tracked without setting them and `Location` is a singleton which represents\n * the current location.\n *\n * @returns URL\n */\nexport function getLocation(): URL {\n return new URL(location.href)\n}\n\n/**\n * Set location\n *\n * @param url - URL to change to\n */\nexport function setLocation(url: URL): void {\n location.href = url.href\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location\n *\n * @returns Location subject\n */\nexport function watchLocation(): Subject {\n return new BehaviorSubject(getLocation())\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, of } from \"rxjs\"\nimport { filter, map, share, startWith, switchMap } from \"rxjs/operators\"\n\nimport { createElement, getElement } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location hash\n *\n * @returns Location hash\n */\nexport function getLocationHash(): string {\n return location.hash.substring(1)\n}\n\n/**\n * Set location hash\n *\n * Setting a new fragment identifier via `location.hash` will have no effect\n * if the value doesn't change. When a new fragment identifier is set, we want\n * the browser to target the respective element at all times, which is why we\n * use this dirty little trick.\n *\n * @param hash - Location hash\n */\nexport function setLocationHash(hash: string): void {\n const el = createElement(\"a\")\n el.href = hash\n el.addEventListener(\"click\", ev => ev.stopPropagation())\n el.click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location hash\n *\n * @returns Location hash observable\n */\nexport function watchLocationHash(): Observable {\n return fromEvent(window, \"hashchange\")\n .pipe(\n map(getLocationHash),\n startWith(getLocationHash()),\n filter(hash => hash.length > 0),\n share()\n )\n}\n\n/**\n * Watch location target\n *\n * @returns Location target observable\n */\nexport function watchLocationTarget(): Observable {\n return watchLocationHash()\n .pipe(\n switchMap(id => of(getElement(`[id=\"${id}\"]`)!))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, fromEvent, merge } from \"rxjs\"\nimport {\n filter,\n map,\n mapTo,\n startWith,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch media query\n *\n * @param query - Media query\n *\n * @returns Media observable\n */\nexport function watchMedia(query: string): Observable {\n const media = matchMedia(query)\n return fromEvent(media, \"change\")\n .pipe(\n map(ev => ev.matches),\n startWith(media.matches)\n )\n}\n\n/**\n * Watch print mode, cross-browser\n *\n * @returns Print mode observable\n */\nexport function watchPrint(): Observable {\n return merge(\n watchMedia(\"print\").pipe(filter(Boolean)), /* Webkit */\n fromEvent(window, \"beforeprint\") /* IE, FF */\n )\n .pipe(\n mapTo(undefined)\n )\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Toggle an observable with a media observable\n *\n * @template T - Data type\n *\n * @param query$ - Media observable\n * @param factory - Observable factory\n *\n * @returns Toggled observable\n */\nexport function at(\n query$: Observable, factory: () => Observable\n): Observable {\n return query$\n .pipe(\n switchMap(active => active ? factory() : NEVER)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, from } from \"rxjs\"\nimport {\n filter,\n map,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Response observable\n */\nexport function request(\n url: string, options: RequestInit = { credentials: \"same-origin\" }\n): Observable {\n return from(fetch(url, options))\n .pipe(\n filter(res => res.status === 200),\n )\n}\n\n/**\n * Fetch JSON from the given URL\n *\n * @template T - Data type\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestJSON(\n url: string, options?: RequestInit\n): Observable {\n return request(url, options)\n .pipe(\n switchMap(res => res.json()),\n shareReplay(1)\n )\n}\n\n/**\n * Fetch XML from the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestXML(\n url: string, options?: RequestInit\n): Observable {\n const dom = new DOMParser()\n return request(url, options)\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/xml\")),\n shareReplay(1)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport offset\n */\nexport interface ViewportOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve viewport offset\n *\n * On iOS Safari, viewport offset can be negative due to overflow scrolling.\n * As this may induce strange behaviors downstream, we'll just limit it to 0.\n *\n * @returns Viewport offset\n */\nexport function getViewportOffset(): ViewportOffset {\n return {\n x: Math.max(0, pageXOffset),\n y: Math.max(0, pageYOffset)\n }\n}\n\n/**\n * Set viewport offset\n *\n * @param offset - Viewport offset\n */\nexport function setViewportOffset(\n { x, y }: Partial\n): void {\n window.scrollTo(x || 0, y || 0)\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport offset\n *\n * @returns Viewport offset observable\n */\nexport function watchViewportOffset(): Observable {\n return merge(\n fromEvent(window, \"scroll\", { passive: true }),\n fromEvent(window, \"resize\", { passive: true })\n )\n .pipe(\n map(getViewportOffset),\n startWith(getViewportOffset())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport size\n */\nexport interface ViewportSize {\n width: number /* Viewport width */\n height: number /* Viewport height */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve viewport size\n *\n * @returns Viewport size\n */\nexport function getViewportSize(): ViewportSize {\n return {\n width: innerWidth,\n height: innerHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport size\n *\n * @returns Viewport size observable\n */\nexport function watchViewportSize(): Observable {\n return fromEvent(window, \"resize\", { passive: true })\n .pipe(\n map(getViewportSize),\n startWith(getViewportSize())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, combineLatest } from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n map,\n shareReplay\n} from \"rxjs/operators\"\n\nimport { Header } from \"~/components\"\n\nimport {\n ViewportOffset,\n watchViewportOffset\n} from \"../offset\"\nimport {\n ViewportSize,\n watchViewportSize\n} from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport\n */\nexport interface Viewport {\n offset: ViewportOffset /* Viewport offset */\n size: ViewportSize /* Viewport size */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch at options\n */\ninterface WatchAtOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport\n *\n * @returns Viewport observable\n */\nexport function watchViewport(): Observable {\n return combineLatest([\n watchViewportOffset(),\n watchViewportSize()\n ])\n .pipe(\n map(([offset, size]) => ({ offset, size })),\n shareReplay(1)\n )\n}\n\n/**\n * Watch viewport relative to element\n *\n * @param el - Element\n * @param options - Options\n *\n * @returns Viewport observable\n */\nexport function watchViewportAt(\n el: HTMLElement, { viewport$, header$ }: WatchAtOptions\n): Observable {\n const size$ = viewport$\n .pipe(\n distinctUntilKeyChanged(\"size\")\n )\n\n /* Compute element offset */\n const offset$ = combineLatest([size$, header$])\n .pipe(\n map((): ViewportOffset => ({\n x: el.offsetLeft,\n y: el.offsetTop\n }))\n )\n\n /* Compute relative viewport, return hot observable */\n return combineLatest([header$, viewport$, offset$])\n .pipe(\n map(([{ height }, { offset, size }, { x, y }]) => ({\n offset: {\n x: offset.x - x,\n y: offset.y - y + height\n },\n size\n }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject, fromEvent } from \"rxjs\"\nimport {\n map,\n share,\n switchMapTo,\n tap,\n throttle\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Worker message\n */\nexport interface WorkerMessage {\n type: unknown /* Message type */\n data?: unknown /* Message data */\n}\n\n/**\n * Worker handler\n *\n * @template T - Message type\n */\nexport interface WorkerHandler<\n T extends WorkerMessage\n> {\n tx$: Subject /* Message transmission subject */\n rx$: Observable /* Message receive observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n *\n * @template T - Worker message type\n */\ninterface WatchOptions {\n tx$: Observable /* Message transmission observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch a web worker\n *\n * This function returns an observable that sends all values emitted by the\n * message observable to the web worker. Web worker communication is expected\n * to be bidirectional (request-response) and synchronous. Messages that are\n * emitted during a pending request are throttled, the last one is emitted.\n *\n * @param worker - Web worker\n * @param options - Options\n *\n * @returns Worker message observable\n */\nexport function watchWorker(\n worker: Worker, { tx$ }: WatchOptions\n): Observable {\n\n /* Intercept messages from worker-like objects */\n const rx$ = fromEvent(worker, \"message\")\n .pipe(\n map(({ data }) => data as T)\n )\n\n /* Send and receive messages, return hot observable */\n return tx$\n .pipe(\n throttle(() => rx$, { leading: true, trailing: true }),\n tap(message => worker.postMessage(message)),\n switchMapTo(rx$),\n share()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getLocation } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Feature flag\n */\nexport type Flag =\n | \"header.autohide\" /* Hide header */\n | \"navigation.expand\" /* Automatic expansion */\n | \"navigation.instant\" /* Instant loading */\n | \"navigation.sections\" /* Sections navigation */\n | \"navigation.tabs\" /* Tabs navigation */\n | \"toc.integrate\" /* Integrated table of contents */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Translation\n */\nexport type Translation =\n | \"clipboard.copy\" /* Copy to clipboard */\n | \"clipboard.copied\" /* Copied to clipboard */\n | \"search.config.lang\" /* Search language */\n | \"search.config.pipeline\" /* Search pipeline */\n | \"search.config.separator\" /* Search separator */\n | \"search.placeholder\" /* Search */\n | \"search.result.placeholder\" /* Type to start searching */\n | \"search.result.none\" /* No matching documents */\n | \"search.result.one\" /* 1 matching document */\n | \"search.result.other\" /* # matching documents */\n | \"search.result.more.one\" /* 1 more on this page */\n | \"search.result.more.other\" /* # more on this page */\n | \"search.result.term.missing\" /* Missing */\n\n/**\n * Translations\n */\nexport type Translations = Record\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Configuration\n */\nexport interface Config {\n base: string /* Base URL */\n features: Flag[] /* Feature flags */\n translations: Translations /* Translations */\n search: string /* Search worker URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration and make base URL absolute\n */\nconst script = getElementOrThrow(\"#__config\")\nconst config: Config = JSON.parse(script.textContent!)\nconfig.base = new URL(config.base, getLocation())\n .toString()\n .replace(/\\/$/, \"\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration\n *\n * @returns Global configuration\n */\nexport function configuration(): Config {\n return config\n}\n\n/**\n * Check whether a feature flag is enabled\n *\n * @param flag - Feature flag\n *\n * @returns Test result\n */\nexport function feature(flag: Flag): boolean {\n return config.features.includes(flag)\n}\n\n/**\n * Retrieve the translation for the given key\n *\n * @param key - Key to be translated\n * @param value - Value to be replaced\n *\n * @returns Translation\n */\nexport function translation(\n key: Translation, value?: string | number\n): string {\n return typeof value !== \"undefined\"\n ? config.translations[key].replace(\"#\", value.toString())\n : config.translations[key]\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Component\n */\nexport type ComponentType =\n | \"announce\" /* Announcement bar */\n | \"container\" /* Container */\n | \"content\" /* Content */\n | \"dialog\" /* Dialog */\n | \"header\" /* Header */\n | \"header-title\" /* Header title */\n | \"main\" /* Main area */\n | \"search\" /* Search */\n | \"search-query\" /* Search input */\n | \"search-result\" /* Search results */\n | \"sidebar\" /* Sidebar */\n | \"skip\" /* Skip link */\n | \"source\" /* Repository information */\n | \"tabs\" /* Navigation tabs */\n | \"toc\" /* Table of contents */\n\n/**\n * A component\n *\n * @template T - Component type\n * @template U - Reference type\n */\nexport type Component<\n T extends {} = {},\n U extends HTMLElement = HTMLElement\n> =\n T & {\n ref: U /* Component reference */\n }\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the element for a given component or throw a reference error\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getComponentElement(\n type: ComponentType, node: ParentNode = document\n): T {\n return getElementOrThrow(`[data-md-component=${type}]`, node)\n}\n\n/**\n * Retrieve all elements for a given component\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getComponentElements(\n type: ComponentType, node: ParentNode = document\n): T[] {\n return getElements(`[data-md-component=${type}]`, node)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport ClipboardJS from \"clipboard\"\nimport {\n NEVER,\n Observable,\n Subject,\n fromEvent,\n merge,\n of\n} from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n switchMap,\n tap,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport { resetFocusable, setFocusable } from \"~/actions\"\nimport {\n Viewport,\n getElementContentSize,\n getElementSize,\n getElements,\n watchMedia\n} from \"~/browser\"\nimport { renderClipboardButton } from \"~/templates\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Code block\n */\nexport interface CodeBlock {\n scroll: boolean /* Code block overflows */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Global index for Clipboard.js integration\n */\nlet index = 0\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch code block\n *\n * This function will monitor size changes of the viewport, as well as switches\n * of content tabs with embedded code blocks, as both may trigger overflow.\n *\n * @param el - Code block element\n * @param options - Options\n *\n * @returns Code block observable\n */\nexport function watchCodeBlock(\n el: HTMLElement, { viewport$ }: WatchOptions\n): Observable {\n const container$ = of(el)\n .pipe(\n switchMap(child => {\n const container = child.closest(\"[data-tabs]\")\n if (container instanceof HTMLElement) {\n return merge(\n ...getElements(\"input\", container)\n .map(input => fromEvent(input, \"change\"))\n )\n }\n return NEVER\n })\n )\n\n /* Check overflow on resize and tab change */\n return merge(\n viewport$.pipe(distinctUntilKeyChanged(\"size\")),\n container$\n )\n .pipe(\n map(() => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return {\n scroll: content.width > visible.width\n }\n }),\n distinctUntilKeyChanged(\"scroll\")\n )\n}\n\n/**\n * Mount code block\n *\n * This function ensures that an overflowing code block is focusable through\n * keyboard, so it can be scrolled without a mouse to improve on accessibility.\n *\n * @param el - Code block element\n * @param options - Options\n *\n * @returns Code block component observable\n */\nexport function mountCodeBlock(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n withLatestFrom(watchMedia(\"(hover)\"))\n )\n .subscribe(([{ scroll }, hover]) => {\n if (scroll && hover)\n setFocusable(el)\n else\n resetFocusable(el)\n })\n\n /* Inject button for Clipboard.js integration */\n if (ClipboardJS.isSupported()) {\n const parent = el.closest(\"pre\")!\n parent.id = `__code_${index++}`\n parent.insertBefore(\n renderClipboardButton(parent.id),\n el\n )\n }\n\n /* Create and return component */\n return watchCodeBlock(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set focusable property\n *\n * @param el - Element\n * @param value - Tabindex value\n */\nexport function setFocusable(\n el: HTMLElement, value = 0\n): void {\n el.setAttribute(\"tabindex\", value.toString())\n}\n\n/**\n * Reset focusable property\n *\n * @param el - Element\n */\nexport function resetFocusable(\n el: HTMLElement\n): void {\n el.removeAttribute(\"tabindex\")\n}\n\n/**\n * Set scroll lock\n *\n * @param el - Scrollable element\n * @param value - Vertical offset\n */\nexport function setScrollLock(\n el: HTMLElement, value: number\n): void {\n el.setAttribute(\"data-md-state\", \"lock\")\n el.style.top = `-${value}px`\n}\n\n/**\n * Reset scroll lock\n *\n * @param el - Scrollable element\n */\nexport function resetScrollLock(\n el: HTMLElement\n): void {\n const value = -1 * parseInt(el.style.top, 10)\n el.removeAttribute(\"data-md-state\")\n el.style.top = \"\"\n if (value)\n window.scrollTo(0, value)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set anchor state\n *\n * @param el - Anchor element\n * @param state - Anchor state\n */\nexport function setAnchorState(\n el: HTMLElement, state: \"blur\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset anchor state\n *\n * @param el - Anchor element\n */\nexport function resetAnchorState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set anchor active\n *\n * @param el - Anchor element\n * @param value - Whether the anchor is active\n */\nexport function setAnchorActive(\n el: HTMLElement, value: boolean\n): void {\n el.classList.toggle(\"md-nav__link--active\", value)\n}\n\n/**\n * Reset anchor active\n *\n * @param el - Anchor element\n */\nexport function resetAnchorActive(\n el: HTMLElement\n): void {\n el.classList.remove(\"md-nav__link--active\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set dialog message\n *\n * @param el - Dialog element\n * @param value - Dialog message\n */\nexport function setDialogMessage(\n el: HTMLElement, value: string\n): void {\n el.firstElementChild!.innerHTML = value\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set dialog state\n *\n * @param el - Dialog element\n * @param state - Dialog state\n */\nexport function setDialogState(\n el: HTMLElement, state: \"open\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset dialog state\n *\n * @param el - Dialog element\n */\nexport function resetDialogState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set header state\n *\n * @param el - Header element\n * @param state - Header state\n */\nexport function setHeaderState(\n el: HTMLElement, state: \"shadow\" | \"hidden\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset header state\n *\n * @param el - Header element\n */\nexport function resetHeaderState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set header title state\n *\n * @param el - Header title element\n * @param state - Header title state\n */\nexport function setHeaderTitleState(\n el: HTMLElement, state: \"active\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset header title state\n *\n * @param el - Header title element\n */\nexport function resetHeaderTitleState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set search query placeholder\n *\n * @param el - Search query element\n * @param value - Placeholder\n */\nexport function setSearchQueryPlaceholder(\n el: HTMLInputElement, value: string\n): void {\n el.placeholder = value\n}\n\n/**\n * Reset search query placeholder\n *\n * @param el - Search query element\n */\nexport function resetSearchQueryPlaceholder(\n el: HTMLInputElement\n): void {\n el.placeholder = translation(\"search.placeholder\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { JSX as JSXInternal } from \"preact\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * HTML attributes\n */\ntype Attributes =\n & JSXInternal.HTMLAttributes\n & JSXInternal.SVGAttributes\n & Record\n\n/**\n * Child element\n */\ntype Child =\n | HTMLElement\n | Text\n | string\n | number\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Append a child node to an element\n *\n * @param el - Element\n * @param child - Child node(s)\n */\nfunction appendChild(el: HTMLElement, child: Child | Child[]): void {\n\n /* Handle primitive types (including raw HTML) */\n if (typeof child === \"string\" || typeof child === \"number\") {\n el.innerHTML += child.toString()\n\n /* Handle nodes */\n } else if (child instanceof Node) {\n el.appendChild(child)\n\n /* Handle nested children */\n } else if (Array.isArray(child)) {\n for (const node of child)\n appendChild(el, node)\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * JSX factory\n *\n * @param tag - HTML tag\n * @param attributes - HTML attributes\n * @param children - Child elements\n *\n * @returns Element\n */\nexport function h(\n tag: string, attributes: Attributes | null, ...children: Child[]\n): HTMLElement {\n const el = document.createElement(tag)\n\n /* Set attributes, if any */\n if (attributes)\n for (const attr of Object.keys(attributes))\n if (typeof attributes[attr] !== \"boolean\")\n el.setAttribute(attr, attributes[attr])\n else if (attributes[attr])\n el.setAttribute(attr, \"\")\n\n /* Append child nodes */\n for (const child of children)\n appendChild(el, child)\n\n /* Return element */\n return el\n}\n\n/* ----------------------------------------------------------------------------\n * Namespace\n * ------------------------------------------------------------------------- */\n\nexport declare namespace h {\n namespace JSX {\n type Element = HTMLElement\n type IntrinsicElements = JSXInternal.IntrinsicElements\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Truncate a string after the given number of characters\n *\n * This is not a very reasonable approach, since the summaries kind of suck.\n * It would be better to create something more intelligent, highlighting the\n * search occurrences and making a better summary out of it, but this note was\n * written three years ago, so who knows if we'll ever fix it.\n *\n * @param value - Value to be truncated\n * @param n - Number of characters\n *\n * @returns Truncated value\n */\nexport function truncate(value: string, n: number): string {\n let i = n\n if (value.length > i) {\n while (value[i] !== \" \" && --i > 0) { /* keep eating */ }\n return `${value.substring(0, i)}...`\n }\n return value\n}\n\n/**\n * Round a number for display with repository facts\n *\n * This is a reverse-engineered version of GitHub's weird rounding algorithm\n * for stars, forks and all other numbers. While all numbers below `1,000` are\n * returned as-is, bigger numbers are converted to fixed numbers:\n *\n * - `1,049` => `1k`\n * - `1,050` => `1.1k`\n * - `1,949` => `1.9k`\n * - `1,950` => `2k`\n *\n * @param value - Original value\n *\n * @returns Rounded value\n */\nexport function round(value: number): string {\n if (value > 999) {\n const digits = +((value - 950) % 1000 > 99)\n return `${((value + 0.000001) / 1000).toFixed(digits)}k`\n } else {\n return value.toString()\n }\n}\n\n/**\n * Simple hash function\n *\n * @see https://bit.ly/2wsVjJ4 - Original source\n *\n * @param value - Value to be hashed\n *\n * @returns Hash as 32bit integer\n */\nexport function hash(value: string): number {\n let h = 0\n for (let i = 0, len = value.length; i < len; i++) {\n h = ((h << 5) - h) + value.charCodeAt(i)\n h |= 0 // Convert to 32bit integer\n }\n return h\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { round } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set number of search results\n *\n * @param el - Search result metadata element\n * @param value - Number of results\n */\nexport function setSearchResultMeta(\n el: HTMLElement, value: number\n): void {\n switch (value) {\n\n /* No results */\n case 0:\n el.textContent = translation(\"search.result.none\")\n break\n\n /* One result */\n case 1:\n el.textContent = translation(\"search.result.one\")\n break\n\n /* Multiple result */\n default:\n el.textContent = translation(\"search.result.other\", round(value))\n }\n}\n\n/**\n * Reset number of search results\n *\n * @param el - Search result metadata element\n */\nexport function resetSearchResultMeta(\n el: HTMLElement\n): void {\n el.textContent = translation(\"search.result.placeholder\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Add an element to the search result list\n *\n * @param el - Search result list element\n * @param child - Search result element\n */\nexport function addToSearchResultList(\n el: HTMLElement, child: Element\n): void {\n el.appendChild(child)\n}\n\n/**\n * Reset search result list\n *\n * @param el - Search result list element\n */\nexport function resetSearchResultList(\n el: HTMLElement\n): void {\n el.innerHTML = \"\"\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set sidebar offset\n *\n * @param el - Sidebar element\n * @param value - Sidebar offset\n */\nexport function setSidebarOffset(\n el: HTMLElement, value: number\n): void {\n el.style.top = `${value}px`\n}\n\n/**\n * Reset sidebar offset\n *\n * @param el - Sidebar element\n */\nexport function resetSidebarOffset(\n el: HTMLElement\n): void {\n el.style.top = \"\"\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set sidebar height\n *\n * This function doesn't set the height of the actual sidebar, but of its first\n * child \u2013 the `.md-sidebar__scrollwrap` element in order to mitigiate jittery\n * sidebars when the footer is scrolled into view. At some point we switched\n * from `absolute` / `fixed` positioning to `sticky` positioning, significantly\n * reducing jitter in some browsers (respectively Firefox and Safari) when\n * scrolling from the top. However, top-aligned sticky positioning means that\n * the sidebar snaps to the bottom when the end of the container is reached.\n * This is what leads to the mentioned jitter, as the sidebar's height may be\n * updated too slowly.\n *\n * This behaviour can be mitigiated by setting the height of the sidebar to `0`\n * while preserving the padding, and the height on its first element.\n *\n * @param el - Sidebar element\n * @param value - Sidebar height\n */\nexport function setSidebarHeight(\n el: HTMLElement, value: number\n): void {\n const scrollwrap = el.firstElementChild as HTMLElement\n scrollwrap.style.height = `${value - 2 * scrollwrap.offsetTop}px`\n}\n\n/**\n * Reset sidebar height\n *\n * @param el - Sidebar element\n */\nexport function resetSidebarHeight(\n el: HTMLElement\n): void {\n const scrollwrap = el.firstElementChild as HTMLElement\n scrollwrap.style.height = \"\"\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set repository facts\n *\n * @param el - Repository element\n * @param child - Repository facts element\n */\nexport function setSourceFacts(\n el: HTMLElement, child: Element\n): void {\n el.lastElementChild!.appendChild(child)\n}\n\n/**\n * Set repository state\n *\n * @param el - Repository element\n * @param state - Repository state\n */\nexport function setSourceState(\n el: HTMLElement, state: \"done\"\n): void {\n el.lastElementChild!.setAttribute(\"data-md-state\", state)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set tabs state\n *\n * @param el - Tabs element\n * @param state - Tabs state\n */\nexport function setTabsState(\n el: HTMLElement, state: \"hidden\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset tabs state\n *\n * @param el - Tabs element\n */\nexport function resetTabsState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a 'copy-to-clipboard' button\n *\n * @param id - Unique identifier\n *\n * @returns Element\n */\nexport function renderClipboardButton(id: string): HTMLElement {\n return (\n code`}\n >\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport {\n SearchDocument,\n SearchMetadata,\n SearchResult\n} from \"~/integrations/search\"\nimport { h, truncate } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Render flag\n */\nconst enum Flag {\n TEASER = 1, /* Render teaser */\n PARENT = 2 /* Render as parent */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper function\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a search document\n *\n * @param document - Search document\n * @param flag - Render flags\n *\n * @returns Element\n */\nfunction renderSearchDocument(\n document: SearchDocument & SearchMetadata, flag: Flag\n): HTMLElement {\n const parent = flag & Flag.PARENT\n const teaser = flag & Flag.TEASER\n\n /* Render missing query terms */\n const missing = Object.keys(document.terms)\n .filter(key => !document.terms[key])\n .map(key => [{key}, \" \"])\n .flat()\n .slice(0, -1)\n\n /* Render article or section, depending on flags */\n const url = document.location\n return (\n \n \n {parent > 0 &&
    }\n

    {document.title}

    \n {teaser > 0 && document.text.length > 0 &&\n

    \n {truncate(document.text, 320)}\n

    \n }\n {teaser > 0 && missing.length > 0 &&\n

    \n {translation(\"search.result.term.missing\")}: {...missing}\n

    \n }\n \n
    \n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a search result\n *\n * @param result - Search result\n *\n * @returns Element\n */\nexport function renderSearchResult(\n result: SearchResult\n): HTMLElement {\n const threshold = result[0].score\n const docs = [...result]\n\n /* Find and extract parent article */\n const parent = docs.findIndex(doc => !doc.location.includes(\"#\"))\n const [article] = docs.splice(parent, 1)\n\n /* Determine last index above threshold */\n let index = docs.findIndex(doc => doc.score < threshold)\n if (index === -1)\n index = docs.length\n\n /* Partition sections */\n const best = docs.slice(0, index)\n const more = docs.slice(index)\n\n /* Render children */\n const children = [\n renderSearchDocument(article, Flag.PARENT | +(!parent && index === 0)),\n ...best.map(section => renderSearchDocument(section, Flag.TEASER)),\n ...more.length ? [\n
    \n \n {more.length > 0 && more.length === 1\n ? translation(\"search.result.more.one\")\n : translation(\"search.result.more.other\", more.length)\n }\n \n {...more.map(section => renderSearchDocument(section, Flag.TEASER))}\n
    \n ] : []\n ]\n\n /* Render search result */\n return (\n
  • \n {children}\n
  • \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SourceFacts } from \"~/components\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render repository facts\n *\n * @param facts - Repository facts\n *\n * @returns Element\n */\nexport function renderSourceFacts(facts: SourceFacts): HTMLElement {\n return (\n
      \n {facts.map(fact => (\n
    • {fact}
    • \n ))}\n
    \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { h } from \"utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a table inside a wrapper to improve scrolling on mobile\n *\n * @param table - Table element\n *\n * @returns Element\n */\nexport function renderTable(table: HTMLElement): HTMLElement {\n return (\n
    \n
    \n {table}\n
    \n
    \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject } from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n mapTo,\n mergeWith,\n tap\n} from \"rxjs/operators\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Details\n */\nexport interface Details {}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n target$: Observable /* Location target observable */\n print$: Observable /* Print mode observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n target$: Observable /* Location target observable */\n print$: Observable /* Print mode observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch details\n *\n * @param el - Details element\n * @param options - Options\n *\n * @returns Details observable\n */\nexport function watchDetails(\n el: HTMLDetailsElement, { target$, print$ }: WatchOptions\n): Observable
    {\n return target$\n .pipe(\n map(target => target.closest(\"details:not([open])\")!),\n filter(details => el === details),\n mergeWith(print$),\n mapTo(el)\n )\n}\n\n/**\n * Mount details\n *\n * This function ensures that `details` tags are opened on anchor jumps and\n * prior to printing, so the whole content of the page is visible.\n *\n * @param el - Details element\n * @param options - Options\n *\n * @returns Details component observable\n */\nexport function mountDetails(\n el: HTMLDetailsElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject
    ()\n internal$.subscribe(() => {\n el.setAttribute(\"open\", \"\")\n el.scrollIntoView()\n })\n\n /* Create and return component */\n return watchDetails(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n mapTo({ ref: el })\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, of } from \"rxjs\"\n\nimport { createElement, replaceElement } from \"~/browser\"\nimport { renderTable } from \"~/templates\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Data table\n */\nexport interface DataTable {}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Sentinel for replacement\n */\nconst sentinel = createElement(\"table\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount data table\n *\n * This function wraps a data table in another scrollable container, so they\n * can be scrolled on smaller screen sizes and won't break the layout.\n *\n * @param el - Data table element\n *\n * @returns Data table component observable\n */\nexport function mountDataTable(\n el: HTMLElement\n): Observable> {\n replaceElement(el, sentinel)\n replaceElement(sentinel, renderTable(el))\n\n /* Create and return component */\n return of({ ref: el })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, merge } from \"rxjs\"\n\nimport { Viewport, getElements } from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { CodeBlock, mountCodeBlock } from \"../code\"\nimport { Details, mountDetails } from \"../details\"\nimport { DataTable, mountDataTable } from \"../table\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Content\n */\nexport type Content =\n | CodeBlock\n | DataTable\n | Details\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n target$: Observable /* Location target observable */\n viewport$: Observable /* Viewport observable */\n print$: Observable /* Print mode observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount content\n *\n * This function mounts all components that are found in the content of the\n * actual article, including code blocks, data tables and details.\n *\n * @param el - Content element\n * @param options - Options\n *\n * @returns Content component observable\n */\nexport function mountContent(\n el: HTMLElement, { target$, viewport$, print$ }: MountOptions\n): Observable> {\n return merge(\n\n /* Code blocks */\n ...getElements(\"pre > code\", el)\n .map(child => mountCodeBlock(child, { viewport$ })),\n\n /* Data tables */\n ...getElements(\"table:not([class])\", el)\n .map(child => mountDataTable(child)),\n\n /* Details */\n ...getElements(\"details\", el)\n .map(child => mountDetails(child, { target$, print$ }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n merge,\n of\n} from \"rxjs\"\nimport {\n delay,\n finalize,\n map,\n observeOn,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetDialogState,\n setDialogMessage,\n setDialogState\n} from \"~/actions\"\n\nimport { Component } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Dialog\n */\nexport interface Dialog {\n message: string /* Dialog message */\n open: boolean /* Dialog is visible */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n alert$: Subject /* Alert subject */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n alert$: Subject /* Alert subject */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch dialog\n *\n * @param _el - Dialog element\n * @param options - Options\n *\n * @returns Dialog observable\n */\nexport function watchDialog(\n _el: HTMLElement, { alert$ }: WatchOptions\n): Observable {\n return alert$\n .pipe(\n switchMap(message => merge(\n of(true),\n of(false).pipe(delay(2000))\n )\n .pipe(\n map(open => ({ message, open }))\n )\n )\n )\n}\n\n/**\n * Mount dialog\n *\n * This function makes the dialog in the right corner appear when a new alert\n * is emitted through the subject that is passed as part of the options.\n *\n * @param el - Dialog element\n * @param options - Options\n *\n * @returns Dialog component observable\n */\nexport function mountDialog(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler)\n )\n .subscribe(({ message, open }) => {\n setDialogMessage(el, message)\n if (open)\n setDialogState(el, \"open\")\n else\n resetDialogState(el)\n })\n\n /* Create and return component */\n return watchDialog(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest,\n defer,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n combineLatestWith,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n filter,\n map,\n observeOn,\n shareReplay,\n startWith,\n switchMap\n} from \"rxjs/operators\"\n\nimport { feature } from \"~/_\"\nimport { resetHeaderState, setHeaderState } from \"~/actions\"\nimport {\n Viewport,\n watchElementSize,\n watchToggle\n} from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { Main } from \"../../main\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Header\n */\nexport interface Header {\n height: number /* Header visible height */\n sticky: boolean /* Header stickyness */\n hidden: boolean /* User scrolled past threshold */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n main$: Observable
    /* Main area observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Compute whether the header is hidden\n *\n * If the user scrolls past a certain threshold, the header can be hidden when\n * scrolling down, and shown when scrolling up.\n *\n * @param options - Options\n *\n * @returns Toggle observable\n */\nfunction isHidden({ viewport$ }: WatchOptions): Observable {\n if (!feature(\"header.autohide\"))\n return of(false)\n\n /* Compute direction and turning point */\n const direction$ = viewport$\n .pipe(\n map(({ offset: { y } }) => y),\n bufferCount(2, 1),\n map(([a, b]) => [a < b, b] as const),\n distinctUntilKeyChanged(0)\n )\n\n /* Compute whether header should be hidden */\n const hidden$ = combineLatest([viewport$, direction$])\n .pipe(\n filter(([{ offset }, [, y]]) => Math.abs(y - offset.y) > 100),\n map(([, [direction]]) => direction),\n distinctUntilChanged()\n )\n\n /* Compute threshold for autohiding */\n const search$ = watchToggle(\"search\")\n return combineLatest([viewport$, search$])\n .pipe(\n map(([{ offset }, search]) => offset.y > 400 && !search),\n distinctUntilChanged(),\n switchMap(active => active ? hidden$ : of(false)),\n startWith(false)\n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch header\n *\n * @param el - Header element\n * @param options - Options\n *\n * @returns Header observable\n */\nexport function watchHeader(\n el: HTMLElement, options: WatchOptions\n): Observable
    {\n return defer(() => {\n const styles = getComputedStyle(el)\n return of(\n styles.position === \"sticky\" ||\n styles.position === \"-webkit-sticky\"\n )\n })\n .pipe(\n combineLatestWith(watchElementSize(el), isHidden(options)),\n map(([sticky, { height }, hidden]) => ({\n height: sticky ? height : 0,\n sticky,\n hidden\n })),\n distinctUntilChanged((a, b) => (\n a.sticky === b.sticky &&\n a.height === b.height &&\n a.hidden === b.hidden\n )),\n shareReplay(1)\n )\n}\n\n/**\n * Mount header\n *\n * This function manages the different states of the header, i.e. whether it's\n * hidden or rendered with a shadow. This depends heavily on the main area.\n *\n * @param el - Header element\n * @param options - Options\n *\n * @returns Header component observable\n */\nexport function mountHeader(\n el: HTMLElement, { header$, main$ }: MountOptions\n): Observable> {\n const internal$ = new Subject
    ()\n internal$\n .pipe(\n distinctUntilKeyChanged(\"active\"),\n combineLatestWith(header$),\n observeOn(animationFrameScheduler)\n )\n .subscribe(([{ active }, { hidden }]) => {\n if (active)\n setHeaderState(el, hidden ? \"hidden\" : \"shadow\")\n else\n resetHeaderState(el)\n })\n\n /* Connect to long-living subject and return component */\n main$.subscribe(main => internal$.next(main))\n return header$\n .pipe(\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n animationFrameScheduler\n} from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetHeaderTitleState,\n setHeaderTitleState\n} from \"~/actions\"\nimport {\n Viewport,\n getElement,\n getElementSize,\n watchViewportAt\n} from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { Header } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Header\n */\nexport interface HeaderTitle {\n active: boolean /* User scrolled past first headline */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch header title\n *\n * @param el - Heading element\n * @param options - Options\n *\n * @returns Header title observable\n */\nexport function watchHeaderTitle(\n el: HTMLHeadingElement, { viewport$, header$ }: WatchOptions\n): Observable {\n return watchViewportAt(el, { header$, viewport$ })\n .pipe(\n map(({ offset: { y } }) => {\n const { height } = getElementSize(el)\n return {\n active: y >= height\n }\n }),\n distinctUntilKeyChanged(\"active\")\n )\n}\n\n/**\n * Mount header title\n *\n * This function swaps the header title from the site title to the title of the\n * current page when the user scrolls past the first headline.\n *\n * @param el - Header title element\n * @param options - Options\n *\n * @returns Header title component observable\n */\nexport function mountHeaderTitle(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n )\n .subscribe(({ active }) => {\n if (active)\n setHeaderTitleState(el, \"active\")\n else\n resetHeaderTitleState(el)\n })\n\n /* Obtain headline, if any */\n const headline = getElement(\"article h1\")\n if (typeof headline === \"undefined\")\n return NEVER\n\n /* Create and return component */\n return watchHeaderTitle(headline, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n combineLatest\n} from \"rxjs\"\nimport {\n distinctUntilChanged,\n distinctUntilKeyChanged,\n map,\n switchMap\n} from \"rxjs/operators\"\n\nimport { Viewport, watchElementSize } from \"~/browser\"\n\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Main area\n */\nexport interface Main {\n offset: number /* Main area top offset */\n height: number /* Main area visible height */\n active: boolean /* User scrolled past header */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch main area\n *\n * This function returns an observable that computes the visual parameters of\n * the main area which depends on the viewport vertical offset and height, as\n * well as the height of the header element, if the header is fixed.\n *\n * @param el - Main area element\n * @param options - Options\n *\n * @returns Main area observable\n */\nexport function watchMain(\n el: HTMLElement, { viewport$, header$ }: WatchOptions\n): Observable
    {\n\n /* Compute necessary adjustment for header */\n const adjust$ = header$\n .pipe(\n map(({ height }) => height),\n distinctUntilChanged()\n )\n\n /* Compute the main area's top and bottom borders */\n const border$ = adjust$\n .pipe(\n switchMap(() => watchElementSize(el)\n .pipe(\n map(({ height }) => ({\n top: el.offsetTop,\n bottom: el.offsetTop + height\n })),\n distinctUntilKeyChanged(\"bottom\")\n )\n )\n )\n\n /* Compute the main area's offset, visible height and if we scrolled past */\n return combineLatest([adjust$, border$, viewport$])\n .pipe(\n map(([header, { top, bottom }, { offset: { y }, size: { height } }]) => {\n height = Math.max(0, height\n - Math.max(0, top - y, header)\n - Math.max(0, height + y - bottom)\n )\n return {\n offset: top - header,\n height,\n active: top - header <= y\n }\n }),\n distinctUntilChanged((a, b) => (\n a.offset === b.offset &&\n a.height === b.height &&\n a.active === b.active\n ))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport ClipboardJS from \"clipboard\"\nimport { Observable, Subject } from \"rxjs\"\n\nimport { translation } from \"~/_\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Setup options\n */\ninterface SetupOptions {\n alert$: Subject /* Alert subject */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up Clipboard.js integration\n *\n * @param options - Options\n */\nexport function setupClipboardJS(\n { alert$ }: SetupOptions\n): void {\n if (ClipboardJS.isSupported()) {\n new Observable(subscriber => {\n new ClipboardJS(\"[data-clipboard-target], [data-clipboard-text]\")\n .on(\"success\", ev => subscriber.next(ev))\n })\n .subscribe(() => alert$.next(translation(\"clipboard.copied\")))\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n fromEvent,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n catchError,\n concatMap,\n debounceTime,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n filter,\n map,\n sample,\n share,\n skip,\n skipUntil,\n switchMap\n} from \"rxjs/operators\"\n\nimport { configuration } from \"~/_\"\nimport {\n Viewport,\n ViewportOffset,\n createElement,\n getElement,\n getElements,\n replaceElement,\n request,\n requestXML,\n setLocation,\n setLocationHash,\n setViewportOffset\n} from \"~/browser\"\nimport { getComponentElement } from \"~/components\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * History state\n */\nexport interface HistoryState {\n url: URL /* State URL */\n offset?: ViewportOffset /* State viewport offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Setup options\n */\ninterface SetupOptions {\n document$: Subject /* Document subject */\n location$: Subject /* Location subject */\n viewport$: Observable /* Viewport observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Preprocess a list of URLs\n *\n * This function replaces the `site_url` in the sitemap with the actual base\n * URL, to allow instant loading to work in occasions like Netlify previews.\n *\n * @param urls - URLs\n *\n * @returns Processed URLs\n */\nfunction preprocess(urls: string[]): string[] {\n if (urls.length < 2)\n return urls\n\n /* Compute references URLs */\n const [root, next] = urls.sort((a, b) => a.length - b.length)\n\n /* Compute common prefix */\n let index = 0\n if (root === next)\n index = root.length\n else\n while (root.charCodeAt(index) === root.charCodeAt(index))\n index++\n\n /* Replace common prefix (i.e. base) with effective base */\n const config = configuration()\n return urls.map(url => (\n url.replace(root.slice(0, index), `${config.base}/`)\n ))\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up instant loading\n *\n * When fetching, theoretically, we could use `responseType: \"document\"`, but\n * since all MkDocs links are relative, we need to make sure that the current\n * location matches the document we just loaded. Otherwise any relative links\n * in the document could use the old location.\n *\n * This is the reason why we need to synchronize history events and the process\n * of fetching the document for navigation changes (except `popstate` events):\n *\n * 1. Fetch document via `XMLHTTPRequest`\n * 2. Set new location via `history.pushState`\n * 3. Parse and emit fetched document\n *\n * For `popstate` events, we must not use `history.pushState`, or the forward\n * history will be irreversibly overwritten. In case the request fails, the\n * location change is dispatched regularly.\n *\n * @param options - Options\n */\nexport function setupInstantLoading(\n { document$, location$, viewport$ }: SetupOptions\n): void {\n const config = configuration()\n if (location.protocol === \"file:\")\n return\n\n /* Disable automatic scroll restoration */\n if (\"scrollRestoration\" in history) {\n history.scrollRestoration = \"manual\"\n\n /* Hack: ensure that reloads restore viewport offset */\n fromEvent(window, \"beforeunload\")\n .subscribe(() => {\n history.scrollRestoration = \"auto\"\n })\n }\n\n /* Hack: ensure absolute favicon link to omit 404s when switching */\n const favicon = getElement(\"link[rel='shortcut icon']\")\n if (typeof favicon !== \"undefined\")\n favicon.href = favicon.href\n\n /* Intercept internal navigation */\n const push$ = requestXML(`${config.base}/sitemap.xml`)\n .pipe(\n map(sitemap => preprocess(getElements(\"loc\", sitemap)\n .map(node => node.textContent!)\n )),\n switchMap(urls => fromEvent(document.body, \"click\")\n .pipe(\n filter(ev => !ev.metaKey && !ev.ctrlKey),\n switchMap(ev => {\n if (ev.target instanceof HTMLElement) {\n const el = ev.target.closest(\"a\")\n if (el && !el.target && urls.includes(el.href)) {\n ev.preventDefault()\n return of({\n url: new URL(el.href)\n })\n }\n }\n return NEVER\n })\n )\n ),\n share()\n )\n\n /* Intercept history back and forward */\n const pop$ = fromEvent(window, \"popstate\")\n .pipe(\n filter(ev => ev.state !== null),\n map(ev => ({\n url: new URL(location.href),\n offset: ev.state\n })),\n share()\n )\n\n /* Emit location change */\n merge(push$, pop$)\n .pipe(\n distinctUntilChanged((a, b) => a.url.href === b.url.href),\n map(({ url }) => url)\n )\n .subscribe(location$)\n\n /* Fetch document via `XMLHTTPRequest` */\n const response$ = location$\n .pipe(\n distinctUntilKeyChanged(\"pathname\"),\n skip(1),\n switchMap(url => request(url.href)\n .pipe(\n catchError(() => {\n setLocation(url)\n return NEVER\n })\n )\n ),\n share()\n )\n\n /* Set new location via `history.pushState` */\n push$\n .pipe(\n sample(response$)\n )\n .subscribe(({ url }) => {\n history.pushState({}, \"\", url.toString())\n })\n\n /* Parse and emit fetched document */\n const dom = new DOMParser()\n response$\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/html\"))\n )\n .subscribe(document$)\n\n /* Emit history state change */\n merge(push$, pop$)\n .pipe(\n sample(document$)\n )\n .subscribe(({ url, offset }) => {\n if (url.hash && !offset)\n setLocationHash(url.hash)\n else\n setViewportOffset(offset || { y: 0 })\n })\n\n /* Replace meta tags and components */\n document$\n .pipe(\n skip(1)\n )\n .subscribe(replacement => {\n for (const selector of [\n\n /* Meta tags */\n \"title\",\n \"link[rel='canonical']\",\n \"meta[name='author']\",\n \"meta[name='description']\",\n\n /* Components */\n \"[data-md-component=announce]\",\n \"[data-md-component=header-title]\",\n \"[data-md-component=container]\",\n \"[data-md-component=skip]\"\n ]) {\n const source = getElement(selector)\n const target = getElement(selector, replacement)\n if (\n typeof source !== \"undefined\" &&\n typeof target !== \"undefined\"\n ) {\n replaceElement(source, target)\n }\n }\n })\n\n /* Re-evaluate scripts */\n document$\n .pipe(\n skip(1),\n map(() => getComponentElement(\"container\")),\n switchMap(el => of(...getElements(\"script\", el))),\n concatMap(el => {\n const script = createElement(\"script\")\n if (el.src) {\n script.src = el.src\n replaceElement(el, script)\n\n /* Complete when script is loaded */\n return new Observable(observer => {\n script.onload = () => observer.complete()\n })\n\n /* Complete immediately */\n } else {\n script.textContent = el.textContent!\n replaceElement(el, script)\n return EMPTY\n }\n })\n )\n .subscribe()\n\n /* Debounce update of viewport offset */\n viewport$\n .pipe(\n skipUntil(push$),\n debounceTime(250),\n distinctUntilKeyChanged(\"offset\")\n )\n .subscribe(({ offset }) => {\n history.replaceState(offset, \"\")\n })\n\n /* Set viewport offset from history */\n merge(push$, pop$)\n .pipe(\n bufferCount(2, 1),\n filter(([a, b]) => a.url.pathname === b.url.pathname),\n map(([, state]) => state)\n )\n .subscribe(({ offset }) => {\n setViewportOffset(offset || { y: 0 })\n })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport escapeHTML from \"escape-html\"\n\nimport { SearchIndexDocument } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search document\n */\nexport interface SearchDocument extends SearchIndexDocument {\n parent?: SearchIndexDocument /* Parent article */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search document mapping\n */\nexport type SearchDocumentMap = Map\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Create a search document mapping\n *\n * @param docs - Search index documents\n *\n * @returns Search document map\n */\nexport function setupSearchDocumentMap(\n docs: SearchIndexDocument[]\n): SearchDocumentMap {\n const documents = new Map()\n const parents = new Set()\n for (const doc of docs) {\n const [path, hash] = doc.location.split(\"#\")\n\n /* Extract location and title */\n const location = doc.location\n const title = doc.title\n\n /* Escape and cleanup text */\n const text = escapeHTML(doc.text)\n .replace(/\\s+(?=[,.:;!?])/g, \"\")\n .replace(/\\s+/g, \" \")\n\n /* Handle section */\n if (hash) {\n const parent = documents.get(path)!\n\n /* Ignore first section, override article */\n if (!parents.has(parent)) {\n parent.title = doc.title\n parent.text = text\n\n /* Remember that we processed the article */\n parents.add(parent)\n\n /* Add subsequent section */\n } else {\n documents.set(location, {\n location,\n title,\n text,\n parent\n })\n }\n\n /* Add article */\n } else {\n documents.set(location, {\n location,\n title,\n text\n })\n }\n }\n return documents\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search transformation function\n *\n * @param value - Query value\n *\n * @returns Transformed query value\n */\nexport type SearchTransformFn = (value: string) => string\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Default transformation function\n *\n * 1. Search for terms in quotation marks and prepend a `+` modifier to denote\n * that the resulting document must contain all terms, converting the query\n * to an `AND` query (as opposed to the default `OR` behavior). While users\n * may expect terms enclosed in quotation marks to map to span queries, i.e.\n * for which order is important, Lunr.js doesn't support them, so the best\n * we can do is to convert the terms to an `AND` query.\n *\n * 2. Replace control characters which are not located at the beginning of the\n * query or preceded by white space, or are not followed by a non-whitespace\n * character or are at the end of the query string. Furthermore, filter\n * unmatched quotation marks.\n *\n * 3. Trim excess whitespace from left and right.\n *\n * @param query - Query value\n *\n * @returns Transformed query value\n */\nexport function defaultTransform(query: string): string {\n return query\n .split(/\"([^\"]+)\"/g) /* => 1 */\n .map((terms, index) => index & 1\n ? terms.replace(/^\\b|^(?![^\\x00-\\x7F]|$)|\\s+/g, \" +\")\n : terms\n )\n .join(\"\")\n .replace(/\"|(?:^|\\s+)[*+\\-:^~]+(?=\\s+|$)/g, \"\") /* => 2 */\n .trim() /* => 3 */\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndex, SearchResult } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search message type\n */\nexport const enum SearchMessageType {\n SETUP, /* Search index setup */\n READY, /* Search index ready */\n QUERY, /* Search query */\n RESULT /* Search results */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message containing the data necessary to setup the search index\n */\nexport interface SearchSetupMessage {\n type: SearchMessageType.SETUP /* Message type */\n data: SearchIndex /* Message data */\n}\n\n/**\n * A message indicating the search index is ready\n */\nexport interface SearchReadyMessage {\n type: SearchMessageType.READY /* Message type */\n}\n\n/**\n * A message containing a search query\n */\nexport interface SearchQueryMessage {\n type: SearchMessageType.QUERY /* Message type */\n data: string /* Message data */\n}\n\n/**\n * A message containing results for a search query\n */\nexport interface SearchResultMessage {\n type: SearchMessageType.RESULT /* Message type */\n data: SearchResult[] /* Message data */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message exchanged with the search worker\n */\nexport type SearchMessage =\n | SearchSetupMessage\n | SearchReadyMessage\n | SearchQueryMessage\n | SearchResultMessage\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Type guard for search setup messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchSetupMessage(\n message: SearchMessage\n): message is SearchSetupMessage {\n return message.type === SearchMessageType.SETUP\n}\n\n/**\n * Type guard for search ready messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchReadyMessage(\n message: SearchMessage\n): message is SearchReadyMessage {\n return message.type === SearchMessageType.READY\n}\n\n/**\n * Type guard for search query messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchQueryMessage(\n message: SearchMessage\n): message is SearchQueryMessage {\n return message.type === SearchMessageType.QUERY\n}\n\n/**\n * Type guard for search result messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchResultMessage(\n message: SearchMessage\n): message is SearchResultMessage {\n return message.type === SearchMessageType.RESULT\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ObservableInput, Subject, from } from \"rxjs\"\nimport { map, share } from \"rxjs/operators\"\n\nimport { configuration, translation } from \"~/_\"\nimport { WorkerHandler, watchWorker } from \"~/browser\"\n\nimport { SearchIndex, SearchIndexPipeline } from \"../../_\"\nimport {\n SearchMessage,\n SearchMessageType,\n SearchSetupMessage,\n isSearchResultMessage\n} from \"../message\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search worker\n */\nexport type SearchWorker = WorkerHandler\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up search index\n *\n * @param data - Search index\n *\n * @returns Search index\n */\nfunction setupSearchIndex(\n { config, docs, index }: SearchIndex\n): SearchIndex {\n\n /* Override default language with value from translation */\n if (config.lang.length === 1 && config.lang[0] === \"en\")\n config.lang = [\n translation(\"search.config.lang\")\n ]\n\n /* Override default separator with value from translation */\n if (config.separator === \"[\\\\s\\\\-]+\")\n config.separator = translation(\"search.config.separator\")\n\n /* Set pipeline from translation */\n const pipeline = translation(\"search.config.pipeline\")\n .split(/\\s*,\\s*/)\n .filter(Boolean) as SearchIndexPipeline\n\n /* Return search index after defaulting */\n return { config, docs, index, pipeline }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up search worker\n *\n * This function will create a web worker to set up and query the search index\n * which is done using Lunr.js. The index must be passed as an observable to\n * enable hacks like _localsearch_ via search index embedding as JSON.\n *\n * @param url - Worker URL\n * @param index - Search index observable input\n *\n * @returns Search worker\n */\nexport function setupSearchWorker(\n url: string, index: ObservableInput\n): SearchWorker {\n const config = configuration()\n const worker = new Worker(url)\n\n /* Create communication channels and resolve relative links */\n const tx$ = new Subject()\n const rx$ = watchWorker(worker, { tx$ })\n .pipe(\n map(message => {\n if (isSearchResultMessage(message)) {\n for (const result of message.data)\n for (const document of result)\n document.location = `${config.base}/${document.location}`\n }\n return message\n }),\n share()\n )\n\n /* Set up search index */\n from(index)\n .pipe(\n map(data => ({\n type: SearchMessageType.SETUP,\n data: setupSearchIndex(data)\n }))\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Return search worker */\n return { tx$, rx$ }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n combineLatest,\n fromEvent,\n merge\n} from \"rxjs\"\nimport {\n delay,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n finalize,\n map,\n startWith,\n takeLast,\n takeUntil,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetSearchQueryPlaceholder,\n setSearchQueryPlaceholder\n} from \"~/actions\"\nimport {\n setElementFocus,\n setToggle,\n watchElementFocus\n} from \"~/browser\"\nimport {\n SearchMessageType,\n SearchQueryMessage,\n SearchWorker,\n defaultTransform\n} from \"~/integrations\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search query\n */\nexport interface SearchQuery {\n value: string /* Query value */\n focus: boolean /* Query focus */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch search query\n *\n * Note that the focus event which triggers re-reading the current query value\n * is delayed by `1ms` so the input's empty state is allowed to propagate.\n *\n * @param el - Search query element\n *\n * @returns Search query observable\n */\nexport function watchSearchQuery(\n el: HTMLInputElement\n): Observable {\n const fn = __search?.transform || defaultTransform\n\n /* Intercept focus and input events */\n const focus$ = watchElementFocus(el)\n const value$ = merge(\n fromEvent(el, \"keyup\"),\n fromEvent(el, \"focus\").pipe(delay(1))\n )\n .pipe(\n map(() => fn(el.value)),\n startWith(fn(el.value)),\n distinctUntilChanged()\n )\n\n /* Combine into single observable */\n return combineLatest([value$, focus$])\n .pipe(\n map(([value, focus]) => ({ value, focus }))\n )\n}\n\n/**\n * Mount search query\n *\n * @param el - Search query element\n * @param worker - Search worker\n *\n * @returns Search query component observable\n */\nexport function mountSearchQuery(\n el: HTMLInputElement, { tx$ }: SearchWorker\n): Observable> {\n const internal$ = new Subject()\n\n /* Handle value changes */\n internal$\n .pipe(\n distinctUntilKeyChanged(\"value\"),\n map(({ value }): SearchQueryMessage => ({\n type: SearchMessageType.QUERY,\n data: value\n }))\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Handle focus changes */\n internal$\n .pipe(\n distinctUntilKeyChanged(\"focus\")\n )\n .subscribe(({ focus }) => {\n if (focus) {\n setToggle(\"search\", focus)\n setSearchQueryPlaceholder(el, \"\")\n } else {\n resetSearchQueryPlaceholder(el)\n }\n })\n\n /* Handle reset */\n fromEvent(el.form!, \"reset\")\n .pipe(\n takeUntil(internal$.pipe(takeLast(1)))\n )\n .subscribe(() => setElementFocus(el))\n\n /* Create and return component */\n return watchSearchQuery(el)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n filter,\n finalize,\n map,\n observeOn,\n startWith,\n switchMap,\n tap,\n withLatestFrom,\n zipWith\n} from \"rxjs/operators\"\n\nimport {\n addToSearchResultList,\n resetSearchResultList,\n resetSearchResultMeta,\n setSearchResultMeta\n} from \"~/actions\"\nimport {\n getElementOrThrow,\n watchElementThreshold\n} from \"~/browser\"\nimport {\n SearchResult as SearchResultData,\n SearchWorker,\n isSearchResultMessage\n} from \"~/integrations\"\nimport { renderSearchResult } from \"~/templates\"\n\nimport { Component } from \"../../_\"\nimport { SearchQuery } from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search result\n */\nexport interface SearchResult {\n data: SearchResultData[] /* Search result data */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n query$: Observable /* Search query observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount search result list\n *\n * This function will perform a lazy rendering of the search results, depending\n * on the vertical offset of the search result container.\n *\n * @param el - Search result list element\n * @param worker - Search worker\n * @param options - Options\n *\n * @returns Search result list component observable\n */\nexport function mountSearchResult(\n el: HTMLElement, { rx$ }: SearchWorker, { query$ }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n const boundary$ = watchElementThreshold(el.parentElement!)\n .pipe(\n filter(Boolean)\n )\n\n /* Update search result metadata */\n const meta = getElementOrThrow(\":scope > :first-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(query$)\n )\n .subscribe(([{ data }, { value }]) => {\n if (value)\n setSearchResultMeta(meta, data.length)\n else\n resetSearchResultMeta(meta)\n })\n\n /* Update search result list */\n const list = getElementOrThrow(\":scope > :last-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n tap(() => resetSearchResultList(list)),\n switchMap(({ data }) => merge(\n of(...data.slice(0, 10)),\n of(...data.slice(10))\n .pipe(\n bufferCount(4),\n zipWith(boundary$),\n switchMap(([chunk]) => of(...chunk))\n )\n ))\n )\n .subscribe(result => {\n addToSearchResultList(list, renderSearchResult(result))\n })\n\n /* Filter search result list */\n const result$ = rx$\n .pipe(\n filter(isSearchResultMessage),\n map(({ data }) => ({ data })),\n startWith({ data: [] })\n )\n\n /* Create and return component */\n return result$\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, ObservableInput, merge } from \"rxjs\"\nimport { filter, sample, take } from \"rxjs/operators\"\n\nimport { configuration } from \"~/_\"\nimport {\n Keyboard,\n getActiveElement,\n getElements,\n requestJSON,\n setElementFocus,\n setElementSelection,\n setToggle\n} from \"~/browser\"\nimport {\n SearchIndex,\n isSearchQueryMessage,\n isSearchReadyMessage,\n setupSearchWorker\n} from \"~/integrations\"\n\nimport { Component, getComponentElement } from \"../../_\"\nimport { SearchQuery, mountSearchQuery } from \"../query\"\nimport { SearchResult, mountSearchResult } from \"../result\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search\n */\nexport type Search =\n | SearchQuery\n | SearchResult\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n keyboard$: Observable /* Keyboard observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @param url - Search index URL\n *\n * @returns Promise or observable\n */\nfunction fetchSearchIndex(url: string): ObservableInput {\n return __search?.index || requestJSON(url)\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount search\n *\n * This function sets up the search functionality, including the underlying\n * web worker and all keyboard bindings.\n *\n * @param el - Search element\n * @param options - Options\n *\n * @returns Search component observable\n */\nexport function mountSearch(\n el: HTMLElement, { keyboard$ }: MountOptions\n): Observable> {\n if (location.protocol === \"file:\")\n return NEVER\n\n /* Set up search worker */\n const config = configuration()\n const worker = setupSearchWorker(config.search, fetchSearchIndex(\n `${config.base}/search/search_index.json`\n ))\n\n /* Retrieve nested components */\n const query = getComponentElement(\"search-query\", el)\n const result = getComponentElement(\"search-result\", el)\n\n /* Re-emit query when search is ready */\n const { tx$, rx$ } = worker\n tx$\n .pipe(\n filter(isSearchQueryMessage),\n sample(rx$.pipe(filter(isSearchReadyMessage))),\n take(1)\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Set up search keyboard handlers */\n keyboard$\n .pipe(\n filter(({ mode }) => mode === \"search\")\n )\n .subscribe(key => {\n const active = getActiveElement()\n switch (key.type) {\n\n /* Enter: prevent form submission */\n case \"Enter\":\n if (active === query)\n key.claim()\n break\n\n /* Escape or Tab: close search */\n case \"Escape\":\n case \"Tab\":\n setToggle(\"search\", false)\n setElementFocus(query, false)\n break\n\n /* Vertical arrows: select previous or next search result */\n case \"ArrowUp\":\n case \"ArrowDown\":\n if (typeof active === \"undefined\") {\n setElementFocus(query)\n } else {\n const els = [query, ...getElements(\n \":not(details) > [href], summary, details[open] [href]\",\n result\n )]\n const i = Math.max(0, (\n Math.max(0, els.indexOf(active)) + els.length + (\n key.type === \"ArrowUp\" ? -1 : +1\n )\n ) % els.length)\n setElementFocus(els[i])\n }\n\n /* Prevent scrolling of page */\n key.claim()\n break\n\n /* All other keys: hand to search query */\n default:\n if (query !== getActiveElement())\n setElementFocus(query)\n }\n })\n\n /* Set up global keyboard handlers */\n keyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\"),\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Open search and select query */\n case \"f\":\n case \"s\":\n case \"/\":\n setElementFocus(query)\n setElementSelection(query)\n key.claim()\n break\n }\n })\n\n /* Create and return component */\n const query$ = mountSearchQuery(query as HTMLInputElement, worker)\n return merge(\n query$,\n mountSearchResult(result, worker, { query$ })\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest\n} from \"rxjs\"\nimport {\n distinctUntilChanged,\n finalize,\n map,\n observeOn,\n tap,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport {\n resetSidebarHeight,\n resetSidebarOffset,\n setSidebarHeight,\n setSidebarOffset\n} from \"~/actions\"\nimport { Viewport } from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\nimport { Main } from \"../main\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Sidebar\n */\nexport interface Sidebar {\n height: number /* Sidebar height */\n locked: boolean /* User scrolled past header */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n main$: Observable
    /* Main area observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n main$: Observable
    /* Main area observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch sidebar\n *\n * This function returns an observable that computes the visual parameters of\n * the sidebar which depends on the vertical viewport offset, as well as the\n * height of the main area. When the page is scrolled beyond the header, the\n * sidebar is locked and fills the remaining space.\n *\n * @param el - Sidebar element\n * @param options - Options\n *\n * @returns Sidebar observable\n */\nexport function watchSidebar(\n el: HTMLElement, { viewport$, main$ }: WatchOptions\n): Observable {\n const adjust =\n el.parentElement!.offsetTop -\n el.parentElement!.parentElement!.offsetTop\n\n /* Compute the sidebar's available height and if it should be locked */\n return combineLatest([main$, viewport$])\n .pipe(\n map(([{ offset, height }, { offset: { y } }]) => {\n height = height\n + Math.min(adjust, Math.max(0, y - offset))\n - adjust\n return {\n height,\n locked: y >= offset + adjust\n }\n }),\n distinctUntilChanged((a, b) => (\n a.height === b.height &&\n a.locked === b.locked\n ))\n )\n}\n\n/**\n * Mount sidebar\n *\n * @param el - Sidebar element\n * @param options - Options\n *\n * @returns Sidebar component observable\n */\nexport function mountSidebar(\n el: HTMLElement, { header$, ...options }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(header$)\n )\n .subscribe({\n\n /* Update height and offset */\n next([{ height }, { height: offset }]) {\n setSidebarHeight(el, height)\n setSidebarOffset(el, offset)\n },\n\n /* Reset on complete */\n complete() {\n resetSidebarOffset(el)\n resetSidebarHeight(el)\n }\n })\n\n /* Create and return component */\n return watchSidebar(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Repo, User } from \"github-types\"\nimport { Observable } from \"rxjs\"\nimport { defaultIfEmpty, map } from \"rxjs/operators\"\n\nimport { requestJSON } from \"~/browser\"\nimport { round } from \"~/utilities\"\n\nimport { SourceFacts } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch GitHub repository facts\n *\n * @param user - GitHub user\n * @param repo - GitHub repository\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFactsFromGitHub(\n user: string, repo?: string\n): Observable {\n const url = typeof repo !== \"undefined\"\n ? `https://api.github.com/repos/${user}/${repo}`\n : `https://api.github.com/users/${user}`\n return requestJSON(url)\n .pipe(\n map(data => {\n\n /* GitHub repository */\n if (typeof repo !== \"undefined\") {\n const { stargazers_count, forks_count }: Repo = data\n return [\n `${round(stargazers_count!)} Stars`,\n `${round(forks_count!)} Forks`\n ]\n\n /* GitHub user/organization */\n } else {\n const { public_repos }: User = data\n return [\n `${round(public_repos!)} Repositories`\n ]\n }\n }),\n defaultIfEmpty([])\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ProjectSchema } from \"gitlab\"\nimport { Observable } from \"rxjs\"\nimport { defaultIfEmpty, map } from \"rxjs/operators\"\n\nimport { requestJSON } from \"~/browser\"\nimport { round } from \"~/utilities\"\n\nimport { SourceFacts } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch GitLab repository facts\n *\n * @param base - GitLab base\n * @param project - GitLab project\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFactsFromGitLab(\n base: string, project: string\n): Observable {\n const url = `https://${base}/api/v4/projects/${encodeURIComponent(project)}`\n return requestJSON(url)\n .pipe(\n map(({ star_count, forks_count }) => ([\n `${round(star_count)} Stars`,\n `${round(forks_count)} Forks`\n ])),\n defaultIfEmpty([])\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable } from \"rxjs\"\n\nimport { fetchSourceFactsFromGitHub } from \"../github\"\nimport { fetchSourceFactsFromGitLab } from \"../gitlab\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository facts\n */\nexport type SourceFacts = string[]\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch repository facts\n *\n * @param url - Repository URL\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFacts(\n url: string\n): Observable {\n const [type] = url.match(/(git(?:hub|lab))/i) || []\n switch (type.toLowerCase()) {\n\n /* GitHub repository */\n case \"github\":\n const [, user, repo] = url.match(/^.+github\\.com\\/([^/]+)\\/?([^/]+)?/i)!\n return fetchSourceFactsFromGitHub(user, repo)\n\n /* GitLab repository */\n case \"gitlab\":\n const [, base, slug] = url.match(/^.+?([^/]*gitlab[^/]+)\\/(.+?)\\/?$/i)!\n return fetchSourceFactsFromGitLab(base, slug)\n\n /* Everything else */\n default:\n return NEVER\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, Subject, defer, of } from \"rxjs\"\nimport {\n catchError,\n filter,\n finalize,\n map,\n shareReplay,\n tap\n} from \"rxjs/operators\"\n\nimport { setSourceFacts, setSourceState } from \"~/actions\"\nimport { renderSourceFacts } from \"~/templates\"\nimport { hash } from \"~/utilities\"\n\nimport { Component } from \"../../_\"\nimport { SourceFacts, fetchSourceFacts } from \"../facts\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository information\n */\nexport interface Source {\n facts: SourceFacts /* Repository facts */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository facts observable\n */\nlet fetch$: Observable\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch repository information\n *\n * This function will try to read the repository facts from session storage,\n * and if unsuccessful, fetch them from the underlying provider.\n *\n * @param el - Repository information element\n *\n * @returns Repository information observable\n */\nexport function watchSource(\n el: HTMLAnchorElement\n): Observable {\n const digest = hash(el.href).toString()\n\n /* Fetch repository facts once */\n return fetch$ ||= defer(() => {\n const data = sessionStorage.getItem(digest)\n if (data) {\n return of(JSON.parse(data))\n } else {\n const value$ = fetchSourceFacts(el.href)\n value$.subscribe(value => {\n try {\n sessionStorage.setItem(digest, JSON.stringify(value))\n } catch (err) {\n /* Uncritical, just swallow */\n }\n })\n\n /* Return value */\n return value$\n }\n })\n .pipe(\n catchError(() => NEVER),\n filter(facts => facts.length > 0),\n map(facts => ({ facts })),\n shareReplay(1)\n )\n}\n\n/**\n * Mount repository information\n *\n * @param el - Repository information element\n *\n * @returns Repository information component observable\n */\nexport function mountSource(\n el: HTMLAnchorElement\n): Observable> {\n const internal$ = new Subject()\n internal$.subscribe(({ facts }) => {\n setSourceFacts(el, renderSourceFacts(facts))\n setSourceState(el, \"done\")\n })\n\n /* Create and return component */\n return watchSource(el)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject, animationFrameScheduler } from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n tap\n} from \"rxjs/operators\"\n\nimport { resetTabsState, setTabsState } from \"~/actions\"\nimport { Viewport, watchViewportAt } from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Navigation tabs\n */\nexport interface Tabs {\n hidden: boolean /* User scrolled past tabs */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch navigation tabs\n *\n * @param el - Navigation tabs element\n * @param options - Options\n *\n * @returns Navigation tabs observable\n */\nexport function watchTabs(\n el: HTMLElement, { viewport$, header$ }: WatchOptions\n): Observable {\n return watchViewportAt(el, { header$, viewport$ })\n .pipe(\n map(({ offset: { y } }) => {\n return {\n hidden: y >= 10\n }\n }),\n distinctUntilKeyChanged(\"hidden\")\n )\n}\n\n/**\n * Mount navigation tabs\n *\n * This function hides the navigation tabs when scrolling past the threshold\n * and makes them reappear in a nice CSS animation when scrolling back up.\n *\n * @param el - Navigation tabs element\n * @param options - Options\n *\n * @returns Navigation tabs component observable\n */\nexport function mountTabs(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler)\n )\n .subscribe({\n\n /* Update state */\n next({ hidden }) {\n if (hidden)\n setTabsState(el, \"hidden\")\n else\n resetTabsState(el)\n },\n\n /* Reset on complete */\n complete() {\n resetTabsState(el)\n }\n })\n\n /* Create and return component */\n return watchTabs(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest\n} from \"rxjs\"\nimport {\n bufferCount,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n scan,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetAnchorActive,\n resetAnchorState,\n setAnchorActive,\n setAnchorState\n} from \"~/actions\"\nimport {\n Viewport,\n getElement,\n getElements,\n watchElementSize\n} from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Table of contents\n */\nexport interface TableOfContents {\n prev: HTMLAnchorElement[][] /* Anchors (previous) */\n next: HTMLAnchorElement[][] /* Anchors (next) */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch table of contents\n *\n * This is effectively a scroll spy implementation which will account for the\n * fixed header and automatically re-calculate anchor offsets when the viewport\n * is resized. The returned observable will only emit if the table of contents\n * needs to be repainted.\n *\n * This implementation tracks an anchor element's entire path starting from its\n * level up to the top-most anchor element, e.g. `[h3, h2, h1]`. Although the\n * Material theme currently doesn't make use of this information, it enables\n * the styling of the entire hierarchy through customization.\n *\n * Note that the current anchor is the last item of the `prev` anchor list.\n *\n * @param anchors - Anchor elements\n * @param options - Options\n *\n * @returns Table of contents observable\n */\nexport function watchTableOfContents(\n anchors: HTMLAnchorElement[], { viewport$, header$ }: WatchOptions\n): Observable {\n const table = new Map()\n for (const anchor of anchors) {\n const id = decodeURIComponent(anchor.hash.substring(1))\n const target = getElement(`[id=\"${id}\"]`)\n if (typeof target !== \"undefined\")\n table.set(anchor, target)\n }\n\n /* Compute necessary adjustment for header */\n const adjust$ = header$\n .pipe(\n map(header => 24 + header.height)\n )\n\n /* Compute partition of previous and next anchors */\n const partition$ = watchElementSize(document.body)\n .pipe(\n distinctUntilKeyChanged(\"height\"),\n\n /* Build index to map anchor paths to vertical offsets */\n map(() => {\n let path: HTMLAnchorElement[] = []\n return [...table].reduce((index, [anchor, target]) => {\n while (path.length) {\n const last = table.get(path[path.length - 1])!\n if (last.tagName >= target.tagName) {\n path.pop()\n } else {\n break\n }\n }\n\n /* If the current anchor is hidden, continue with its parent */\n let offset = target.offsetTop\n while (!offset && target.parentElement) {\n target = target.parentElement\n offset = target.offsetTop\n }\n\n /* Map reversed anchor path to vertical offset */\n return index.set(\n [...path = [...path, anchor]].reverse(),\n offset\n )\n }, new Map())\n }),\n\n /* Re-compute partition when viewport offset changes */\n switchMap(index => combineLatest([adjust$, viewport$])\n .pipe(\n scan(([prev, next], [adjust, { offset: { y } }]) => {\n\n /* Look forward */\n while (next.length) {\n const [, offset] = next[0]\n if (offset - adjust < y) {\n prev = [...prev, next.shift()!]\n } else {\n break\n }\n }\n\n /* Look backward */\n while (prev.length) {\n const [, offset] = prev[prev.length - 1]\n if (offset - adjust >= y) {\n next = [prev.pop()!, ...next]\n } else {\n break\n }\n }\n\n /* Return partition */\n return [prev, next]\n }, [[], [...index]]),\n distinctUntilChanged((a, b) => (\n a[0] === b[0] &&\n a[1] === b[1]\n ))\n )\n )\n )\n\n /* Compute and return anchor list migrations */\n return partition$\n .pipe(\n map(([prev, next]) => ({\n prev: prev.map(([path]) => path),\n next: next.map(([path]) => path)\n })),\n\n /* Extract anchor list migrations */\n startWith({ prev: [], next: [] }),\n bufferCount(2, 1),\n map(([a, b]) => {\n\n /* Moving down */\n if (a.prev.length < b.prev.length) {\n return {\n prev: b.prev.slice(Math.max(0, a.prev.length - 1), b.prev.length),\n next: []\n }\n\n /* Moving up */\n } else {\n return {\n prev: b.prev.slice(-1),\n next: b.next.slice(0, b.next.length - a.next.length)\n }\n }\n })\n )\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Mount table of contents\n *\n * @param el - Anchor list element\n * @param options - Options\n *\n * @returns Table of contents component observable\n */\nexport function mountTableOfContents(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n )\n .subscribe(({ prev, next }) => {\n\n /* Look forward */\n for (const [anchor] of next) {\n resetAnchorActive(anchor)\n resetAnchorState(anchor)\n }\n\n /* Look backward */\n for (const [index, [anchor]] of prev.entries()) {\n setAnchorActive(anchor, index === prev.length - 1)\n setAnchorState(anchor, \"blur\")\n }\n })\n\n /* Create and return component */\n const anchors = getElements(\"[href^=\\\\#]\", el)\n return watchTableOfContents(anchors, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable } from \"rxjs\"\n\nimport { getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch options\n */\ninterface PatchOptions {\n document$: Observable /* Document observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch indeterminate checkboxes\n *\n * This function will replace the indeterminate \"pseudo state\" with the actual\n * indeterminate state, which is used to keep navigation always expanded.\n *\n * @param options - Options\n */\nexport function patchIndeterminate(\n { document$ }: PatchOptions\n): void {\n document$.subscribe(() => {\n for (const el of getElements(\n \"[data-md-state=indeterminate]\"\n )) {\n el.setAttribute(\"data-md-state\", \"\")\n el.indeterminate = true\n el.checked = false\n }\n })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, of } from \"rxjs\"\nimport {\n filter,\n mapTo,\n mergeMap,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport { getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch options\n */\ninterface PatchOptions {\n document$: Observable /* Document observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Check whether the given device is an Apple device\n *\n * @returns Test result\n */\nfunction isAppleDevice(): boolean {\n return /(iPad|iPhone|iPod)/.test(navigator.userAgent)\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch all elements with `data-md-scrollfix` attributes\n *\n * This is a year-old patch which ensures that overflow scrolling works at the\n * top and bottom of containers on iOS by ensuring a `1px` scroll offset upon\n * the start of a touch event.\n *\n * @see https://bit.ly/2SCtAOO - Original source\n *\n * @param options - Options\n */\nexport function patchScrollfix(\n { document$ }: PatchOptions\n): void {\n document$\n .pipe(\n switchMap(() => of(...getElements(\"[data-md-scrollfix]\"))),\n tap(el => el.removeAttribute(\"data-md-scrollfix\")),\n filter(isAppleDevice),\n mergeMap(el => fromEvent(el, \"touchstart\")\n .pipe(\n mapTo(el)\n )\n )\n )\n .subscribe(el => {\n const top = el.scrollTop\n\n /* We're at the top of the container */\n if (top === 0) {\n el.scrollTop = 1\n\n /* We're at the bottom of the container */\n } else if (top + el.offsetHeight === el.scrollHeight) {\n el.scrollTop = top - 1\n }\n })\n}\n"], + "mappings": "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", + "names": [] +} diff --git a/material/assets/javascripts/lunr/tinyseg.js b/material/assets/javascripts/lunr/tinyseg.js new file mode 100644 index 000000000..167fa6dd6 --- /dev/null +++ b/material/assets/javascripts/lunr/tinyseg.js @@ -0,0 +1,206 @@ +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function () { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + + return function(lunr) { + // TinySegmenter 0.1 -- Super compact Japanese tokenizer in Javascript + // (c) 2008 Taku Kudo + // TinySegmenter is freely distributable under the terms of a new BSD licence. + // For details, see http://chasen.org/~taku/software/TinySegmenter/LICENCE.txt + + function TinySegmenter() { + var patterns = { + "[一二三四五六七八九十百千万億兆]":"M", + "[一-龠々〆ヵヶ]":"H", + "[ぁ-ん]":"I", + "[ァ-ヴーア-ン゙ー]":"K", + "[a-zA-Za-zA-Z]":"A", + "[0-90-9]":"N" + } + this.chartype_ = []; + for (var i in patterns) { + var regexp = new RegExp(i); + this.chartype_.push([regexp, patterns[i]]); + } + + this.BIAS__ = -332 + this.BC1__ = {"HH":6,"II":2461,"KH":406,"OH":-1378}; + this.BC2__ = {"AA":-3267,"AI":2744,"AN":-878,"HH":-4070,"HM":-1711,"HN":4012,"HO":3761,"IA":1327,"IH":-1184,"II":-1332,"IK":1721,"IO":5492,"KI":3831,"KK":-8741,"MH":-3132,"MK":3334,"OO":-2920}; + this.BC3__ = {"HH":996,"HI":626,"HK":-721,"HN":-1307,"HO":-836,"IH":-301,"KK":2762,"MK":1079,"MM":4034,"OA":-1652,"OH":266}; + this.BP1__ = {"BB":295,"OB":304,"OO":-125,"UB":352}; + this.BP2__ = {"BO":60,"OO":-1762}; + this.BQ1__ = {"BHH":1150,"BHM":1521,"BII":-1158,"BIM":886,"BMH":1208,"BNH":449,"BOH":-91,"BOO":-2597,"OHI":451,"OIH":-296,"OKA":1851,"OKH":-1020,"OKK":904,"OOO":2965}; + this.BQ2__ = {"BHH":118,"BHI":-1159,"BHM":466,"BIH":-919,"BKK":-1720,"BKO":864,"OHH":-1139,"OHM":-181,"OIH":153,"UHI":-1146}; + this.BQ3__ = {"BHH":-792,"BHI":2664,"BII":-299,"BKI":419,"BMH":937,"BMM":8335,"BNN":998,"BOH":775,"OHH":2174,"OHM":439,"OII":280,"OKH":1798,"OKI":-793,"OKO":-2242,"OMH":-2402,"OOO":11699}; + this.BQ4__ = {"BHH":-3895,"BIH":3761,"BII":-4654,"BIK":1348,"BKK":-1806,"BMI":-3385,"BOO":-12396,"OAH":926,"OHH":266,"OHK":-2036,"ONN":-973}; + this.BW1__ = {",と":660,",同":727,"B1あ":1404,"B1同":542,"、と":660,"、同":727,"」と":1682,"あっ":1505,"いう":1743,"いっ":-2055,"いる":672,"うし":-4817,"うん":665,"から":3472,"がら":600,"こう":-790,"こと":2083,"こん":-1262,"さら":-4143,"さん":4573,"した":2641,"して":1104,"すで":-3399,"そこ":1977,"それ":-871,"たち":1122,"ため":601,"った":3463,"つい":-802,"てい":805,"てき":1249,"でき":1127,"です":3445,"では":844,"とい":-4915,"とみ":1922,"どこ":3887,"ない":5713,"なっ":3015,"など":7379,"なん":-1113,"にし":2468,"には":1498,"にも":1671,"に対":-912,"の一":-501,"の中":741,"ませ":2448,"まで":1711,"まま":2600,"まる":-2155,"やむ":-1947,"よっ":-2565,"れた":2369,"れで":-913,"をし":1860,"を見":731,"亡く":-1886,"京都":2558,"取り":-2784,"大き":-2604,"大阪":1497,"平方":-2314,"引き":-1336,"日本":-195,"本当":-2423,"毎日":-2113,"目指":-724,"B1あ":1404,"B1同":542,"」と":1682}; + this.BW2__ = {"..":-11822,"11":-669,"――":-5730,"−−":-13175,"いう":-1609,"うか":2490,"かし":-1350,"かも":-602,"から":-7194,"かれ":4612,"がい":853,"がら":-3198,"きた":1941,"くな":-1597,"こと":-8392,"この":-4193,"させ":4533,"され":13168,"さん":-3977,"しい":-1819,"しか":-545,"した":5078,"して":972,"しな":939,"その":-3744,"たい":-1253,"たた":-662,"ただ":-3857,"たち":-786,"たと":1224,"たは":-939,"った":4589,"って":1647,"っと":-2094,"てい":6144,"てき":3640,"てく":2551,"ては":-3110,"ても":-3065,"でい":2666,"でき":-1528,"でし":-3828,"です":-4761,"でも":-4203,"とい":1890,"とこ":-1746,"とと":-2279,"との":720,"とみ":5168,"とも":-3941,"ない":-2488,"なが":-1313,"など":-6509,"なの":2614,"なん":3099,"にお":-1615,"にし":2748,"にな":2454,"によ":-7236,"に対":-14943,"に従":-4688,"に関":-11388,"のか":2093,"ので":-7059,"のに":-6041,"のの":-6125,"はい":1073,"はが":-1033,"はず":-2532,"ばれ":1813,"まし":-1316,"まで":-6621,"まれ":5409,"めて":-3153,"もい":2230,"もの":-10713,"らか":-944,"らし":-1611,"らに":-1897,"りし":651,"りま":1620,"れた":4270,"れて":849,"れば":4114,"ろう":6067,"われ":7901,"を通":-11877,"んだ":728,"んな":-4115,"一人":602,"一方":-1375,"一日":970,"一部":-1051,"上が":-4479,"会社":-1116,"出て":2163,"分の":-7758,"同党":970,"同日":-913,"大阪":-2471,"委員":-1250,"少な":-1050,"年度":-8669,"年間":-1626,"府県":-2363,"手権":-1982,"新聞":-4066,"日新":-722,"日本":-7068,"日米":3372,"曜日":-601,"朝鮮":-2355,"本人":-2697,"東京":-1543,"然と":-1384,"社会":-1276,"立て":-990,"第に":-1612,"米国":-4268,"11":-669}; + this.BW3__ = {"あた":-2194,"あり":719,"ある":3846,"い.":-1185,"い。":-1185,"いい":5308,"いえ":2079,"いく":3029,"いた":2056,"いっ":1883,"いる":5600,"いわ":1527,"うち":1117,"うと":4798,"えと":1454,"か.":2857,"か。":2857,"かけ":-743,"かっ":-4098,"かに":-669,"から":6520,"かり":-2670,"が,":1816,"が、":1816,"がき":-4855,"がけ":-1127,"がっ":-913,"がら":-4977,"がり":-2064,"きた":1645,"けど":1374,"こと":7397,"この":1542,"ころ":-2757,"さい":-714,"さを":976,"し,":1557,"し、":1557,"しい":-3714,"した":3562,"して":1449,"しな":2608,"しま":1200,"す.":-1310,"す。":-1310,"する":6521,"ず,":3426,"ず、":3426,"ずに":841,"そう":428,"た.":8875,"た。":8875,"たい":-594,"たの":812,"たり":-1183,"たる":-853,"だ.":4098,"だ。":4098,"だっ":1004,"った":-4748,"って":300,"てい":6240,"てお":855,"ても":302,"です":1437,"でに":-1482,"では":2295,"とう":-1387,"とし":2266,"との":541,"とも":-3543,"どう":4664,"ない":1796,"なく":-903,"など":2135,"に,":-1021,"に、":-1021,"にし":1771,"にな":1906,"には":2644,"の,":-724,"の、":-724,"の子":-1000,"は,":1337,"は、":1337,"べき":2181,"まし":1113,"ます":6943,"まっ":-1549,"まで":6154,"まれ":-793,"らし":1479,"られ":6820,"るる":3818,"れ,":854,"れ、":854,"れた":1850,"れて":1375,"れば":-3246,"れる":1091,"われ":-605,"んだ":606,"んで":798,"カ月":990,"会議":860,"入り":1232,"大会":2217,"始め":1681,"市":965,"新聞":-5055,"日,":974,"日、":974,"社会":2024,"カ月":990}; + this.TC1__ = {"AAA":1093,"HHH":1029,"HHM":580,"HII":998,"HOH":-390,"HOM":-331,"IHI":1169,"IOH":-142,"IOI":-1015,"IOM":467,"MMH":187,"OOI":-1832}; + this.TC2__ = {"HHO":2088,"HII":-1023,"HMM":-1154,"IHI":-1965,"KKH":703,"OII":-2649}; + this.TC3__ = {"AAA":-294,"HHH":346,"HHI":-341,"HII":-1088,"HIK":731,"HOH":-1486,"IHH":128,"IHI":-3041,"IHO":-1935,"IIH":-825,"IIM":-1035,"IOI":-542,"KHH":-1216,"KKA":491,"KKH":-1217,"KOK":-1009,"MHH":-2694,"MHM":-457,"MHO":123,"MMH":-471,"NNH":-1689,"NNO":662,"OHO":-3393}; + this.TC4__ = {"HHH":-203,"HHI":1344,"HHK":365,"HHM":-122,"HHN":182,"HHO":669,"HIH":804,"HII":679,"HOH":446,"IHH":695,"IHO":-2324,"IIH":321,"III":1497,"IIO":656,"IOO":54,"KAK":4845,"KKA":3386,"KKK":3065,"MHH":-405,"MHI":201,"MMH":-241,"MMM":661,"MOM":841}; + this.TQ1__ = {"BHHH":-227,"BHHI":316,"BHIH":-132,"BIHH":60,"BIII":1595,"BNHH":-744,"BOHH":225,"BOOO":-908,"OAKK":482,"OHHH":281,"OHIH":249,"OIHI":200,"OIIH":-68}; + this.TQ2__ = {"BIHH":-1401,"BIII":-1033,"BKAK":-543,"BOOO":-5591}; + this.TQ3__ = {"BHHH":478,"BHHM":-1073,"BHIH":222,"BHII":-504,"BIIH":-116,"BIII":-105,"BMHI":-863,"BMHM":-464,"BOMH":620,"OHHH":346,"OHHI":1729,"OHII":997,"OHMH":481,"OIHH":623,"OIIH":1344,"OKAK":2792,"OKHH":587,"OKKA":679,"OOHH":110,"OOII":-685}; + this.TQ4__ = {"BHHH":-721,"BHHM":-3604,"BHII":-966,"BIIH":-607,"BIII":-2181,"OAAA":-2763,"OAKK":180,"OHHH":-294,"OHHI":2446,"OHHO":480,"OHIH":-1573,"OIHH":1935,"OIHI":-493,"OIIH":626,"OIII":-4007,"OKAK":-8156}; + this.TW1__ = {"につい":-4681,"東京都":2026}; + this.TW2__ = {"ある程":-2049,"いった":-1256,"ころが":-2434,"しょう":3873,"その後":-4430,"だって":-1049,"ていた":1833,"として":-4657,"ともに":-4517,"もので":1882,"一気に":-792,"初めて":-1512,"同時に":-8097,"大きな":-1255,"対して":-2721,"社会党":-3216}; + this.TW3__ = {"いただ":-1734,"してい":1314,"として":-4314,"につい":-5483,"にとっ":-5989,"に当た":-6247,"ので,":-727,"ので、":-727,"のもの":-600,"れから":-3752,"十二月":-2287}; + this.TW4__ = {"いう.":8576,"いう。":8576,"からな":-2348,"してい":2958,"たが,":1516,"たが、":1516,"ている":1538,"という":1349,"ました":5543,"ません":1097,"ようと":-4258,"よると":5865}; + this.UC1__ = {"A":484,"K":93,"M":645,"O":-505}; + this.UC2__ = {"A":819,"H":1059,"I":409,"M":3987,"N":5775,"O":646}; + this.UC3__ = {"A":-1370,"I":2311}; + this.UC4__ = {"A":-2643,"H":1809,"I":-1032,"K":-3450,"M":3565,"N":3876,"O":6646}; + this.UC5__ = {"H":313,"I":-1238,"K":-799,"M":539,"O":-831}; + this.UC6__ = {"H":-506,"I":-253,"K":87,"M":247,"O":-387}; + this.UP1__ = {"O":-214}; + this.UP2__ = {"B":69,"O":935}; + this.UP3__ = {"B":189}; + this.UQ1__ = {"BH":21,"BI":-12,"BK":-99,"BN":142,"BO":-56,"OH":-95,"OI":477,"OK":410,"OO":-2422}; + this.UQ2__ = {"BH":216,"BI":113,"OK":1759}; + this.UQ3__ = {"BA":-479,"BH":42,"BI":1913,"BK":-7198,"BM":3160,"BN":6427,"BO":14761,"OI":-827,"ON":-3212}; + this.UW1__ = {",":156,"、":156,"「":-463,"あ":-941,"う":-127,"が":-553,"き":121,"こ":505,"で":-201,"と":-547,"ど":-123,"に":-789,"の":-185,"は":-847,"も":-466,"や":-470,"よ":182,"ら":-292,"り":208,"れ":169,"を":-446,"ん":-137,"・":-135,"主":-402,"京":-268,"区":-912,"午":871,"国":-460,"大":561,"委":729,"市":-411,"日":-141,"理":361,"生":-408,"県":-386,"都":-718,"「":-463,"・":-135}; + this.UW2__ = {",":-829,"、":-829,"〇":892,"「":-645,"」":3145,"あ":-538,"い":505,"う":134,"お":-502,"か":1454,"が":-856,"く":-412,"こ":1141,"さ":878,"ざ":540,"し":1529,"す":-675,"せ":300,"そ":-1011,"た":188,"だ":1837,"つ":-949,"て":-291,"で":-268,"と":-981,"ど":1273,"な":1063,"に":-1764,"の":130,"は":-409,"ひ":-1273,"べ":1261,"ま":600,"も":-1263,"や":-402,"よ":1639,"り":-579,"る":-694,"れ":571,"を":-2516,"ん":2095,"ア":-587,"カ":306,"キ":568,"ッ":831,"三":-758,"不":-2150,"世":-302,"中":-968,"主":-861,"事":492,"人":-123,"会":978,"保":362,"入":548,"初":-3025,"副":-1566,"北":-3414,"区":-422,"大":-1769,"天":-865,"太":-483,"子":-1519,"学":760,"実":1023,"小":-2009,"市":-813,"年":-1060,"強":1067,"手":-1519,"揺":-1033,"政":1522,"文":-1355,"新":-1682,"日":-1815,"明":-1462,"最":-630,"朝":-1843,"本":-1650,"東":-931,"果":-665,"次":-2378,"民":-180,"気":-1740,"理":752,"発":529,"目":-1584,"相":-242,"県":-1165,"立":-763,"第":810,"米":509,"自":-1353,"行":838,"西":-744,"見":-3874,"調":1010,"議":1198,"込":3041,"開":1758,"間":-1257,"「":-645,"」":3145,"ッ":831,"ア":-587,"カ":306,"キ":568}; + this.UW3__ = {",":4889,"1":-800,"−":-1723,"、":4889,"々":-2311,"〇":5827,"」":2670,"〓":-3573,"あ":-2696,"い":1006,"う":2342,"え":1983,"お":-4864,"か":-1163,"が":3271,"く":1004,"け":388,"げ":401,"こ":-3552,"ご":-3116,"さ":-1058,"し":-395,"す":584,"せ":3685,"そ":-5228,"た":842,"ち":-521,"っ":-1444,"つ":-1081,"て":6167,"で":2318,"と":1691,"ど":-899,"な":-2788,"に":2745,"の":4056,"は":4555,"ひ":-2171,"ふ":-1798,"へ":1199,"ほ":-5516,"ま":-4384,"み":-120,"め":1205,"も":2323,"や":-788,"よ":-202,"ら":727,"り":649,"る":5905,"れ":2773,"わ":-1207,"を":6620,"ん":-518,"ア":551,"グ":1319,"ス":874,"ッ":-1350,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278,"・":-3794,"一":-1619,"下":-1759,"世":-2087,"両":3815,"中":653,"主":-758,"予":-1193,"二":974,"人":2742,"今":792,"他":1889,"以":-1368,"低":811,"何":4265,"作":-361,"保":-2439,"元":4858,"党":3593,"全":1574,"公":-3030,"六":755,"共":-1880,"円":5807,"再":3095,"分":457,"初":2475,"別":1129,"前":2286,"副":4437,"力":365,"動":-949,"務":-1872,"化":1327,"北":-1038,"区":4646,"千":-2309,"午":-783,"協":-1006,"口":483,"右":1233,"各":3588,"合":-241,"同":3906,"和":-837,"員":4513,"国":642,"型":1389,"場":1219,"外":-241,"妻":2016,"学":-1356,"安":-423,"実":-1008,"家":1078,"小":-513,"少":-3102,"州":1155,"市":3197,"平":-1804,"年":2416,"広":-1030,"府":1605,"度":1452,"建":-2352,"当":-3885,"得":1905,"思":-1291,"性":1822,"戸":-488,"指":-3973,"政":-2013,"教":-1479,"数":3222,"文":-1489,"新":1764,"日":2099,"旧":5792,"昨":-661,"時":-1248,"曜":-951,"最":-937,"月":4125,"期":360,"李":3094,"村":364,"東":-805,"核":5156,"森":2438,"業":484,"氏":2613,"民":-1694,"決":-1073,"法":1868,"海":-495,"無":979,"物":461,"特":-3850,"生":-273,"用":914,"町":1215,"的":7313,"直":-1835,"省":792,"県":6293,"知":-1528,"私":4231,"税":401,"立":-960,"第":1201,"米":7767,"系":3066,"約":3663,"級":1384,"統":-4229,"総":1163,"線":1255,"者":6457,"能":725,"自":-2869,"英":785,"見":1044,"調":-562,"財":-733,"費":1777,"車":1835,"軍":1375,"込":-1504,"通":-1136,"選":-681,"郎":1026,"郡":4404,"部":1200,"金":2163,"長":421,"開":-1432,"間":1302,"関":-1282,"雨":2009,"電":-1045,"非":2066,"駅":1620,"1":-800,"」":2670,"・":-3794,"ッ":-1350,"ア":551,"グ":1319,"ス":874,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278}; + this.UW4__ = {",":3930,".":3508,"―":-4841,"、":3930,"。":3508,"〇":4999,"「":1895,"」":3798,"〓":-5156,"あ":4752,"い":-3435,"う":-640,"え":-2514,"お":2405,"か":530,"が":6006,"き":-4482,"ぎ":-3821,"く":-3788,"け":-4376,"げ":-4734,"こ":2255,"ご":1979,"さ":2864,"し":-843,"じ":-2506,"す":-731,"ず":1251,"せ":181,"そ":4091,"た":5034,"だ":5408,"ち":-3654,"っ":-5882,"つ":-1659,"て":3994,"で":7410,"と":4547,"な":5433,"に":6499,"ぬ":1853,"ね":1413,"の":7396,"は":8578,"ば":1940,"ひ":4249,"び":-4134,"ふ":1345,"へ":6665,"べ":-744,"ほ":1464,"ま":1051,"み":-2082,"む":-882,"め":-5046,"も":4169,"ゃ":-2666,"や":2795,"ょ":-1544,"よ":3351,"ら":-2922,"り":-9726,"る":-14896,"れ":-2613,"ろ":-4570,"わ":-1783,"を":13150,"ん":-2352,"カ":2145,"コ":1789,"セ":1287,"ッ":-724,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637,"・":-4371,"ー":-11870,"一":-2069,"中":2210,"予":782,"事":-190,"井":-1768,"人":1036,"以":544,"会":950,"体":-1286,"作":530,"側":4292,"先":601,"党":-2006,"共":-1212,"内":584,"円":788,"初":1347,"前":1623,"副":3879,"力":-302,"動":-740,"務":-2715,"化":776,"区":4517,"協":1013,"参":1555,"合":-1834,"和":-681,"員":-910,"器":-851,"回":1500,"国":-619,"園":-1200,"地":866,"場":-1410,"塁":-2094,"士":-1413,"多":1067,"大":571,"子":-4802,"学":-1397,"定":-1057,"寺":-809,"小":1910,"屋":-1328,"山":-1500,"島":-2056,"川":-2667,"市":2771,"年":374,"庁":-4556,"後":456,"性":553,"感":916,"所":-1566,"支":856,"改":787,"政":2182,"教":704,"文":522,"方":-856,"日":1798,"時":1829,"最":845,"月":-9066,"木":-485,"来":-442,"校":-360,"業":-1043,"氏":5388,"民":-2716,"気":-910,"沢":-939,"済":-543,"物":-735,"率":672,"球":-1267,"生":-1286,"産":-1101,"田":-2900,"町":1826,"的":2586,"目":922,"省":-3485,"県":2997,"空":-867,"立":-2112,"第":788,"米":2937,"系":786,"約":2171,"経":1146,"統":-1169,"総":940,"線":-994,"署":749,"者":2145,"能":-730,"般":-852,"行":-792,"規":792,"警":-1184,"議":-244,"谷":-1000,"賞":730,"車":-1481,"軍":1158,"輪":-1433,"込":-3370,"近":929,"道":-1291,"選":2596,"郎":-4866,"都":1192,"野":-1100,"銀":-2213,"長":357,"間":-2344,"院":-2297,"際":-2604,"電":-878,"領":-1659,"題":-792,"館":-1984,"首":1749,"高":2120,"「":1895,"」":3798,"・":-4371,"ッ":-724,"ー":-11870,"カ":2145,"コ":1789,"セ":1287,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637}; + this.UW5__ = {",":465,".":-299,"1":-514,"E2":-32768,"]":-2762,"、":465,"。":-299,"「":363,"あ":1655,"い":331,"う":-503,"え":1199,"お":527,"か":647,"が":-421,"き":1624,"ぎ":1971,"く":312,"げ":-983,"さ":-1537,"し":-1371,"す":-852,"だ":-1186,"ち":1093,"っ":52,"つ":921,"て":-18,"で":-850,"と":-127,"ど":1682,"な":-787,"に":-1224,"の":-635,"は":-578,"べ":1001,"み":502,"め":865,"ゃ":3350,"ょ":854,"り":-208,"る":429,"れ":504,"わ":419,"を":-1264,"ん":327,"イ":241,"ル":451,"ン":-343,"中":-871,"京":722,"会":-1153,"党":-654,"務":3519,"区":-901,"告":848,"員":2104,"大":-1296,"学":-548,"定":1785,"嵐":-1304,"市":-2991,"席":921,"年":1763,"思":872,"所":-814,"挙":1618,"新":-1682,"日":218,"月":-4353,"査":932,"格":1356,"機":-1508,"氏":-1347,"田":240,"町":-3912,"的":-3149,"相":1319,"省":-1052,"県":-4003,"研":-997,"社":-278,"空":-813,"統":1955,"者":-2233,"表":663,"語":-1073,"議":1219,"選":-1018,"郎":-368,"長":786,"間":1191,"題":2368,"館":-689,"1":-514,"E2":-32768,"「":363,"イ":241,"ル":451,"ン":-343}; + this.UW6__ = {",":227,".":808,"1":-270,"E1":306,"、":227,"。":808,"あ":-307,"う":189,"か":241,"が":-73,"く":-121,"こ":-200,"じ":1782,"す":383,"た":-428,"っ":573,"て":-1014,"で":101,"と":-105,"な":-253,"に":-149,"の":-417,"は":-236,"も":-206,"り":187,"る":-135,"を":195,"ル":-673,"ン":-496,"一":-277,"中":201,"件":-800,"会":624,"前":302,"区":1792,"員":-1212,"委":798,"学":-960,"市":887,"広":-695,"後":535,"業":-697,"相":753,"社":-507,"福":974,"空":-822,"者":1811,"連":463,"郎":1082,"1":-270,"E1":306,"ル":-673,"ン":-496}; + + return this; + } + TinySegmenter.prototype.ctype_ = function(str) { + for (var i in this.chartype_) { + if (str.match(this.chartype_[i][0])) { + return this.chartype_[i][1]; + } + } + return "O"; + } + + TinySegmenter.prototype.ts_ = function(v) { + if (v) { return v; } + return 0; + } + + TinySegmenter.prototype.segment = function(input) { + if (input == null || input == undefined || input == "") { + return []; + } + var result = []; + var seg = ["B3","B2","B1"]; + var ctype = ["O","O","O"]; + var o = input.split(""); + for (i = 0; i < o.length; ++i) { + seg.push(o[i]); + ctype.push(this.ctype_(o[i])) + } + seg.push("E1"); + seg.push("E2"); + seg.push("E3"); + ctype.push("O"); + ctype.push("O"); + ctype.push("O"); + var word = seg[3]; + var p1 = "U"; + var p2 = "U"; + var p3 = "U"; + for (var i = 4; i < seg.length - 3; ++i) { + var score = this.BIAS__; + var w1 = seg[i-3]; + var w2 = seg[i-2]; + var w3 = seg[i-1]; + var w4 = seg[i]; + var w5 = seg[i+1]; + var w6 = seg[i+2]; + var c1 = ctype[i-3]; + var c2 = ctype[i-2]; + var c3 = ctype[i-1]; + var c4 = ctype[i]; + var c5 = ctype[i+1]; + var c6 = ctype[i+2]; + score += this.ts_(this.UP1__[p1]); + score += this.ts_(this.UP2__[p2]); + score += this.ts_(this.UP3__[p3]); + score += this.ts_(this.BP1__[p1 + p2]); + score += this.ts_(this.BP2__[p2 + p3]); + score += this.ts_(this.UW1__[w1]); + score += this.ts_(this.UW2__[w2]); + score += this.ts_(this.UW3__[w3]); + score += this.ts_(this.UW4__[w4]); + score += this.ts_(this.UW5__[w5]); + score += this.ts_(this.UW6__[w6]); + score += this.ts_(this.BW1__[w2 + w3]); + score += this.ts_(this.BW2__[w3 + w4]); + score += this.ts_(this.BW3__[w4 + w5]); + score += this.ts_(this.TW1__[w1 + w2 + w3]); + score += this.ts_(this.TW2__[w2 + w3 + w4]); + score += this.ts_(this.TW3__[w3 + w4 + w5]); + score += this.ts_(this.TW4__[w4 + w5 + w6]); + score += this.ts_(this.UC1__[c1]); + score += this.ts_(this.UC2__[c2]); + score += this.ts_(this.UC3__[c3]); + score += this.ts_(this.UC4__[c4]); + score += this.ts_(this.UC5__[c5]); + score += this.ts_(this.UC6__[c6]); + score += this.ts_(this.BC1__[c2 + c3]); + score += this.ts_(this.BC2__[c3 + c4]); + score += this.ts_(this.BC3__[c4 + c5]); + score += this.ts_(this.TC1__[c1 + c2 + c3]); + score += this.ts_(this.TC2__[c2 + c3 + c4]); + score += this.ts_(this.TC3__[c3 + c4 + c5]); + score += this.ts_(this.TC4__[c4 + c5 + c6]); + // score += this.ts_(this.TC5__[c4 + c5 + c6]); + score += this.ts_(this.UQ1__[p1 + c1]); + score += this.ts_(this.UQ2__[p2 + c2]); + score += this.ts_(this.UQ3__[p3 + c3]); + score += this.ts_(this.BQ1__[p2 + c2 + c3]); + score += this.ts_(this.BQ2__[p2 + c3 + c4]); + score += this.ts_(this.BQ3__[p3 + c2 + c3]); + score += this.ts_(this.BQ4__[p3 + c3 + c4]); + score += this.ts_(this.TQ1__[p2 + c1 + c2 + c3]); + score += this.ts_(this.TQ2__[p2 + c2 + c3 + c4]); + score += this.ts_(this.TQ3__[p3 + c1 + c2 + c3]); + score += this.ts_(this.TQ4__[p3 + c2 + c3 + c4]); + var p = "O"; + if (score > 0) { + result.push(word); + word = ""; + p = "B"; + } + p1 = p2; + p2 = p3; + p3 = p; + word += seg[i]; + } + result.push(word); + + return result; + } + + lunr.TinySegmenter = TinySegmenter; + }; + +})); \ No newline at end of file diff --git a/material/assets/javascripts/lunr/tinyseg.min.js b/material/assets/javascripts/lunr/tinyseg.min.js deleted file mode 100644 index 302befbb3..000000000 --- a/material/assets/javascripts/lunr/tinyseg.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(_,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(_.lunr)}(this,(function(){return function(_){function t(){var _={"[一二三四五六七八九十百千万億兆]":"M","[一-龠々〆ヵヶ]":"H","[ぁ-ん]":"I","[ァ-ヴーア-ン゙ー]":"K","[a-zA-Za-zA-Z]":"A","[0-90-9]":"N"};for(var t in this.chartype_=[],_){var H=new RegExp(t);this.chartype_.push([H,_[t]])}return this.BIAS__=-332,this.BC1__={HH:6,II:2461,KH:406,OH:-1378},this.BC2__={AA:-3267,AI:2744,AN:-878,HH:-4070,HM:-1711,HN:4012,HO:3761,IA:1327,IH:-1184,II:-1332,IK:1721,IO:5492,KI:3831,KK:-8741,MH:-3132,MK:3334,OO:-2920},this.BC3__={HH:996,HI:626,HK:-721,HN:-1307,HO:-836,IH:-301,KK:2762,MK:1079,MM:4034,OA:-1652,OH:266},this.BP1__={BB:295,OB:304,OO:-125,UB:352},this.BP2__={BO:60,OO:-1762},this.BQ1__={BHH:1150,BHM:1521,BII:-1158,BIM:886,BMH:1208,BNH:449,BOH:-91,BOO:-2597,OHI:451,OIH:-296,OKA:1851,OKH:-1020,OKK:904,OOO:2965},this.BQ2__={BHH:118,BHI:-1159,BHM:466,BIH:-919,BKK:-1720,BKO:864,OHH:-1139,OHM:-181,OIH:153,UHI:-1146},this.BQ3__={BHH:-792,BHI:2664,BII:-299,BKI:419,BMH:937,BMM:8335,BNN:998,BOH:775,OHH:2174,OHM:439,OII:280,OKH:1798,OKI:-793,OKO:-2242,OMH:-2402,OOO:11699},this.BQ4__={BHH:-3895,BIH:3761,BII:-4654,BIK:1348,BKK:-1806,BMI:-3385,BOO:-12396,OAH:926,OHH:266,OHK:-2036,ONN:-973},this.BW1__={",と":660,",同":727,"B1あ":1404,"B1同":542,"、と":660,"、同":727,"」と":1682,"あっ":1505,"いう":1743,"いっ":-2055,"いる":672,"うし":-4817,"うん":665,"から":3472,"がら":600,"こう":-790,"こと":2083,"こん":-1262,"さら":-4143,"さん":4573,"した":2641,"して":1104,"すで":-3399,"そこ":1977,"それ":-871,"たち":1122,"ため":601,"った":3463,"つい":-802,"てい":805,"てき":1249,"でき":1127,"です":3445,"では":844,"とい":-4915,"とみ":1922,"どこ":3887,"ない":5713,"なっ":3015,"など":7379,"なん":-1113,"にし":2468,"には":1498,"にも":1671,"に対":-912,"の一":-501,"の中":741,"ませ":2448,"まで":1711,"まま":2600,"まる":-2155,"やむ":-1947,"よっ":-2565,"れた":2369,"れで":-913,"をし":1860,"を見":731,"亡く":-1886,"京都":2558,"取り":-2784,"大き":-2604,"大阪":1497,"平方":-2314,"引き":-1336,"日本":-195,"本当":-2423,"毎日":-2113,"目指":-724,"B1あ":1404,"B1同":542,"」と":1682},this.BW2__={"..":-11822,11:-669,"――":-5730,"−−":-13175,"いう":-1609,"うか":2490,"かし":-1350,"かも":-602,"から":-7194,"かれ":4612,"がい":853,"がら":-3198,"きた":1941,"くな":-1597,"こと":-8392,"この":-4193,"させ":4533,"され":13168,"さん":-3977,"しい":-1819,"しか":-545,"した":5078,"して":972,"しな":939,"その":-3744,"たい":-1253,"たた":-662,"ただ":-3857,"たち":-786,"たと":1224,"たは":-939,"った":4589,"って":1647,"っと":-2094,"てい":6144,"てき":3640,"てく":2551,"ては":-3110,"ても":-3065,"でい":2666,"でき":-1528,"でし":-3828,"です":-4761,"でも":-4203,"とい":1890,"とこ":-1746,"とと":-2279,"との":720,"とみ":5168,"とも":-3941,"ない":-2488,"なが":-1313,"など":-6509,"なの":2614,"なん":3099,"にお":-1615,"にし":2748,"にな":2454,"によ":-7236,"に対":-14943,"に従":-4688,"に関":-11388,"のか":2093,"ので":-7059,"のに":-6041,"のの":-6125,"はい":1073,"はが":-1033,"はず":-2532,"ばれ":1813,"まし":-1316,"まで":-6621,"まれ":5409,"めて":-3153,"もい":2230,"もの":-10713,"らか":-944,"らし":-1611,"らに":-1897,"りし":651,"りま":1620,"れた":4270,"れて":849,"れば":4114,"ろう":6067,"われ":7901,"を通":-11877,"んだ":728,"んな":-4115,"一人":602,"一方":-1375,"一日":970,"一部":-1051,"上が":-4479,"会社":-1116,"出て":2163,"分の":-7758,"同党":970,"同日":-913,"大阪":-2471,"委員":-1250,"少な":-1050,"年度":-8669,"年間":-1626,"府県":-2363,"手権":-1982,"新聞":-4066,"日新":-722,"日本":-7068,"日米":3372,"曜日":-601,"朝鮮":-2355,"本人":-2697,"東京":-1543,"然と":-1384,"社会":-1276,"立て":-990,"第に":-1612,"米国":-4268,"11":-669},this.BW3__={"あた":-2194,"あり":719,"ある":3846,"い.":-1185,"い。":-1185,"いい":5308,"いえ":2079,"いく":3029,"いた":2056,"いっ":1883,"いる":5600,"いわ":1527,"うち":1117,"うと":4798,"えと":1454,"か.":2857,"か。":2857,"かけ":-743,"かっ":-4098,"かに":-669,"から":6520,"かり":-2670,"が,":1816,"が、":1816,"がき":-4855,"がけ":-1127,"がっ":-913,"がら":-4977,"がり":-2064,"きた":1645,"けど":1374,"こと":7397,"この":1542,"ころ":-2757,"さい":-714,"さを":976,"し,":1557,"し、":1557,"しい":-3714,"した":3562,"して":1449,"しな":2608,"しま":1200,"す.":-1310,"す。":-1310,"する":6521,"ず,":3426,"ず、":3426,"ずに":841,"そう":428,"た.":8875,"た。":8875,"たい":-594,"たの":812,"たり":-1183,"たる":-853,"だ.":4098,"だ。":4098,"だっ":1004,"った":-4748,"って":300,"てい":6240,"てお":855,"ても":302,"です":1437,"でに":-1482,"では":2295,"とう":-1387,"とし":2266,"との":541,"とも":-3543,"どう":4664,"ない":1796,"なく":-903,"など":2135,"に,":-1021,"に、":-1021,"にし":1771,"にな":1906,"には":2644,"の,":-724,"の、":-724,"の子":-1e3,"は,":1337,"は、":1337,"べき":2181,"まし":1113,"ます":6943,"まっ":-1549,"まで":6154,"まれ":-793,"らし":1479,"られ":6820,"るる":3818,"れ,":854,"れ、":854,"れた":1850,"れて":1375,"れば":-3246,"れる":1091,"われ":-605,"んだ":606,"んで":798,"カ月":990,"会議":860,"入り":1232,"大会":2217,"始め":1681,"市":965,"新聞":-5055,"日,":974,"日、":974,"社会":2024,"カ月":990},this.TC1__={AAA:1093,HHH:1029,HHM:580,HII:998,HOH:-390,HOM:-331,IHI:1169,IOH:-142,IOI:-1015,IOM:467,MMH:187,OOI:-1832},this.TC2__={HHO:2088,HII:-1023,HMM:-1154,IHI:-1965,KKH:703,OII:-2649},this.TC3__={AAA:-294,HHH:346,HHI:-341,HII:-1088,HIK:731,HOH:-1486,IHH:128,IHI:-3041,IHO:-1935,IIH:-825,IIM:-1035,IOI:-542,KHH:-1216,KKA:491,KKH:-1217,KOK:-1009,MHH:-2694,MHM:-457,MHO:123,MMH:-471,NNH:-1689,NNO:662,OHO:-3393},this.TC4__={HHH:-203,HHI:1344,HHK:365,HHM:-122,HHN:182,HHO:669,HIH:804,HII:679,HOH:446,IHH:695,IHO:-2324,IIH:321,III:1497,IIO:656,IOO:54,KAK:4845,KKA:3386,KKK:3065,MHH:-405,MHI:201,MMH:-241,MMM:661,MOM:841},this.TQ1__={BHHH:-227,BHHI:316,BHIH:-132,BIHH:60,BIII:1595,BNHH:-744,BOHH:225,BOOO:-908,OAKK:482,OHHH:281,OHIH:249,OIHI:200,OIIH:-68},this.TQ2__={BIHH:-1401,BIII:-1033,BKAK:-543,BOOO:-5591},this.TQ3__={BHHH:478,BHHM:-1073,BHIH:222,BHII:-504,BIIH:-116,BIII:-105,BMHI:-863,BMHM:-464,BOMH:620,OHHH:346,OHHI:1729,OHII:997,OHMH:481,OIHH:623,OIIH:1344,OKAK:2792,OKHH:587,OKKA:679,OOHH:110,OOII:-685},this.TQ4__={BHHH:-721,BHHM:-3604,BHII:-966,BIIH:-607,BIII:-2181,OAAA:-2763,OAKK:180,OHHH:-294,OHHI:2446,OHHO:480,OHIH:-1573,OIHH:1935,OIHI:-493,OIIH:626,OIII:-4007,OKAK:-8156},this.TW1__={"につい":-4681,"東京都":2026},this.TW2__={"ある程":-2049,"いった":-1256,"ころが":-2434,"しょう":3873,"その後":-4430,"だって":-1049,"ていた":1833,"として":-4657,"ともに":-4517,"もので":1882,"一気に":-792,"初めて":-1512,"同時に":-8097,"大きな":-1255,"対して":-2721,"社会党":-3216},this.TW3__={"いただ":-1734,"してい":1314,"として":-4314,"につい":-5483,"にとっ":-5989,"に当た":-6247,"ので,":-727,"ので、":-727,"のもの":-600,"れから":-3752,"十二月":-2287},this.TW4__={"いう.":8576,"いう。":8576,"からな":-2348,"してい":2958,"たが,":1516,"たが、":1516,"ている":1538,"という":1349,"ました":5543,"ません":1097,"ようと":-4258,"よると":5865},this.UC1__={A:484,K:93,M:645,O:-505},this.UC2__={A:819,H:1059,I:409,M:3987,N:5775,O:646},this.UC3__={A:-1370,I:2311},this.UC4__={A:-2643,H:1809,I:-1032,K:-3450,M:3565,N:3876,O:6646},this.UC5__={H:313,I:-1238,K:-799,M:539,O:-831},this.UC6__={H:-506,I:-253,K:87,M:247,O:-387},this.UP1__={O:-214},this.UP2__={B:69,O:935},this.UP3__={B:189},this.UQ1__={BH:21,BI:-12,BK:-99,BN:142,BO:-56,OH:-95,OI:477,OK:410,OO:-2422},this.UQ2__={BH:216,BI:113,OK:1759},this.UQ3__={BA:-479,BH:42,BI:1913,BK:-7198,BM:3160,BN:6427,BO:14761,OI:-827,ON:-3212},this.UW1__={",":156,"、":156,"「":-463,"あ":-941,"う":-127,"が":-553,"き":121,"こ":505,"で":-201,"と":-547,"ど":-123,"に":-789,"の":-185,"は":-847,"も":-466,"や":-470,"よ":182,"ら":-292,"り":208,"れ":169,"を":-446,"ん":-137,"・":-135,"主":-402,"京":-268,"区":-912,"午":871,"国":-460,"大":561,"委":729,"市":-411,"日":-141,"理":361,"生":-408,"県":-386,"都":-718,"「":-463,"・":-135},this.UW2__={",":-829,"、":-829,"〇":892,"「":-645,"」":3145,"あ":-538,"い":505,"う":134,"お":-502,"か":1454,"が":-856,"く":-412,"こ":1141,"さ":878,"ざ":540,"し":1529,"す":-675,"せ":300,"そ":-1011,"た":188,"だ":1837,"つ":-949,"て":-291,"で":-268,"と":-981,"ど":1273,"な":1063,"に":-1764,"の":130,"は":-409,"ひ":-1273,"べ":1261,"ま":600,"も":-1263,"や":-402,"よ":1639,"り":-579,"る":-694,"れ":571,"を":-2516,"ん":2095,"ア":-587,"カ":306,"キ":568,"ッ":831,"三":-758,"不":-2150,"世":-302,"中":-968,"主":-861,"事":492,"人":-123,"会":978,"保":362,"入":548,"初":-3025,"副":-1566,"北":-3414,"区":-422,"大":-1769,"天":-865,"太":-483,"子":-1519,"学":760,"実":1023,"小":-2009,"市":-813,"年":-1060,"強":1067,"手":-1519,"揺":-1033,"政":1522,"文":-1355,"新":-1682,"日":-1815,"明":-1462,"最":-630,"朝":-1843,"本":-1650,"東":-931,"果":-665,"次":-2378,"民":-180,"気":-1740,"理":752,"発":529,"目":-1584,"相":-242,"県":-1165,"立":-763,"第":810,"米":509,"自":-1353,"行":838,"西":-744,"見":-3874,"調":1010,"議":1198,"込":3041,"開":1758,"間":-1257,"「":-645,"」":3145,"ッ":831,"ア":-587,"カ":306,"キ":568},this.UW3__={",":4889,1:-800,"−":-1723,"、":4889,"々":-2311,"〇":5827,"」":2670,"〓":-3573,"あ":-2696,"い":1006,"う":2342,"え":1983,"お":-4864,"か":-1163,"が":3271,"く":1004,"け":388,"げ":401,"こ":-3552,"ご":-3116,"さ":-1058,"し":-395,"す":584,"せ":3685,"そ":-5228,"た":842,"ち":-521,"っ":-1444,"つ":-1081,"て":6167,"で":2318,"と":1691,"ど":-899,"な":-2788,"に":2745,"の":4056,"は":4555,"ひ":-2171,"ふ":-1798,"へ":1199,"ほ":-5516,"ま":-4384,"み":-120,"め":1205,"も":2323,"や":-788,"よ":-202,"ら":727,"り":649,"る":5905,"れ":2773,"わ":-1207,"を":6620,"ん":-518,"ア":551,"グ":1319,"ス":874,"ッ":-1350,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278,"・":-3794,"一":-1619,"下":-1759,"世":-2087,"両":3815,"中":653,"主":-758,"予":-1193,"二":974,"人":2742,"今":792,"他":1889,"以":-1368,"低":811,"何":4265,"作":-361,"保":-2439,"元":4858,"党":3593,"全":1574,"公":-3030,"六":755,"共":-1880,"円":5807,"再":3095,"分":457,"初":2475,"別":1129,"前":2286,"副":4437,"力":365,"動":-949,"務":-1872,"化":1327,"北":-1038,"区":4646,"千":-2309,"午":-783,"協":-1006,"口":483,"右":1233,"各":3588,"合":-241,"同":3906,"和":-837,"員":4513,"国":642,"型":1389,"場":1219,"外":-241,"妻":2016,"学":-1356,"安":-423,"実":-1008,"家":1078,"小":-513,"少":-3102,"州":1155,"市":3197,"平":-1804,"年":2416,"広":-1030,"府":1605,"度":1452,"建":-2352,"当":-3885,"得":1905,"思":-1291,"性":1822,"戸":-488,"指":-3973,"政":-2013,"教":-1479,"数":3222,"文":-1489,"新":1764,"日":2099,"旧":5792,"昨":-661,"時":-1248,"曜":-951,"最":-937,"月":4125,"期":360,"李":3094,"村":364,"東":-805,"核":5156,"森":2438,"業":484,"氏":2613,"民":-1694,"決":-1073,"法":1868,"海":-495,"無":979,"物":461,"特":-3850,"生":-273,"用":914,"町":1215,"的":7313,"直":-1835,"省":792,"県":6293,"知":-1528,"私":4231,"税":401,"立":-960,"第":1201,"米":7767,"系":3066,"約":3663,"級":1384,"統":-4229,"総":1163,"線":1255,"者":6457,"能":725,"自":-2869,"英":785,"見":1044,"調":-562,"財":-733,"費":1777,"車":1835,"軍":1375,"込":-1504,"通":-1136,"選":-681,"郎":1026,"郡":4404,"部":1200,"金":2163,"長":421,"開":-1432,"間":1302,"関":-1282,"雨":2009,"電":-1045,"非":2066,"駅":1620,"1":-800,"」":2670,"・":-3794,"ッ":-1350,"ア":551,"グ":1319,"ス":874,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278},this.UW4__={",":3930,".":3508,"―":-4841,"、":3930,"。":3508,"〇":4999,"「":1895,"」":3798,"〓":-5156,"あ":4752,"い":-3435,"う":-640,"え":-2514,"お":2405,"か":530,"が":6006,"き":-4482,"ぎ":-3821,"く":-3788,"け":-4376,"げ":-4734,"こ":2255,"ご":1979,"さ":2864,"し":-843,"じ":-2506,"す":-731,"ず":1251,"せ":181,"そ":4091,"た":5034,"だ":5408,"ち":-3654,"っ":-5882,"つ":-1659,"て":3994,"で":7410,"と":4547,"な":5433,"に":6499,"ぬ":1853,"ね":1413,"の":7396,"は":8578,"ば":1940,"ひ":4249,"び":-4134,"ふ":1345,"へ":6665,"べ":-744,"ほ":1464,"ま":1051,"み":-2082,"む":-882,"め":-5046,"も":4169,"ゃ":-2666,"や":2795,"ょ":-1544,"よ":3351,"ら":-2922,"り":-9726,"る":-14896,"れ":-2613,"ろ":-4570,"わ":-1783,"を":13150,"ん":-2352,"カ":2145,"コ":1789,"セ":1287,"ッ":-724,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637,"・":-4371,"ー":-11870,"一":-2069,"中":2210,"予":782,"事":-190,"井":-1768,"人":1036,"以":544,"会":950,"体":-1286,"作":530,"側":4292,"先":601,"党":-2006,"共":-1212,"内":584,"円":788,"初":1347,"前":1623,"副":3879,"力":-302,"動":-740,"務":-2715,"化":776,"区":4517,"協":1013,"参":1555,"合":-1834,"和":-681,"員":-910,"器":-851,"回":1500,"国":-619,"園":-1200,"地":866,"場":-1410,"塁":-2094,"士":-1413,"多":1067,"大":571,"子":-4802,"学":-1397,"定":-1057,"寺":-809,"小":1910,"屋":-1328,"山":-1500,"島":-2056,"川":-2667,"市":2771,"年":374,"庁":-4556,"後":456,"性":553,"感":916,"所":-1566,"支":856,"改":787,"政":2182,"教":704,"文":522,"方":-856,"日":1798,"時":1829,"最":845,"月":-9066,"木":-485,"来":-442,"校":-360,"業":-1043,"氏":5388,"民":-2716,"気":-910,"沢":-939,"済":-543,"物":-735,"率":672,"球":-1267,"生":-1286,"産":-1101,"田":-2900,"町":1826,"的":2586,"目":922,"省":-3485,"県":2997,"空":-867,"立":-2112,"第":788,"米":2937,"系":786,"約":2171,"経":1146,"統":-1169,"総":940,"線":-994,"署":749,"者":2145,"能":-730,"般":-852,"行":-792,"規":792,"警":-1184,"議":-244,"谷":-1e3,"賞":730,"車":-1481,"軍":1158,"輪":-1433,"込":-3370,"近":929,"道":-1291,"選":2596,"郎":-4866,"都":1192,"野":-1100,"銀":-2213,"長":357,"間":-2344,"院":-2297,"際":-2604,"電":-878,"領":-1659,"題":-792,"館":-1984,"首":1749,"高":2120,"「":1895,"」":3798,"・":-4371,"ッ":-724,"ー":-11870,"カ":2145,"コ":1789,"セ":1287,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637},this.UW5__={",":465,".":-299,1:-514,E2:-32768,"]":-2762,"、":465,"。":-299,"「":363,"あ":1655,"い":331,"う":-503,"え":1199,"お":527,"か":647,"が":-421,"き":1624,"ぎ":1971,"く":312,"げ":-983,"さ":-1537,"し":-1371,"す":-852,"だ":-1186,"ち":1093,"っ":52,"つ":921,"て":-18,"で":-850,"と":-127,"ど":1682,"な":-787,"に":-1224,"の":-635,"は":-578,"べ":1001,"み":502,"め":865,"ゃ":3350,"ょ":854,"り":-208,"る":429,"れ":504,"わ":419,"を":-1264,"ん":327,"イ":241,"ル":451,"ン":-343,"中":-871,"京":722,"会":-1153,"党":-654,"務":3519,"区":-901,"告":848,"員":2104,"大":-1296,"学":-548,"定":1785,"嵐":-1304,"市":-2991,"席":921,"年":1763,"思":872,"所":-814,"挙":1618,"新":-1682,"日":218,"月":-4353,"査":932,"格":1356,"機":-1508,"氏":-1347,"田":240,"町":-3912,"的":-3149,"相":1319,"省":-1052,"県":-4003,"研":-997,"社":-278,"空":-813,"統":1955,"者":-2233,"表":663,"語":-1073,"議":1219,"選":-1018,"郎":-368,"長":786,"間":1191,"題":2368,"館":-689,"1":-514,"E2":-32768,"「":363,"イ":241,"ル":451,"ン":-343},this.UW6__={",":227,".":808,1:-270,E1:306,"、":227,"。":808,"あ":-307,"う":189,"か":241,"が":-73,"く":-121,"こ":-200,"じ":1782,"す":383,"た":-428,"っ":573,"て":-1014,"で":101,"と":-105,"な":-253,"に":-149,"の":-417,"は":-236,"も":-206,"り":187,"る":-135,"を":195,"ル":-673,"ン":-496,"一":-277,"中":201,"件":-800,"会":624,"前":302,"区":1792,"員":-1212,"委":798,"学":-960,"市":887,"広":-695,"後":535,"業":-697,"相":753,"社":-507,"福":974,"空":-822,"者":1811,"連":463,"郎":1082,"1":-270,"E1":306,"ル":-673,"ン":-496},this}t.prototype.ctype_=function(_){for(var t in this.chartype_)if(_.match(this.chartype_[t][0]))return this.chartype_[t][1];return"O"},t.prototype.ts_=function(_){return _||0},t.prototype.segment=function(_){if(null==_||null==_||""==_)return[];var t=[],H=["B3","B2","B1"],s=["O","O","O"],h=_.split("");for(K=0;K0&&(t.push(i),i="",N="B"),I=O,O=B,B=N,i+=H[K]}return t.push(i),t},_.TinySegmenter=t}})); \ No newline at end of file diff --git a/material/assets/javascripts/vendor.00ecb175.min.js b/material/assets/javascripts/vendor.00ecb175.min.js deleted file mode 100644 index c0631edf0..000000000 --- a/material/assets/javascripts/vendor.00ecb175.min.js +++ /dev/null @@ -1,16 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(2);function i(t){return e=>{if(function(t){return Object(r.a)(null==t?void 0:t.lift)}(e))return e.lift((function(e){try{return t(e,this)}catch(t){this.error(t)}}));throw new TypeError("Unable to lift unknown Observable type")}}},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(18);class i extends r.b{constructor(t,e,n,r,i){super(t),this.onUnsubscribe=i,this._next=e?function(t){try{e(t)}catch(t){this.destination.error(t)}}:super._next,this._error=n?function(t){try{n(t)}catch(t){this.destination.error(t)}this.unsubscribe()}:super._error,this._complete=r?function(){try{r()}catch(t){this.destination.error(t)}this.unsubscribe()}:super._complete}unsubscribe(){var t;!this.closed&&(null===(t=this.onUnsubscribe)||void 0===t||t.call(this)),super.unsubscribe()}}},function(t,e,n){"use strict";function r(t){return"function"==typeof t}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n(18),i=n(9),o=n(15),c=n(31),s=n(12),u=n(2);class a{constructor(t){t&&(this._subscribe=t)}lift(t){const e=new a;return e.source=this,e.operator=t,e}subscribe(t,e,n){const o=(c=t)&&c instanceof r.b||function(t){return t&&Object(u.a)(t.next)&&Object(u.a)(t.error)&&Object(u.a)(t.complete)}(c)&&Object(i.c)(c)?t:new r.a(t,e,n);var c;const{operator:a,source:l}=this;return o.add(a?a.call(o,l):l||s.a.useDeprecatedSynchronousErrorHandling?this._subscribe(o):this._trySubscribe(o)),o}_trySubscribe(t){try{return this._subscribe(t)}catch(e){if(s.a.useDeprecatedSynchronousErrorHandling)throw e;t.error(e)}}forEach(t,e){return new(e=l(e))((e,n)=>{let r;r=this.subscribe(e=>{try{t(e)}catch(t){n(t),null==r||r.unsubscribe()}},n,e)})}_subscribe(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)}[o.a](){return this}pipe(...t){return t.length?Object(c.b)(t)(this):this}toPromise(t){return new(t=l(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}function l(t){var e;return null!==(e=null!=t?t:s.a.Promise)&&void 0!==e?e:Promise}a.create=t=>new a(t)},,,function(t,e,n){"use strict";n.d(e,"a",(function(){return y})),n.d(e,"c",(function(){return w})),n.d(e,"b",(function(){return O}));var r=n(25),i=n(20),o=n(2);function c(t){return Object(o.a)(null==t?void 0:t.then)}const s="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";var u=n(15),a=n(3),l=n(9);var d=n(21);function f(t){return Object(o.a)(t[u.a])}function h(t){return Object(o.a)(null==t?void 0:t[s])}function b(t){return Symbol.asyncIterator&&Object(o.a)(null==t?void 0:t[Symbol.asyncIterator])}function v(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, AsyncIterable, or Iterable.`)}function p(t,e){if(null!=t){if(f(t))return function(t,e){return new a.a(n=>{const r=new l.b;return r.add(e.schedule(()=>{const i=t[u.a]();r.add(i.subscribe({next(t){r.add(e.schedule(()=>n.next(t)))},error(t){r.add(e.schedule(()=>n.error(t)))},complete(){r.add(e.schedule(()=>n.complete()))}}))})),r})}(t,e);if(Object(i.a)(t))return Object(d.a)(t,e);if(c(t))return function(t,e){return new a.a(n=>e.schedule(()=>t.then(t=>{n.add(e.schedule(()=>{n.next(t),n.add(e.schedule(()=>n.complete()))}))},t=>{n.add(e.schedule(()=>n.error(t)))})))}(t,e);if(b(t))return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new a.a(n=>{const r=new l.b;return r.add(e.schedule(()=>{const i=t[Symbol.asyncIterator]();r.add(e.schedule((function(){i.next().then(t=>{t.done?n.complete():(n.next(t.value),this.schedule())})})))})),r})}(t,e);if(h(t))return function(t,e){return new a.a(n=>{let r;return n.add(e.schedule(()=>{r=t[s](),function(t,e,n,r=0){const i=e.schedule((function(){try{n.call(this)}catch(e){t.error(e)}}),r);t.add(i)}(n,e,(function(){const{value:t,done:e}=r.next();e?n.complete():(n.next(t),this.schedule())}))})),()=>Object(o.a)(null==r?void 0:r.return)&&r.return()})}(t,e)}throw v(t)}var m=n(29);function y(t,e){return e?p(t,e):w(t)}function w(t){if(t instanceof a.a)return t;if(null!=t){if(f(t))return d=t,new a.a(t=>{const e=d[u.a]();if(Object(o.a)(e.subscribe))return e.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(Object(i.a)(t))return O(t);if(c(t))return l=t,new a.a(t=>{l.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,m.a)});if(b(t))return n=t,new a.a(t=>{(function(t,e){var n,i,o,c;return Object(r.b)(this,void 0,void 0,(function*(){try{for(n=Object(r.a)(t);!(i=yield n.next()).done;){const t=i.value;e.next(t)}}catch(t){o={error:t}}finally{try{i&&!i.done&&(c=n.return)&&(yield c.call(n))}finally{if(o)throw o.error}}e.complete()}))})(n,t).catch(e=>t.error(e))});if(h(t))return e=t,new a.a(t=>{const n=e[s]();for(;!t.closed;){const{done:e,value:r}=n.next();e?t.complete():t.next(r)}return()=>Object(o.a)(null==n?void 0:n.return)&&n.return()})}var e,n,l,d;throw v(t)}function O(t){return new a.a(e=>{for(let n=0;nfunction(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});var c=n(13);class s{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._teardowns=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:e}=this;if(Array.isArray(e))for(const t of e)t.remove(this);else null==e||e.remove(this);const{initialTeardown:n}=this;if(Object(r.a)(n))try{n()}catch(e){t=e instanceof o?e.errors:[e]}const{_teardowns:i}=this;if(i){this._teardowns=null;for(const e of i)try{l(e)}catch(e){t=null!=t?t:[],e instanceof o?t=[...t,...e.errors]:t.push(e)}}if(t)throw new o(t)}}add(t){var e;if(t&&t!==this)if(this.closed)l(t);else{if(t instanceof s){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._teardowns=null!==(e=this._teardowns)&&void 0!==e?e:[]).push(t)}}_hasParent(t){const{_parentage:e}=this;return e===t||Array.isArray(e)&&e.includes(t)}_addParent(t){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t}_removeParent(t){const{_parentage:e}=this;e===t?this._parentage=null:Array.isArray(e)&&Object(c.a)(e,t)}remove(t){const{_teardowns:e}=this;e&&Object(c.a)(e,t),t instanceof s&&t._removeParent(this)}}s.EMPTY=(()=>{const t=new s;return t.closed=!0,t})();const u=s.EMPTY;function a(t){return t instanceof s||t&&"closed"in t&&Object(r.a)(t.remove)&&Object(r.a)(t.add)&&Object(r.a)(t.unsubscribe)}function l(t){Object(r.a)(t)?t():t.unsubscribe()}},function(t,e,n){"use strict";function r(t){return t}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(21),i=n(6);function o(t,e){return e?Object(r.a)(t,e):Object(i.b)(t)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));const r={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},function(t,e,n){"use strict";function r(t,e){if(t){const n=t.indexOf(e);0<=n&&t.splice(n,1)}}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";n.d(e,"a",(function(){return u}));var r=n(33),i=n(6),o=n(0),c=n(1);var s=n(2);function u(t,e,n=1/0){return Object(s.a)(e)?u((n,o)=>Object(r.a)((t,r)=>e(n,t,o,r))(Object(i.c)(t(n,o))),n):("number"==typeof e&&(n=e),Object(o.a)((e,r)=>function(t,e,n,r,o,s,u,a){let l=[],d=0,f=0,h=!1;const b=()=>{!h||l.length||d||e.complete()},v=t=>d{s&&e.next(t),d++,Object(i.c)(n(t,f++)).subscribe(new c.a(e,t=>{null==o||o(t),s?v(t):e.next(t)},void 0,()=>{for(d--;l.length&&dp(t))):p(t)}b()}))};return t.subscribe(new c.a(e,v,void 0,()=>{h=!0,b()})),()=>{l=null,null==a||a()}}(e,r,t,n)))}},function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));const r="function"==typeof Symbol&&Symbol.observable||"@@observable"},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));const{isArray:r}=Array;function i(t){return 1===t.length&&r(t[0])?t[0]:t}},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(3);const i=new r.a(t=>t.complete())},function(t,e,n){"use strict";n.d(e,"b",(function(){return d})),n.d(e,"a",(function(){return f}));var r=n(2),i=n(9),o=n(12),c=n(29),s=n(8);const u=a("C",void 0,void 0);function a(t,e,n){return{kind:t,value:e,error:n}}var l=n(30);class d extends i.b{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Object(i.c)(t)&&t.add(this)):this.destination=v}static create(t,e,n){return new f(t,e,n)}next(t){this.isStopped?b(function(t){return a("N",t,void 0)}(t),this):this._next(t)}error(t){this.isStopped?b(a("E",void 0,t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?b(u,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}}class f extends d{constructor(t,e,n){if(super(),this.destination=v,(t||e||n)&&t!==v){let i;if(Object(r.a)(t))i=t;else if(t){let r;({next:i,error:e,complete:n}=t),this&&o.a.useDeprecatedNextContext?(r=Object.create(t),r.unsubscribe=()=>this.unsubscribe()):r=t,i=null==i?void 0:i.bind(r),e=null==e?void 0:e.bind(r),n=null==n?void 0:n.bind(r)}this.destination={next:i||s.a,error:e||h,complete:n||s.a}}}}function h(t){if(o.a.useDeprecatedSynchronousErrorHandling)throw t;Object(c.a)(t)}function b(t,e){const{onStoppedNotification:n}=o.a;n&&l.a.setTimeout(()=>n(t,e))}const v={closed:!0,next:s.a,error:h,complete:s.a}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(33);const{isArray:i}=Array;function o(t){return Object(r.a)(e=>function(t,e){return i(e)?t(...e):t(e)}(t,e))}},function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));const r=t=>t&&"number"==typeof t.length&&"function"!=typeof t},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(3);function i(t,e){return new r.a(n=>{let r=0;return e.schedule((function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())}))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(14),i=n(10);function o(t=1/0){return Object(r.a)(i.a,t)}},function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"a",(function(){return o}));var r=n(35);const i=new(n(37).a)(r.a),o=i},function(t,e,n){"use strict";n.d(e,"a",(function(){return u}));var r=n(3),i=n(9),o=n(28);const c=Object(o.a)(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var s=n(13);class u extends r.a{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const e=new a(this,this);return e.operator=t,e}_throwIfClosed(){if(this.closed)throw new c}next(t){if(this._throwIfClosed(),!this.isStopped){const e=this.observers.slice();for(const n of e)n.next(t)}}error(t){if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:e}=this;for(;e.length;)e.shift().error(t)}}complete(){if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}}unsubscribe(){this.isStopped=this.closed=!0,this.observers=null}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:e,isStopped:n,observers:r}=this;return e||n?i.a:(r.push(t),new i.b(()=>Object(s.a)(this.observers,t)))}_checkFinalizedStatuses(t){const{hasError:e,thrownError:n,isStopped:r}=this;e?t.error(n):r&&t.complete()}asObservable(){const t=new r.a;return t.source=this,t}}u.create=(t,e)=>new a(t,e);class a extends u{constructor(t,e){super(),this.destination=t,this.source=e}next(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===n||n.call(e,t)}error(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===n||n.call(e,t)}complete(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)}_subscribe(t){var e,n;return null!==(n=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==n?n:i.a}}},function(t,e,n){"use strict";n.d(e,"c",(function(){return r})),n.d(e,"b",(function(){return i})),n.d(e,"a",(function(){return c}));function r(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=o(t),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,i){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,i,(e=t[n](e)).done,e.value)}))}}}Object.create},function(t,e,n){ -/*! - * clipboard.js v2.0.6 - * https://clipboardjs.com/ - * - * Licensed MIT © Zeno Rocha - */ -var r;r=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=6)}([function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var r=window.getSelection(),i=document.createRange();i.selectNodeContents(t),r.removeAllRanges(),r.addRange(i),e=r.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var r=this;function i(){r.off(t,i),e.apply(n,arguments)}return i._=e,this.on(t,i,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),r=0,i=n.length;r0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=i()(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=i()(this.target),this.copyText()}},{key:"copyText",value:function(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":o(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),t}(),u=n(1),a=n.n(u),l=n(2),d=n.n(l),f="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},h=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===f(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=d()(t,"click",(function(t){return e.onClick(t)}))}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return v("action",t)}},{key:"defaultTarget",value:function(t){var e=v("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return v("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach((function(t){n=n&&!!document.queryCommandSupported(t)})),n}}]),e}(a.a);function v(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}e.default=b}]).default},t.exports=r()},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(22);var i=n(11),o=n(7);function c(...t){return Object(r.a)(1)(Object(i.a)(t,Object(o.c)(t)))}},function(t,e,n){"use strict";function r(t){const e=t(t=>{Error.call(t),t.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(12),i=n(30);function o(t){i.a.setTimeout(()=>{const{onUnhandledError:e}=r.a;if(!e)throw t;e(t)})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));const r={setTimeout(...t){const{delegate:e}=r;return((null==e?void 0:e.setTimeout)||setTimeout)(...t)},clearTimeout(t){const{delegate:e}=r;return((null==e?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0}},function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return o}));var r=n(10);function i(...t){return o(t)}function o(t){return 0===t.length?r.a:1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}}},function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));const r={now:()=>(r.delegate||Date).now(),delegate:void 0}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(0),i=n(1);function o(t,e){return Object(r.a)((n,r)=>{let o=0;n.subscribe(new i.a(r,n=>{r.next(t.call(e,n,o++))}))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(2);function i(t){return t&&Object(r.a)(t.schedule)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n(9);class i extends r.b{constructor(t,e){super()}schedule(t,e=0){return this}}const o={setInterval(...t){const{delegate:e}=o;return((null==e?void 0:e.setInterval)||setInterval)(...t)},clearInterval(t){const{delegate:e}=o;return((null==e?void 0:e.clearInterval)||clearInterval)(t)},delegate:void 0};var c=n(13);class s extends i{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this}requestAsyncId(t,e,n=0){return o.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,e,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return e;o.clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let n,r=!1;try{this.work(t)}catch(t){r=!0,n=!!t&&t||new Error(t)}if(r)return this.unsubscribe(),n}unsubscribe(){if(!this.closed){const{id:t,scheduler:e}=this,{actions:n}=e;this.work=this.state=this.scheduler=null,this.pending=!1,Object(c.a)(n,this),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null,super.unsubscribe()}}}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(3),i=n(23),o=n(34);function c(t=0,e,n=i.a){let c=-1;return null!=e&&(Object(o.a)(e)?n=e:c=e),new r.a(e=>{let r=(i=t)instanceof Date&&!isNaN(i)?+t-n.now():t;var i;r<0&&(r=0);let o=0;return n.schedule((function(){e.closed||(e.next(o++),0<=c?this.schedule(void 0,c):e.complete())}),r)})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(32);class i{constructor(t,e=i.now){this.schedulerActionCtor=t,this.now=e}schedule(t,e=0,n){return new this.schedulerActionCtor(this,t).schedule(n,e)}}i.now=r.a.now;class o extends i{constructor(t,e=i.now){super(t,e),this.actions=[],this.active=!1,this.scheduled=void 0}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(6),i=n(0),o=n(1);function c(t,e){return Object(i.a)((n,i)=>{let c=null,s=0,u=!1;const a=()=>u&&!c&&i.complete();n.subscribe(new o.a(i,n=>{null==c||c.unsubscribe();let u=0;const l=s++;Object(r.c)(t(n,l)).subscribe(c=new o.a(i,t=>i.next(e?e(n,t,l,u++):t),void 0,()=>{c=null,a()}))},void 0,()=>{u=!0,a()}))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(17),i=n(0),o=n(1);function c(t){return t<=0?()=>r.a:Object(i.a)((e,n)=>{let r=0;e.subscribe(new o.a(n,e=>{++r<=t&&(n.next(e),t<=r&&n.complete())}))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(24),i=n(32);class o extends r.a{constructor(t=1/0,e=1/0,n=i.a){super(),this.bufferSize=t,this.windowTime=e,this.timestampProvider=n,this.buffer=[],this.infiniteTimeWindow=!0,this.infiniteTimeWindow=e===1/0,this.bufferSize=Math.max(1,t),this.windowTime=Math.max(1,e)}next(t){const{isStopped:e,buffer:n,infiniteTimeWindow:r,timestampProvider:i,windowTime:o}=this;e||(n.push(t),!r&&n.push(i.now()+o)),this.trimBuffer(),super.next(t)}_subscribe(t){this._throwIfClosed(),this.trimBuffer();const e=this._innerSubscribe(t),{infiniteTimeWindow:n,buffer:r}=this,i=r.slice();for(let e=0;e{e.subscribe(new i.a(n,()=>n.next(t)))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(24),i=n(6),o=n(0);function c(t){t=t||{};const{connector:e=(()=>new r.a),resetOnComplete:n=!0,resetOnError:c=!0,resetOnRefCountZero:s=!0}=t;let u=null,a=null,l=0,d=!1,f=!1;const h=()=>{u=a=null,d=f=!1};return Object(o.a)((t,r)=>{l++,a||(a=e());const o=a.subscribe(r);return u||(u=Object(i.a)(t).subscribe({next:t=>a.next(t),error:t=>{f=!0;const e=a;c&&h(),e.error(t)},complete:()=>{d=!0;const t=a;n&&h(),t.complete()}})),()=>{if(l--,o.unsubscribe(),!l&&s&&!f&&!d){const t=u;h(),null==t||t.unsubscribe()}}})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(0),i=n(1);function o(t,e){return Object(r.a)((n,r)=>{let o=0;n.subscribe(new i.a(r,n=>t.call(e,n,o++)&&r.next(n)))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(0),i=n(1);function o(t,e){return t=null!=t?t:c,Object(r.a)((n,r)=>{let o,c=!0;n.subscribe(new i.a(r,n=>{(c&&(o=n,1)||!t(o,o=e?e(n):n))&&r.next(n),c=!1}))})}function c(t,e){return t===e}},function(t,e,n){"use strict"; -/*! - * escape-html - * Copyright(c) 2012-2013 TJ Holowaychuk - * Copyright(c) 2015 Andreas Lubbe - * Copyright(c) 2015 Tiancheng "Timothy" Gu - * MIT Licensed - */var r=/["'&<>]/;t.exports=function(t){var e,n=""+t,i=r.exec(n);if(!i)return n;var o="",c=0,s=0;for(c=i.index;cn[t]),keys:t}}}var e;return{args:t,keys:null}}var a=n(18),l=n(6),d=n(10),f=n(19),h=n(7);function b(...t){const e=Object(h.c)(t),n=Object(h.b)(t),{args:i,keys:o}=u(t);if(0===i.length)return Object(l.a)([],e);const c=new r.a(p(i,e,o?t=>{const e={};for(let n=0;n{m(e,()=>{const{length:i}=t,o=new Array(i);let c=i;const s=t.map(()=>!1);let u=!0;for(let a=0;a{Object(l.a)(t[a],e).subscribe(new v(r,t=>{o[a]=t,u&&(s[a]=!0,u=!s.every(d.a)),u||r.next(n(o.slice()))},()=>0==--c))},r)}},r)}}function m(t,e,n){t?n.add(t.schedule(e)):e()}},function(t,e,n){!function(){"use strict";function t(t){var e=!0,n=!1,r=null,i={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function o(t){return!!(t&&t!==document&&"HTML"!==t.nodeName&&"BODY"!==t.nodeName&&"classList"in t&&"contains"in t.classList)}function c(t){t.classList.contains("focus-visible")||(t.classList.add("focus-visible"),t.setAttribute("data-focus-visible-added",""))}function s(t){e=!1}function u(){document.addEventListener("mousemove",a),document.addEventListener("mousedown",a),document.addEventListener("mouseup",a),document.addEventListener("pointermove",a),document.addEventListener("pointerdown",a),document.addEventListener("pointerup",a),document.addEventListener("touchmove",a),document.addEventListener("touchstart",a),document.addEventListener("touchend",a)}function a(t){t.target.nodeName&&"html"===t.target.nodeName.toLowerCase()||(e=!1,document.removeEventListener("mousemove",a),document.removeEventListener("mousedown",a),document.removeEventListener("mouseup",a),document.removeEventListener("pointermove",a),document.removeEventListener("pointerdown",a),document.removeEventListener("pointerup",a),document.removeEventListener("touchmove",a),document.removeEventListener("touchstart",a),document.removeEventListener("touchend",a))}document.addEventListener("keydown",(function(n){n.metaKey||n.altKey||n.ctrlKey||(o(t.activeElement)&&c(t.activeElement),e=!0)}),!0),document.addEventListener("mousedown",s,!0),document.addEventListener("pointerdown",s,!0),document.addEventListener("touchstart",s,!0),document.addEventListener("visibilitychange",(function(t){"hidden"===document.visibilityState&&(n&&(e=!0),u())}),!0),u(),t.addEventListener("focus",(function(t){var n,r,s;o(t.target)&&(e||(n=t.target,r=n.type,"INPUT"===(s=n.tagName)&&i[r]&&!n.readOnly||"TEXTAREA"===s&&!n.readOnly||n.isContentEditable))&&c(t.target)}),!0),t.addEventListener("blur",(function(t){var e;o(t.target)&&(t.target.classList.contains("focus-visible")||t.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(r),r=window.setTimeout((function(){n=!1}),100),(e=t.target).hasAttribute("data-focus-visible-added")&&(e.classList.remove("focus-visible"),e.removeAttribute("data-focus-visible-added")))}),!0),t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host?t.host.setAttribute("data-js-focus-visible",""):t.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if("undefined"!=typeof window&&"undefined"!=typeof document){var e;window.applyFocusVisiblePolyfill=t;try{e=new CustomEvent("focus-visible-polyfill-ready")}catch(t){(e=document.createEvent("CustomEvent")).initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(e)}"undefined"!=typeof document&&t(document)}()},,,,function(t,e,n){"use strict";n.d(e,"a",(function(){return f}));var r=n(3),i=n(14),o=n(20),c=n(2),s=n(19),u=n(11);const a=["addListener","removeListener"],l=["addEventListener","removeEventListener"],d=["on","off"];function f(t,e,n,b){if(Object(c.a)(n)&&(b=n,n=void 0),b)return f(t,e,n).pipe(Object(s.a)(b));const[v,p]=function(t){return Object(c.a)(t.addEventListener)&&Object(c.a)(t.removeEventListener)}(t)?l.map(r=>i=>t[r](e,i,n)):function(t){return Object(c.a)(t.addListener)&&Object(c.a)(t.removeListener)}(t)?a.map(h(t,e)):function(t){return Object(c.a)(t.on)&&Object(c.a)(t.off)}(t)?d.map(h(t,e)):[];return!v&&Object(o.a)(t)?Object(i.a)(t=>f(t,e,n))(Object(u.a)(t)):new r.a(t=>{if(!v)throw new TypeError("Invalid event target");const e=(...e)=>t.next(1p(e)})}function h(t,e){return n=>r=>t[n](e,r)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n(22),i=n(11),o=n(16),c=n(6),s=n(17),u=n(7);function a(...t){const e=Object(u.c)(t),n=Object(u.a)(t,1/0),a=Object(o.a)(t);return a.length?1===a.length?Object(c.c)(a[0]):Object(r.a)(n)(Object(i.a)(a,e)):s.a}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(27),i=n(7),o=n(0);function c(...t){const e=Object(i.c)(t);return Object(o.a)((n,i)=>{(e?Object(r.a)(t,n,e):Object(r.a)(t,n)).subscribe(i)})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(3),i=n(6);function o(t){return new r.a(e=>{Object(i.c)(t()).subscribe(e)})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(11),i=n(21),o=n(7);function c(...t){const e=Object(o.c)(t);return e?Object(i.a)(t,e):Object(r.a)(t)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(3),i=n(8);const o=new r.a(i.a)},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(0);function i(t){return Object(r.a)((e,n)=>{e.subscribe(n),n.add(t)})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(40),i=n(42);function o(t,e,n){var o,c;let s,u=!1;return t&&"object"==typeof t?(s=null!==(o=t.bufferSize)&&void 0!==o?o:1/0,e=null!==(c=t.windowTime)&&void 0!==c?c:1/0,u=!!t.refCount,n=t.scheduler):s=null!=t?t:1/0,Object(i.a)({connector:()=>new r.a(s,e,n),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:u})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n(2),i=n(0),o=n(1),c=n(10);function s(t,e,n){const s=Object(r.a)(t)||e||n?{next:t,error:e,complete:n}:t;return s?Object(i.a)((t,e)=>{t.subscribe(new o.a(e,t=>{var n;null===(n=s.next)||void 0===n||n.call(s,t),e.next(t)},t=>{var n;null===(n=s.error)||void 0===n||n.call(s,t),e.error(t)},()=>{var t;null===(t=s.complete)||void 0===t||t.call(s),e.complete()}))}):c.a}},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(24);class i extends r.a{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return!e.closed&&t.next(this._value),e}getValue(){const{hasError:t,thrownError:e,_value:n}=this;if(t)throw e;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(44);function i(t,e){return Object(r.a)((n,r)=>e?e(n[t],r[t]):n[t]===r[t])}},function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n(0),i=n(1),o=n(6);const c={leading:!0,trailing:!1};function s(t,{leading:e,trailing:n}=c){return Object(r.a)((r,c)=>{let s=!1,u=null,a=null,l=!1;const d=()=>{null==a||a.unsubscribe(),a=null,n&&(b(),l&&c.complete())},f=()=>{a=null,l&&c.complete()},h=e=>a=Object(o.c)(t(e)).subscribe(new i.a(c,d,void 0,f)),b=()=>{s&&(c.next(u),!l&&h(u)),s=!1,u=null};r.subscribe(new i.a(c,t=>{s=!0,u=t,(!a||a.closed)&&(e?b():h(t))},void 0,()=>{l=!0,(!(n&&s&&a)||a.closed)&&c.complete()}))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(38);function i(t,e){return e?Object(r.a)(()=>t,e):Object(r.a)(()=>t)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n(0),i=n(1),o=n(6),c=n(10),s=n(8),u=n(7);function a(...t){const e=Object(u.b)(t);return Object(r.a)((n,r)=>{const u=t.length,a=new Array(u);let l=t.map(()=>!1),d=!1;for(let e=0;e{a[e]=t,d||l[e]||(l[e]=!0,(d=l.every(c.a))&&(l=null))},void 0,s.a));n.subscribe(new i.a(r,t=>{if(d){const n=[t,...a];r.next(e?e(...n):n)}}))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return u}));var r=n(0),i=n(16),o=n(11),c=n(22),s=n(7);function u(...t){return function(...t){const e=Object(s.c)(t),n=Object(s.a)(t,1/0);return t=Object(i.a)(t),Object(r.a)((r,i)=>{Object(c.a)(n)(Object(o.a)([r,...t],e)).subscribe(i)})}(...t)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(0),i=n(1);function o(t,e=0){return Object(r.a)((n,r)=>{n.subscribe(new i.a(r,n=>r.add(t.schedule(()=>r.next(n),e)),n=>r.add(t.schedule(()=>r.error(n),e)),()=>r.add(t.schedule(()=>r.complete(),e))))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(0),i=n(1),o=n(13);function c(t,e=null){return e=null!=e?e:t,Object(r.a)((n,r)=>{let c=[],s=0;n.subscribe(new i.a(r,n=>{let i=null;s++%e==0&&c.push([]);for(const e of c)e.push(n),t<=e.length&&(i=null!=i?i:[],i.push(e));if(i)for(const t of i)Object(o.a)(c,t),r.next(t)},void 0,()=>{for(const t of c)r.next(t);r.complete()},()=>{c=null}))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n(46),i=n(0),o=n(16),c=n(19),s=n(31),u=n(7);function a(...t){return function t(...e){const n=Object(u.b)(e);return n?Object(s.a)(t(...e),Object(c.a)(n)):Object(i.a)((t,n)=>{Object(r.b)([t,...Object(o.a)(e)])(n)})}(...t)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n(43);function i(t){return Object(r.a)((e,n)=>t<=n)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(6),i=n(1),o=n(0);function c(t){return Object(o.a)((e,n)=>{let o,s=null,u=!1;s=e.subscribe(new i.a(n,void 0,i=>{o=Object(r.c)(t(i,c(t)(e))),s?(s.unsubscribe(),s=null,o.subscribe(n)):u=!0})),u&&(s.unsubscribe(),s=null,o.subscribe(n))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(0),i=n(8),o=n(1);function c(t){return Object(r.a)((e,n)=>{let r=!1,c=null;e.subscribe(new o.a(n,t=>{r=!0,c=t}));t.subscribe(new o.a(n,()=>{if(r){r=!1;const t=c;c=null,n.next(t)}},void 0,i.a))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(14),i=n(2);function o(t,e){return Object(i.a)(e)?Object(r.a)(t,e,1):Object(r.a)(t,1)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n(0),i=n(1),o=n(6),c=n(8);function s(t){return Object(r.a)((e,n)=>{let r=!1;const s=new i.a(n,()=>{null==s||s.unsubscribe(),r=!0},void 0,c.a);Object(o.c)(t).subscribe(s),e.subscribe(new i.a(n,t=>r&&n.next(t)))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n(0),i=n(1),o=n(6),c=n(8);function s(t){return Object(r.a)((e,n)=>{Object(o.c)(t).subscribe(new i.a(n,()=>n.complete(),void 0,c.a)),!n.closed&&e.subscribe(n)})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(17),i=n(0),o=n(1);function c(t){return t<=0?()=>r.a:Object(i.a)((e,n)=>{let r=[];e.subscribe(new o.a(n,e=>{r.push(e),t{for(const t of r)n.next(t);n.complete()},()=>{r=null}))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(0),i=n(1);function o(t=null){return Object(r.a)((e,n)=>{let r=!1;e.subscribe(new i.a(n,t=>{r=!0,n.next(t)},void 0,()=>{r||n.next(t),n.complete()}))})}},function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n(35),i=n(9);const o={schedule(t){let e=requestAnimationFrame,n=cancelAnimationFrame;const{delegate:r}=o;r&&(e=r.requestAnimationFrame,n=r.cancelAnimationFrame);const c=e(e=>{n=void 0,t(e)});return new i.b(()=>null==n?void 0:n(c))},requestAnimationFrame(...t){const{delegate:e}=o;return((null==e?void 0:e.requestAnimationFrame)||requestAnimationFrame)(...t)},cancelAnimationFrame(...t){const{delegate:e}=o;return((null==e?void 0:e.cancelAnimationFrame)||cancelAnimationFrame)(...t)},delegate:void 0};class c extends r.a{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=o.requestAnimationFrame(()=>t.flush(void 0))))}recycleAsyncId(t,e,n=0){if(null!=n&&n>0||null==n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(o.cancelAnimationFrame(e),t.scheduled=void 0)}}var s=n(37);class u extends s.a{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,r=-1;t=t||e.shift();const i=e.length;do{if(n=t.execute(t.state,t.delay))break}while(++rObject(i.a)(e.pipe(Object(o.a)(1),Object(c.a)((t,e)=>{t.subscribe(new s.a(e,u.a))})),n.pipe(d(t))):Object(l.a)((e,n)=>t(e,n).pipe(Object(o.a)(1),Object(a.a)(e)))}var f=n(36);function h(t,e=r.b){const n=Object(f.a)(t,e);return d(()=>n)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n(23),i=n(0),o=n(8),c=n(1),s=n(6);var u=n(36);function a(t,e=r.b){const n=Object(u.a)(t,e);return a=()=>n,Object(i.a)((t,e)=>{let n=!1,r=null,i=null;const u=()=>{if(null==i||i.unsubscribe(),i=null,n){n=!1;const t=r;r=null,e.next(t)}};t.subscribe(new c.a(e,t=>{null==i||i.unsubscribe(),n=!0,r=t,i=new c.a(e,u,void 0,o.a),Object(s.c)(a(t)).subscribe(i)},void 0,()=>{u(),e.complete()},()=>{r=i=null}))});var a}},function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var r=n(3),i=n(6),o=n(16),c=n(17),s=n(1),u=n(7);var a=n(0);function l(...t){return Object(a.a)((e,n)=>{(function(...t){const e=Object(u.b)(t),n=Object(o.a)(t);return n.length?new r.a(t=>{let r=n.map(()=>[]),o=n.map(()=>!1);t.add(()=>{r=o=null});for(let c=0;!t.closed&&c{if(r[c].push(n),r.every(t=>t.length)){const n=r.map(t=>t.shift());t.next(e?e(...n):n),r.some((t,e)=>!t.length&&o[e])&&t.complete()}},void 0,()=>{o[c]=!0,!r[c].length&&t.complete()}));return()=>{r=o=null}}):c.a})(e,...t).subscribe(n)})}function d(...t){return l(...t)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(0),i=n(1);function o(t,e,n,r,o){return(c,s)=>{let u=n,a=e,l=0;c.subscribe(new i.a(s,e=>{const n=l++;a=u?t(a,e,n):(u=!0,e),r&&s.next(a)},void 0,o&&(()=>{u&&s.next(a),s.complete()})))}}function c(t,e){return Object(r.a)(o(t,e,arguments.length>=2,!0))}}]]); -//# sourceMappingURL=vendor.00ecb175.min.js.map \ No newline at end of file diff --git a/material/assets/javascripts/vendor.00ecb175.min.js.map b/material/assets/javascripts/vendor.00ecb175.min.js.map deleted file mode 100644 index 5a6b1f7c8..000000000 --- a/material/assets/javascripts/vendor.00ecb175.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./node_modules/rxjs/dist/esm/internal/util/lift.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isFunction.js","webpack:///./node_modules/rxjs/dist/esm/internal/Observable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isPromise.js","webpack:///./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isIterable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/caughtSchedule.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/from.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/args.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/noop.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","webpack:///./node_modules/rxjs/dist/esm/internal/Subscription.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/identity.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/fromArray.js","webpack:///./node_modules/rxjs/dist/esm/internal/config.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","webpack:///./node_modules/rxjs/dist/esm/internal/symbol/observable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/argsOrArgArray.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/empty.js","webpack:///./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","webpack:///./node_modules/rxjs/dist/esm/internal/Subscriber.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/async.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","webpack:///./node_modules/rxjs/dist/esm/internal/Subject.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/clipboard/dist/clipboard.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/concat.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/pipe.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/map.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/timer.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isDate.js","webpack:///./node_modules/rxjs/dist/esm/internal/Scheduler.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/take.js","webpack:///./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/share.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/filter.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","webpack:///./node_modules/escape-html/index.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","webpack:///./node_modules/focus-visible/dist/focus-visible.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/merge.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/startWith.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/defer.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/of.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/never.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/finalize.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/tap.js","webpack:///./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/distinctUntilKeyChanged.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/throttle.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/switchMapTo.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/mergeWith.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/bufferCount.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/combineLatestWith.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/skip.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/catchError.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/sample.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/skipUntil.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/delayWhen.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/delay.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/debounce.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/zipWith.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/zip.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/scan.js"],"names":["operate","init","source","lift","hasLift","liftedSource","this","err","error","TypeError","OperatorSubscriber","destination","onNext","onError","onComplete","onUnsubscribe","super","_next","value","_error","unsubscribe","_complete","_a","closed","call","isFunction","Observable","subscribe","_subscribe","operator","observable","observerOrNext","complete","subscriber","next","isObserver","add","useDeprecatedSynchronousErrorHandling","_trySubscribe","sink","promiseCtor","getPromiseCtor","resolve","reject","subscription","operations","length","x","Promise","create","isPromise","then","Symbol","iterator","isInteropObservable","input","isIterable","isAsyncIterable","obj","asyncIterator","createInvalidObservableTypeError","scheduled","scheduler","sub","Subscription","schedule","scheduleObservable","isArrayLike","scheduleArray","schedulePromise","Error","result","done","scheduleAsyncIterable","execute","delay","caughtSchedule","return","scheduleIterable","from","innerFrom","obs","fromArrayLike","promise","reportUnhandledError","asyncIterable","asyncIterable_1","asyncIterable_1_1","e_1","e_1_1","process","catch","iterable","array","i","last","arr","popResultSelector","args","pop","undefined","popScheduler","popNumber","defaultValue","noop","UnsubscriptionError","createErrorClass","_super","errors","message","map","toString","join","name","initialTeardown","_parentage","_teardowns","Array","isArray","parent","remove","e","teardown","execTeardown","push","_hasParent","_addParent","includes","arrRemove","_removeParent","EMPTY","empty","EMPTY_SUBSCRIPTION","isSubscription","identity","internalFromArray","config","onUnhandledError","onStoppedNotification","useDeprecatedNextContext","item","index","indexOf","splice","mergeMap","project","resultSelector","concurrent","Infinity","a","b","ii","onBeforeNext","expand","innerSubScheduler","additionalTeardown","buffer","active","isComplete","checkComplete","outerNext","doInnerSub","innerValue","bufferedValue","shift","mergeInternals","argsOrArgArray","COMPLETE_NOTIFICATION","createNotification","kind","isStopped","EMPTY_OBSERVER","handleStoppedNotification","nextNotification","context","Object","bind","defaultErrorHandler","notification","timeoutProvider","setTimeout","mapOneOrManyArgs","fn","callOrApply","mergeAll","asyncScheduler","async","ObjectUnsubscribedError","observers","hasError","thrownError","subject","_throwIfClosed","copy","slice","observer","_checkFinalizedStatuses","_innerSubscribe","_b","__rest","s","t","p","prototype","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","rejected","apply","__values","o","m","__asyncValues","verb","n","v","d","settle","factory","modules","installedModules","__webpack_require__","moduleId","exports","module","l","c","getter","defineProperty","enumerable","get","r","toStringTag","mode","__esModule","ns","key","object","property","element","selectedText","nodeName","focus","isReadOnly","hasAttribute","setAttribute","select","setSelectionRange","removeAttribute","selection","window","getSelection","range","document","createRange","selectNodeContents","removeAllRanges","addRange","E","on","callback","ctx","once","self","listener","off","arguments","_","emit","data","evtArr","len","evts","liveEvents","TinyEmitter","is","delegate","target","type","string","node","addEventListener","destroy","removeEventListener","listenNode","nodeList","forEach","listenNodeList","selector","body","listenSelector","HTMLElement","nodeType","String","closest","_delegate","useCapture","listenerFn","delegateTarget","elements","querySelectorAll","Element","matches","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","parentNode","__webpack_exports__","src_select","select_default","_typeof","constructor","_createClass","defineProperties","props","descriptor","configurable","writable","Constructor","protoProps","staticProps","clipboard_action","ClipboardAction","options","instance","_classCallCheck","resolveOptions","initSelection","action","container","emitter","text","trigger","selectFake","selectTarget","_this","isRTL","documentElement","getAttribute","removeFake","fakeHandlerCallback","fakeHandler","fakeElem","createElement","style","fontSize","border","padding","margin","position","yPosition","pageYOffset","scrollTop","top","appendChild","copyText","removeChild","succeeded","execCommand","handleResult","clearSelection","activeElement","blur","set","_action","_target","tiny_emitter","tiny_emitter_default","listen","listen_default","clipboard_typeof","clipboard_createClass","clipboard_Clipboard","_Emitter","Clipboard","clipboard_classCallCheck","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","listenClick","subClass","superClass","setPrototypeOf","_inherits","defaultAction","defaultTarget","defaultText","_this2","onClick","currentTarget","clipboardAction","getAttributeValue","querySelector","actions","support","queryCommandSupported","suffix","attribute","concat","concatAll","createImpl","ctorFunc","stack","handle","clearTimeout","pipe","fns","pipeFromArray","reduce","prev","dateTimestampProvider","now","Date","isScheduler","work","state","intervalProvider","setInterval","clearInterval","pending","id","recycleAsyncId","requestAsyncId","_id","flush","_scheduler","_execute","_delay","errorValue","errored","timer","dueTime","intervalOrScheduler","intervalDuration","due","isNaN","Scheduler","schedulerActionCtor","SchedulerAction","switchMap","innerSubscriber","innerIndex","outerIndex","take","count","seen","ReplaySubject","bufferSize","windowTime","timestampProvider","infiniteTimeWindow","Math","max","trimBuffer","adjustedBufferSize","mapTo","share","connector","resetOnComplete","resetOnError","resetOnRefCountZero","connection","refCount","hasCompleted","hasErrored","reset","castSubscription","dest","conn","filter","predicate","distinctUntilChanged","compare","keySelector","defaultCompare","first","matchHtmlRegExp","escape","str","match","exec","html","lastIndex","charCodeAt","substring","objectProto","keys","getKeys","argsArgArrayOrObject","combineLatest","observables","combineLatestInit","values","Subscriber","shouldComplete","valueTransform","maybeSchedule","hasValues","waitingForFirstValues","every","applyFocusVisiblePolyfill","scope","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesAllowlist","search","url","tel","email","password","number","date","month","week","time","datetime","isValidFocusTarget","el","classList","addFocusVisibleClass","contains","onPointerDown","addInitialPointerMoveListeners","onInitialPointerMove","toLowerCase","metaKey","altKey","ctrlKey","visibilityState","tagName","readOnly","isContentEditable","Node","DOCUMENT_FRAGMENT_NODE","host","DOCUMENT_NODE","event","CustomEvent","createEvent","initCustomEvent","dispatchEvent","nodeEventEmitterMethods","eventTargetMethods","jqueryMethods","fromEvent","eventName","isEventTarget","methodName","handler","addListener","removeListener","isNodeStyleEventEmitter","toCommonHandlerRegistry","isJQueryStyleEventEmitter","subTarget","merge","sources","startWith","defer","observableFactory","of","NEVER","finalize","shareReplay","configOrBufferSize","tap","tapObserver","BehaviorSubject","_value","getValue","distinctUntilKeyChanged","y","defaultThrottleConfig","leading","trailing","throttle","durationSelector","hasValue","sendValue","throttled","endThrottling","send","cleanupThrottling","startThrottle","switchMapTo","innerObservable","withLatestFrom","inputs","otherValues","ready","mergeWith","otherSources","observeOn","bufferCount","startBufferEvery","buffers","toEmit","combineLatestWith","skip","catchError","handledResult","innerSub","syncUnsub","sample","notifier","lastValue","concatMap","skipUntil","taking","skipSubscriber","takeUntil","takeLast","defaultIfEmpty","animationFrameProvider","request","requestAnimationFrame","cancel","cancelAnimationFrame","timestamp","AsyncAction","AsyncScheduler","animationFrameScheduler","delayWhen","delayDurationSelector","subscriptionDelay","duration","debounceTime","durationSubscriber","completed","sourceIndex","some","zip","zipWith","otherInputs","scanInternals","accumulator","seed","hasSeed","emitOnNext","emitBeforeComplete","hasState","scan"],"mappings":"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","file":"assets/javascripts/vendor.00ecb175.min.js","sourcesContent":["import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { Subscriber } from '../Subscriber';\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onError, onComplete, onUnsubscribe) {\n super(destination);\n this.onUnsubscribe = onUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n this.destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.unsubscribe();\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n this.destination.error(err);\n }\n this.unsubscribe();\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n !this.closed && ((_a = this.onUnsubscribe) === null || _a === void 0 ? void 0 : _a.call(this));\n super.unsubscribe();\n }\n}\n//# sourceMappingURL=OperatorSubscriber.js.map","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nexport class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n const { operator, source } = this;\n subscriber.add(operator\n ? operator.call(subscriber, source)\n : source || config.useDeprecatedSynchronousErrorHandling\n ? this._subscribe(subscriber)\n : this._trySubscribe(subscriber));\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let subscription;\n subscription = this.subscribe((value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();\n }\n }, reject, resolve);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return operations.length ? pipeFromArray(operations)(this) : this;\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\nexport const $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, Array, AsyncIterable, or Iterable.`);\n}\n//# sourceMappingURL=throwUnobservableError.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next(value) { sub.add(scheduler.schedule(() => subscriber.next(value))); },\n error(err) { sub.add(scheduler.schedule(() => subscriber.error(err))); },\n complete() { sub.add(scheduler.schedule(() => subscriber.complete())); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { Observable } from '../Observable';\nexport function schedulePromise(input, scheduler) {\n return new Observable((subscriber) => {\n return scheduler.schedule(() => input.then((value) => {\n subscriber.add(scheduler.schedule(() => {\n subscriber.next(value);\n subscriber.add(scheduler.schedule(() => subscriber.complete()));\n }));\n }, (err) => {\n subscriber.add(scheduler.schedule(() => subscriber.error(err)));\n }));\n });\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const iterator = input[Symbol.asyncIterator]();\n sub.add(scheduler.schedule(function () {\n iterator.next().then(result => {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n this.schedule();\n }\n });\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { caughtSchedule } from '../util/caughtSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable((subscriber) => {\n let iterator;\n subscriber.add(scheduler.schedule(() => {\n iterator = input[Symbol_iterator]();\n caughtSchedule(subscriber, scheduler, function () {\n const { value, done } = iterator.next();\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n });\n }));\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","export function caughtSchedule(subscriber, scheduler, execute, delay = 0) {\n const subscription = scheduler.schedule(function () {\n try {\n execute.call(this);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n subscriber.add(subscription);\n return subscription;\n}\n//# sourceMappingURL=caughtSchedule.js.map","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { Observable } from '../Observable';\nimport { scheduled } from '../scheduled/scheduled';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nfunction fromInteropObservable(obj) {\n return new Observable((subscriber) => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable((subscriber) => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nfunction fromPromise(promise) {\n return new Observable((subscriber) => {\n promise\n .then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, reportUnhandledError);\n });\n}\nfunction fromIterable(iterable) {\n return new Observable((subscriber) => {\n const iterator = iterable[Symbol_iterator]();\n while (!subscriber.closed) {\n const { done, value } = iterator.next();\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\nfunction fromAsyncIterable(asyncIterable) {\n return new Observable((subscriber) => {\n process(asyncIterable, subscriber).catch((err) => subscriber.error(err));\n });\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\n//# sourceMappingURL=from.js.map","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n//# sourceMappingURL=args.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._teardowns = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage === null || _parentage === void 0 ? void 0 : _parentage.remove(this);\n }\n const { initialTeardown } = this;\n if (isFunction(initialTeardown)) {\n try {\n initialTeardown();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _teardowns } = this;\n if (_teardowns) {\n this._teardowns = null;\n for (const teardown of _teardowns) {\n try {\n execTeardown(teardown);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execTeardown(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._teardowns = (_a = this._teardowns) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _teardowns } = this;\n _teardowns && arrRemove(_teardowns, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execTeardown(teardown) {\n if (isFunction(teardown)) {\n teardown();\n }\n else {\n teardown.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { scheduleArray } from '../scheduled/scheduleArray';\nimport { fromArrayLike } from './from';\nexport function internalFromArray(input, scheduler) {\n return scheduler ? scheduleArray(input, scheduler) : fromArrayLike(input);\n}\n//# sourceMappingURL=fromArray.js.map","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/from';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent = Infinity) {\n if (isFunction(resultSelector)) {\n return mergeMap((a, i) => map((b, ii) => resultSelector(a, b, i, ii))(innerFrom(project(a, i))), concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent));\n}\nexport const flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map","import { innerFrom } from '../observable/from';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalTeardown) {\n let buffer = [];\n let active = 0;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));\n const doInnerSub = (value) => {\n expand && subscriber.next(value);\n active++;\n innerFrom(project(value, index++)).subscribe(new OperatorSubscriber(subscriber, (innerValue) => {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, undefined, () => {\n active--;\n while (buffer.length && active < concurrent) {\n const bufferedValue = buffer.shift();\n innerSubScheduler ? subscriber.add(innerSubScheduler.schedule(() => doInnerSub(bufferedValue))) : doInnerSub(bufferedValue);\n }\n checkComplete();\n }));\n };\n source.subscribe(new OperatorSubscriber(subscriber, outerNext, undefined, () => {\n isComplete = true;\n checkComplete();\n }));\n return () => {\n buffer = null;\n additionalTeardown === null || additionalTeardown === void 0 ? void 0 : additionalTeardown();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n//# sourceMappingURL=observable.js.map","const { isArray } = Array;\nexport function argsOrArgArray(args) {\n return args.length === 1 && isArray(args[0]) ? args[0] : args;\n}\n//# sourceMappingURL=argsOrArgArray.js.map","import { Observable } from '../Observable';\nexport const EMPTY = new Observable(subscriber => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(subscriber => scheduler.schedule(() => subscriber.complete()));\n}\n//# sourceMappingURL=empty.js.map","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.destination.complete();\n this.unsubscribe();\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n this.destination = EMPTY_OBSERVER;\n if ((observerOrNext || error || complete) && observerOrNext !== EMPTY_OBSERVER) {\n let next;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n ({ next, error, complete } = observerOrNext);\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n }\n else {\n context = observerOrNext;\n }\n next = next === null || next === void 0 ? void 0 : next.bind(context);\n error = error === null || error === void 0 ? void 0 : error.bind(context);\n complete = complete === null || complete === void 0 ? void 0 : complete.bind(context);\n }\n this.destination = {\n next: next || noop,\n error: error || defaultErrorHandler,\n complete: complete || noop,\n };\n }\n }\n}\nfunction defaultErrorHandler(err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n reportUnhandledError(err);\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","import { map } from \"../operators/map\";\nconst { isArray } = Array;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn(...args) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(args => callOrApply(fn, args));\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n//# sourceMappingURL=isArrayLike.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable((subscriber) => {\n let i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Infinity) {\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n this._throwIfClosed();\n if (!this.isStopped) {\n const copy = this.observers.slice();\n for (const observer of copy) {\n observer.next(value);\n }\n }\n }\n error(err) {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n }\n complete() {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = null;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n return hasError || isStopped\n ? EMPTY_SUBSCRIPTION\n : (observers.push(subscriber), new Subscription(() => arrRemove(this.observers, subscriber)));\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n//# sourceMappingURL=Subject.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*!\n * clipboard.js v2.0.6\n * https://clipboardjs.com/\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(3);\nvar delegate = __webpack_require__(4);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(5);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(0);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n\n// CONCATENATED MODULE: ./src/clipboard-action.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\n\nvar clipboard_action_ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = select_default()(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = select_default()(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n document.activeElement.blur();\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\n/* harmony default export */ var clipboard_action = (clipboard_action_ClipboardAction);\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(1);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(2);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n\n// CONCATENATED MODULE: ./src/clipboard.js\nvar clipboard_typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar clipboard_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\nvar clipboard_Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n clipboard_classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n clipboard_createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new clipboard_action({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(tiny_emitter_default.a);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\n/* harmony default export */ var clipboard = __webpack_exports__[\"default\"] = (clipboard_Clipboard);\n\n/***/ })\n/******/ ])[\"default\"];\n});","import { concatAll } from '../operators/concatAll';\nimport { internalFromArray } from './fromArray';\nimport { popScheduler } from '../util/args';\nexport function concat(...args) {\n return concatAll()(internalFromArray(args, popScheduler(args)));\n}\n//# sourceMappingURL=concat.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export const timeoutProvider = {\n setTimeout(...args) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) || setTimeout)(...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n//# sourceMappingURL=pipe.js.map","export const dateTimestampProvider = {\n now() {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n//# sourceMappingURL=isScheduler.js.map","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n//# sourceMappingURL=Action.js.map","export const intervalProvider = {\n setInterval(...args) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) || setInterval)(...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, _id, delay = 0) {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(_scheduler, id, delay = 0) {\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n intervalProvider.clearInterval(id);\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, _delay) {\n let errored = false;\n let errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = (!!e && e) || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n super.unsubscribe();\n }\n }\n}\n//# sourceMappingURL=AsyncAction.js.map","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime = 0, intervalOrScheduler, scheduler = asyncScheduler) {\n let intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable((subscriber) => {\n let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n let n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n//# sourceMappingURL=timer.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","import { dateTimestampProvider } from \"./scheduler/dateTimestampProvider\";\nexport class Scheduler {\n constructor(schedulerActionCtor, now = Scheduler.now) {\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\nScheduler.now = dateTimestampProvider.now;\n//# sourceMappingURL=Scheduler.js.map","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, now);\n this.actions = [];\n this.active = false;\n this.scheduled = undefined;\n }\n flush(action) {\n const { actions } = this;\n if (this.active) {\n actions.push(action);\n return;\n }\n let error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n//# sourceMappingURL=AsyncScheduler.js.map","import { innerFrom } from '../observable/from';\nimport { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate((source, subscriber) => {\n let innerSubscriber = null;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n let innerIndex = 0;\n const outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = new OperatorSubscriber(subscriber, (innerValue) => subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue), undefined, () => {\n innerSubscriber = null;\n checkComplete();\n })));\n }, undefined, () => {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n//# sourceMappingURL=switchMap.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n () => EMPTY\n : operate((source, subscriber) => {\n let seen = 0;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n//# sourceMappingURL=take.js.map","import { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class ReplaySubject extends Subject {\n constructor(bufferSize = Infinity, windowTime = Infinity, timestampProvider = dateTimestampProvider) {\n super();\n this.bufferSize = bufferSize;\n this.windowTime = windowTime;\n this.timestampProvider = timestampProvider;\n this.buffer = [];\n this.infiniteTimeWindow = true;\n this.infiniteTimeWindow = windowTime === Infinity;\n this.bufferSize = Math.max(1, bufferSize);\n this.windowTime = Math.max(1, windowTime);\n }\n next(value) {\n const { isStopped, buffer, infiniteTimeWindow, timestampProvider, windowTime } = this;\n if (!isStopped) {\n buffer.push(value);\n !infiniteTimeWindow && buffer.push(timestampProvider.now() + windowTime);\n }\n this.trimBuffer();\n super.next(value);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this.trimBuffer();\n const subscription = this._innerSubscribe(subscriber);\n const { infiniteTimeWindow, buffer } = this;\n const copy = buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n }\n trimBuffer() {\n const { bufferSize, timestampProvider, buffer, infiniteTimeWindow } = this;\n const adjustedBufferSize = (infiniteTimeWindow ? 1 : 2) * bufferSize;\n bufferSize < Infinity && adjustedBufferSize < buffer.length && buffer.splice(0, buffer.length - adjustedBufferSize);\n if (!infiniteTimeWindow) {\n const now = timestampProvider.now();\n let last = 0;\n for (let i = 1; i < buffer.length && buffer[i] <= now; i += 2) {\n last = i;\n }\n last && buffer.splice(0, last + 1);\n }\n }\n}\n//# sourceMappingURL=ReplaySubject.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function mapTo(value) {\n return operate((source, subscriber) => {\n source.subscribe(new OperatorSubscriber(subscriber, () => subscriber.next(value)));\n });\n}\n//# sourceMappingURL=mapTo.js.map","import { Subject } from '../Subject';\nimport { from } from '../observable/from';\nimport { operate } from '../util/lift';\nexport function share(options) {\n options = options || {};\n const { connector = () => new Subject(), resetOnComplete = true, resetOnError = true, resetOnRefCountZero = true } = options;\n let connection = null;\n let subject = null;\n let refCount = 0;\n let hasCompleted = false;\n let hasErrored = false;\n const reset = () => {\n connection = subject = null;\n hasCompleted = hasErrored = false;\n };\n return operate((source, subscriber) => {\n refCount++;\n if (!subject) {\n subject = connector();\n }\n const castSubscription = subject.subscribe(subscriber);\n if (!connection) {\n connection = from(source).subscribe({\n next: (value) => subject.next(value),\n error: (err) => {\n hasErrored = true;\n const dest = subject;\n if (resetOnError) {\n reset();\n }\n dest.error(err);\n },\n complete: () => {\n hasCompleted = true;\n const dest = subject;\n if (resetOnComplete) {\n reset();\n }\n dest.complete();\n },\n });\n }\n return () => {\n refCount--;\n castSubscription.unsubscribe();\n if (!refCount && resetOnRefCountZero && !hasErrored && !hasCompleted) {\n const conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n }\n };\n });\n}\n//# sourceMappingURL=share.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));\n });\n}\n//# sourceMappingURL=filter.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n compare = compare !== null && compare !== void 0 ? compare : defaultCompare;\n return operate((source, subscriber) => {\n let prev;\n let first = true;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n ((first && ((prev = value), 1)) || !compare(prev, (prev = keySelector ? keySelector(value) : value))) &&\n subscriber.next(value);\n first = false;\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","const { isArray } = Array;\nconst { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n const first = args[0];\n if (isArray(first)) {\n return { args: first, keys: null };\n }\n if (isPOJO(first)) {\n const keys = getKeys(first);\n return {\n args: keys.map((key) => first[key]),\n keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n//# sourceMappingURL=argsArgArrayOrObject.js.map","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { Subscriber } from '../Subscriber';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nexport function combineLatest(...args) {\n const scheduler = popScheduler(args);\n const resultSelector = popResultSelector(args);\n const { args: observables, keys } = argsArgArrayOrObject(args);\n if (observables.length === 0) {\n return from([], scheduler);\n }\n const result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n (values) => {\n const value = {};\n for (let i = 0; i < values.length; i++) {\n value[keys[i]] = values[i];\n }\n return value;\n }\n :\n identity));\n if (resultSelector) {\n return result.pipe(mapOneOrManyArgs(resultSelector));\n }\n return result;\n}\nclass CombineLatestSubscriber extends Subscriber {\n constructor(destination, _next, shouldComplete) {\n super(destination);\n this._next = _next;\n this.shouldComplete = shouldComplete;\n }\n _complete() {\n if (this.shouldComplete()) {\n super._complete();\n }\n else {\n this.unsubscribe();\n }\n }\n}\nexport function combineLatestInit(observables, scheduler, valueTransform = identity) {\n return (subscriber) => {\n const primarySubscribe = () => {\n const { length } = observables;\n const values = new Array(length);\n let active = length;\n const hasValues = observables.map(() => false);\n let waitingForFirstValues = true;\n const emit = () => subscriber.next(valueTransform(values.slice()));\n for (let i = 0; i < length; i++) {\n const subscribe = () => {\n const source = from(observables[i], scheduler);\n source.subscribe(new CombineLatestSubscriber(subscriber, (value) => {\n values[i] = value;\n if (waitingForFirstValues) {\n hasValues[i] = true;\n waitingForFirstValues = !hasValues.every(identity);\n }\n if (!waitingForFirstValues) {\n emit();\n }\n }, () => --active === 0));\n };\n maybeSchedule(scheduler, subscribe, subscriber);\n }\n };\n maybeSchedule(scheduler, primarySubscribe, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n subscription.add(scheduler.schedule(execute));\n }\n else {\n execute();\n }\n}\n//# sourceMappingURL=combineLatest.js.map","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n","import { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { internalFromArray } from './fromArray';\nconst nodeEventEmitterMethods = ['addListener', 'removeListener'];\nconst eventTargetMethods = ['addEventListener', 'removeEventListener'];\nconst jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n const [add, remove] = isEventTarget(target)\n ? eventTargetMethods.map((methodName) => (handler) => target[methodName](eventName, handler, options))\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap((subTarget) => fromEvent(subTarget, eventName, options))(internalFromArray(target));\n }\n }\n return new Observable((subscriber) => {\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n const handler = (...args) => subscriber.next(1 < args.length ? args : args[0]);\n add(handler);\n return () => remove(handler);\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return (methodName) => (handler) => target[methodName](eventName, handler);\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map","import { mergeAll } from '../operators/mergeAll';\nimport { internalFromArray } from './fromArray';\nimport { argsOrArgArray } from '../util/argsOrArgArray';\nimport { innerFrom } from './from';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nexport function merge(...args) {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n const sources = argsOrArgArray(args);\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(internalFromArray(sources, scheduler));\n}\n//# sourceMappingURL=merge.js.map","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith(...values) {\n const scheduler = popScheduler(values);\n return operate((source, subscriber) => {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=startWith.js.map","import { Observable } from '../Observable';\nimport { innerFrom } from './from';\nexport function defer(observableFactory) {\n return new Observable((subscriber) => {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map","import { internalFromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nimport { popScheduler } from '../util/args';\nexport function of(...args) {\n const scheduler = popScheduler(args);\n return scheduler ? scheduleArray(args, scheduler) : internalFromArray(args);\n}\n//# sourceMappingURL=of.js.map","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport const NEVER = new Observable(noop);\nexport function never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map","import { operate } from '../util/lift';\nexport function finalize(callback) {\n return operate((source, subscriber) => {\n source.subscribe(subscriber);\n subscriber.add(callback);\n });\n}\n//# sourceMappingURL=finalize.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var _a, _b;\n let bufferSize;\n let refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n bufferSize = (_a = configOrBufferSize.bufferSize) !== null && _a !== void 0 ? _a : Infinity;\n windowTime = (_b = configOrBufferSize.windowTime) !== null && _b !== void 0 ? _b : Infinity;\n refCount = !!configOrBufferSize.refCount;\n scheduler = configOrBufferSize.scheduler;\n }\n else {\n bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity;\n }\n return share({\n connector: () => new ReplaySubject(bufferSize, windowTime, scheduler),\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount\n });\n}\n//# sourceMappingURL=shareReplay.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n const tapObserver = isFunction(observerOrNext) || error || complete ? { next: observerOrNext, error, complete } : observerOrNext;\n return tapObserver\n ? operate((source, subscriber) => {\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, (err) => {\n var _a;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, () => {\n var _a;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","import { Subject } from './Subject';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n getValue() {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n next(value) {\n super.next((this._value = value));\n }\n}\n//# sourceMappingURL=BehaviorSubject.js.map","import { distinctUntilChanged } from './distinctUntilChanged';\nexport function distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged((x, y) => compare ? compare(x[key], y[key]) : x[key] === y[key]);\n}\n//# sourceMappingURL=distinctUntilKeyChanged.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/from';\nexport const defaultThrottleConfig = {\n leading: true,\n trailing: false,\n};\nexport function throttle(durationSelector, { leading, trailing } = defaultThrottleConfig) {\n return operate((source, subscriber) => {\n let hasValue = false;\n let sendValue = null;\n let throttled = null;\n let isComplete = false;\n const endThrottling = () => {\n throttled === null || throttled === void 0 ? void 0 : throttled.unsubscribe();\n throttled = null;\n if (trailing) {\n send();\n isComplete && subscriber.complete();\n }\n };\n const cleanupThrottling = () => {\n throttled = null;\n isComplete && subscriber.complete();\n };\n const startThrottle = (value) => (throttled = innerFrom(durationSelector(value)).subscribe(new OperatorSubscriber(subscriber, endThrottling, undefined, cleanupThrottling)));\n const send = () => {\n if (hasValue) {\n subscriber.next(sendValue);\n !isComplete && startThrottle(sendValue);\n }\n hasValue = false;\n sendValue = null;\n };\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n sendValue = value;\n !(throttled && !throttled.closed) && (leading ? send() : startThrottle(value));\n }, undefined, () => {\n isComplete = true;\n !(trailing && hasValue && throttled && !throttled.closed) && subscriber.complete();\n }));\n });\n}\n//# sourceMappingURL=throttle.js.map","import { switchMap } from './switchMap';\nexport function switchMapTo(innerObservable, resultSelector) {\n return resultSelector ? switchMap(() => innerObservable, resultSelector) : switchMap(() => innerObservable);\n}\n//# sourceMappingURL=switchMapTo.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/from';\nimport { identity } from '../util/identity';\nimport { noop } from '../util/noop';\nimport { popResultSelector } from '../util/args';\nexport function withLatestFrom(...inputs) {\n const project = popResultSelector(inputs);\n return operate((source, subscriber) => {\n const len = inputs.length;\n const otherValues = new Array(len);\n let hasValue = inputs.map(() => false);\n let ready = false;\n for (let i = 0; i < len; i++) {\n innerFrom(inputs[i]).subscribe(new OperatorSubscriber(subscriber, (value) => {\n otherValues[i] = value;\n if (!ready && !hasValue[i]) {\n hasValue[i] = true;\n (ready = hasValue.every(identity)) && (hasValue = null);\n }\n }, undefined, noop));\n }\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n if (ready) {\n const values = [value, ...otherValues];\n subscriber.next(project ? project(...values) : values);\n }\n }));\n });\n}\n//# sourceMappingURL=withLatestFrom.js.map","import { operate } from '../util/lift';\nimport { argsOrArgArray } from '../util/argsOrArgArray';\nimport { internalFromArray } from '../observable/fromArray';\nimport { mergeAll } from './mergeAll';\nimport { popNumber, popScheduler } from '../util/args';\nexport function merge(...args) {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n args = argsOrArgArray(args);\n return operate((source, subscriber) => {\n mergeAll(concurrent)(internalFromArray([source, ...args], scheduler)).subscribe(subscriber);\n });\n}\nexport function mergeWith(...otherSources) {\n return merge(...otherSources);\n}\n//# sourceMappingURL=mergeWith.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n source.subscribe(new OperatorSubscriber(subscriber, (value) => subscriber.add(scheduler.schedule(() => subscriber.next(value), delay)), (err) => subscriber.add(scheduler.schedule(() => subscriber.error(err), delay)), () => subscriber.add(scheduler.schedule(() => subscriber.complete(), delay))));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { arrRemove } from '../util/arrRemove';\nexport function bufferCount(bufferSize, startBufferEvery = null) {\n startBufferEvery = startBufferEvery !== null && startBufferEvery !== void 0 ? startBufferEvery : bufferSize;\n return operate((source, subscriber) => {\n let buffers = [];\n let count = 0;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n let toEmit = null;\n if (count++ % startBufferEvery === 0) {\n buffers.push([]);\n }\n for (const buffer of buffers) {\n buffer.push(value);\n if (bufferSize <= buffer.length) {\n toEmit = toEmit !== null && toEmit !== void 0 ? toEmit : [];\n toEmit.push(buffer);\n }\n }\n if (toEmit) {\n for (const buffer of toEmit) {\n arrRemove(buffers, buffer);\n subscriber.next(buffer);\n }\n }\n }, undefined, () => {\n for (const buffer of buffers) {\n subscriber.next(buffer);\n }\n subscriber.complete();\n }, () => {\n buffers = null;\n }));\n });\n}\n//# sourceMappingURL=bufferCount.js.map","import { combineLatestInit } from '../observable/combineLatest';\nimport { operate } from '../util/lift';\nimport { argsOrArgArray } from '../util/argsOrArgArray';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { pipe } from '../util/pipe';\nimport { popResultSelector } from '../util/args';\nexport function combineLatest(...args) {\n const resultSelector = popResultSelector(args);\n return resultSelector\n ? pipe(combineLatest(...args), mapOneOrManyArgs(resultSelector))\n : operate((source, subscriber) => {\n combineLatestInit([source, ...argsOrArgArray(args)])(subscriber);\n });\n}\nexport function combineLatestWith(...otherSources) {\n return combineLatest(...otherSources);\n}\n//# sourceMappingURL=combineLatestWith.js.map","import { filter } from './filter';\nexport function skip(count) {\n return filter((_, index) => count <= index);\n}\n//# sourceMappingURL=skip.js.map","import { innerFrom } from '../observable/from';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate((source, subscriber) => {\n let innerSub = null;\n let syncUnsub = false;\n let handledResult;\n innerSub = source.subscribe(new OperatorSubscriber(subscriber, undefined, (err) => {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n//# sourceMappingURL=catchError.js.map","import { operate } from '../util/lift';\nimport { noop } from '../util/noop';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function sample(notifier) {\n return operate((source, subscriber) => {\n let hasValue = false;\n let lastValue = null;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n lastValue = value;\n }));\n const emit = () => {\n if (hasValue) {\n hasValue = false;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n notifier.subscribe(new OperatorSubscriber(subscriber, emit, undefined, noop));\n });\n}\n//# sourceMappingURL=sample.js.map","import { mergeMap } from './mergeMap';\nimport { isFunction } from '../util/isFunction';\nexport function concatMap(project, resultSelector) {\n return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);\n}\n//# sourceMappingURL=concatMap.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/from';\nimport { noop } from '../util/noop';\nexport function skipUntil(notifier) {\n return operate((source, subscriber) => {\n let taking = false;\n const skipSubscriber = new OperatorSubscriber(subscriber, () => {\n skipSubscriber === null || skipSubscriber === void 0 ? void 0 : skipSubscriber.unsubscribe();\n taking = true;\n }, undefined, noop);\n innerFrom(notifier).subscribe(skipSubscriber);\n source.subscribe(new OperatorSubscriber(subscriber, (value) => taking && subscriber.next(value)));\n });\n}\n//# sourceMappingURL=skipUntil.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/from';\nimport { noop } from '../util/noop';\nexport function takeUntil(notifier) {\n return operate((source, subscriber) => {\n innerFrom(notifier).subscribe(new OperatorSubscriber(subscriber, () => subscriber.complete(), undefined, noop));\n !subscriber.closed && source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=takeUntil.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function takeLast(count) {\n return count <= 0\n ? () => EMPTY\n : operate((source, subscriber) => {\n let buffer = [];\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n buffer.push(value);\n count < buffer.length && buffer.shift();\n }, undefined, () => {\n for (const value of buffer) {\n subscriber.next(value);\n }\n subscriber.complete();\n }, () => {\n buffer = null;\n }));\n });\n}\n//# sourceMappingURL=takeLast.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue = null) {\n return operate((source, subscriber) => {\n let hasValue = false;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n subscriber.next(value);\n }, undefined, () => {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\n//# sourceMappingURL=defaultIfEmpty.js.map","import { Subscription } from '../Subscription';\nexport const animationFrameProvider = {\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel === null || cancel === void 0 ? void 0 : cancel(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=animationFrameProvider.js.map","import { AsyncAction } from './AsyncAction';\nimport { animationFrameProvider } from './animationFrameProvider';\nexport class AnimationFrameAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n animationFrameProvider.cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n }\n}\n//# sourceMappingURL=AnimationFrameAction.js.map","import { AsyncScheduler } from './AsyncScheduler';\nexport class AnimationFrameScheduler extends AsyncScheduler {\n flush(action) {\n this.active = true;\n this.scheduled = undefined;\n const { actions } = this;\n let error;\n let index = -1;\n action = action || actions.shift();\n const count = actions.length;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n//# sourceMappingURL=AnimationFrameScheduler.js.map","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport const animationFrame = animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map","import { concat } from '../observable/concat';\nimport { take } from './take';\nimport { ignoreElements } from './ignoreElements';\nimport { mapTo } from './mapTo';\nimport { mergeMap } from './mergeMap';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return (source) => concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n }\n return mergeMap((value, index) => delayDurationSelector(value, index).pipe(take(1), mapTo(value)));\n}\n//# sourceMappingURL=delayWhen.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { noop } from '../util/noop';\nexport function ignoreElements() {\n return operate((source, subscriber) => {\n source.subscribe(new OperatorSubscriber(subscriber, noop));\n });\n}\n//# sourceMappingURL=ignoreElements.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { delayWhen } from './delayWhen';\nimport { timer } from '../observable/timer';\nexport function delay(due, scheduler = asyncScheduler) {\n const duration = timer(due, scheduler);\n return delayWhen(() => duration);\n}\n//# sourceMappingURL=delay.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { debounce } from './debounce';\nimport { timer } from '../observable/timer';\nexport function debounceTime(dueTime, scheduler = asyncScheduler) {\n const duration = timer(dueTime, scheduler);\n return debounce(() => duration);\n}\n//# sourceMappingURL=debounceTime.js.map","import { operate } from '../util/lift';\nimport { noop } from '../util/noop';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/from';\nexport function debounce(durationSelector) {\n return operate((source, subscriber) => {\n let hasValue = false;\n let lastValue = null;\n let durationSubscriber = null;\n const emit = () => {\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n durationSubscriber = null;\n if (hasValue) {\n hasValue = false;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n hasValue = true;\n lastValue = value;\n durationSubscriber = new OperatorSubscriber(subscriber, emit, undefined, noop);\n innerFrom(durationSelector(value)).subscribe(durationSubscriber);\n }, undefined, () => {\n emit();\n subscriber.complete();\n }, () => {\n lastValue = durationSubscriber = null;\n }));\n });\n}\n//# sourceMappingURL=debounce.js.map","import { zip as zipStatic } from '../observable/zip';\nimport { operate } from '../util/lift';\nexport function zip(...sources) {\n return operate((source, subscriber) => {\n zipStatic(source, ...sources).subscribe(subscriber);\n });\n}\nexport function zipWith(...otherInputs) {\n return zip(...otherInputs);\n}\n//# sourceMappingURL=zipWith.js.map","import { Observable } from '../Observable';\nimport { innerFrom } from './from';\nimport { argsOrArgArray } from '../util/argsOrArgArray';\nimport { EMPTY } from './empty';\nimport { OperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { popResultSelector } from '../util/args';\nexport function zip(...args) {\n const resultSelector = popResultSelector(args);\n const sources = argsOrArgArray(args);\n return sources.length\n ? new Observable((subscriber) => {\n let buffers = sources.map(() => []);\n let completed = sources.map(() => false);\n subscriber.add(() => {\n buffers = completed = null;\n });\n for (let sourceIndex = 0; !subscriber.closed && sourceIndex < sources.length; sourceIndex++) {\n innerFrom(sources[sourceIndex]).subscribe(new OperatorSubscriber(subscriber, (value) => {\n buffers[sourceIndex].push(value);\n if (buffers.every((buffer) => buffer.length)) {\n const result = buffers.map((buffer) => buffer.shift());\n subscriber.next(resultSelector ? resultSelector(...result) : result);\n if (buffers.some((buffer, i) => !buffer.length && completed[i])) {\n subscriber.complete();\n }\n }\n }, undefined, () => {\n completed[sourceIndex] = true;\n !buffers[sourceIndex].length && subscriber.complete();\n }));\n }\n return () => {\n buffers = completed = null;\n };\n })\n : EMPTY;\n}\n//# sourceMappingURL=zip.js.map","import { OperatorSubscriber } from './OperatorSubscriber';\nexport function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {\n return (source, subscriber) => {\n let hasState = hasSeed;\n let state = seed;\n let index = 0;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n const i = index++;\n state = hasState\n ?\n accumulator(state, value, i)\n :\n ((hasState = true), value);\n emitOnNext && subscriber.next(state);\n }, undefined, emitBeforeComplete &&\n (() => {\n hasState && subscriber.next(state);\n subscriber.complete();\n })));\n };\n}\n//# sourceMappingURL=scanInternals.js.map","import { operate } from '../util/lift';\nimport { scanInternals } from './scanInternals';\nexport function scan(accumulator, seed) {\n return operate(scanInternals(accumulator, seed, arguments.length >= 2, true));\n}\n//# sourceMappingURL=scan.js.map"],"sourceRoot":""} \ No newline at end of file diff --git a/material/assets/javascripts/worker/search.3f4c5856.min.js b/material/assets/javascripts/worker/search.3f4c5856.min.js deleted file mode 100644 index 1272fc5d4..000000000 --- a/material/assets/javascripts/worker/search.3f4c5856.min.js +++ /dev/null @@ -1,59 +0,0 @@ -!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=5)}([function(e,t,r){"use strict"; -/*! - * escape-html - * Copyright(c) 2012-2013 TJ Holowaychuk - * Copyright(c) 2015 Andreas Lubbe - * Copyright(c) 2015 Tiancheng "Timothy" Gu - * MIT Licensed - */var n=/["'&<>]/;e.exports=function(e){var t,r=""+e,i=n.exec(r);if(!i)return r;var s="",o=0,a=0;for(o=i.index;o0){var u=I.utils.clone(t)||{};u.position=[o,a],u.index=i.length,i.push(new I.Token(r.slice(o,s),u))}o=s+1}}return i},I.tokenizer.separator=/[\s\-]+/ -/*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - */,I.Pipeline=function(){this._stack=[]},I.Pipeline.registeredFunctions=Object.create(null),I.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&I.utils.warn("Overwriting existing registered function: "+t),e.label=t,I.Pipeline.registeredFunctions[e.label]=e},I.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||I.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},I.Pipeline.load=function(e){var t=new I.Pipeline;return e.forEach((function(e){var r=I.Pipeline.registeredFunctions[e];if(!r)throw new Error("Cannot load unregistered function: "+e);t.add(r)})),t},I.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){I.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},I.Pipeline.prototype.after=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");r+=1,this._stack.splice(r,0,t)},I.Pipeline.prototype.before=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");this._stack.splice(r,0,t)},I.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},I.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=i),s!=e);)n=r-t,i=t+Math.floor(n/2),s=this.elements[2*i];return s==e||s>e?2*i:sa?l+=2:o==a&&(t+=r[u+1]*n[l+1],u+=2,l+=2);return t},I.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},I.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var s,o=i.str.charAt(0);o in i.node.edges?s=i.node.edges[o]:(s=new I.TokenSet,i.node.edges[o]=s),1==i.str.length&&(s.final=!0),n.push({node:s,editsRemaining:i.editsRemaining,str:i.str.slice(1)})}if(0!=i.editsRemaining){if("*"in i.node.edges)var a=i.node.edges["*"];else{a=new I.TokenSet;i.node.edges["*"]=a}if(0==i.str.length&&(a.final=!0),n.push({node:a,editsRemaining:i.editsRemaining-1,str:i.str}),i.str.length>1&&n.push({node:i.node,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)}),1==i.str.length&&(i.node.final=!0),i.str.length>=1){if("*"in i.node.edges)var u=i.node.edges["*"];else{u=new I.TokenSet;i.node.edges["*"]=u}1==i.str.length&&(u.final=!0),n.push({node:u,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)})}if(i.str.length>1){var l,c=i.str.charAt(0),h=i.str.charAt(1);h in i.node.edges?l=i.node.edges[h]:(l=new I.TokenSet,i.node.edges[h]=l),1==i.str.length&&(l.final=!0),n.push({node:l,editsRemaining:i.editsRemaining-1,str:c+i.str.slice(2)})}}}return r},I.TokenSet.fromString=function(e){for(var t=new I.TokenSet,r=t,n=0,i=e.length;n=e;t--){var r=this.uncheckedNodes[t],n=r.child.toString();n in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[n]:(r.child._str=n,this.minimizedNodes[n]=r.child),this.uncheckedNodes.pop()}} -/*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - */,I.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},I.Index.prototype.search=function(e){return this.query((function(t){new I.QueryParser(e,t).parse()}))},I.Index.prototype.query=function(e){for(var t=new I.Query(this.fields),r=Object.create(null),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a1?1:e},I.Builder.prototype.k1=function(e){this._k1=e},I.Builder.prototype.add=function(e,t){var r=e[this._ref],n=Object.keys(this._fields);this._documents[r]=t||{},this.documentCount+=1;for(var i=0;i=this.length)return I.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},I.QueryLexer.prototype.width=function(){return this.pos-this.start},I.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},I.QueryLexer.prototype.backup=function(){this.pos-=1},I.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=I.QueryLexer.EOS&&this.backup()},I.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(I.QueryLexer.TERM)),e.ignore(),e.more())return I.QueryLexer.lexText},I.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.EDIT_DISTANCE),I.QueryLexer.lexText},I.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.BOOST),I.QueryLexer.lexText},I.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(I.QueryLexer.TERM)},I.QueryLexer.termSeparator=I.tokenizer.separator,I.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==I.QueryLexer.EOS)return I.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return I.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if(t.match(I.QueryLexer.termSeparator))return I.QueryLexer.lexTerm}else e.escapeCharacter()}},I.QueryParser=function(e,t){this.lexer=new I.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},I.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=I.QueryParser.parseClause;e;)e=e(this);return this.query},I.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},I.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},I.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},I.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case I.QueryLexer.PRESENCE:return I.QueryParser.parsePresence;case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(r+=" with value '"+t.str+"'"),new I.QueryParseError(r,t.start,t.end)}},I.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=I.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=I.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+t.str+"'";throw new I.QueryParseError(r,t.start,t.end)}var n=e.peekLexeme();if(null==n){r="expecting term or field, found nothing";throw new I.QueryParseError(r,t.start,t.end)}switch(n.type){case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:r="expecting term or field, found '"+n.type+"'";throw new I.QueryParseError(r,n.start,n.end)}}},I.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var r=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),n="unrecognised field '"+t.str+"', possible fields: "+r;throw new I.QueryParseError(n,t.start,t.end)}e.currentClause.fields=[t.str];var i=e.peekLexeme();if(null==i){n="expecting term, found nothing";throw new I.QueryParseError(n,t.start,t.end)}switch(i.type){case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:n="expecting term, found '"+i.type+"'";throw new I.QueryParseError(n,i.start,i.end)}}},I.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(null!=r)switch(r.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+r.type+"'";throw new I.QueryParseError(n,r.start,r.end)}else e.nextClause()}},I.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="edit distance must be numeric";throw new I.QueryParseError(n,t.start,t.end)}e.currentClause.editDistance=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+i.type+"'";throw new I.QueryParseError(n,i.start,i.end)}else e.nextClause()}},I.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="boost must be numeric";throw new I.QueryParseError(n,t.start,t.end)}e.currentClause.boost=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+i.type+"'";throw new I.QueryParseError(n,i.start,i.end)}else e.nextClause()}},void 0===(i="function"==typeof(n=function(){return I})?n.call(t,r,t,e):n)||(e.exports=i)}()},function(e,t,r){"use strict";(function(t){e.exports=function(){if("object"==typeof globalThis)return globalThis;var e;try{e=this||new Function("return this")()}catch(e){if("object"==typeof window)return window;if("object"==typeof self)return self;if(void 0!==t)return t}return e}()}).call(this,r(4))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";r.r(t),r.d(t,"handler",(function(){return l}));function n(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{u(n.next(e))}catch(e){s(e)}}function a(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}u((n=n.apply(e,t||[])).next())}))}Object.create;Object.create;r(1);var i,s=r(0),o=r.n(s);class a{constructor({config:e,docs:t,pipeline:r,index:n}){this.documents=function(e){const t=new Map,r=new Set;for(const n of e){const[e,i]=n.location.split("#"),s=n.location,a=n.title,u=o()(n.text).replace(/\s+(?=[,.:;!?])/g,"").replace(/\s+/g," ");if(i){const i=t.get(e);r.has(i)?t.set(s,{location:s,title:a,text:u,parent:i}):(i.title=n.title,i.text=u,r.add(i))}else t.set(s,{location:s,title:a,text:u})}return t}(t),this.highlight=function(e){const t=new RegExp(e.separator,"img"),r=(e,t,r)=>`${t}${r}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();const i=new RegExp(`(^|${e.separator})(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(t,"|")})`,"img");return e=>e.replace(i,r).replace(/<\/mark>(\s+)]*>/gim,"$1")}}(e),lunr.tokenizer.separator=new RegExp(e.separator),this.index=void 0===n?lunr((function(){1===e.lang.length&&"en"!==e.lang[0]?this.use(lunr[e.lang[0]]):e.lang.length>1&&this.use(lunr.multiLanguage(...e.lang));const n=function(e,t){const[r,n]=[new Set(e),new Set(t)];return[...new Set([...r].filter(e=>!n.has(e)))]}(["trimmer","stopWordFilter","stemmer"],r);for(const t of e.lang.map(e=>"en"===e?lunr:lunr[e]))for(const e of n)this.pipeline.remove(t[e]),this.searchPipeline.remove(t[e]);this.field("title",{boost:1e3}),this.field("text"),this.ref("location");for(const e of t)this.add(e)})):lunr.Index.load(n)}search(e){if(e)try{const t=this.highlight(e),r=function(e){const t=new lunr.Query(["title","text"]);return new lunr.QueryParser(e,t).parse(),t.clauses}(e).filter(e=>e.presence!==lunr.Query.presence.PROHIBITED);return[...this.index.search(e+"*").reduce((e,{ref:n,score:i,matchData:s})=>{const o=this.documents.get(n);if(void 0!==o){const{location:n,title:a,text:u,parent:l}=o,c=function(e,t){const r=new Set(e),n={};for(let e=0;ee);e.push({location:n,title:t(a),text:t(u),score:i*(1+h),terms:c})}return e},[]).sort((e,t)=>t.score-e.score).reduce((e,t)=>{const r=this.documents.get(t.location);if(void 0!==r){const n="parent"in r?r.parent.location:r.location;e.set(n,[...e.get(n)||[],t])}return e},new Map).values()]}catch(t){console.warn(`Invalid query: ${e} – see https://bit.ly/2s3ChXG`)}return[]}}let u;function l(e){return n(this,void 0,void 0,(function*(){switch(e.type){case i.SETUP:return yield function(e){return n(this,void 0,void 0,(function*(){let t="../lunr";if("undefined"!=typeof parent&&"IFrameWorker"in parent){const e=document.querySelector("script[src]"),[r]=e.src.split("/worker");t=t.replace("..",r)}const r=[];for(const n of e.lang)"ja"===n&&r.push(t+"/tinyseg.min.js"),"en"!==n&&r.push(`${t}/min/lunr.${n}.min.js`);e.lang.length>1&&r.push(t+"/min/lunr.multi.min.js"),r.length&&(yield importScripts(t+"/min/lunr.stemmer.support.min.js",...r))}))}(e.data.config),u=new a(e.data),{type:i.READY};case i.QUERY:return{type:i.RESULT,data:u?u.search(e.data):[]};default:throw new TypeError("Invalid message type")}}))}!function(e){e[e.SETUP=0]="SETUP",e[e.READY=1]="READY",e[e.QUERY=2]="QUERY",e[e.RESULT=3]="RESULT"}(i||(i={})),addEventListener("message",e=>n(void 0,void 0,void 0,(function*(){postMessage(yield l(e.data))})))}]); -//# sourceMappingURL=search.3f4c5856.min.js.map \ No newline at end of file diff --git a/material/assets/javascripts/worker/search.3f4c5856.min.js.map b/material/assets/javascripts/worker/search.3f4c5856.min.js.map deleted file mode 100644 index fa89c02a2..000000000 --- a/material/assets/javascripts/worker/search.3f4c5856.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/escape-html/index.js","webpack:///./node_modules/lunr/lunr-exposed.js","webpack:///./node_modules/lunr/lunr.js","webpack:///./node_modules/expose-loader/dist/runtime/getGlobalThis.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./src/assets/javascripts/integrations/search/worker/message/index.ts","webpack:///./src/assets/javascripts/integrations/search/_/index.ts","webpack:///./src/assets/javascripts/integrations/search/document/index.ts","webpack:///./src/assets/javascripts/integrations/search/highlighter/index.ts","webpack:///./src/assets/javascripts/integrations/search/query/_/index.ts","webpack:///./src/assets/javascripts/integrations/search/worker/main/index.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","matchHtmlRegExp","string","escape","str","match","exec","html","index","lastIndex","length","charCodeAt","substring","___EXPOSE_LOADER_IMPORT___","___EXPOSE_LOADER_GLOBAL_THIS___","global","step2list","step3list","v","C","re_mgr0","re_mgr1","re_meq1","re_s_v","re_1a","re2_1a","re_1b","re2_1b","re_1b_2","re2_1b_2","re3_1b_2","re4_1b_2","re_1c","re_2","re_3","re_4","re2_4","re_5","re_5_1","re3_5","porterStemmer","lunr","config","builder","Builder","pipeline","add","trimmer","stopWordFilter","stemmer","searchPipeline","build","version","utils","warn","this","message","console","asString","obj","toString","clone","keys","val","Array","isArray","slice","TypeError","FieldRef","docRef","fieldName","stringValue","_stringValue","joiner","fromString","indexOf","fieldRef","undefined","Set","elements","complete","intersect","other","union","contains","empty","a","b","intersection","element","push","concat","idf","posting","documentCount","documentsWithTerm","x","Math","log","abs","Token","metadata","update","fn","tokenizer","map","toLowerCase","len","tokens","sliceEnd","sliceStart","sliceLength","charAt","separator","tokenMetadata","Pipeline","_stack","registeredFunctions","registerFunction","label","warnIfFunctionNotRegistered","load","serialised","forEach","fnName","Error","fns","arguments","after","existingFn","newFn","pos","splice","before","remove","run","stackLength","memo","j","result","k","runString","token","reset","toJSON","Vector","_magnitude","positionForIndex","start","end","pivotPoint","floor","pivotIndex","insert","insertIdx","upsert","position","magnitude","sumOfSquares","elementsLength","sqrt","dot","otherVector","dotProduct","aLen","bLen","aVal","bVal","similarity","toArray","output","RegExp","w","stem","suffix","firstch","re","re2","re3","re4","substr","toUpperCase","test","replace","fp","generateStopWordFilter","stopWords","words","reduce","stopWord","TokenSet","final","edges","id","_nextId","fromArray","arr","finish","root","fromClause","clause","fromFuzzyString","term","editDistance","stack","node","editsRemaining","frame","pop","noEditNode","char","insertionNode","substitutionNode","transposeNode","charA","charB","next","prefix","edge","_str","labels","sort","qNode","qEdges","qLen","nEdges","nLen","q","qEdge","nEdge","previousWord","uncheckedNodes","minimizedNodes","word","commonPrefix","minimize","child","nextNode","parent","downTo","childKey","Index","attrs","invertedIndex","fieldVectors","tokenSet","fields","search","queryString","query","QueryParser","parse","Query","matchingFields","queryVectors","termFieldCache","requiredMatches","prohibitedMatches","clauses","terms","clauseMatches","usePipeline","termTokenSet","expandedTerms","presence","REQUIRED","field","expandedTerm","termIndex","_index","fieldPosting","matchingDocumentRefs","termField","matchingDocumentsSet","PROHIBITED","boost","fieldMatch","matchingDocumentRef","matchingFieldRef","MatchData","allRequiredMatches","allProhibitedMatches","matchingFieldRefs","results","matches","isNegated","docMatch","fieldVector","score","matchData","combine","ref","serializedIndex","serializedVectors","serializedInvertedIndex","tokenSetBuilder","tuple","_ref","_fields","_documents","fieldTermFrequencies","fieldLengths","_b","_k1","metadataWhitelist","attributes","RangeError","number","k1","doc","extractor","fieldTerms","metadataKey","calculateAverageFieldLengths","fieldRefs","numberOfFields","accumulator","documentsWithField","averageFieldLength","createFieldVectors","fieldRefsLength","termIdfCache","fieldLength","termFrequencies","termsLength","fieldBoost","docBoost","scoreWithPrecision","tf","round","createTokenSet","use","args","unshift","apply","clonedMetadata","metadataKeys","otherMatchData","allFields","wildcard","String","NONE","LEADING","TRAILING","OPTIONAL","options","QueryParseError","QueryLexer","lexemes","escapeCharPositions","state","lexText","sliceString","subSlices","join","emit","type","escapeCharacter","EOS","width","ignore","backup","acceptDigitRun","charCode","more","FIELD","TERM","EDIT_DISTANCE","BOOST","PRESENCE","lexField","lexer","lexTerm","lexEditDistance","lexBoost","lexEOS","termSeparator","currentClause","lexemeIdx","parseClause","peekLexeme","consumeLexeme","lexeme","nextClause","completedClause","parser","parsePresence","parseField","parseTerm","errorMessage","nextLexeme","possibleFields","f","parseEditDistance","parseBoost","parseInt","isNaN","globalThis","g","Function","e","window","self","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","done","then","SearchMessageType","docs","documents","Map","parents","path","hash","location","split","title","text","has","set","setupSearchDocumentMap","highlight","_","data","trim","setupSearchHighlighter","lang","multiLanguage","y","filter","difference","language","parseSearchQuery","document","startsWith","delete","getSearchQueryTerms","values","every","handler","SETUP","base","worker","querySelector","src","scripts","importScripts","setupSearchLanguages","READY","QUERY","RESULT","addEventListener","ev","postMessage"],"mappings":"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,IACN,IAEH,OAAO,SAAUK,GACf,GAAIA,GAAS6C,EAAM7C,EAAMlF,cAAgBkF,EAAMlF,WAAY,OAAOkF,IAiBtErG,EAAKO,eAAiBP,EAAKgJ,uBAAuB,CAChD,IACA,OACA,QACA,SACA,QACA,MACA,SACA,OACA,KACA,QACA,KACA,MACA,MACA,MACA,KACA,KACA,KACA,UACA,OACA,MACA,KACA,MACA,SACA,QACA,OACA,MACA,KACA,OACA,SACA,OACA,OACA,QACA,MACA,OACA,MACA,MACA,MACA,MACA,OACA,KACA,MACA,OACA,MACA,MACA,MACA,UACA,IACA,KACA,KACA,OACA,KACA,KACA,MACA,OACA,QACA,MACA,OACA,SACA,MACA,KACA,QACA,OACA,OACA,KACA,UACA,KACA,MACA,MACA,KACA,MACA,QACA,KACA,OACA,KACA,QACA,MACA,MACA,SACA,OACA,MACA,OACA,MACA,SACA,QACA,KACA,OACA,OACA,OACA,MACA,QACA,OACA,OACA,QACA,QACA,OACA,OACA,MACA,KACA,MACA,OACA,KACA,QACA,MACA,KACA,OACA,OACA,OACA,QACA,QACA,QACA,MACA,OACA,MACA,OACA,OACA,QACA,MACA,MACA,SAGFhJ,EAAK0E,SAASG,iBAAiB7E,EAAKO,eAAgB;;;;IAqBpDP,EAAKM,QAAU,SAAU+F,GACvB,OAAOA,EAAMxC,QAAO,SAAUtG,GAC5B,OAAOA,EAAEuL,QAAQ,OAAQ,IAAIA,QAAQ,OAAQ,QAIjD9I,EAAK0E,SAASG,iBAAiB7E,EAAKM,QAAS;;;;IA2B7CN,EAAKqJ,SAAW,WACdvI,KAAKwI,OAAQ,EACbxI,KAAKyI,MAAQ,GACbzI,KAAK0I,GAAKxJ,EAAKqJ,SAASI,QACxBzJ,EAAKqJ,SAASI,SAAW,GAW3BzJ,EAAKqJ,SAASI,QAAU,EASxBzJ,EAAKqJ,SAASK,UAAY,SAAUC,GAGlC,IAFA,IAAIzJ,EAAU,IAAIF,EAAKqJ,SAASlJ,QAEvB3E,EAAI,EAAG0I,EAAMyF,EAAI1L,OAAQzC,EAAI0I,EAAK1I,IACzC0E,EAAQ8G,OAAO2C,E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","file":"assets/javascripts/worker/search.3f4c5856.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!./lunr.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"lunr\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"lunr\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.9\"\n/*!\n * lunr.utils\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function () {\n return this\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2020 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example Simple single term query\n * hello\n * @example Multiple term query\n * hello world\n * @example term scoped to a field\n * title:hello\n * @example term with a boost of 10\n * hello^10\n * @example term with an edit distance of 2\n * hello~2\n * @example terms with presence modifiers\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.empty\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example Extracting a nested field\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with trailing wildcard\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example query term with leading and trailing wildcard\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with required presence\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example adding a single term to a query\n * query.term(\"foo\")\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like enviroments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n root.lunr = factory()\n }\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n","\"use strict\";\n\n// eslint-disable-next-line func-names\nmodule.exports = function () {\n if (typeof globalThis === \"object\") {\n return globalThis;\n }\n\n var g;\n\n try {\n // This works if eval is allowed (see CSP)\n // eslint-disable-next-line no-new-func\n g = this || new Function(\"return this\")();\n } catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") {\n return window;\n } // This works if the self reference is available\n\n\n if (typeof self === \"object\") {\n return self;\n } // This works if the global reference is available\n\n\n if (typeof global !== \"undefined\") {\n return global;\n }\n }\n\n return g;\n}();","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndex, SearchResult } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search message type\n */\nexport const enum SearchMessageType {\n SETUP, /* Search index setup */\n READY, /* Search index ready */\n QUERY, /* Search query */\n RESULT /* Search results */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message containing the data necessary to setup the search index\n */\nexport interface SearchSetupMessage {\n type: SearchMessageType.SETUP /* Message type */\n data: SearchIndex /* Message data */\n}\n\n/**\n * A message indicating the search index is ready\n */\nexport interface SearchReadyMessage {\n type: SearchMessageType.READY /* Message type */\n}\n\n/**\n * A message containing a search query\n */\nexport interface SearchQueryMessage {\n type: SearchMessageType.QUERY /* Message type */\n data: string /* Message data */\n}\n\n/**\n * A message containing results for a search query\n */\nexport interface SearchResultMessage {\n type: SearchMessageType.RESULT /* Message type */\n data: SearchResult[] /* Message data */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message exchanged with the search worker\n */\nexport type SearchMessage =\n | SearchSetupMessage\n | SearchReadyMessage\n | SearchQueryMessage\n | SearchResultMessage\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Type guard for search setup messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchSetupMessage(\n message: SearchMessage\n): message is SearchSetupMessage {\n return message.type === SearchMessageType.SETUP\n}\n\n/**\n * Type guard for search ready messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchReadyMessage(\n message: SearchMessage\n): message is SearchReadyMessage {\n return message.type === SearchMessageType.READY\n}\n\n/**\n * Type guard for search query messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchQueryMessage(\n message: SearchMessage\n): message is SearchQueryMessage {\n return message.type === SearchMessageType.QUERY\n}\n\n/**\n * Type guard for search result messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchResultMessage(\n message: SearchMessage\n): message is SearchResultMessage {\n return message.type === SearchMessageType.RESULT\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n SearchDocument,\n SearchDocumentMap,\n setupSearchDocumentMap\n} from \"../document\"\nimport {\n SearchHighlightFactoryFn,\n setupSearchHighlighter\n} from \"../highlighter\"\nimport {\n SearchQueryTerms,\n getSearchQueryTerms,\n parseSearchQuery\n} from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search index configuration\n */\nexport interface SearchIndexConfig {\n lang: string[] /* Search languages */\n separator: string /* Search separator */\n}\n\n/**\n * Search index document\n */\nexport interface SearchIndexDocument {\n location: string /* Document location */\n title: string /* Document title */\n text: string /* Document text */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search index pipeline function\n */\nexport type SearchIndexPipelineFn =\n | \"trimmer\" /* Trimmer */\n | \"stopWordFilter\" /* Stop word filter */\n | \"stemmer\" /* Stemmer */\n\n/**\n * Search index pipeline\n */\nexport type SearchIndexPipeline = SearchIndexPipelineFn[]\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search index\n *\n * This interfaces describes the format of the `search_index.json` file which\n * is automatically built by the MkDocs search plugin.\n */\nexport interface SearchIndex {\n config: SearchIndexConfig /* Search index configuration */\n docs: SearchIndexDocument[] /* Search index documents */\n index?: object /* Prebuilt index */\n pipeline?: SearchIndexPipeline /* Search index pipeline */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search metadata\n */\nexport interface SearchMetadata {\n score: number /* Score (relevance) */\n terms: SearchQueryTerms /* Search query terms */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search result\n */\nexport type SearchResult = Array\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Compute the difference of two lists of strings\n *\n * @param a - 1st list of strings\n * @param b - 2nd list of strings\n *\n * @returns Difference\n */\nfunction difference(a: string[], b: string[]): string[] {\n const [x, y] = [new Set(a), new Set(b)]\n return [\n ...new Set([...x].filter(value => !y.has(value)))\n ]\n}\n\n/* ----------------------------------------------------------------------------\n * Class\n * ------------------------------------------------------------------------- */\n\n/**\n * Search index\n *\n * Note that `lunr` is injected via Webpack, as it will otherwise also be\n * bundled in the application bundle.\n */\nexport class Search {\n\n /**\n * Search document mapping\n *\n * A mapping of URLs (including hash fragments) to the actual articles and\n * sections of the documentation. The search document mapping must be created\n * regardless of whether the index was prebuilt or not, as `lunr` itself will\n * only store the actual index.\n */\n protected documents: SearchDocumentMap\n\n /**\n * Search highlight factory function\n */\n protected highlight: SearchHighlightFactoryFn\n\n /**\n * The underlying `lunr` search index\n */\n protected index: lunr.Index\n\n /**\n * Create the search integration\n *\n * @param data - Search index\n */\n public constructor({ config, docs, pipeline, index }: SearchIndex) {\n this.documents = setupSearchDocumentMap(docs)\n this.highlight = setupSearchHighlighter(config)\n\n /* Set separator for tokenizer */\n lunr.tokenizer.separator = new RegExp(config.separator)\n\n /* If no index was given, create it */\n if (typeof index === \"undefined\") {\n this.index = lunr(function () {\n\n /* Set up multi-language support */\n if (config.lang.length === 1 && config.lang[0] !== \"en\") {\n this.use((lunr as any)[config.lang[0]])\n } else if (config.lang.length > 1) {\n this.use((lunr as any).multiLanguage(...config.lang))\n }\n\n /* Compute functions to be removed from the pipeline */\n const fns = difference([\n \"trimmer\", \"stopWordFilter\", \"stemmer\"\n ], pipeline!)\n\n /* Remove functions from the pipeline for registered languages */\n for (const lang of config.lang.map(language => (\n language === \"en\" ? lunr : (lunr as any)[language]\n ))) {\n for (const fn of fns) {\n this.pipeline.remove(lang[fn])\n this.searchPipeline.remove(lang[fn])\n }\n }\n\n /* Set up fields and reference */\n this.field(\"title\", { boost: 1000 })\n this.field(\"text\")\n this.ref(\"location\")\n\n /* Index documents */\n for (const doc of docs)\n this.add(doc)\n })\n\n /* Handle prebuilt index */\n } else {\n this.index = lunr.Index.load(index)\n }\n }\n\n /**\n * Search for matching documents\n *\n * The search index which MkDocs provides is divided up into articles, which\n * contain the whole content of the individual pages, and sections, which only\n * contain the contents of the subsections obtained by breaking the individual\n * pages up at `h1` ... `h6`. As there may be many sections on different pages\n * with identical titles (for example within this very project, e.g. \"Usage\"\n * or \"Installation\"), they need to be put into the context of the containing\n * page. For this reason, section results are grouped within their respective\n * articles which are the top-level results that are returned.\n *\n * @param query - Query value\n *\n * @returns Search results\n */\n public search(query: string): SearchResult[] {\n if (query) {\n try {\n const highlight = this.highlight(query)\n\n /* Parse query to extract clauses for analysis */\n const clauses = parseSearchQuery(query)\n .filter(clause => (\n clause.presence !== lunr.Query.presence.PROHIBITED\n ))\n\n /* Perform search and post-process results */\n const groups = this.index.search(`${query}*`)\n\n /* Apply post-query boosts based on title and search query terms */\n .reduce((results, { ref, score, matchData }) => {\n const document = this.documents.get(ref)\n if (typeof document !== \"undefined\") {\n const { location, title, text, parent } = document\n\n /* Compute and analyze search query terms */\n const terms = getSearchQueryTerms(\n clauses,\n Object.keys(matchData.metadata)\n )\n\n /* Highlight title and text and apply post-query boosts */\n const boost = +!parent + +Object.values(terms).every(t => t)\n results.push({\n location,\n title: highlight(title),\n text: highlight(text),\n score: score * (1 + boost),\n terms\n })\n }\n return results\n }, [])\n\n /* Sort search results again after applying boosts */\n .sort((a, b) => b.score - a.score)\n\n /* Group search results by page */\n .reduce((results, result) => {\n const document = this.documents.get(result.location)\n if (typeof document !== \"undefined\") {\n const ref = \"parent\" in document\n ? document.parent!.location\n : document.location\n results.set(ref, [...results.get(ref) || [], result])\n }\n return results\n }, new Map())\n\n /* Expand grouped search results */\n return [...groups.values()]\n\n /* Log errors to console (for now) */\n } catch {\n console.warn(`Invalid query: ${query} – see https://bit.ly/2s3ChXG`)\n }\n }\n\n /* Return nothing in case of error or empty query */\n return []\n }\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport escapeHTML from \"escape-html\"\n\nimport { SearchIndexDocument } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search document\n */\nexport interface SearchDocument extends SearchIndexDocument {\n parent?: SearchIndexDocument /* Parent article */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search document mapping\n */\nexport type SearchDocumentMap = Map\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Create a search document mapping\n *\n * @param docs - Search index documents\n *\n * @returns Search document map\n */\nexport function setupSearchDocumentMap(\n docs: SearchIndexDocument[]\n): SearchDocumentMap {\n const documents = new Map()\n const parents = new Set()\n for (const doc of docs) {\n const [path, hash] = doc.location.split(\"#\")\n\n /* Extract location and title */\n const location = doc.location\n const title = doc.title\n\n /* Escape and cleanup text */\n const text = escapeHTML(doc.text)\n .replace(/\\s+(?=[,.:;!?])/g, \"\")\n .replace(/\\s+/g, \" \")\n\n /* Handle section */\n if (hash) {\n const parent = documents.get(path)!\n\n /* Ignore first section, override article */\n if (!parents.has(parent)) {\n parent.title = doc.title\n parent.text = text\n\n /* Remember that we processed the article */\n parents.add(parent)\n\n /* Add subsequent section */\n } else {\n documents.set(location, {\n location,\n title,\n text,\n parent\n })\n }\n\n /* Add article */\n } else {\n documents.set(location, {\n location,\n title,\n text\n })\n }\n }\n return documents\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndexConfig } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search highlight function\n *\n * @param value - Value\n *\n * @returns Highlighted value\n */\nexport type SearchHighlightFn = (value: string) => string\n\n/**\n * Search highlight factory function\n *\n * @param query - Query value\n *\n * @returns Search highlight function\n */\nexport type SearchHighlightFactoryFn = (query: string) => SearchHighlightFn\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Create a search highlighter\n *\n * @param config - Search index configuration\n *\n * @returns Search highlight factory function\n */\nexport function setupSearchHighlighter(\n config: SearchIndexConfig\n): SearchHighlightFactoryFn {\n const separator = new RegExp(config.separator, \"img\")\n const highlight = (_: unknown, data: string, term: string) => {\n return `${data}${term}`\n }\n\n /* Return factory function */\n return (query: string) => {\n query = query\n .replace(/[\\s*+\\-:~^]+/g, \" \")\n .trim()\n\n /* Create search term match expression */\n const match = new RegExp(`(^|${config.separator})(${\n query\n .replace(/[|\\\\{}()[\\]^$+*?.-]/g, \"\\\\$&\")\n .replace(separator, \"|\")\n })`, \"img\")\n\n /* Highlight string value */\n return value => value\n .replace(match, highlight)\n .replace(/<\\/mark>(\\s+)]*>/img, \"$1\")\n }\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search query clause\n */\nexport interface SearchQueryClause {\n presence: lunr.Query.presence /* Clause presence */\n term: string /* Clause term */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search query terms\n */\nexport type SearchQueryTerms = Record\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Parse a search query for analysis\n *\n * @param value - Query value\n *\n * @returns Search query clauses\n */\nexport function parseSearchQuery(\n value: string\n): SearchQueryClause[] {\n const query = new (lunr as any).Query([\"title\", \"text\"])\n const parser = new (lunr as any).QueryParser(value, query)\n\n /* Parse and return query clauses */\n parser.parse()\n return query.clauses\n}\n\n/**\n * Analyze the search query clauses in regard to the search terms found\n *\n * @param query - Search query clauses\n * @param terms - Search terms\n *\n * @returns Search query terms\n */\nexport function getSearchQueryTerms(\n query: SearchQueryClause[], terms: string[]\n): SearchQueryTerms {\n const clauses = new Set(query)\n\n /* Match query clauses against terms */\n const result: SearchQueryTerms = {}\n for (let t = 0; t < terms.length; t++)\n for (const clause of clauses)\n if (terms[t].startsWith(clause.term)) {\n result[clause.term] = true\n clauses.delete(clause)\n }\n\n /* Annotate unmatched query clauses */\n for (const clause of clauses)\n result[clause.term] = false\n\n /* Return query terms */\n return result\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"lunr\"\n\nimport { Search, SearchIndexConfig } from \"../../_\"\nimport {\n SearchMessage,\n SearchMessageType\n} from \"../message\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Add support for usage with `iframe-worker` polyfill\n *\n * While `importScripts` is synchronous when executed inside of a web worker,\n * it's not possible to provide a synchronous polyfilled implementation. The\n * cool thing is that awaiting a non-Promise is a noop, so extending the type\n * definition to return a `Promise` shouldn't break anything.\n *\n * @see https://bit.ly/2PjDnXi - GitHub comment\n */\ndeclare global {\n function importScripts(...urls: string[]): Promise | void\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Search index\n */\nlet index: Search\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch (= import) multi-language support through `lunr-languages`\n *\n * This function will automatically import the stemmers necessary to process\n * the languages which were given through the search index configuration.\n *\n * If the worker runs inside of an `iframe` (when using `iframe-worker` as\n * a shim), the base URL for the stemmers to be loaded must be determined by\n * searching for the first `script` element with a `src` attribute, which will\n * contain the contents of this script.\n *\n * @param config - Search index configuration\n *\n * @returns Promise resolving with no result\n */\nasync function setupSearchLanguages(\n config: SearchIndexConfig\n): Promise {\n let base = \"../lunr\"\n\n /* Detect `iframe-worker` and fix base URL */\n if (typeof parent !== \"undefined\" && \"IFrameWorker\" in parent) {\n const worker = document.querySelector(\"script[src]\")!\n const [path] = worker.src.split(\"/worker\")\n\n /* Prefix base with path */\n base = base.replace(\"..\", path)\n }\n\n /* Add scripts for languages */\n const scripts = []\n for (const lang of config.lang) {\n if (lang === \"ja\") scripts.push(`${base}/tinyseg.min.js`)\n if (lang !== \"en\") scripts.push(`${base}/min/lunr.${lang}.min.js`)\n }\n\n /* Add multi-language support */\n if (config.lang.length > 1)\n scripts.push(`${base}/min/lunr.multi.min.js`)\n\n /* Load scripts synchronously */\n if (scripts.length)\n await importScripts(\n `${base}/min/lunr.stemmer.support.min.js`,\n ...scripts\n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Message handler\n *\n * @param message - Source message\n *\n * @returns Target message\n */\nexport async function handler(\n message: SearchMessage\n): Promise {\n switch (message.type) {\n\n /* Search setup message */\n case SearchMessageType.SETUP:\n await setupSearchLanguages(message.data.config)\n index = new Search(message.data)\n return {\n type: SearchMessageType.READY\n }\n\n /* Search query message */\n case SearchMessageType.QUERY:\n return {\n type: SearchMessageType.RESULT,\n data: index ? index.search(message.data) : []\n }\n\n /* All other messages */\n default:\n throw new TypeError(\"Invalid message type\")\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Worker\n * ------------------------------------------------------------------------- */\n\naddEventListener(\"message\", async ev => {\n postMessage(await handler(ev.data))\n})\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/assets/javascripts/worker/search.js b/material/assets/javascripts/worker/search.js new file mode 100644 index 000000000..ef8419c49 --- /dev/null +++ b/material/assets/javascripts/worker/search.js @@ -0,0 +1,60 @@ +(()=>{var ce=Object.create,z=Object.defineProperty,le=Object.getPrototypeOf,he=Object.prototype.hasOwnProperty,de=Object.getOwnPropertyNames,fe=Object.getOwnPropertyDescriptor;var pe=t=>z(t,"__esModule",{value:!0});var H=(t,e)=>()=>(e||(e={exports:{}},t(e.exports,e)),e.exports);var ge=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of de(e))!he.call(t,n)&&n!=="default"&&z(t,n,{get:()=>e[n],enumerable:!(r=fe(e,n))||r.enumerable});return t},q=t=>t&&t.__esModule?t:ge(pe(z(t!=null?ce(le(t)):{},"default",{value:t,enumerable:!0})),t);var J=H((Y,G)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?d+=2:a==c&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof Y=="object"?G.exports=r():e.lunr=r()}(this,function(){return t})})()});var Z=H((be,X)=>{"use strict";var ye=/["'&<>]/;X.exports=ve;function ve(t){var e=""+t,r=ye.exec(e);if(!r)return e;var n,i="",s=0,o=0;for(s=r.index;s`${i}${s}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${t.separator})(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(e,"|")})`,"img");return s=>s.replace(i,r).replace(/<\/mark>(\s+)]*>/img,"$1")}}function re(t){let e=new lunr.Query(["title","text"]);return new lunr.QueryParser(t,e).parse(),e.clauses}function ne(t,e){let r=new Set(t),n={};for(let i=0;i!n.has(i)))]}var U=class{constructor({config:e,docs:r,pipeline:n,index:i}){this.documents=ee(r),this.highlight=te(e),lunr.tokenizer.separator=new RegExp(e.separator),typeof i=="undefined"?this.index=lunr(function(){e.lang.length===1&&e.lang[0]!=="en"?this.use(lunr[e.lang[0]]):e.lang.length>1&&this.use(lunr.multiLanguage(...e.lang));let s=me(["trimmer","stopWordFilter","stemmer"],n);for(let o of e.lang.map(a=>a==="en"?lunr:lunr[a]))for(let a of s)this.pipeline.remove(o[a]),this.searchPipeline.remove(o[a]);this.field("title",{boost:1e3}),this.field("text"),this.ref("location");for(let o of r)this.add(o)}):this.index=lunr.Index.load(i)}search(e){if(e)try{let r=this.highlight(e),n=re(e).filter(s=>s.presence!==lunr.Query.presence.PROHIBITED);return[...this.index.search(`${e}*`).reduce((s,{ref:o,score:a,matchData:c})=>{let u=this.documents.get(o);if(typeof u!="undefined"){let{location:d,title:y,text:p,parent:b}=u,v=ne(n,Object.keys(c.metadata)),Q=+!b+ +Object.values(v).every(f=>f);s.push({location:d,title:r(y),text:r(p),score:a*(1+Q),terms:v})}return s},[]).sort((s,o)=>o.score-s.score).reduce((s,o)=>{let a=this.documents.get(o.location);if(typeof a!="undefined"){let c="parent"in a?a.parent.location:a.location;s.set(c,[...s.get(c)||[],o])}return s},new Map).values()]}catch{console.warn(`Invalid query: ${e} \u2013 see https://bit.ly/2s3ChXG`)}return[]}};var R;(function(t){t[t.SETUP=0]="SETUP",t[t.READY=1]="READY",t[t.QUERY=2]="QUERY",t[t.RESULT=3]="RESULT"})(R||(R={}));var W;async function xe(t){let e="../lunr";if(typeof parent!="undefined"&&"IFrameWorker"in parent){let n=document.querySelector("script[src]"),[i]=n.src.split("/worker");e=e.replace("..",i)}let r=[];for(let n of t.lang)n==="ja"&&r.push(`${e}/tinyseg.js`),n!=="en"&&r.push(`${e}/min/lunr.${n}.min.js`);t.lang.length>1&&r.push(`${e}/min/lunr.multi.min.js`),r.length&&await importScripts(`${e}/min/lunr.stemmer.support.min.js`,...r)}async function Se(t){switch(t.type){case R.SETUP:return await xe(t.data.config),W=new U(t.data),{type:R.READY};case R.QUERY:return{type:R.RESULT,data:W?W.search(t.data):[]};default:throw new TypeError("Invalid message type")}}self.lunr=ie.default;addEventListener("message",async t=>{postMessage(await Se(t.data))});})(); +/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */ +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ +//# sourceMappingURL=search.js.map diff --git a/material/assets/javascripts/worker/search.js.map b/material/assets/javascripts/worker/search.js.map new file mode 100644 index 000000000..338011ef3 --- /dev/null +++ b/material/assets/javascripts/worker/search.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../node_modules/lunr/lunr.js", "../../../../node_modules/escape-html/index.js", "../../../../src/assets/javascripts/integrations/search/worker/main/index.ts", "../../../../src/assets/javascripts/integrations/search/document/index.ts", "../../../../src/assets/javascripts/integrations/search/highlighter/index.ts", "../../../../src/assets/javascripts/integrations/search/query/_/index.ts", "../../../../src/assets/javascripts/integrations/search/_/index.ts", "../../../../src/assets/javascripts/integrations/search/worker/message/index.ts"], + "sourcesContent": ["/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.9\"\n/*!\n * lunr.utils\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function () {\n return this\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2020 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example Simple single term query\n * hello\n * @example Multiple term query\n * hello world\n * @example term scoped to a field\n * title:hello\n * @example term with a boost of 10\n * hello^10\n * @example term with an edit distance of 2\n * hello~2\n * @example terms with presence modifiers\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.empty\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example Extracting a nested field\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with trailing wildcard\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example query term with leading and trailing wildcard\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with required presence\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example adding a single term to a query\n * query.term(\"foo\")\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like enviroments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n root.lunr = factory()\n }\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport lunr from \"lunr\"\n\nimport { Search, SearchIndexConfig } from \"../../_\"\nimport {\n SearchMessage,\n SearchMessageType\n} from \"../message\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Add support for usage with `iframe-worker` polyfill\n *\n * While `importScripts` is synchronous when executed inside of a web worker,\n * it's not possible to provide a synchronous polyfilled implementation. The\n * cool thing is that awaiting a non-Promise is a noop, so extending the type\n * definition to return a `Promise` shouldn't break anything.\n *\n * @see https://bit.ly/2PjDnXi - GitHub comment\n */\ndeclare global {\n function importScripts(...urls: string[]): Promise | void\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Search index\n */\nlet index: Search\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch (= import) multi-language support through `lunr-languages`\n *\n * This function will automatically import the stemmers necessary to process\n * the languages which were given through the search index configuration.\n *\n * If the worker runs inside of an `iframe` (when using `iframe-worker` as\n * a shim), the base URL for the stemmers to be loaded must be determined by\n * searching for the first `script` element with a `src` attribute, which will\n * contain the contents of this script.\n *\n * @param config - Search index configuration\n *\n * @returns Promise resolving with no result\n */\nasync function setupSearchLanguages(\n config: SearchIndexConfig\n): Promise {\n let base = \"../lunr\"\n\n /* Detect `iframe-worker` and fix base URL */\n if (typeof parent !== \"undefined\" && \"IFrameWorker\" in parent) {\n const worker = document.querySelector(\"script[src]\")!\n const [path] = worker.src.split(\"/worker\")\n\n /* Prefix base with path */\n base = base.replace(\"..\", path)\n }\n\n /* Add scripts for languages */\n const scripts = []\n for (const lang of config.lang) {\n if (lang === \"ja\") scripts.push(`${base}/tinyseg.js`)\n if (lang !== \"en\") scripts.push(`${base}/min/lunr.${lang}.min.js`)\n }\n\n /* Add multi-language support */\n if (config.lang.length > 1)\n scripts.push(`${base}/min/lunr.multi.min.js`)\n\n /* Load scripts synchronously */\n if (scripts.length)\n await importScripts(\n `${base}/min/lunr.stemmer.support.min.js`,\n ...scripts\n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Message handler\n *\n * @param message - Source message\n *\n * @returns Target message\n */\nexport async function handler(\n message: SearchMessage\n): Promise {\n switch (message.type) {\n\n /* Search setup message */\n case SearchMessageType.SETUP:\n await setupSearchLanguages(message.data.config)\n index = new Search(message.data)\n return {\n type: SearchMessageType.READY\n }\n\n /* Search query message */\n case SearchMessageType.QUERY:\n return {\n type: SearchMessageType.RESULT,\n data: index ? index.search(message.data) : []\n }\n\n /* All other messages */\n default:\n throw new TypeError(\"Invalid message type\")\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Worker\n * ------------------------------------------------------------------------- */\n\n/* @ts-ignore - expose Lunr.js in global scope, or stemmers will not work */\nself.lunr = lunr\n\n/* Handle messages */\naddEventListener(\"message\", async ev => {\n postMessage(await handler(ev.data))\n})\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport escapeHTML from \"escape-html\"\n\nimport { SearchIndexDocument } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search document\n */\nexport interface SearchDocument extends SearchIndexDocument {\n parent?: SearchIndexDocument /* Parent article */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search document mapping\n */\nexport type SearchDocumentMap = Map\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Create a search document mapping\n *\n * @param docs - Search index documents\n *\n * @returns Search document map\n */\nexport function setupSearchDocumentMap(\n docs: SearchIndexDocument[]\n): SearchDocumentMap {\n const documents = new Map()\n const parents = new Set()\n for (const doc of docs) {\n const [path, hash] = doc.location.split(\"#\")\n\n /* Extract location and title */\n const location = doc.location\n const title = doc.title\n\n /* Escape and cleanup text */\n const text = escapeHTML(doc.text)\n .replace(/\\s+(?=[,.:;!?])/g, \"\")\n .replace(/\\s+/g, \" \")\n\n /* Handle section */\n if (hash) {\n const parent = documents.get(path)!\n\n /* Ignore first section, override article */\n if (!parents.has(parent)) {\n parent.title = doc.title\n parent.text = text\n\n /* Remember that we processed the article */\n parents.add(parent)\n\n /* Add subsequent section */\n } else {\n documents.set(location, {\n location,\n title,\n text,\n parent\n })\n }\n\n /* Add article */\n } else {\n documents.set(location, {\n location,\n title,\n text\n })\n }\n }\n return documents\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndexConfig } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search highlight function\n *\n * @param value - Value\n *\n * @returns Highlighted value\n */\nexport type SearchHighlightFn = (value: string) => string\n\n/**\n * Search highlight factory function\n *\n * @param query - Query value\n *\n * @returns Search highlight function\n */\nexport type SearchHighlightFactoryFn = (query: string) => SearchHighlightFn\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Create a search highlighter\n *\n * @param config - Search index configuration\n *\n * @returns Search highlight factory function\n */\nexport function setupSearchHighlighter(\n config: SearchIndexConfig\n): SearchHighlightFactoryFn {\n const separator = new RegExp(config.separator, \"img\")\n const highlight = (_: unknown, data: string, term: string) => {\n return `${data}${term}`\n }\n\n /* Return factory function */\n return (query: string) => {\n query = query\n .replace(/[\\s*+\\-:~^]+/g, \" \")\n .trim()\n\n /* Create search term match expression */\n const match = new RegExp(`(^|${config.separator})(${\n query\n .replace(/[|\\\\{}()[\\]^$+*?.-]/g, \"\\\\$&\")\n .replace(separator, \"|\")\n })`, \"img\")\n\n /* Highlight string value */\n return value => value\n .replace(match, highlight)\n .replace(/<\\/mark>(\\s+)]*>/img, \"$1\")\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search query clause\n */\nexport interface SearchQueryClause {\n presence: lunr.Query.presence /* Clause presence */\n term: string /* Clause term */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search query terms\n */\nexport type SearchQueryTerms = Record\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Parse a search query for analysis\n *\n * @param value - Query value\n *\n * @returns Search query clauses\n */\nexport function parseSearchQuery(\n value: string\n): SearchQueryClause[] {\n const query = new (lunr as any).Query([\"title\", \"text\"])\n const parser = new (lunr as any).QueryParser(value, query)\n\n /* Parse and return query clauses */\n parser.parse()\n return query.clauses\n}\n\n/**\n * Analyze the search query clauses in regard to the search terms found\n *\n * @param query - Search query clauses\n * @param terms - Search terms\n *\n * @returns Search query terms\n */\nexport function getSearchQueryTerms(\n query: SearchQueryClause[], terms: string[]\n): SearchQueryTerms {\n const clauses = new Set(query)\n\n /* Match query clauses against terms */\n const result: SearchQueryTerms = {}\n for (let t = 0; t < terms.length; t++)\n for (const clause of clauses)\n if (terms[t].startsWith(clause.term)) {\n result[clause.term] = true\n clauses.delete(clause)\n }\n\n /* Annotate unmatched query clauses */\n for (const clause of clauses)\n result[clause.term] = false\n\n /* Return query terms */\n return result\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n SearchDocument,\n SearchDocumentMap,\n setupSearchDocumentMap\n} from \"../document\"\nimport {\n SearchHighlightFactoryFn,\n setupSearchHighlighter\n} from \"../highlighter\"\nimport {\n SearchQueryTerms,\n getSearchQueryTerms,\n parseSearchQuery\n} from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search index configuration\n */\nexport interface SearchIndexConfig {\n lang: string[] /* Search languages */\n separator: string /* Search separator */\n}\n\n/**\n * Search index document\n */\nexport interface SearchIndexDocument {\n location: string /* Document location */\n title: string /* Document title */\n text: string /* Document text */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search index pipeline function\n */\nexport type SearchIndexPipelineFn =\n | \"trimmer\" /* Trimmer */\n | \"stopWordFilter\" /* Stop word filter */\n | \"stemmer\" /* Stemmer */\n\n/**\n * Search index pipeline\n */\nexport type SearchIndexPipeline = SearchIndexPipelineFn[]\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search index\n *\n * This interfaces describes the format of the `search_index.json` file which\n * is automatically built by the MkDocs search plugin.\n */\nexport interface SearchIndex {\n config: SearchIndexConfig /* Search index configuration */\n docs: SearchIndexDocument[] /* Search index documents */\n index?: object /* Prebuilt index */\n pipeline?: SearchIndexPipeline /* Search index pipeline */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search metadata\n */\nexport interface SearchMetadata {\n score: number /* Score (relevance) */\n terms: SearchQueryTerms /* Search query terms */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search result\n */\nexport type SearchResult = Array\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Compute the difference of two lists of strings\n *\n * @param a - 1st list of strings\n * @param b - 2nd list of strings\n *\n * @returns Difference\n */\nfunction difference(a: string[], b: string[]): string[] {\n const [x, y] = [new Set(a), new Set(b)]\n return [\n ...new Set([...x].filter(value => !y.has(value)))\n ]\n}\n\n/* ----------------------------------------------------------------------------\n * Class\n * ------------------------------------------------------------------------- */\n\n/**\n * Search index\n */\nexport class Search {\n\n /**\n * Search document mapping\n *\n * A mapping of URLs (including hash fragments) to the actual articles and\n * sections of the documentation. The search document mapping must be created\n * regardless of whether the index was prebuilt or not, as Lunr.js itself\n * only stores the actual index.\n */\n protected documents: SearchDocumentMap\n\n /**\n * Search highlight factory function\n */\n protected highlight: SearchHighlightFactoryFn\n\n /**\n * The underlying Lunr.js search index\n */\n protected index: lunr.Index\n\n /**\n * Create the search integration\n *\n * @param data - Search index\n */\n public constructor({ config, docs, pipeline, index }: SearchIndex) {\n this.documents = setupSearchDocumentMap(docs)\n this.highlight = setupSearchHighlighter(config)\n\n /* Set separator for tokenizer */\n lunr.tokenizer.separator = new RegExp(config.separator)\n\n /* If no index was given, create it */\n if (typeof index === \"undefined\") {\n this.index = lunr(function () {\n\n /* Set up multi-language support */\n if (config.lang.length === 1 && config.lang[0] !== \"en\") {\n this.use((lunr as any)[config.lang[0]])\n } else if (config.lang.length > 1) {\n this.use((lunr as any).multiLanguage(...config.lang))\n }\n\n /* Compute functions to be removed from the pipeline */\n const fns = difference([\n \"trimmer\", \"stopWordFilter\", \"stemmer\"\n ], pipeline!)\n\n /* Remove functions from the pipeline for registered languages */\n for (const lang of config.lang.map(language => (\n language === \"en\" ? lunr : (lunr as any)[language]\n ))) {\n for (const fn of fns) {\n this.pipeline.remove(lang[fn])\n this.searchPipeline.remove(lang[fn])\n }\n }\n\n /* Set up fields and reference */\n this.field(\"title\", { boost: 1000 })\n this.field(\"text\")\n this.ref(\"location\")\n\n /* Index documents */\n for (const doc of docs)\n this.add(doc)\n })\n\n /* Handle prebuilt index */\n } else {\n this.index = lunr.Index.load(index)\n }\n }\n\n /**\n * Search for matching documents\n *\n * The search index which MkDocs provides is divided up into articles, which\n * contain the whole content of the individual pages, and sections, which only\n * contain the contents of the subsections obtained by breaking the individual\n * pages up at `h1` ... `h6`. As there may be many sections on different pages\n * with identical titles (for example within this very project, e.g. \"Usage\"\n * or \"Installation\"), they need to be put into the context of the containing\n * page. For this reason, section results are grouped within their respective\n * articles which are the top-level results that are returned.\n *\n * @param query - Query value\n *\n * @returns Search results\n */\n public search(query: string): SearchResult[] {\n if (query) {\n try {\n const highlight = this.highlight(query)\n\n /* Parse query to extract clauses for analysis */\n const clauses = parseSearchQuery(query)\n .filter(clause => (\n clause.presence !== lunr.Query.presence.PROHIBITED\n ))\n\n /* Perform search and post-process results */\n const groups = this.index.search(`${query}*`)\n\n /* Apply post-query boosts based on title and search query terms */\n .reduce((results, { ref, score, matchData }) => {\n const document = this.documents.get(ref)\n if (typeof document !== \"undefined\") {\n const { location, title, text, parent } = document\n\n /* Compute and analyze search query terms */\n const terms = getSearchQueryTerms(\n clauses,\n Object.keys(matchData.metadata)\n )\n\n /* Highlight title and text and apply post-query boosts */\n const boost = +!parent + +Object.values(terms).every(t => t)\n results.push({\n location,\n title: highlight(title),\n text: highlight(text),\n score: score * (1 + boost),\n terms\n })\n }\n return results\n }, [])\n\n /* Sort search results again after applying boosts */\n .sort((a, b) => b.score - a.score)\n\n /* Group search results by page */\n .reduce((results, result) => {\n const document = this.documents.get(result.location)\n if (typeof document !== \"undefined\") {\n const ref = \"parent\" in document\n ? document.parent!.location\n : document.location\n results.set(ref, [...results.get(ref) || [], result])\n }\n return results\n }, new Map())\n\n /* Expand grouped search results */\n return [...groups.values()]\n\n /* Log errors to console (for now) */\n } catch {\n console.warn(`Invalid query: ${query} \u2013 see https://bit.ly/2s3ChXG`)\n }\n }\n\n /* Return nothing in case of error or empty query */\n return []\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndex, SearchResult } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search message type\n */\nexport const enum SearchMessageType {\n SETUP, /* Search index setup */\n READY, /* Search index ready */\n QUERY, /* Search query */\n RESULT /* Search results */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message containing the data necessary to setup the search index\n */\nexport interface SearchSetupMessage {\n type: SearchMessageType.SETUP /* Message type */\n data: SearchIndex /* Message data */\n}\n\n/**\n * A message indicating the search index is ready\n */\nexport interface SearchReadyMessage {\n type: SearchMessageType.READY /* Message type */\n}\n\n/**\n * A message containing a search query\n */\nexport interface SearchQueryMessage {\n type: SearchMessageType.QUERY /* Message type */\n data: string /* Message data */\n}\n\n/**\n * A message containing results for a search query\n */\nexport interface SearchResultMessage {\n type: SearchMessageType.RESULT /* Message type */\n data: SearchResult[] /* Message data */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message exchanged with the search worker\n */\nexport type SearchMessage =\n | SearchSetupMessage\n | SearchReadyMessage\n | SearchQueryMessage\n | SearchResultMessage\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Type guard for search setup messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchSetupMessage(\n message: SearchMessage\n): message is SearchSetupMessage {\n return message.type === SearchMessageType.SETUP\n}\n\n/**\n * Type guard for search ready messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchReadyMessage(\n message: SearchMessage\n): message is SearchReadyMessage {\n return message.type === SearchMessageType.READY\n}\n\n/**\n * Type guard for search query messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchQueryMessage(\n message: SearchMessage\n): message is SearchQueryMessage {\n return message.type === SearchMessageType.QUERY\n}\n\n/**\n * Type guard for search result messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchResultMessage(\n message: SearchMessage\n): message is SearchResultMessage {\n return message.type === SearchMessageType.RESULT\n}\n"], + "mappings": "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L,EAAI,EAAE,QAAQ,EAAG,KAKf,GAAW,KACb,GAAI,EAAQ,cAAgB,EAAE,OAAO,IAGhC,GAGT,MAAO,UAAU,GACf,MAAO,GAAM,OAAO,OAIxB,EAAK,SAAS,iBAAiB,EAAK,QAAS,WAC7C,AAkBA,EAAK,uBAAyB,SAAU,GACtC,GAAI,GAAQ,EAAU,OAAO,SAAU,EAAM,GAC3C,SAAK,GAAY,EACV,GACN,IAEH,MAAO,UAAU,GACf,GAAI,GAAS,EAAM,EAAM,cAAgB,EAAM,WAAY,MAAO,KAiBtE,EAAK,eAAiB,EAAK,uBAAuB,CAChD,IACA,OACA,QACA,SACA,QACA,MACA,SACA,OACA,KACA,QACA,KACA,MACA,MACA,MACA,KACA,KACA,KACA,UACA,OACA,MACA,KACA,MACA,SACA,QACA,OACA,MACA,KACA,OACA,SACA,OACA,OACA,QACA,MACA,OACA,MACA,MACA,MACA,MACA,OACA,KACA,MACA,OACA,MACA,MACA,MACA,UACA,IACA,KACA,KACA,OACA,KACA,KACA,MACA,OACA,QACA,MACA,OACA,SACA,MACA,KACA,QACA,OACA,OACA,KACA,UACA,KACA,MACA,MACA,KACA,MACA,QACA,KACA,OACA,KACA,QACA,MACA,MACA,SACA,OACA,MACA,OACA,MACA,SACA,QACA,KACA,OACA,OACA,OACA,MACA,QACA,OACA,OACA,QACA,QACA,OACA,OACA,MACA,KACA,MACA,OACA,KACA,QACA,MACA,KACA,OACA,OACA,OACA,QACA,QACA,QACA,MACA,OACA,MACA,OACA,OACA,QACA,MACA,MACA,SAGF,EAAK,SAAS,iBAAiB,EAAK,eAAgB,kBACpD,AAoBA,EAAK,QAAU,SAAU,GACvB,MAAO,GAAM,OAAO,SAAU,GAC5B,MAAO,GAAE,QAAQ,OAAQ,IAAI,QAAQ,OAAQ,OAIjD,EAAK,SAAS,iBAAiB,EAAK,QAAS,WAC7C,AA0BA,EAAK,SAAW,WACd,KAAK,MAAQ,GACb,KAAK,MAAQ,GACb,KAAK,GAAK,EAAK,SAAS,QACxB,EAAK,SAAS,SAAW,GAW3B,EAAK,SAAS,QAAU,EASxB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", + "names": [] +} diff --git a/material/assets/manifest.json b/material/assets/manifest.json deleted file mode 100644 index f7a3b5f67..000000000 --- a/material/assets/manifest.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "assets/javascripts/bundle.js": "assets/javascripts/bundle.e8ecd72e.min.js", - "assets/javascripts/bundle.js.map": "assets/javascripts/bundle.e8ecd72e.min.js.map", - "assets/javascripts/vendor.js": "assets/javascripts/vendor.00ecb175.min.js", - "assets/javascripts/vendor.js.map": "assets/javascripts/vendor.00ecb175.min.js.map", - "assets/javascripts/worker/search.js": "assets/javascripts/worker/search.3f4c5856.min.js", - "assets/javascripts/worker/search.js.map": "assets/javascripts/worker/search.3f4c5856.min.js.map", - "assets/stylesheets/main.css": "assets/stylesheets/main.fa8597d9.min.css", - "assets/stylesheets/main.css.map": "assets/stylesheets/main.fa8597d9.min.css.map", - "assets/stylesheets/palette.css": "assets/stylesheets/palette.e03a20ad.min.css", - "assets/stylesheets/palette.css.map": "assets/stylesheets/palette.e03a20ad.min.css.map", - "overrides/assets/javascripts/bundle.js": "overrides/assets/javascripts/bundle.e5217812.min.js", - "overrides/assets/javascripts/bundle.js.map": "overrides/assets/javascripts/bundle.e5217812.min.js.map", - "overrides/assets/stylesheets/main.css": "overrides/assets/stylesheets/main.01a7853e.min.css", - "overrides/assets/stylesheets/main.css.map": "overrides/assets/stylesheets/main.01a7853e.min.css.map" -} \ No newline at end of file diff --git a/material/assets/stylesheets/main.css b/material/assets/stylesheets/main.css new file mode 100644 index 000000000..ab0da1e90 --- /dev/null +++ b/material/assets/stylesheets/main.css @@ -0,0 +1,3600 @@ +@charset "UTF-8"; +html { + box-sizing: border-box; + -webkit-text-size-adjust: none; + -moz-text-size-adjust: none; + -ms-text-size-adjust: none; + text-size-adjust: none; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +body { + margin: 0; +} + +a, +button, +label, +input { + -webkit-tap-highlight-color: transparent; +} + +a { + color: inherit; + text-decoration: none; +} + +hr { + display: block; + box-sizing: content-box; + height: 0.05rem; + padding: 0; + overflow: visible; + border: 0; +} + +small { + font-size: 80%; +} + +sub, +sup { + line-height: 1em; +} + +img { + border-style: none; +} + +table { + border-collapse: separate; + border-spacing: 0; +} + +td, +th { + font-weight: 400; + vertical-align: top; +} + +button { + margin: 0; + padding: 0; + font-size: inherit; + background: transparent; + border: 0; +} + +input { + border: 0; + outline: none; +} + +:root { + --md-default-fg-color: hsla(0, 0%, 0%, 0.87); + --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54); + --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32); + --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07); + --md-default-bg-color: hsla(0, 0%, 100%, 1); + --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7); + --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3); + --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12); + --md-primary-fg-color: hsla(231, 48%, 48%, 1); + --md-primary-fg-color--light: hsla(231, 44%, 56%, 1); + --md-primary-fg-color--dark: hsla(232, 54%, 41%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); + --md-accent-fg-color: hsla(231, 99%, 66%, 1); + --md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} +:root > * { + --md-code-fg-color: hsla(200, 18%, 26%, 1); + --md-code-bg-color: hsla(0, 0%, 96%, 1); + --md-code-hl-color: hsla(60, 100%, 50%, 0.5); + --md-code-hl-number-color: hsla(0, 67%, 50%, 1); + --md-code-hl-special-color: hsla(340, 83%, 47%, 1); + --md-code-hl-function-color: hsla(291, 45%, 50%, 1); + --md-code-hl-constant-color: hsla(250, 63%, 60%, 1); + --md-code-hl-keyword-color: hsla(219, 54%, 51%, 1); + --md-code-hl-string-color: hsla(150, 63%, 30%, 1); + --md-code-hl-name-color: var(--md-code-fg-color); + --md-code-hl-operator-color: var(--md-default-fg-color--light); + --md-code-hl-punctuation-color: var(--md-default-fg-color--light); + --md-code-hl-comment-color: var(--md-default-fg-color--light); + --md-code-hl-generic-color: var(--md-default-fg-color--light); + --md-code-hl-variable-color: var(--md-default-fg-color--light); + --md-typeset-color: var(--md-default-fg-color); + --md-typeset-a-color: var(--md-primary-fg-color); + --md-typeset-mark-color: hsla(60, 100%, 50%, 0.5); + --md-typeset-del-color: hsla(6, 90%, 60%, 0.15); + --md-typeset-ins-color: hsla(150, 90%, 44%, 0.15); + --md-typeset-kbd-color: hsla(0, 0%, 98%, 1); + --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1); + --md-typeset-kbd-border-color: hsla(0, 0%, 72%, 1); + --md-admonition-fg-color: var(--md-default-fg-color); + --md-admonition-bg-color: var(--md-default-bg-color); + --md-footer-fg-color: hsla(0, 0%, 100%, 1); + --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7); + --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3); + --md-footer-bg-color: hsla(0, 0%, 0%, 0.87); + --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32); +} + +.md-icon svg { + display: block; + width: 1.2rem; + height: 1.2rem; + fill: currentColor; +} + +body { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body, +input { + color: var(--md-typeset-color); + font-feature-settings: "kern", "liga"; + font-family: var(--md-text-font-family) -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif; +} + +code, +pre, +kbd { + color: var(--md-typeset-color); + font-feature-settings: "kern"; + font-family: var(--md-code-font-family) SFMono-Regular, Consolas, Menlo, monospace; +} + +:root { + --md-typeset-table--ascending: url("data:image/svg+xml;charset=utf-8,"); + --md-typeset-table--descending: url("data:image/svg+xml;charset=utf-8,"); +} + +.md-typeset { + font-size: 0.8rem; + line-height: 1.6; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} +@media print { + .md-typeset { + font-size: 0.68rem; + } +} +.md-typeset p, +.md-typeset ul, +.md-typeset ol, +.md-typeset dl, +.md-typeset blockquote { + margin: 1em 0; +} +.md-typeset h1 { + margin: 0 0 1.25em; + color: var(--md-default-fg-color--light); + font-weight: 300; + font-size: 2em; + line-height: 1.3; + letter-spacing: -0.01em; +} +.md-typeset h2 { + margin: 1.6em 0 0.64em; + font-weight: 300; + font-size: 1.5625em; + line-height: 1.4; + letter-spacing: -0.01em; +} +.md-typeset h3 { + margin: 1.6em 0 0.8em; + font-weight: 400; + font-size: 1.25em; + line-height: 1.5; + letter-spacing: -0.01em; +} +.md-typeset h2 + h3 { + margin-top: 0.8em; +} +.md-typeset h4 { + margin: 1em 0; + font-weight: 700; + letter-spacing: -0.01em; +} +.md-typeset h5, +.md-typeset h6 { + margin: 1.25em 0; + color: var(--md-default-fg-color--light); + font-weight: 700; + font-size: 0.8em; + letter-spacing: -0.01em; +} +.md-typeset h5 { + text-transform: uppercase; +} +.md-typeset hr { + margin: 1.5em 0; + border-bottom: 0.05rem solid var(--md-default-fg-color--lightest); +} +.md-typeset a { + color: var(--md-typeset-a-color); + word-break: break-word; +} +.md-typeset a, .md-typeset a::before { + transition: color 125ms; +} +.md-typeset a:focus, .md-typeset a:hover { + color: var(--md-accent-fg-color); +} +.md-typeset code, +.md-typeset pre, +.md-typeset kbd { + color: var(--md-code-fg-color); + direction: ltr; +} +@media print { + .md-typeset code, +.md-typeset pre, +.md-typeset kbd { + white-space: pre-wrap; + } +} +.md-typeset code { + padding: 0 0.2941176471em; + font-size: 0.85em; + word-break: break-word; + background-color: var(--md-code-bg-color); + border-radius: 0.1rem; + -webkit-box-decoration-break: clone; + box-decoration-break: clone; +} +.md-typeset code:not(.focus-visible) { + outline: none; + -webkit-tap-highlight-color: transparent; +} +.md-typeset h1 code, +.md-typeset h2 code, +.md-typeset h3 code, +.md-typeset h4 code, +.md-typeset h5 code, +.md-typeset h6 code { + margin: initial; + padding: initial; + background-color: transparent; + box-shadow: none; +} +.md-typeset a > code { + color: currentColor; +} +.md-typeset pre { + position: relative; + margin: 1em 0; + line-height: 1.4; +} +.md-typeset pre > code { + display: block; + margin: 0; + padding: 0.7720588235em 1.1764705882em; + overflow: auto; + word-break: normal; + box-shadow: none; + -webkit-box-decoration-break: slice; + box-decoration-break: slice; + touch-action: auto; + scrollbar-width: thin; + scrollbar-color: var(--md-default-fg-color--lighter) transparent; +} +.md-typeset pre > code:hover { + scrollbar-color: var(--md-accent-fg-color) transparent; +} +.md-typeset pre > code::-webkit-scrollbar { + width: 0.2rem; + height: 0.2rem; +} +.md-typeset pre > code::-webkit-scrollbar-thumb { + background-color: var(--md-default-fg-color--lighter); +} +.md-typeset pre > code::-webkit-scrollbar-thumb:hover { + background-color: var(--md-accent-fg-color); +} +@media screen and (max-width: 44.9375em) { + .md-typeset > pre { + margin: 1em -0.8rem; + } + .md-typeset > pre code { + border-radius: 0; + } +} +.md-typeset kbd { + display: inline-block; + padding: 0 0.6666666667em; + color: var(--md-default-fg-color); + font-size: 0.75em; + vertical-align: text-top; + word-break: break-word; + background-color: var(--md-typeset-kbd-color); + border-radius: 0.1rem; + box-shadow: 0 0.1rem 0 0.05rem var(--md-typeset-kbd-border-color), 0 0.1rem 0 var(--md-typeset-kbd-border-color), 0 -0.1rem 0.2rem var(--md-typeset-kbd-accent-color) inset; +} +.md-typeset mark { + color: inherit; + word-break: break-word; + background-color: var(--md-typeset-mark-color); + -webkit-box-decoration-break: clone; + box-decoration-break: clone; +} +.md-typeset abbr { + text-decoration: none; + border-bottom: 0.05rem dotted var(--md-default-fg-color--light); + cursor: help; +} +@media (hover: none) { + .md-typeset abbr { + position: relative; + } + .md-typeset abbr[title]:focus::after, .md-typeset abbr[title]:hover::after { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); + position: absolute; + left: 0; + display: inline-block; + width: auto; + min-width: -webkit-max-content; + min-width: -moz-max-content; + min-width: max-content; + max-width: 80%; + margin-top: 2em; + padding: 0.2rem 0.3rem; + color: var(--md-default-bg-color); + font-size: 0.7rem; + background-color: var(--md-default-fg-color); + border-radius: 0.1rem; + content: attr(title); + } +} +.md-typeset small { + opacity: 0.75; +} +.md-typeset sup, +.md-typeset sub { + margin-left: 0.078125em; +} +[dir=rtl] .md-typeset sup, +[dir=rtl] .md-typeset sub { + margin-right: 0.078125em; + margin-left: initial; +} +.md-typeset blockquote { + padding-left: 0.6rem; + color: var(--md-default-fg-color--light); + border-left: 0.2rem solid var(--md-default-fg-color--lighter); +} +[dir=rtl] .md-typeset blockquote { + padding-right: 0.6rem; + padding-left: initial; + border-right: 0.2rem solid var(--md-default-fg-color--lighter); + border-left: initial; +} +.md-typeset ul { + list-style-type: disc; +} +.md-typeset ul, +.md-typeset ol { + margin-left: 0.625em; + padding: 0; +} +[dir=rtl] .md-typeset ul, +[dir=rtl] .md-typeset ol { + margin-right: 0.625em; + margin-left: initial; +} +.md-typeset ul ol, +.md-typeset ol ol { + list-style-type: lower-alpha; +} +.md-typeset ul ol ol, +.md-typeset ol ol ol { + list-style-type: lower-roman; +} +.md-typeset ul li, +.md-typeset ol li { + margin-bottom: 0.5em; + margin-left: 1.25em; +} +[dir=rtl] .md-typeset ul li, +[dir=rtl] .md-typeset ol li { + margin-right: 1.25em; + margin-left: initial; +} +.md-typeset ul li p, +.md-typeset ul li blockquote, +.md-typeset ol li p, +.md-typeset ol li blockquote { + margin: 0.5em 0; +} +.md-typeset ul li:last-child, +.md-typeset ol li:last-child { + margin-bottom: 0; +} +.md-typeset ul li ul, +.md-typeset ul li ol, +.md-typeset ol li ul, +.md-typeset ol li ol { + margin: 0.5em 0 0.5em 0.625em; +} +[dir=rtl] .md-typeset ul li ul, +[dir=rtl] .md-typeset ul li ol, +[dir=rtl] .md-typeset ol li ul, +[dir=rtl] .md-typeset ol li ol { + margin-right: 0.625em; + margin-left: initial; +} +.md-typeset dd { + margin: 1em 0 1.5em 1.875em; +} +[dir=rtl] .md-typeset dd { + margin-right: 1.875em; + margin-left: initial; +} +.md-typeset img, +.md-typeset svg { + max-width: 100%; + height: auto; +} +.md-typeset img[align=left], +.md-typeset svg[align=left] { + margin: 1em; + margin-left: 0; +} +.md-typeset img[align=right], +.md-typeset svg[align=right] { + margin: 1em; + margin-right: 0; +} +.md-typeset img[align]:only-child, +.md-typeset svg[align]:only-child { + margin-top: 0; +} +.md-typeset figure { + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + max-width: 100%; + margin: 0 auto; + text-align: center; +} +.md-typeset figure img { + display: block; +} +.md-typeset figcaption { + max-width: 24rem; + margin: 1em auto 2em; + font-style: italic; +} +.md-typeset iframe { + max-width: 100%; +} +.md-typeset table:not([class]) { + display: inline-block; + max-width: 100%; + overflow: auto; + font-size: 0.64rem; + background-color: var(--md-default-bg-color); + border-radius: 0.1rem; + box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.05rem rgba(0, 0, 0, 0.1); + touch-action: auto; +} +@media print { + .md-typeset table:not([class]) { + display: table; + } +} +.md-typeset table:not([class]) + * { + margin-top: 1.5em; +} +.md-typeset table:not([class]) th > *:first-child, +.md-typeset table:not([class]) td > *:first-child { + margin-top: 0; +} +.md-typeset table:not([class]) th > *:last-child, +.md-typeset table:not([class]) td > *:last-child { + margin-bottom: 0; +} +.md-typeset table:not([class]) th:not([align]), +.md-typeset table:not([class]) td:not([align]) { + text-align: left; +} +[dir=rtl] .md-typeset table:not([class]) th:not([align]), +[dir=rtl] .md-typeset table:not([class]) td:not([align]) { + text-align: right; +} +.md-typeset table:not([class]) th { + min-width: 5rem; + padding: 0.9375em 1.25em; + color: var(--md-default-bg-color); + vertical-align: top; + background-color: var(--md-default-fg-color--light); +} +.md-typeset table:not([class]) th a { + color: inherit; +} +.md-typeset table:not([class]) td { + padding: 0.9375em 1.25em; + vertical-align: top; + border-top: 0.05rem solid var(--md-default-fg-color--lightest); +} +.md-typeset table:not([class]) tr { + transition: background-color 125ms; +} +.md-typeset table:not([class]) tr:hover { + background-color: rgba(0, 0, 0, 0.035); + box-shadow: 0 0.05rem 0 var(--md-default-bg-color) inset; +} +.md-typeset table:not([class]) tr:first-child td { + border-top: 0; +} +.md-typeset table:not([class]) a { + word-break: normal; +} +.md-typeset table th[role=columnheader] { + cursor: pointer; +} +.md-typeset table th[role=columnheader]::after { + display: inline-block; + width: 1.2em; + height: 1.2em; + margin-left: 0.5em; + vertical-align: sub; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + content: ""; +} +.md-typeset table th[role=columnheader][aria-sort=ascending]::after { + background-color: currentColor; + -webkit-mask-image: var(--md-typeset-table--ascending); + mask-image: var(--md-typeset-table--ascending); +} +.md-typeset table th[role=columnheader][aria-sort=descending]::after { + background-color: currentColor; + -webkit-mask-image: var(--md-typeset-table--descending); + mask-image: var(--md-typeset-table--descending); +} +.md-typeset__scrollwrap { + margin: 1em -0.8rem; + overflow-x: auto; + touch-action: auto; +} +.md-typeset__table { + display: inline-block; + margin-bottom: 0.5em; + padding: 0 0.8rem; +} +@media print { + .md-typeset__table { + display: block; + } +} +html .md-typeset__table table { + display: table; + width: 100%; + margin: 0; + overflow: hidden; +} + +html { + height: 100%; + overflow-x: hidden; + font-size: 125%; +} +@media screen and (min-width: 100em) { + html { + font-size: 137.5%; + } +} +@media screen and (min-width: 125em) { + html { + font-size: 150%; + } +} + +body { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + min-height: 100%; + font-size: 0.5rem; + background-color: var(--md-default-bg-color); +} +@media print { + body { + display: block; + } +} +@media screen and (max-width: 59.9375em) { + body[data-md-state=lock] { + position: fixed; + } +} + +.md-grid { + max-width: 61rem; + margin-right: auto; + margin-left: auto; +} + +.md-container { + display: flex; + flex-direction: column; + flex-grow: 1; +} +@media print { + .md-container { + display: block; + } +} + +.md-main { + flex-grow: 1; +} +.md-main__inner { + display: flex; + height: 100%; + margin-top: 1.5rem; +} + +.md-ellipsis { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.md-toggle { + display: none; +} + +.md-skip { + position: fixed; + z-index: -1; + margin: 0.5rem; + padding: 0.3rem 0.5rem; + color: var(--md-default-bg-color); + font-size: 0.64rem; + background-color: var(--md-default-fg-color); + border-radius: 0.1rem; + transform: translateY(0.4rem); + opacity: 0; +} +.md-skip:focus { + z-index: 10; + transform: translateY(0); + opacity: 1; + transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 175ms 75ms; +} + +@page { + margin: 25mm; +} +.md-announce { + overflow: auto; + background-color: var(--md-footer-bg-color); +} +@media print { + .md-announce { + display: none; + } +} +.md-announce__inner { + margin: 0.6rem auto; + padding: 0 0.8rem; + color: var(--md-footer-fg-color); + font-size: 0.7rem; +} + +:root { + --md-clipboard-icon: url("data:image/svg+xml;charset=utf-8,"); +} + +.md-clipboard { + position: absolute; + top: 0.5em; + right: 0.5em; + z-index: 1; + width: 1.5em; + height: 1.5em; + color: var(--md-default-fg-color--lightest); + border-radius: 0.1rem; + cursor: pointer; + transition: color 250ms; +} +@media print { + .md-clipboard { + display: none; + } +} +.md-clipboard:not(.focus-visible) { + outline: none; + -webkit-tap-highlight-color: transparent; +} +:hover > .md-clipboard { + color: var(--md-default-fg-color--light); +} +.md-clipboard:focus, .md-clipboard:hover { + color: var(--md-accent-fg-color); +} +.md-clipboard::after { + display: block; + width: 1.125em; + height: 1.125em; + margin: 0 auto; + background-color: currentColor; + -webkit-mask-image: var(--md-clipboard-icon); + mask-image: var(--md-clipboard-icon); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + content: ""; +} +.md-clipboard--inline { + cursor: pointer; +} +.md-clipboard--inline code { + transition: color 250ms, background-color 250ms; +} +.md-clipboard--inline:focus code, .md-clipboard--inline:hover code { + color: var(--md-accent-fg-color); + background-color: var(--md-accent-fg-color--transparent); +} + +.md-content { + flex-grow: 1; + overflow: hidden; + scroll-padding-top: 51.2rem; +} +.md-content__inner { + margin: 0 0.8rem 1.2rem; + padding-top: 0.6rem; +} +@media screen and (min-width: 76.25em) { + .md-sidebar--primary:not([hidden]) ~ .md-content > .md-content__inner { + margin-left: 1.2rem; + } + [dir=rtl] .md-sidebar--primary:not([hidden]) ~ .md-content > .md-content__inner { + margin-right: 1.2rem; + margin-left: 0.8rem; + } + .md-sidebar--secondary:not([hidden]) ~ .md-content > .md-content__inner { + margin-right: 1.2rem; + } + [dir=rtl] .md-sidebar--secondary:not([hidden]) ~ .md-content > .md-content__inner { + margin-right: 0.8rem; + margin-left: 1.2rem; + } +} +.md-content__inner::before { + display: block; + height: 0.4rem; + content: ""; +} +.md-content__inner > :last-child { + margin-bottom: 0; +} +.md-content__button { + float: right; + margin: 0.4rem 0; + margin-left: 0.4rem; + padding: 0; +} +@media print { + .md-content__button { + display: none; + } +} +[dir=rtl] .md-content__button { + float: left; + margin-right: 0.4rem; + margin-left: initial; +} +[dir=rtl] .md-content__button svg { + transform: scaleX(-1); +} +.md-typeset .md-content__button { + color: var(--md-default-fg-color--lighter); +} +.md-content__button svg { + display: inline; + vertical-align: top; +} + +.md-dialog { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); + position: fixed; + right: 0.8rem; + bottom: 0.8rem; + left: initial; + z-index: 2; + min-width: 11.1rem; + padding: 0.4rem 0.6rem; + background-color: var(--md-default-fg-color); + border-radius: 0.1rem; + transform: translateY(100%); + opacity: 0; + transition: transform 0ms 400ms, opacity 400ms; + pointer-events: none; +} +@media print { + .md-dialog { + display: none; + } +} +[dir=rtl] .md-dialog { + right: initial; + left: 0.8rem; +} +.md-dialog[data-md-state=open] { + transform: translateY(0); + opacity: 1; + transition: transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1), opacity 400ms; + pointer-events: initial; +} +.md-dialog__inner { + color: var(--md-default-bg-color); + font-size: 0.7rem; +} + +.md-typeset .md-button { + display: inline-block; + padding: 0.625em 2em; + color: var(--md-primary-fg-color); + font-weight: 700; + border: 0.1rem solid currentColor; + border-radius: 0.1rem; + transition: color 125ms, background-color 125ms, border-color 125ms; +} +.md-typeset .md-button--primary { + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); + border-color: var(--md-primary-fg-color); +} +.md-typeset .md-button:focus, .md-typeset .md-button:hover { + color: var(--md-accent-bg-color); + background-color: var(--md-accent-fg-color); + border-color: var(--md-accent-fg-color); +} +.md-typeset .md-input { + height: 1.8rem; + padding: 0 0.6rem; + font-size: 0.8rem; + border-radius: 0.1rem; + box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1); + transition: box-shadow 250ms; +} +.md-typeset .md-input:focus, .md-typeset .md-input:hover { + box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15); +} +.md-typeset .md-input--stretch { + width: 100%; +} + +.md-header { + position: -webkit-sticky; + position: sticky; + top: 0; + right: 0; + left: 0; + z-index: 2; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); + box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0), 0 0.2rem 0.4rem rgba(0, 0, 0, 0); + transition: color 250ms, background-color 250ms; +} +@media print { + .md-header { + display: none; + } +} +.md-header[data-md-state=shadow] { + box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2); + transition: transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1), color 250ms, background-color 250ms, box-shadow 250ms; +} +.md-header[data-md-state=hidden] { + transform: translateY(-100%); + transition: transform 250ms cubic-bezier(0.8, 0, 0.6, 1), color 250ms, background-color 250ms, box-shadow 250ms; +} + +.md-header-nav { + display: flex; + align-items: center; + padding: 0 0.2rem; +} +.md-header-nav__button { + position: relative; + z-index: 1; + display: inline-block; + margin: 0.2rem; + padding: 0.4rem; + color: currentColor; + vertical-align: middle; + cursor: pointer; + transition: opacity 250ms; +} +.md-header-nav__button:focus, .md-header-nav__button:hover { + opacity: 0.7; +} +.md-header-nav__button:not(.focus-visible) { + outline: none; +} +.md-header-nav__button.md-logo { + margin: 0.2rem; + padding: 0.4rem; +} +@media screen and (max-width: 76.1875em) { + .md-header-nav__button.md-logo { + display: none; + } +} +.md-header-nav__button.md-logo img, +.md-header-nav__button.md-logo svg { + display: block; + width: 1.2rem; + height: 1.2rem; + fill: currentColor; +} +@media screen and (min-width: 60em) { + .md-header-nav__button[for=__search] { + display: none; + } +} +.no-js .md-header-nav__button[for=__search] { + display: none; +} +[dir=rtl] .md-header-nav__button[for=__search] svg { + transform: scaleX(-1); +} +@media screen and (min-width: 76.25em) { + .md-header-nav__button[for=__drawer] { + display: none; + } +} +.md-header-nav__topic { + position: absolute; + display: flex; + max-width: 100%; + transition: transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms; +} +.md-header-nav__topic + .md-header-nav__topic { + z-index: -1; + transform: translateX(1.25rem); + opacity: 0; + transition: transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1), opacity 150ms; + pointer-events: none; +} +[dir=rtl] .md-header-nav__topic + .md-header-nav__topic { + transform: translateX(-1.25rem); +} +.md-header-nav__title { + flex-grow: 1; + height: 2.4rem; + margin-right: 0.4rem; + margin-left: 1rem; + font-size: 0.9rem; + line-height: 2.4rem; +} +.md-header-nav__title[data-md-state=active] .md-header-nav__topic { + z-index: -1; + transform: translateX(-1.25rem); + opacity: 0; + transition: transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1), opacity 150ms; + pointer-events: none; +} +[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic { + transform: translateX(1.25rem); +} +.md-header-nav__title[data-md-state=active] .md-header-nav__topic + .md-header-nav__topic { + z-index: 0; + transform: translateX(0); + opacity: 1; + transition: transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms; + pointer-events: initial; +} +.md-header-nav__title > .md-header-nav__ellipsis { + position: relative; + width: 100%; + height: 100%; +} +.md-header-nav__source { + display: none; +} +@media screen and (min-width: 60em) { + .md-header-nav__source { + display: block; + width: 11.7rem; + max-width: 11.7rem; + margin-left: 1rem; + } + [dir=rtl] .md-header-nav__source { + margin-right: 1rem; + margin-left: initial; + } +} +@media screen and (min-width: 76.25em) { + .md-header-nav__source { + margin-left: 1.4rem; + } + [dir=rtl] .md-header-nav__source { + margin-right: 1.4rem; + } +} + +.md-footer { + color: var(--md-footer-fg-color); + background-color: var(--md-footer-bg-color); +} +@media print { + .md-footer { + display: none; + } +} + +.md-footer-nav__inner { + padding: 0.2rem; + overflow: auto; +} +.md-footer-nav__link { + display: flex; + padding-top: 1.4rem; + padding-bottom: 0.4rem; + transition: opacity 250ms; +} +@media screen and (min-width: 45em) { + .md-footer-nav__link { + width: 50%; + } +} +.md-footer-nav__link:focus, .md-footer-nav__link:hover { + opacity: 0.7; +} +.md-footer-nav__link--prev { + float: left; +} +@media screen and (max-width: 44.9375em) { + .md-footer-nav__link--prev { + width: 25%; + } + .md-footer-nav__link--prev .md-footer-nav__title { + display: none; + } +} +[dir=rtl] .md-footer-nav__link--prev { + float: right; +} +[dir=rtl] .md-footer-nav__link--prev svg { + transform: scaleX(-1); +} +.md-footer-nav__link--next { + float: right; + text-align: right; +} +@media screen and (max-width: 44.9375em) { + .md-footer-nav__link--next { + width: 75%; + } +} +[dir=rtl] .md-footer-nav__link--next { + float: left; + text-align: left; +} +[dir=rtl] .md-footer-nav__link--next svg { + transform: scaleX(-1); +} +.md-footer-nav__title { + position: relative; + flex-grow: 1; + max-width: calc(100% - 2.4rem); + padding: 0 1rem; + font-size: 0.9rem; + line-height: 2.4rem; +} +.md-footer-nav__button { + margin: 0.2rem; + padding: 0.4rem; +} +.md-footer-nav__direction { + position: absolute; + right: 0; + left: 0; + margin-top: -1rem; + padding: 0 1rem; + font-size: 0.64rem; + opacity: 0.7; +} + +.md-footer-meta { + background-color: var(--md-footer-bg-color--dark); +} +.md-footer-meta__inner { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + padding: 0.2rem; +} +html .md-footer-meta.md-typeset a { + color: var(--md-footer-fg-color--light); +} +html .md-footer-meta.md-typeset a:focus, html .md-footer-meta.md-typeset a:hover { + color: var(--md-footer-fg-color); +} + +.md-footer-copyright { + width: 100%; + margin: auto 0.6rem; + padding: 0.4rem 0; + color: var(--md-footer-fg-color--lighter); + font-size: 0.64rem; +} +@media screen and (min-width: 45em) { + .md-footer-copyright { + width: auto; + } +} +.md-footer-copyright__highlight { + color: var(--md-footer-fg-color--light); +} + +.md-footer-social { + margin: 0 0.4rem; + padding: 0.2rem 0 0.6rem; +} +@media screen and (min-width: 45em) { + .md-footer-social { + padding: 0.6rem 0; + } +} +.md-footer-social__link { + display: inline-block; + width: 1.6rem; + height: 1.6rem; + text-align: center; +} +.md-footer-social__link::before { + line-height: 1.9; +} +.md-footer-social__link svg { + max-height: 0.8rem; + vertical-align: -25%; + fill: currentColor; +} + +:root { + --md-nav-icon--prev: url("data:image/svg+xml;charset=utf-8,"); + --md-nav-icon--next: url("data:image/svg+xml;charset=utf-8,"); + --md-toc-icon: url("data:image/svg+xml;charset=utf-8,"); +} + +.md-nav { + font-size: 0.7rem; + line-height: 1.3; +} +.md-nav__title { + display: block; + padding: 0 0.6rem; + overflow: hidden; + font-weight: 700; + text-overflow: ellipsis; +} +.md-nav__title .md-nav__button { + display: none; +} +.md-nav__title .md-nav__button img { + width: auto; + height: 100%; +} +.md-nav__title .md-nav__button.md-logo img, +.md-nav__title .md-nav__button.md-logo svg { + display: block; + width: 2.4rem; + height: 2.4rem; + fill: currentColor; +} +.md-nav__list { + margin: 0; + padding: 0; + list-style: none; +} +.md-nav__item { + padding: 0 0.6rem; +} +.md-nav__item .md-nav__item { + padding-right: 0; +} +[dir=rtl] .md-nav__item .md-nav__item { + padding-right: 0.6rem; + padding-left: 0; +} +.md-nav__link { + display: block; + margin-top: 0.625em; + overflow: hidden; + text-overflow: ellipsis; + cursor: pointer; + transition: color 125ms; + scroll-snap-align: start; +} +.md-nav__link[data-md-state=blur] { + color: var(--md-default-fg-color--light); +} +.md-nav__item .md-nav__link--active { + color: var(--md-typeset-a-color); +} +.md-nav__item--nested > .md-nav__link { + color: inherit; +} +.md-nav__link:focus, .md-nav__link:hover { + color: var(--md-accent-fg-color); +} +.md-nav--primary .md-nav__link[for=__toc] { + display: none; +} +.md-nav--primary .md-nav__link[for=__toc] .md-icon::after { + display: block; + width: 100%; + height: 100%; + -webkit-mask-image: var(--md-toc-icon); + mask-image: var(--md-toc-icon); + background-color: currentColor; +} +.md-nav--primary .md-nav__link[for=__toc] ~ .md-nav { + display: none; +} +.md-nav__source { + display: none; +} +@media screen and (max-width: 76.1875em) { + .md-nav--primary, .md-nav--primary .md-nav { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + display: flex; + flex-direction: column; + height: 100%; + background-color: var(--md-default-bg-color); + } + .md-nav--primary .md-nav__title, +.md-nav--primary .md-nav__item { + font-size: 0.8rem; + line-height: 1.5; + } + .md-nav--primary .md-nav__title { + position: relative; + height: 5.6rem; + padding: 3rem 0.8rem 0.2rem; + color: var(--md-default-fg-color--light); + font-weight: 400; + line-height: 2.4rem; + white-space: nowrap; + background-color: var(--md-default-fg-color--lightest); + cursor: pointer; + } + .md-nav--primary .md-nav__title .md-nav__icon { + position: absolute; + top: 0.4rem; + left: 0.4rem; + display: block; + width: 1.2rem; + height: 1.2rem; + margin: 0.2rem; + } + [dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon { + right: 0.4rem; + left: initial; + } + .md-nav--primary .md-nav__title .md-nav__icon::after { + display: block; + width: 100%; + height: 100%; + background-color: currentColor; + -webkit-mask-image: var(--md-nav-icon--prev); + mask-image: var(--md-nav-icon--prev); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + content: ""; + } + .md-nav--primary .md-nav__title ~ .md-nav__list { + overflow-y: auto; + background-color: var(--md-default-bg-color); + box-shadow: 0 0.05rem 0 var(--md-default-fg-color--lightest) inset; + -webkit-scroll-snap-type: y mandatory; + -ms-scroll-snap-type: y mandatory; + scroll-snap-type: y mandatory; + touch-action: pan-y; + } + .md-nav--primary .md-nav__title ~ .md-nav__list > :first-child { + border-top: 0; + } + .md-nav--primary .md-nav__title[for=__drawer] { + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); + } + .md-nav--primary .md-nav__title .md-logo { + position: absolute; + top: 0.2rem; + left: 0.2rem; + display: block; + margin: 0.2rem; + padding: 0.4rem; + } + [dir=rtl] .md-nav--primary .md-nav__title .md-logo { + right: 0.2rem; + left: initial; + } + .md-nav--primary .md-nav__list { + flex: 1; + } + .md-nav--primary .md-nav__item { + padding: 0; + border-top: 0.05rem solid var(--md-default-fg-color--lightest); + } + .md-nav--primary .md-nav__item--nested > .md-nav__link { + padding-right: 2.4rem; + } + [dir=rtl] .md-nav--primary .md-nav__item--nested > .md-nav__link { + padding-right: 0.8rem; + padding-left: 2.4rem; + } + .md-nav--primary .md-nav__item--active > .md-nav__link { + color: var(--md-typeset-a-color); + } + .md-nav--primary .md-nav__item--active > .md-nav__link:focus, .md-nav--primary .md-nav__item--active > .md-nav__link:hover { + color: var(--md-accent-fg-color); + } + .md-nav--primary .md-nav__link { + position: relative; + margin-top: 0; + padding: 0.6rem 0.8rem; + } + .md-nav--primary .md-nav__link .md-nav__icon { + position: absolute; + top: 50%; + right: 0.6rem; + width: 1.2rem; + height: 1.2rem; + margin-top: -0.6rem; + color: inherit; + font-size: 1.2rem; + } + [dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon { + right: initial; + left: 0.6rem; + } + .md-nav--primary .md-nav__link .md-nav__icon::after { + display: block; + width: 100%; + height: 100%; + background-color: currentColor; + -webkit-mask-image: var(--md-nav-icon--next); + mask-image: var(--md-nav-icon--next); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + content: ""; + } + [dir=rtl] .md-nav--primary .md-nav__icon::after { + transform: scale(-1); + } + .md-nav--primary .md-nav--secondary .md-nav__link { + position: static; + } + .md-nav--primary .md-nav--secondary .md-nav { + position: static; + background-color: transparent; + } + .md-nav--primary .md-nav--secondary .md-nav .md-nav__link { + padding-left: 1.4rem; + } + [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link { + padding-right: 1.4rem; + padding-left: initial; + } + .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link { + padding-left: 2rem; + } + [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link { + padding-right: 2rem; + padding-left: initial; + } + .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link { + padding-left: 2.6rem; + } + [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link { + padding-right: 2.6rem; + padding-left: initial; + } + .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link { + padding-left: 3.2rem; + } + [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link { + padding-right: 3.2rem; + padding-left: initial; + } + .md-nav--secondary { + background-color: transparent; + } + .md-nav__toggle ~ .md-nav { + display: flex; + transform: translateX(100%); + opacity: 0; + transition: transform 250ms cubic-bezier(0.8, 0, 0.6, 1), opacity 125ms 50ms; + } + [dir=rtl] .md-nav__toggle ~ .md-nav { + transform: translateX(-100%); + } + .md-nav__toggle:checked ~ .md-nav { + transform: translateX(0); + opacity: 1; + transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 125ms 125ms; + } + .md-nav__toggle:checked ~ .md-nav > .md-nav__list { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + } +} +@media screen and (max-width: 59.9375em) { + .md-nav--primary .md-nav__link[for=__toc] { + display: block; + padding-right: 2.4rem; + } + [dir=rtl] .md-nav--primary .md-nav__link[for=__toc] { + padding-right: 0.8rem; + padding-left: 2.4rem; + } + .md-nav--primary .md-nav__link[for=__toc] .md-icon::after { + content: ""; + } + .md-nav--primary .md-nav__link[for=__toc] + .md-nav__link { + display: none; + } + .md-nav--primary .md-nav__link[for=__toc] ~ .md-nav { + display: flex; + } + .md-nav__source { + display: block; + padding: 0 0.2rem; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color--dark); + } +} +@media screen and (min-width: 60em) and (max-width: 76.1875em) { + .md-nav--integrated .md-nav__link[for=__toc] { + display: block; + padding-right: 2.4rem; + scroll-snap-align: initial; + } + [dir=rtl] .md-nav--integrated .md-nav__link[for=__toc] { + padding-right: 0.8rem; + padding-left: 2.4rem; + } + .md-nav--integrated .md-nav__link[for=__toc] .md-icon::after { + content: ""; + } + .md-nav--integrated .md-nav__link[for=__toc] + .md-nav__link { + display: none; + } + .md-nav--integrated .md-nav__link[for=__toc] ~ .md-nav { + display: flex; + } +} +@media screen and (min-width: 60em) { + .md-nav--secondary .md-nav__title[for=__toc] { + scroll-snap-align: start; + } + .md-nav--secondary .md-nav__title .md-nav__icon { + display: none; + } +} +@media screen and (min-width: 76.25em) { + .md-nav { + transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1); + } + .md-nav--primary .md-nav__title[for=__drawer] { + scroll-snap-align: start; + } + .md-nav--primary .md-nav__title .md-nav__icon { + display: none; + } + .md-nav__toggle ~ .md-nav { + display: none; + } + .md-nav__toggle:checked ~ .md-nav, .md-nav__toggle:indeterminate ~ .md-nav { + display: block; + } + .md-nav__item--nested > .md-nav > .md-nav__title { + display: none; + } + .md-nav__item--section { + display: block; + margin: 1.25em 0; + } + .md-nav__item--section:last-child { + margin-bottom: 0; + } + .md-nav__item--section > .md-nav__link { + display: none; + } + .md-nav__item--section > .md-nav { + display: block; + } + .md-nav__item--section > .md-nav > .md-nav__title { + display: block; + padding: 0; + pointer-events: none; + scroll-snap-align: start; + } + .md-nav__item--section > .md-nav > .md-nav__list > .md-nav__item { + padding: 0; + } + .md-nav__icon { + float: right; + width: 0.9rem; + height: 0.9rem; + transition: transform 250ms; + } + [dir=rtl] .md-nav__icon { + float: left; + transform: rotate(180deg); + } + .md-nav__icon::after { + display: inline-block; + width: 100%; + height: 100%; + vertical-align: -0.1rem; + background-color: currentColor; + -webkit-mask-image: var(--md-nav-icon--next); + mask-image: var(--md-nav-icon--next); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + content: ""; + } + .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link .md-nav__icon, .md-nav__item--nested .md-nav__toggle:indeterminate ~ .md-nav__link .md-nav__icon { + transform: rotate(90deg); + } + .md-nav--lifted > .md-nav__list > .md-nav__item--nested, +.md-nav--lifted > .md-nav__title { + display: none; + } + .md-nav--lifted > .md-nav__list > .md-nav__item { + display: none; + } + .md-nav--lifted > .md-nav__list > .md-nav__item--active { + display: block; + padding: 0; + } + .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav__link { + display: none; + } + .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav > .md-nav__title { + display: block; + padding: 0 0.6rem; + pointer-events: none; + scroll-snap-align: start; + } + .md-nav--lifted > .md-nav__list > .md-nav__item > .md-nav__item { + padding-right: 0.6rem; + } + .md-nav--lifted .md-nav[data-md-level="1"] { + display: block; + } + .md-nav--integrated .md-nav__link[for=__toc] ~ .md-nav { + display: block; + margin-bottom: 1.25em; + border-left: 0.05rem solid var(--md-primary-fg-color); + } + .md-nav--integrated .md-nav__link[for=__toc] ~ .md-nav > .md-nav__title { + display: none; + } +} + +:root { + --md-search-result-icon: url("data:image/svg+xml;charset=utf-8,"); +} + +.md-search { + position: relative; +} +@media screen and (min-width: 60em) { + .md-search { + padding: 0.2rem 0; + } +} +.no-js .md-search { + display: none; +} +.md-search__overlay { + z-index: 1; + opacity: 0; +} +@media screen and (max-width: 59.9375em) { + .md-search__overlay { + position: absolute; + top: 0.2rem; + left: -2.2rem; + width: 2rem; + height: 2rem; + overflow: hidden; + background-color: var(--md-default-bg-color); + border-radius: 1rem; + transform-origin: center; + transition: transform 300ms 100ms, opacity 200ms 200ms; + pointer-events: none; + } + [dir=rtl] .md-search__overlay { + right: -2.2rem; + left: initial; + } + [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { + opacity: 1; + transition: transform 400ms, opacity 100ms; + } +} +@media screen and (min-width: 60em) { + .md-search__overlay { + position: fixed; + top: 0; + left: 0; + width: 0; + height: 0; + background-color: rgba(0, 0, 0, 0.54); + cursor: pointer; + transition: width 0ms 250ms, height 0ms 250ms, opacity 250ms; + } + [dir=rtl] .md-search__overlay { + right: 0; + left: initial; + } + [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { + width: 100%; + height: 200vh; + opacity: 1; + transition: width 0ms, height 0ms, opacity 250ms; + } +} +@media screen and (max-width: 29.9375em) { + [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { + transform: scale(45); + } +} +@media screen and (min-width: 30em) and (max-width: 44.9375em) { + [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { + transform: scale(60); + } +} +@media screen and (min-width: 45em) and (max-width: 59.9375em) { + [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { + transform: scale(75); + } +} +.md-search__inner { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +@media screen and (max-width: 59.9375em) { + .md-search__inner { + position: fixed; + top: 0; + left: 100%; + z-index: 2; + width: 100%; + height: 100%; + transform: translateX(5%); + opacity: 0; + transition: right 0ms 300ms, left 0ms 300ms, transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms 150ms; + } + [data-md-toggle=search]:checked ~ .md-header .md-search__inner { + left: 0; + transform: translateX(0); + opacity: 1; + transition: right 0ms 0ms, left 0ms 0ms, transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms 150ms; + } + [dir=rtl] [data-md-toggle=search]:checked ~ .md-header .md-search__inner { + right: 0; + left: initial; + } + html [dir=rtl] .md-search__inner { + right: 100%; + left: initial; + transform: translateX(-5%); + } +} +@media screen and (min-width: 60em) { + .md-search__inner { + position: relative; + float: right; + width: 11.7rem; + padding: 0.1rem 0; + transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1); + } + [dir=rtl] .md-search__inner { + float: left; + } +} +@media screen and (min-width: 60em) and (max-width: 76.1875em) { + [data-md-toggle=search]:checked ~ .md-header .md-search__inner { + width: 23.4rem; + } +} +@media screen and (min-width: 76.25em) { + [data-md-toggle=search]:checked ~ .md-header .md-search__inner { + width: 34.4rem; + } +} +.md-search__form { + position: relative; +} +@media screen and (min-width: 60em) { + .md-search__form { + border-radius: 0.1rem; + } +} +.md-search__input { + position: relative; + z-index: 2; + padding: 0 2.2rem 0 3.6rem; + text-overflow: ellipsis; + background-color: var(--md-default-bg-color); + box-shadow: 0 0 0.6rem transparent; + transition: color 250ms, background-color 250ms, box-shadow 250ms; +} +[dir=rtl] .md-search__input { + padding: 0 3.6rem 0 2.2rem; +} +.md-search__input::-webkit-input-placeholder { + -webkit-transition: color 250ms; + transition: color 250ms; +} +.md-search__input::-moz-placeholder { + -moz-transition: color 250ms; + transition: color 250ms; +} +.md-search__input::-ms-input-placeholder { + -ms-transition: color 250ms; + transition: color 250ms; +} +.md-search__input::placeholder { + transition: color 250ms; +} +.md-search__input::-webkit-input-placeholder { + color: var(--md-default-fg-color--light); +} +.md-search__input::-moz-placeholder { + color: var(--md-default-fg-color--light); +} +.md-search__input::-ms-input-placeholder { + color: var(--md-default-fg-color--light); +} +.md-search__input ~ .md-search__icon, .md-search__input::placeholder { + color: var(--md-default-fg-color--light); +} +.md-search__input::-ms-clear { + display: none; +} +[data-md-toggle=search]:checked ~ .md-header .md-search__input { + box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07); +} +@media screen and (max-width: 59.9375em) { + .md-search__input { + width: 100%; + height: 2.4rem; + font-size: 0.9rem; + } +} +@media screen and (min-width: 60em) { + .md-search__input { + width: 100%; + height: 1.8rem; + padding-left: 2.2rem; + color: inherit; + font-size: 0.8rem; + background-color: rgba(0, 0, 0, 0.26); + border-radius: 0.1rem; + } + [dir=rtl] .md-search__input { + padding-right: 2.2rem; + } + .md-search__input + .md-search__icon { + color: var(--md-primary-bg-color); + } + .md-search__input::-webkit-input-placeholder { + color: var(--md-primary-bg-color--light); + } + .md-search__input::-moz-placeholder { + color: var(--md-primary-bg-color--light); + } + .md-search__input::-ms-input-placeholder { + color: var(--md-primary-bg-color--light); + } + .md-search__input::placeholder { + color: var(--md-primary-bg-color--light); + } + .md-search__input:hover { + background-color: rgba(255, 255, 255, 0.12); + } + [data-md-toggle=search]:checked ~ .md-header .md-search__input { + color: var(--md-default-fg-color); + text-overflow: clip; + background-color: var(--md-default-bg-color); + border-radius: 0.1rem 0.1rem 0 0; + } + [data-md-toggle=search]:checked ~ .md-header .md-search__input::-webkit-input-placeholder { + color: var(--md-default-fg-color--light); + } + [data-md-toggle=search]:checked ~ .md-header .md-search__input::-moz-placeholder { + color: var(--md-default-fg-color--light); + } + [data-md-toggle=search]:checked ~ .md-header .md-search__input::-ms-input-placeholder { + color: var(--md-default-fg-color--light); + } + [data-md-toggle=search]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle=search]:checked ~ .md-header .md-search__input::placeholder { + color: var(--md-default-fg-color--light); + } +} +.md-search__icon { + position: absolute; + z-index: 2; + width: 1.2rem; + height: 1.2rem; + cursor: pointer; + transition: color 250ms, opacity 250ms; +} +.md-search__icon:hover { + opacity: 0.7; +} +.md-search__icon[for=__search] { + top: 0.3rem; + left: 0.5rem; +} +[dir=rtl] .md-search__icon[for=__search] { + right: 0.5rem; + left: initial; +} +[dir=rtl] .md-search__icon[for=__search] svg { + transform: scaleX(-1); +} +@media screen and (max-width: 59.9375em) { + .md-search__icon[for=__search] { + top: 0.6rem; + left: 0.8rem; + } + [dir=rtl] .md-search__icon[for=__search] { + right: 0.8rem; + left: initial; + } + .md-search__icon[for=__search] svg:first-child { + display: none; + } +} +@media screen and (min-width: 60em) { + .md-search__icon[for=__search] { + pointer-events: none; + } + .md-search__icon[for=__search] svg:last-child { + display: none; + } +} +.md-search__icon[type=reset] { + top: 0.3rem; + right: 0.5rem; + transform: scale(0.75); + opacity: 0; + transition: transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms; + pointer-events: none; +} +[dir=rtl] .md-search__icon[type=reset] { + right: initial; + left: 0.5rem; +} +@media screen and (max-width: 59.9375em) { + .md-search__icon[type=reset] { + top: 0.6rem; + right: 0.8rem; + } + [dir=rtl] .md-search__icon[type=reset] { + right: initial; + left: 0.8rem; + } +} +[data-md-toggle=search]:checked ~ .md-header .md-search__input:valid ~ .md-search__icon[type=reset] { + transform: scale(1); + opacity: 1; + pointer-events: initial; +} +[data-md-toggle=search]:checked ~ .md-header .md-search__input:valid ~ .md-search__icon[type=reset]:hover { + opacity: 0.7; +} +.md-search__output { + position: absolute; + z-index: 1; + width: 100%; + overflow: hidden; + border-radius: 0 0 0.1rem 0.1rem; +} +@media screen and (max-width: 59.9375em) { + .md-search__output { + top: 2.4rem; + bottom: 0; + } +} +@media screen and (min-width: 60em) { + .md-search__output { + top: 1.9rem; + opacity: 0; + transition: opacity 400ms; + } + [data-md-toggle=search]:checked ~ .md-header .md-search__output { + box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.4); + opacity: 1; + } +} +.md-search__scrollwrap { + height: 100%; + overflow-y: auto; + background-color: var(--md-default-bg-color); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + touch-action: pan-y; +} +@media (-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx) { + .md-search__scrollwrap { + transform: translateZ(0); + } +} +@media screen and (min-width: 60em) and (max-width: 76.1875em) { + .md-search__scrollwrap { + width: 23.4rem; + } +} +@media screen and (min-width: 76.25em) { + .md-search__scrollwrap { + width: 34.4rem; + } +} +@media screen and (min-width: 60em) { + .md-search__scrollwrap { + max-height: 0; + scrollbar-width: thin; + scrollbar-color: var(--md-default-fg-color--lighter) transparent; + } + [data-md-toggle=search]:checked ~ .md-header .md-search__scrollwrap { + max-height: 75vh; + } + .md-search__scrollwrap:hover { + scrollbar-color: var(--md-accent-fg-color) transparent; + } + .md-search__scrollwrap::-webkit-scrollbar { + width: 0.2rem; + height: 0.2rem; + } + .md-search__scrollwrap::-webkit-scrollbar-thumb { + background-color: var(--md-default-fg-color--lighter); + } + .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { + background-color: var(--md-accent-fg-color); + } +} + +.md-search-result { + color: var(--md-default-fg-color); + word-break: break-word; +} +.md-search-result__meta { + padding: 0 0.8rem; + color: var(--md-default-fg-color--light); + font-size: 0.64rem; + line-height: 1.8rem; + background-color: var(--md-default-fg-color--lightest); + scroll-snap-align: start; +} +@media screen and (min-width: 60em) { + .md-search-result__meta { + padding-left: 2.2rem; + } + [dir=rtl] .md-search-result__meta { + padding-right: 2.2rem; + padding-left: initial; + } +} +.md-search-result__list { + margin: 0; + padding: 0; + list-style: none; +} +.md-search-result__item { + box-shadow: 0 -0.05rem 0 var(--md-default-fg-color--lightest); +} +.md-search-result__item:first-child { + box-shadow: none; +} +.md-search-result__link { + display: block; + outline: none; + transition: background-color 250ms; + scroll-snap-align: start; +} +.md-search-result__link:focus, .md-search-result__link:hover { + background-color: var(--md-accent-fg-color--transparent); +} +.md-search-result__link:last-child p:last-child { + margin-bottom: 0.6rem; +} +.md-search-result__more summary { + display: block; + padding: 0.75em 0.8rem; + color: var(--md-typeset-a-color); + font-size: 0.64rem; + outline: 0; + cursor: pointer; + transition: color 250ms, background-color 250ms; + scroll-snap-align: start; +} +@media screen and (min-width: 60em) { + .md-search-result__more summary { + padding-left: 2.2rem; + } + [dir=rtl] .md-search-result__more summary { + padding-right: 2.2rem; + padding-left: 0.8rem; + } +} +.md-search-result__more summary:focus, .md-search-result__more summary:hover { + color: var(--md-accent-fg-color); + background-color: var(--md-accent-fg-color--transparent); +} +.md-search-result__more summary::marker, .md-search-result__more summary::-webkit-details-marker { + display: none; +} +.md-search-result__more summary ~ * > * { + opacity: 0.65; +} +.md-search-result__article { + position: relative; + padding: 0 0.8rem; + overflow: hidden; +} +@media screen and (min-width: 60em) { + .md-search-result__article { + padding-left: 2.2rem; + } + [dir=rtl] .md-search-result__article { + padding-right: 2.2rem; + padding-left: 0.8rem; + } +} +.md-search-result__article--document .md-search-result__title { + margin: 0.55rem 0; + font-weight: 400; + font-size: 0.8rem; + line-height: 1.4; +} +.md-search-result__icon { + position: absolute; + left: 0; + width: 1.2rem; + height: 1.2rem; + margin: 0.5rem; + color: var(--md-default-fg-color--light); +} +@media screen and (max-width: 59.9375em) { + .md-search-result__icon { + display: none; + } +} +.md-search-result__icon::after { + display: inline-block; + width: 100%; + height: 100%; + background-color: currentColor; + -webkit-mask-image: var(--md-search-result-icon); + mask-image: var(--md-search-result-icon); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + content: ""; +} +[dir=rtl] .md-search-result__icon { + right: 0; + left: initial; +} +[dir=rtl] .md-search-result__icon::after { + transform: scaleX(-1); +} +.md-search-result__title { + margin: 0.5em 0; + font-weight: 700; + font-size: 0.64rem; + line-height: 1.6; +} +.md-search-result__teaser { + display: -webkit-box; + max-height: 2rem; + margin: 0.5em 0; + overflow: hidden; + color: var(--md-default-fg-color--light); + font-size: 0.64rem; + line-height: 1.6; + text-overflow: ellipsis; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} +@media screen and (max-width: 44.9375em) { + .md-search-result__teaser { + max-height: 3rem; + -webkit-line-clamp: 3; + } +} +@media screen and (min-width: 60em) and (max-width: 76.1875em) { + .md-search-result__teaser { + max-height: 3rem; + -webkit-line-clamp: 3; + } +} +.md-search-result__teaser mark { + text-decoration: underline; + background-color: transparent; +} +.md-search-result__terms { + margin: 0.5em 0; + font-size: 0.64rem; + font-style: italic; +} +.md-search-result mark { + color: var(--md-accent-fg-color); + background-color: transparent; +} + +.md-sidebar { + position: -webkit-sticky; + position: sticky; + top: 2.4rem; + flex-shrink: 0; + align-self: flex-start; + width: 12.1rem; + padding: 1.2rem 0; +} +@media print { + .md-sidebar { + display: none; + } +} +@media screen and (max-width: 76.1875em) { + .md-sidebar--primary { + position: fixed; + top: 0; + left: -12.1rem; + z-index: 3; + display: block; + width: 12.1rem; + height: 100%; + background-color: var(--md-default-bg-color); + transform: translateX(0); + transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms; + } + [dir=rtl] .md-sidebar--primary { + right: -12.1rem; + left: initial; + } + [data-md-toggle=drawer]:checked ~ .md-container .md-sidebar--primary { + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.4); + transform: translateX(12.1rem); + } + [dir=rtl] [data-md-toggle=drawer]:checked ~ .md-container .md-sidebar--primary { + transform: translateX(-12.1rem); + } + .md-sidebar--primary .md-sidebar__scrollwrap { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin: 0; + -webkit-scroll-snap-type: none; + -ms-scroll-snap-type: none; + scroll-snap-type: none; + overflow: hidden; + } +} +@media screen and (min-width: 76.25em) { + .md-sidebar { + height: 0; + } + .no-js .md-sidebar { + height: auto; + } +} +.md-sidebar--secondary { + display: none; + order: 2; +} +@media screen and (min-width: 60em) { + .md-sidebar--secondary { + height: 0; + } + .no-js .md-sidebar--secondary { + height: auto; + } + .md-sidebar--secondary:not([hidden]) { + display: block; + } + .md-sidebar--secondary .md-sidebar__scrollwrap { + touch-action: pan-y; + } +} +.md-sidebar__scrollwrap { + margin: 0 0.2rem; + overflow-y: auto; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + scrollbar-width: thin; + scrollbar-color: var(--md-default-fg-color--lighter) transparent; +} +.md-sidebar__scrollwrap:hover { + scrollbar-color: var(--md-accent-fg-color) transparent; +} +.md-sidebar__scrollwrap::-webkit-scrollbar { + width: 0.2rem; + height: 0.2rem; +} +.md-sidebar__scrollwrap::-webkit-scrollbar-thumb { + background-color: var(--md-default-fg-color--lighter); +} +.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { + background-color: var(--md-accent-fg-color); +} + +@media screen and (max-width: 76.1875em) { + .md-overlay { + position: fixed; + top: 0; + z-index: 3; + width: 0; + height: 0; + background-color: rgba(0, 0, 0, 0.54); + opacity: 0; + transition: width 0ms 250ms, height 0ms 250ms, opacity 250ms; + } + [data-md-toggle=drawer]:checked ~ .md-overlay { + width: 100%; + height: 100%; + opacity: 1; + transition: width 0ms, height 0ms, opacity 250ms; + } +} +@-webkit-keyframes md-source__facts--done { + 0% { + height: 0; + } + 100% { + height: 0.65rem; + } +} +@keyframes md-source__facts--done { + 0% { + height: 0; + } + 100% { + height: 0.65rem; + } +} +@-webkit-keyframes md-source__fact--done { + 0% { + transform: translateY(100%); + opacity: 0; + } + 50% { + opacity: 0; + } + 100% { + transform: translateY(0%); + opacity: 1; + } +} +@keyframes md-source__fact--done { + 0% { + transform: translateY(100%); + opacity: 0; + } + 50% { + opacity: 0; + } + 100% { + transform: translateY(0%); + opacity: 1; + } +} +.md-source { + display: block; + font-size: 0.65rem; + line-height: 1.2; + white-space: nowrap; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: opacity 250ms; +} +.md-source:focus, .md-source:hover { + opacity: 0.7; +} +.md-source__icon { + display: inline-block; + width: 2.4rem; + height: 2.4rem; + vertical-align: middle; +} +.md-source__icon svg { + margin-top: 0.6rem; + margin-left: 0.6rem; +} +[dir=rtl] .md-source__icon svg { + margin-right: 0.6rem; + margin-left: initial; +} +.md-source__icon + .md-source__repository { + margin-left: -2rem; + padding-left: 2rem; +} +[dir=rtl] .md-source__icon + .md-source__repository { + margin-right: -2rem; + margin-left: initial; + padding-right: 2rem; + padding-left: initial; +} +.md-source__repository { + display: inline-block; + max-width: calc(100% - 1.2rem); + margin-left: 0.6rem; + overflow: hidden; + font-weight: 700; + text-overflow: ellipsis; + vertical-align: middle; +} +.md-source__facts { + margin: 0; + padding: 0; + overflow: hidden; + font-weight: 700; + font-size: 0.55rem; + list-style-type: none; + opacity: 0.75; +} +[data-md-state=done] .md-source__facts { + -webkit-animation: md-source__facts--done 250ms ease-in; + animation: md-source__facts--done 250ms ease-in; +} +.md-source__fact { + float: left; +} +[dir=rtl] .md-source__fact { + float: right; +} +[data-md-state=done] .md-source__fact { + -webkit-animation: md-source__fact--done 400ms ease-out; + animation: md-source__fact--done 400ms ease-out; +} +.md-source__fact::before { + margin: 0 0.1rem; + content: "·"; +} +.md-source__fact:first-child::before { + display: none; +} + +.md-tabs { + width: 100%; + overflow: auto; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); + transition: background-color 250ms; +} +@media print { + .md-tabs { + display: none; + } +} +@media screen and (max-width: 76.1875em) { + .md-tabs { + display: none; + } +} +.md-tabs[data-md-state=hidden] { + pointer-events: none; +} +.md-tabs__list { + margin: 0; + margin-left: 0.2rem; + padding: 0; + white-space: nowrap; + list-style: none; + contain: content; +} +[dir=rtl] .md-tabs__list { + margin-right: 0.2rem; + margin-left: initial; +} +.md-tabs__item { + display: inline-block; + height: 2.4rem; + padding-right: 0.6rem; + padding-left: 0.6rem; +} +.md-tabs__link { + display: block; + margin-top: 0.8rem; + font-size: 0.7rem; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + opacity: 0.7; + transition: transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 250ms; +} +.md-tabs__link--active, .md-tabs__link:focus, .md-tabs__link:hover { + color: inherit; + opacity: 1; +} +.md-tabs__item:nth-child(2) .md-tabs__link { + transition-delay: 20ms; +} +.md-tabs__item:nth-child(3) .md-tabs__link { + transition-delay: 40ms; +} +.md-tabs__item:nth-child(4) .md-tabs__link { + transition-delay: 60ms; +} +.md-tabs__item:nth-child(5) .md-tabs__link { + transition-delay: 80ms; +} +.md-tabs__item:nth-child(6) .md-tabs__link { + transition-delay: 100ms; +} +.md-tabs__item:nth-child(7) .md-tabs__link { + transition-delay: 120ms; +} +.md-tabs__item:nth-child(8) .md-tabs__link { + transition-delay: 140ms; +} +.md-tabs__item:nth-child(9) .md-tabs__link { + transition-delay: 160ms; +} +.md-tabs__item:nth-child(10) .md-tabs__link { + transition-delay: 180ms; +} +.md-tabs__item:nth-child(11) .md-tabs__link { + transition-delay: 200ms; +} +.md-tabs__item:nth-child(12) .md-tabs__link { + transition-delay: 220ms; +} +.md-tabs__item:nth-child(13) .md-tabs__link { + transition-delay: 240ms; +} +.md-tabs__item:nth-child(14) .md-tabs__link { + transition-delay: 260ms; +} +.md-tabs__item:nth-child(15) .md-tabs__link { + transition-delay: 280ms; +} +.md-tabs__item:nth-child(16) .md-tabs__link { + transition-delay: 300ms; +} +.md-tabs[data-md-state=hidden] .md-tabs__link { + transform: translateY(50%); + opacity: 0; + transition: transform 0ms 100ms, opacity 100ms; +} + +:root { + --md-admonition-icon--note: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--abstract: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--info: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--tip: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--success: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--question: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--warning: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--failure: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--danger: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--bug: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--example: + url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--quote: + url("data:image/svg+xml;charset=utf-8,"); +} + +.md-typeset .admonition, .md-typeset details { + margin: 1.5625em 0; + padding: 0 0.6rem; + overflow: hidden; + color: var(--md-admonition-fg-color); + font-size: 0.64rem; + page-break-inside: avoid; + background-color: var(--md-admonition-bg-color); + border-left: 0.2rem solid #448aff; + border-radius: 0.1rem; + box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.05); +} +@media print { + .md-typeset .admonition, .md-typeset details { + box-shadow: none; + } +} +[dir=rtl] .md-typeset .admonition, [dir=rtl] .md-typeset details { + border-right: 0.2rem solid #448aff; + border-left: none; +} +.md-typeset .admonition .admonition, .md-typeset details .admonition, .md-typeset .admonition details, .md-typeset details details { + margin: 1em 0; +} +.md-typeset .admonition .md-typeset__scrollwrap, .md-typeset details .md-typeset__scrollwrap { + margin: 1em -0.6rem; +} +.md-typeset .admonition .md-typeset__table, .md-typeset details .md-typeset__table { + padding: 0 0.6rem; +} +.md-typeset .admonition > .tabbed-set:only-child, .md-typeset details > .tabbed-set:only-child { + margin-top: 0; +} +html .md-typeset .admonition > :last-child, html .md-typeset details > :last-child { + margin-bottom: 0.6rem; +} +.md-typeset .admonition-title, .md-typeset summary { + position: relative; + margin: 0 -0.6rem 0 -0.8rem; + padding: 0.4rem 0.6rem 0.4rem 2rem; + font-weight: 700; + background-color: rgba(68, 138, 255, 0.1); + border-left: 0.2rem solid #448aff; +} +[dir=rtl] .md-typeset .admonition-title, [dir=rtl] .md-typeset summary { + margin: 0 -0.8rem 0 -0.6rem; + padding: 0.4rem 2rem 0.4rem 0.6rem; + border-right: 0.2rem solid #448aff; + border-left: none; +} +html .md-typeset .admonition-title:last-child, html .md-typeset summary:last-child { + margin-bottom: 0; +} +.md-typeset .admonition-title::before, .md-typeset summary::before { + position: absolute; + left: 0.6rem; + width: 1rem; + height: 1rem; + background-color: #448aff; + -webkit-mask-image: var(--md-admonition-icon--note); + mask-image: var(--md-admonition-icon--note); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + content: ""; +} +[dir=rtl] .md-typeset .admonition-title::before, [dir=rtl] .md-typeset summary::before { + right: 0.6rem; + left: initial; +} +.md-typeset .admonition-title code, .md-typeset summary code { + margin: initial; + padding: initial; + color: currentColor; + background-color: transparent; + border-radius: initial; + box-shadow: none; +} +.md-typeset .admonition-title + .tabbed-set:last-child, .md-typeset summary + .tabbed-set:last-child { + margin-top: 0; +} + +.md-typeset .admonition.note, .md-typeset details.note { + border-color: #448aff; +} + +.md-typeset .note > .admonition-title, .md-typeset .note > summary { + background-color: rgba(68, 138, 255, 0.1); + border-color: #448aff; +} +.md-typeset .note > .admonition-title::before, .md-typeset .note > summary::before { + background-color: #448aff; + -webkit-mask-image: var(--md-admonition-icon--note); + mask-image: var(--md-admonition-icon--note); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.abstract, .md-typeset details.abstract, .md-typeset .admonition.tldr, .md-typeset details.tldr, .md-typeset .admonition.summary, .md-typeset details.summary { + border-color: #00b0ff; +} + +.md-typeset .abstract > .admonition-title, .md-typeset .abstract > summary, .md-typeset .tldr > .admonition-title, .md-typeset .tldr > summary, .md-typeset .summary > .admonition-title, .md-typeset .summary > summary { + background-color: rgba(0, 176, 255, 0.1); + border-color: #00b0ff; +} +.md-typeset .abstract > .admonition-title::before, .md-typeset .abstract > summary::before, .md-typeset .tldr > .admonition-title::before, .md-typeset .tldr > summary::before, .md-typeset .summary > .admonition-title::before, .md-typeset .summary > summary::before { + background-color: #00b0ff; + -webkit-mask-image: var(--md-admonition-icon--abstract); + mask-image: var(--md-admonition-icon--abstract); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.info, .md-typeset details.info, .md-typeset .admonition.todo, .md-typeset details.todo { + border-color: #00b8d4; +} + +.md-typeset .info > .admonition-title, .md-typeset .info > summary, .md-typeset .todo > .admonition-title, .md-typeset .todo > summary { + background-color: rgba(0, 184, 212, 0.1); + border-color: #00b8d4; +} +.md-typeset .info > .admonition-title::before, .md-typeset .info > summary::before, .md-typeset .todo > .admonition-title::before, .md-typeset .todo > summary::before { + background-color: #00b8d4; + -webkit-mask-image: var(--md-admonition-icon--info); + mask-image: var(--md-admonition-icon--info); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.tip, .md-typeset details.tip, .md-typeset .admonition.important, .md-typeset details.important, .md-typeset .admonition.hint, .md-typeset details.hint { + border-color: #00bfa5; +} + +.md-typeset .tip > .admonition-title, .md-typeset .tip > summary, .md-typeset .important > .admonition-title, .md-typeset .important > summary, .md-typeset .hint > .admonition-title, .md-typeset .hint > summary { + background-color: rgba(0, 191, 165, 0.1); + border-color: #00bfa5; +} +.md-typeset .tip > .admonition-title::before, .md-typeset .tip > summary::before, .md-typeset .important > .admonition-title::before, .md-typeset .important > summary::before, .md-typeset .hint > .admonition-title::before, .md-typeset .hint > summary::before { + background-color: #00bfa5; + -webkit-mask-image: var(--md-admonition-icon--tip); + mask-image: var(--md-admonition-icon--tip); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.success, .md-typeset details.success, .md-typeset .admonition.done, .md-typeset details.done, .md-typeset .admonition.check, .md-typeset details.check { + border-color: #00c853; +} + +.md-typeset .success > .admonition-title, .md-typeset .success > summary, .md-typeset .done > .admonition-title, .md-typeset .done > summary, .md-typeset .check > .admonition-title, .md-typeset .check > summary { + background-color: rgba(0, 200, 83, 0.1); + border-color: #00c853; +} +.md-typeset .success > .admonition-title::before, .md-typeset .success > summary::before, .md-typeset .done > .admonition-title::before, .md-typeset .done > summary::before, .md-typeset .check > .admonition-title::before, .md-typeset .check > summary::before { + background-color: #00c853; + -webkit-mask-image: var(--md-admonition-icon--success); + mask-image: var(--md-admonition-icon--success); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.question, .md-typeset details.question, .md-typeset .admonition.faq, .md-typeset details.faq, .md-typeset .admonition.help, .md-typeset details.help { + border-color: #64dd17; +} + +.md-typeset .question > .admonition-title, .md-typeset .question > summary, .md-typeset .faq > .admonition-title, .md-typeset .faq > summary, .md-typeset .help > .admonition-title, .md-typeset .help > summary { + background-color: rgba(100, 221, 23, 0.1); + border-color: #64dd17; +} +.md-typeset .question > .admonition-title::before, .md-typeset .question > summary::before, .md-typeset .faq > .admonition-title::before, .md-typeset .faq > summary::before, .md-typeset .help > .admonition-title::before, .md-typeset .help > summary::before { + background-color: #64dd17; + -webkit-mask-image: var(--md-admonition-icon--question); + mask-image: var(--md-admonition-icon--question); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.warning, .md-typeset details.warning, .md-typeset .admonition.attention, .md-typeset details.attention, .md-typeset .admonition.caution, .md-typeset details.caution { + border-color: #ff9100; +} + +.md-typeset .warning > .admonition-title, .md-typeset .warning > summary, .md-typeset .attention > .admonition-title, .md-typeset .attention > summary, .md-typeset .caution > .admonition-title, .md-typeset .caution > summary { + background-color: rgba(255, 145, 0, 0.1); + border-color: #ff9100; +} +.md-typeset .warning > .admonition-title::before, .md-typeset .warning > summary::before, .md-typeset .attention > .admonition-title::before, .md-typeset .attention > summary::before, .md-typeset .caution > .admonition-title::before, .md-typeset .caution > summary::before { + background-color: #ff9100; + -webkit-mask-image: var(--md-admonition-icon--warning); + mask-image: var(--md-admonition-icon--warning); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.failure, .md-typeset details.failure, .md-typeset .admonition.missing, .md-typeset details.missing, .md-typeset .admonition.fail, .md-typeset details.fail { + border-color: #ff5252; +} + +.md-typeset .failure > .admonition-title, .md-typeset .failure > summary, .md-typeset .missing > .admonition-title, .md-typeset .missing > summary, .md-typeset .fail > .admonition-title, .md-typeset .fail > summary { + background-color: rgba(255, 82, 82, 0.1); + border-color: #ff5252; +} +.md-typeset .failure > .admonition-title::before, .md-typeset .failure > summary::before, .md-typeset .missing > .admonition-title::before, .md-typeset .missing > summary::before, .md-typeset .fail > .admonition-title::before, .md-typeset .fail > summary::before { + background-color: #ff5252; + -webkit-mask-image: var(--md-admonition-icon--failure); + mask-image: var(--md-admonition-icon--failure); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.danger, .md-typeset details.danger, .md-typeset .admonition.error, .md-typeset details.error { + border-color: #ff1744; +} + +.md-typeset .danger > .admonition-title, .md-typeset .danger > summary, .md-typeset .error > .admonition-title, .md-typeset .error > summary { + background-color: rgba(255, 23, 68, 0.1); + border-color: #ff1744; +} +.md-typeset .danger > .admonition-title::before, .md-typeset .danger > summary::before, .md-typeset .error > .admonition-title::before, .md-typeset .error > summary::before { + background-color: #ff1744; + -webkit-mask-image: var(--md-admonition-icon--danger); + mask-image: var(--md-admonition-icon--danger); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.bug, .md-typeset details.bug { + border-color: #f50057; +} + +.md-typeset .bug > .admonition-title, .md-typeset .bug > summary { + background-color: rgba(245, 0, 87, 0.1); + border-color: #f50057; +} +.md-typeset .bug > .admonition-title::before, .md-typeset .bug > summary::before { + background-color: #f50057; + -webkit-mask-image: var(--md-admonition-icon--bug); + mask-image: var(--md-admonition-icon--bug); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.example, .md-typeset details.example { + border-color: #651fff; +} + +.md-typeset .example > .admonition-title, .md-typeset .example > summary { + background-color: rgba(101, 31, 255, 0.1); + border-color: #651fff; +} +.md-typeset .example > .admonition-title::before, .md-typeset .example > summary::before { + background-color: #651fff; + -webkit-mask-image: var(--md-admonition-icon--example); + mask-image: var(--md-admonition-icon--example); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.md-typeset .admonition.quote, .md-typeset details.quote, .md-typeset .admonition.cite, .md-typeset details.cite { + border-color: #9e9e9e; +} + +.md-typeset .quote > .admonition-title, .md-typeset .quote > summary, .md-typeset .cite > .admonition-title, .md-typeset .cite > summary { + background-color: rgba(158, 158, 158, 0.1); + border-color: #9e9e9e; +} +.md-typeset .quote > .admonition-title::before, .md-typeset .quote > summary::before, .md-typeset .cite > .admonition-title::before, .md-typeset .cite > summary::before { + background-color: #9e9e9e; + -webkit-mask-image: var(--md-admonition-icon--quote); + mask-image: var(--md-admonition-icon--quote); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +:root { + --md-footnotes-icon: url("data:image/svg+xml;charset=utf-8,"); +} + +.md-typeset [id^="fnref:"]:target { + scroll-margin-top: initial; + margin-top: -3.4rem; + padding-top: 3.4rem; +} +.md-typeset [id^="fn:"]:target { + scroll-margin-top: initial; + margin-top: -3.45rem; + padding-top: 3.45rem; +} +.md-typeset .footnote { + color: var(--md-default-fg-color--light); + font-size: 0.64rem; +} +.md-typeset .footnote ol { + margin-left: 0; +} +.md-typeset .footnote li { + transition: color 125ms; +} +.md-typeset .footnote li:target { + color: var(--md-default-fg-color); +} +.md-typeset .footnote li:hover .footnote-backref, .md-typeset .footnote li:target .footnote-backref { + transform: translateX(0); + opacity: 1; +} +.md-typeset .footnote li > :first-child { + margin-top: 0; +} +.md-typeset .footnote-backref { + display: inline-block; + color: var(--md-typeset-a-color); + font-size: 0; + vertical-align: text-bottom; + transform: translateX(0.25rem); + opacity: 0; + transition: color 250ms, transform 250ms 250ms, opacity 125ms 250ms; +} +@media print { + .md-typeset .footnote-backref { + color: var(--md-typeset-a-color); + transform: translateX(0); + opacity: 1; + } +} +[dir=rtl] .md-typeset .footnote-backref { + transform: translateX(-0.25rem); +} +.md-typeset .footnote-backref:hover { + color: var(--md-accent-fg-color); +} +.md-typeset .footnote-backref::before { + display: inline-block; + width: 0.8rem; + height: 0.8rem; + background-color: currentColor; + -webkit-mask-image: var(--md-footnotes-icon); + mask-image: var(--md-footnotes-icon); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + content: ""; +} +[dir=rtl] .md-typeset .footnote-backref::before svg { + transform: scaleX(-1); +} + +.md-typeset .headerlink { + display: inline-block; + margin-left: 0.5rem; + color: var(--md-default-fg-color--lighter); + opacity: 0; + transition: color 250ms, opacity 125ms; +} +@media print { + .md-typeset .headerlink { + display: none; + } +} +[dir=rtl] .md-typeset .headerlink { + margin-right: 0.5rem; + margin-left: initial; +} +.md-typeset :hover > .headerlink, +.md-typeset :target > .headerlink, +.md-typeset .headerlink:focus { + opacity: 1; + transition: color 250ms, opacity 125ms; +} +.md-typeset :target > .headerlink, +.md-typeset .headerlink:focus, +.md-typeset .headerlink:hover { + color: var(--md-accent-fg-color); +} +.md-typeset :target { + scroll-margin-top: 3.6rem; +} +.md-typeset h1:target, +.md-typeset h2:target, +.md-typeset h3:target { + scroll-margin-top: initial; +} +.md-typeset h1:target::before, +.md-typeset h2:target::before, +.md-typeset h3:target::before { + display: block; + margin-top: -3.4rem; + padding-top: 3.4rem; + content: ""; +} +.md-typeset h4:target { + scroll-margin-top: initial; +} +.md-typeset h4:target::before { + display: block; + margin-top: -3.45rem; + padding-top: 3.45rem; + content: ""; +} +.md-typeset h5:target, +.md-typeset h6:target { + scroll-margin-top: initial; +} +.md-typeset h5:target::before, +.md-typeset h6:target::before { + display: block; + margin-top: -3.6rem; + padding-top: 3.6rem; + content: ""; +} + +.md-typeset div.arithmatex { + overflow: auto; +} +@media screen and (max-width: 44.9375em) { + .md-typeset div.arithmatex { + margin: 0 -0.8rem; + } +} +.md-typeset div.arithmatex > * { + width: -webkit-min-content; + width: -moz-min-content; + width: min-content; + margin: 1em auto !important; + padding: 0 0.8rem; + touch-action: auto; +} + +.md-typeset del.critic, +.md-typeset ins.critic, +.md-typeset .critic.comment { + -webkit-box-decoration-break: clone; + box-decoration-break: clone; +} +.md-typeset del.critic { + background-color: var(--md-typeset-del-color); +} +.md-typeset ins.critic { + background-color: var(--md-typeset-ins-color); +} +.md-typeset .critic.comment { + color: var(--md-code-hl-comment-color); +} +.md-typeset .critic.comment::before { + content: "/* "; +} +.md-typeset .critic.comment::after { + content: " */"; +} +.md-typeset .critic.block { + display: block; + margin: 1em 0; + padding-right: 0.8rem; + padding-left: 0.8rem; + overflow: auto; + box-shadow: none; +} +.md-typeset .critic.block > :first-child { + margin-top: 0.5em; +} +.md-typeset .critic.block > :last-child { + margin-bottom: 0.5em; +} + +:root { + --md-details-icon: url("data:image/svg+xml;charset=utf-8,"); +} + +.md-typeset details { + display: block; + padding-top: 0; + overflow: visible; +} +.md-typeset details[open] > summary::after { + transform: rotate(90deg); +} +.md-typeset details:not([open]) { + padding-bottom: 0; + box-shadow: none; +} +.md-typeset details:not([open]) > summary { + border-radius: 0.1rem; +} +.md-typeset details::after { + display: table; + content: ""; +} +.md-typeset summary { + display: block; + min-height: 1rem; + padding: 0.4rem 1.8rem 0.4rem 2rem; + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; + cursor: pointer; +} +[dir=rtl] .md-typeset summary { + padding: 0.4rem 2.2rem 0.4rem 1.8rem; +} +.md-typeset summary:not(.focus-visible) { + outline: none; + -webkit-tap-highlight-color: transparent; +} +.md-typeset summary::after { + position: absolute; + top: 0.4rem; + right: 0.4rem; + width: 1rem; + height: 1rem; + background-color: currentColor; + -webkit-mask-image: var(--md-details-icon); + mask-image: var(--md-details-icon); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + transform: rotate(0deg); + transition: transform 250ms; + content: ""; +} +[dir=rtl] .md-typeset summary::after { + right: initial; + left: 0.4rem; + transform: rotate(180deg); +} +.md-typeset summary::marker, .md-typeset summary::-webkit-details-marker { + display: none; +} + +.md-typeset .emojione, +.md-typeset .twemoji, +.md-typeset .gemoji { + display: inline-block; + height: 1.125em; + vertical-align: text-top; +} +.md-typeset .emojione svg, +.md-typeset .twemoji svg, +.md-typeset .gemoji svg { + width: 1.125em; + max-height: 100%; + fill: currentColor; +} + +.highlight .o, +.highlight .ow { + color: var(--md-code-hl-operator-color); +} +.highlight .p { + color: var(--md-code-hl-punctuation-color); +} +.highlight .cpf, +.highlight .l, +.highlight .s, +.highlight .sb, +.highlight .sc, +.highlight .s2, +.highlight .si, +.highlight .s1, +.highlight .ss { + color: var(--md-code-hl-string-color); +} +.highlight .cp, +.highlight .se, +.highlight .sh, +.highlight .sr, +.highlight .sx { + color: var(--md-code-hl-special-color); +} +.highlight .m, +.highlight .mb, +.highlight .mf, +.highlight .mh, +.highlight .mi, +.highlight .il, +.highlight .mo { + color: var(--md-code-hl-number-color); +} +.highlight .k, +.highlight .kd, +.highlight .kn, +.highlight .kp, +.highlight .kr, +.highlight .kt { + color: var(--md-code-hl-keyword-color); +} +.highlight .kc, +.highlight .n { + color: var(--md-code-hl-name-color); +} +.highlight .no, +.highlight .nb, +.highlight .bp { + color: var(--md-code-hl-constant-color); +} +.highlight .nc, +.highlight .ne, +.highlight .nf, +.highlight .nn { + color: var(--md-code-hl-function-color); +} +.highlight .nd, +.highlight .ni, +.highlight .nl, +.highlight .nt { + color: var(--md-code-hl-keyword-color); +} +.highlight .c, +.highlight .cm, +.highlight .c1, +.highlight .ch, +.highlight .cs, +.highlight .sd { + color: var(--md-code-hl-comment-color); +} +.highlight .na, +.highlight .nv, +.highlight .vc, +.highlight .vg, +.highlight .vi { + color: var(--md-code-hl-variable-color); +} +.highlight .ge, +.highlight .gr, +.highlight .gh, +.highlight .go, +.highlight .gp, +.highlight .gs, +.highlight .gu, +.highlight .gt { + color: var(--md-code-hl-generic-color); +} +.highlight .gd, +.highlight .gi { + margin: 0 -0.125em; + padding: 0 0.125em; + border-radius: 0.1rem; +} +.highlight .gd { + background-color: var(--md-typeset-del-color); +} +.highlight .gi { + background-color: var(--md-typeset-ins-color); +} +.highlight .hll { + display: block; + margin: 0 -1.1764705882em; + padding: 0 1.1764705882em; + background-color: var(--md-code-hl-color); +} +.highlight [data-linenos]::before { + position: -webkit-sticky; + position: sticky; + left: -1.1764705882em; + float: left; + margin-right: 1.1764705882em; + margin-left: -1.1764705882em; + padding-left: 1.1764705882em; + color: var(--md-default-fg-color--light); + background-color: var(--md-code-bg-color); + box-shadow: -0.05rem 0 var(--md-default-fg-color--lightest) inset; + content: attr(data-linenos); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.highlighttable { + display: flow-root; + overflow: hidden; +} +.highlighttable tbody, +.highlighttable td { + display: block; + padding: 0; +} +.highlighttable tr { + display: flex; +} +.highlighttable pre { + margin: 0; +} +.highlighttable .linenos { + padding: 0.7720588235em 1.1764705882em; + padding-right: 0; + font-size: 0.85em; + background-color: var(--md-code-bg-color); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.highlighttable .linenodiv { + padding-right: 0.5882352941em; + box-shadow: -0.05rem 0 var(--md-default-fg-color--lightest) inset; +} +.highlighttable .linenodiv pre { + color: var(--md-default-fg-color--light); + text-align: right; +} +.highlighttable .code { + flex: 1; + overflow: hidden; +} + +.md-typeset .highlighttable { + margin: 1em 0; + direction: ltr; + border-radius: 0.1rem; +} +.md-typeset .highlighttable code { + border-radius: 0; +} +@media screen and (max-width: 44.9375em) { + .md-typeset > .highlight { + margin: 1em -0.8rem; + } + .md-typeset > .highlight .hll { + margin: 0 -0.8rem; + padding: 0 0.8rem; + } + .md-typeset > .highlight code { + border-radius: 0; + } + .md-typeset > .highlighttable { + margin: 1em -0.8rem; + border-radius: 0; + } + .md-typeset > .highlighttable .hll { + margin: 0 -0.8rem; + padding: 0 0.8rem; + } +} + +.md-typeset .keys kbd::before, +.md-typeset .keys kbd::after { + position: relative; + margin: 0; + color: inherit; + -moz-osx-font-smoothing: initial; + -webkit-font-smoothing: initial; +} +.md-typeset .keys span { + padding: 0 0.2em; + color: var(--md-default-fg-color--light); +} +.md-typeset .keys .key-alt::before { + padding-right: 0.4em; + content: "⎇"; +} +.md-typeset .keys .key-left-alt::before { + padding-right: 0.4em; + content: "⎇"; +} +.md-typeset .keys .key-right-alt::before { + padding-right: 0.4em; + content: "⎇"; +} +.md-typeset .keys .key-command::before { + padding-right: 0.4em; + content: "⌘"; +} +.md-typeset .keys .key-left-command::before { + padding-right: 0.4em; + content: "⌘"; +} +.md-typeset .keys .key-right-command::before { + padding-right: 0.4em; + content: "⌘"; +} +.md-typeset .keys .key-control::before { + padding-right: 0.4em; + content: "⌃"; +} +.md-typeset .keys .key-left-control::before { + padding-right: 0.4em; + content: "⌃"; +} +.md-typeset .keys .key-right-control::before { + padding-right: 0.4em; + content: "⌃"; +} +.md-typeset .keys .key-meta::before { + padding-right: 0.4em; + content: "◆"; +} +.md-typeset .keys .key-left-meta::before { + padding-right: 0.4em; + content: "◆"; +} +.md-typeset .keys .key-right-meta::before { + padding-right: 0.4em; + content: "◆"; +} +.md-typeset .keys .key-option::before { + padding-right: 0.4em; + content: "⌥"; +} +.md-typeset .keys .key-left-option::before { + padding-right: 0.4em; + content: "⌥"; +} +.md-typeset .keys .key-right-option::before { + padding-right: 0.4em; + content: "⌥"; +} +.md-typeset .keys .key-shift::before { + padding-right: 0.4em; + content: "⇧"; +} +.md-typeset .keys .key-left-shift::before { + padding-right: 0.4em; + content: "⇧"; +} +.md-typeset .keys .key-right-shift::before { + padding-right: 0.4em; + content: "⇧"; +} +.md-typeset .keys .key-super::before { + padding-right: 0.4em; + content: "❖"; +} +.md-typeset .keys .key-left-super::before { + padding-right: 0.4em; + content: "❖"; +} +.md-typeset .keys .key-right-super::before { + padding-right: 0.4em; + content: "❖"; +} +.md-typeset .keys .key-windows::before { + padding-right: 0.4em; + content: "⊞"; +} +.md-typeset .keys .key-left-windows::before { + padding-right: 0.4em; + content: "⊞"; +} +.md-typeset .keys .key-right-windows::before { + padding-right: 0.4em; + content: "⊞"; +} +.md-typeset .keys .key-arrow-down::before { + padding-right: 0.4em; + content: "↓"; +} +.md-typeset .keys .key-arrow-left::before { + padding-right: 0.4em; + content: "←"; +} +.md-typeset .keys .key-arrow-right::before { + padding-right: 0.4em; + content: "→"; +} +.md-typeset .keys .key-arrow-up::before { + padding-right: 0.4em; + content: "↑"; +} +.md-typeset .keys .key-backspace::before { + padding-right: 0.4em; + content: "⌫"; +} +.md-typeset .keys .key-backtab::before { + padding-right: 0.4em; + content: "⇤"; +} +.md-typeset .keys .key-caps-lock::before { + padding-right: 0.4em; + content: "⇪"; +} +.md-typeset .keys .key-clear::before { + padding-right: 0.4em; + content: "⌧"; +} +.md-typeset .keys .key-context-menu::before { + padding-right: 0.4em; + content: "☰"; +} +.md-typeset .keys .key-delete::before { + padding-right: 0.4em; + content: "⌦"; +} +.md-typeset .keys .key-eject::before { + padding-right: 0.4em; + content: "⏏"; +} +.md-typeset .keys .key-end::before { + padding-right: 0.4em; + content: "⤓"; +} +.md-typeset .keys .key-escape::before { + padding-right: 0.4em; + content: "⎋"; +} +.md-typeset .keys .key-home::before { + padding-right: 0.4em; + content: "⤒"; +} +.md-typeset .keys .key-insert::before { + padding-right: 0.4em; + content: "⎀"; +} +.md-typeset .keys .key-page-down::before { + padding-right: 0.4em; + content: "⇟"; +} +.md-typeset .keys .key-page-up::before { + padding-right: 0.4em; + content: "⇞"; +} +.md-typeset .keys .key-print-screen::before { + padding-right: 0.4em; + content: "⎙"; +} +.md-typeset .keys .key-tab::after { + padding-left: 0.4em; + content: "⇥"; +} +.md-typeset .keys .key-num-enter::after { + padding-left: 0.4em; + content: "⌤"; +} +.md-typeset .keys .key-enter::after { + padding-left: 0.4em; + content: "⏎"; +} + +.md-typeset .tabbed-content { + display: none; + order: 99; + width: 100%; + box-shadow: 0 -0.05rem var(--md-default-fg-color--lightest); +} +@media print { + .md-typeset .tabbed-content { + display: block; + order: initial; + } +} +.md-typeset .tabbed-content > pre:only-child, +.md-typeset .tabbed-content > .highlight:only-child pre, +.md-typeset .tabbed-content > .highlighttable:only-child { + margin: 0; +} +.md-typeset .tabbed-content > pre:only-child > code, +.md-typeset .tabbed-content > .highlight:only-child pre > code, +.md-typeset .tabbed-content > .highlighttable:only-child > code { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.md-typeset .tabbed-content > .tabbed-set { + margin: 0; +} +.md-typeset .tabbed-set { + position: relative; + display: flex; + flex-wrap: wrap; + margin: 1em 0; + border-radius: 0.1rem; +} +.md-typeset .tabbed-set > input { + position: absolute; + width: 0; + height: 0; + opacity: 0; +} +.md-typeset .tabbed-set > input:checked + label { + color: var(--md-accent-fg-color); + border-color: var(--md-accent-fg-color); +} +.md-typeset .tabbed-set > input:checked + label + .tabbed-content { + display: block; +} +.md-typeset .tabbed-set > input:focus + label { + outline-style: auto; +} +.md-typeset .tabbed-set > input:not(.focus-visible) + label { + outline: none; + -webkit-tap-highlight-color: transparent; +} +.md-typeset .tabbed-set > label { + z-index: 1; + width: auto; + padding: 0.9375em 1.25em 0.78125em; + color: var(--md-default-fg-color--light); + font-weight: 700; + font-size: 0.64rem; + border-bottom: 0.1rem solid transparent; + cursor: pointer; + transition: color 250ms; +} +.md-typeset .tabbed-set > label:hover { + color: var(--md-accent-fg-color); +} + +:root { + --md-tasklist-icon: + url("data:image/svg+xml;charset=utf-8,"); + --md-tasklist-icon--checked: + url("data:image/svg+xml;charset=utf-8,"); +} + +.md-typeset .task-list-item { + position: relative; + list-style-type: none; +} +.md-typeset .task-list-item [type=checkbox] { + position: absolute; + top: 0.45em; + left: -2em; +} +[dir=rtl] .md-typeset .task-list-item [type=checkbox] { + right: -2em; + left: initial; +} +.md-typeset .task-list-control [type=checkbox] { + z-index: -1; + opacity: 0; +} +.md-typeset .task-list-indicator::before { + position: absolute; + top: 0.15em; + left: -1.5em; + width: 1.25em; + height: 1.25em; + background-color: var(--md-default-fg-color--lightest); + -webkit-mask-image: var(--md-tasklist-icon); + mask-image: var(--md-tasklist-icon); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + content: ""; +} +[dir=rtl] .md-typeset .task-list-indicator::before { + right: -1.5em; + left: initial; +} +.md-typeset [type=checkbox]:checked + .task-list-indicator::before { + background-color: #00e676; + -webkit-mask-image: var(--md-tasklist-icon--checked); + mask-image: var(--md-tasklist-icon--checked); +} +/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/material/assets/stylesheets/main.css.map b/material/assets/stylesheets/main.css.map new file mode 100644 index 000000000..5fd8757f9 --- /dev/null +++ b/material/assets/stylesheets/main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../src/assets/stylesheets/main.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/_reset.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/_colors.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/_icons.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/_typeset.scss","../../../src/assets/stylesheets/src/assets/stylesheets/utilities/_break.scss","../../../src/assets/stylesheets/node_modules/material-shadows/material-shadows.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_base.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_announce.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_clipboard.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_content.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_dialog.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_form.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_header.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_footer.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_nav.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_search.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_sidebar.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_source.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_tabs.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/markdown/_admonition.scss","../../../src/assets/stylesheets/node_modules/material-design-color/material-color.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/markdown/_footnotes.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/markdown/_toc.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_critic.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_details.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_keys.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss"],"names":[],"mappings":"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","file":"main.css"} \ No newline at end of file diff --git a/material/assets/stylesheets/main.fa8597d9.min.css b/material/assets/stylesheets/main.fa8597d9.min.css deleted file mode 100644 index 7bb6b3154..000000000 --- a/material/assets/stylesheets/main.fa8597d9.min.css +++ /dev/null @@ -1,3 +0,0 @@ -html{box-sizing:border-box;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}*,*::before,*::after{box-sizing:inherit}body{margin:0}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{display:block;box-sizing:content-box;height:.05rem;padding:0;overflow:visible;border:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:none}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(231, 44%, 56%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-hl-color: hsla(60, 100%, 50%, 0.5);--md-code-hl-number-color: hsla(0, 67%, 50%, 1);--md-code-hl-special-color: hsla(340, 83%, 47%, 1);--md-code-hl-function-color: hsla(291, 45%, 50%, 1);--md-code-hl-constant-color: hsla(250, 63%, 60%, 1);--md-code-hl-keyword-color: hsla(219, 54%, 51%, 1);--md-code-hl-string-color: hsla(150, 63%, 30%, 1);--md-code-hl-name-color: var(--md-code-fg-color);--md-code-hl-operator-color: var(--md-default-fg-color--light);--md-code-hl-punctuation-color: var(--md-default-fg-color--light);--md-code-hl-comment-color: var(--md-default-fg-color--light);--md-code-hl-generic-color: var(--md-default-fg-color--light);--md-code-hl-variable-color: var(--md-default-fg-color--light);--md-typeset-color: var(--md-default-fg-color);--md-typeset-a-color: var(--md-primary-fg-color);--md-typeset-mark-color: hsla(60, 100%, 50%, 0.5);--md-typeset-del-color: hsla(6, 90%, 60%, 0.15);--md-typeset-ins-color: hsla(150, 90%, 44%, 0.15);--md-typeset-kbd-color: hsla(0, 0%, 98%, 1);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);--md-typeset-kbd-border-color: hsla(0, 0%, 72%, 1);--md-admonition-fg-color: var(--md-default-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-typeset-color);font-feature-settings:"kern","liga";font-family:var(--md-text-font-family) -apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-typeset-color);font-feature-settings:"kern";font-family:var(--md-code-font-family) SFMono-Regular,Consolas,Menlo,monospace}:root{--md-typeset-table--ascending: url("data:image/svg+xml;charset=utf-8,");--md-typeset-table--descending: url("data:image/svg+xml;charset=utf-8,")}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}@media print{.md-typeset{font-size:.68rem}}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset dl,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 1.25em;color:var(--md-default-fg-color--light);font-weight:300;font-size:2em;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:1.6em 0 .64em;font-weight:300;font-size:1.5625em;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6em 0 .8em;font-weight:400;font-size:1.25em;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{margin:1em 0;font-weight:700;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:1.25em 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.8em;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset code:not(.focus-visible){outline:none;-webkit-tap-highlight-color:transparent}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.7720588235em 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;color:var(--md-default-fg-color);font-size:.75em;vertical-align:text-top;word-break:break-word;background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -0.1rem .2rem var(--md-typeset-kbd-accent-color) inset}.md-typeset mark{color:inherit;word-break:break-word;background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}@media(hover: none){.md-typeset abbr{position:relative}.md-typeset abbr[title]:focus::after,.md-typeset abbr[title]:hover::after{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:absolute;left:0;display:inline-block;width:auto;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;max-width:80%;margin-top:2em;padding:.2rem .3rem;color:var(--md-default-bg-color);font-size:.7rem;background-color:var(--md-default-fg-color);border-radius:.1rem;content:attr(title)}}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset img[align=left],.md-typeset svg[align=left]{margin:1em;margin-left:0}.md-typeset img[align=right],.md-typeset svg[align=right]{margin:1em;margin-right:0}.md-typeset img[align]:only-child,.md-typeset svg[align]:only-child{margin-top:0}.md-typeset figure{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto;text-align:center}.md-typeset figure img{display:block}.md-typeset figcaption{max-width:24rem;margin:1em auto 2em;font-style:italic}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th>*:first-child,.md-typeset table:not([class]) td>*:first-child{margin-top:0}.md-typeset table:not([class]) th>*:last-child,.md-typeset table:not([class]) td>*:last-child{margin-bottom:0}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.9375em 1.25em;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.9375em 1.25em;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}.md-typeset table th[role=columnheader]::after{display:inline-block;width:1.2em;height:1.2em;margin-left:.5em;vertical-align:sub;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset table th[role=columnheader][aria-sort=ascending]::after{background-color:currentColor;-webkit-mask-image:var(--md-typeset-table--ascending);mask-image:var(--md-typeset-table--ascending)}.md-typeset table th[role=columnheader][aria-sort=descending]::after{background-color:currentColor;-webkit-mask-image:var(--md-typeset-table--descending);mask-image:var(--md-typeset-table--descending)}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media print{body{display:block}}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-footer-bg-color)}@media print{.md-announce{display:none}}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-footer-fg-color);font-size:.7rem}:root{--md-clipboard-icon: url("data:image/svg+xml;charset=utf-8,")}.md-clipboard{position:absolute;top:.5em;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 250ms}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){outline:none;-webkit-tap-highlight-color:transparent}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard::after{display:block;width:1.125em;height:1.125em;margin:0 auto;background-color:currentColor;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color 250ms,background-color 250ms}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{color:var(--md-accent-fg-color);background-color:var(--md-accent-fg-color--transparent)}.md-content{flex-grow:1;overflow:hidden;scroll-padding-top:51.2rem}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem;margin-left:.8rem}.md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-right:.8rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}@media print{.md-content__button{display:none}}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;min-width:11.1rem;padding:.4rem .6rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms;pointer-events:none}@media print{.md-dialog{display:none}}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms;pointer-events:initial}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .md-input{height:1.8rem;padding:0 .6rem;font-size:.8rem;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 .025rem .05rem rgba(0,0,0,.1);transition:box-shadow 250ms}.md-typeset .md-input:focus,.md-typeset .md-input:hover{box-shadow:0 .4rem 1rem rgba(0,0,0,.15),0 .025rem .05rem rgba(0,0,0,.15)}.md-typeset .md-input--stretch{width:100%}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}@media print{.md-header{display:none}}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),color 250ms,background-color 250ms,box-shadow 250ms}.md-header[data-md-state=hidden]{transform:translateY(-100%);transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),color 250ms,background-color 250ms,box-shadow 250ms}.md-header-nav{display:flex;align-items:center;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:inline-block;margin:.2rem;padding:.4rem;color:currentColor;vertical-align:middle;cursor:pointer;transition:opacity 250ms}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button:not(.focus-visible){outline:none}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}.no-js .md-header-nav__button[for=__search]{display:none}[dir=rtl] .md-header-nav__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;display:flex;max-width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.md-header-nav__title{flex-grow:1;height:2.4rem;margin-right:.4rem;margin-left:1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev{width:25%}.md-footer-nav__link--prev .md-footer-nav__title{display:none}}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}.md-footer-nav__link--next{float:right;text-align:right}@media screen and (max-width: 44.9375em){.md-footer-nav__link--next{width:75%}}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}:root{--md-nav-icon--prev: url("data:image/svg+xml;charset=utf-8,");--md-nav-icon--next: url("data:image/svg+xml;charset=utf-8,");--md-toc-icon: url("data:image/svg+xml;charset=utf-8,")}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:auto;height:100%}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem;fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active{color:var(--md-typeset-a-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon::after{display:block;width:100%;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);background-color:currentColor}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%;background-color:var(--md-default-bg-color)}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title .md-nav__icon::after{display:block;width:100%;height:100%;background-color:currentColor;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title .md-logo{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-logo{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;width:1.2rem;height:1.2rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}.md-nav--primary .md-nav__link .md-nav__icon::after{display:block;width:100%;height:100%;background-color:currentColor;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-nav--primary .md-nav__icon::after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav--secondary{background-color:transparent}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width: 59.9375em){.md-nav--primary .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__link[for=__toc]{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__link[for=__toc] .md-icon::after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-nav--integrated .md-nav__link[for=__toc]{display:block;padding-right:2.4rem;scroll-snap-align:initial}[dir=rtl] .md-nav--integrated .md-nav__link[for=__toc]{padding-right:.8rem;padding-left:2.4rem}.md-nav--integrated .md-nav__link[for=__toc] .md-icon::after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav,.md-nav__toggle:indeterminate~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{display:none}.md-nav__item--section>.md-nav{display:block}.md-nav__item--section>.md-nav>.md-nav__title{display:block;padding:0;pointer-events:none;scroll-snap-align:start}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{float:right;width:.9rem;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon::after{display:inline-block;width:100%;height:100%;vertical-align:-0.1rem;background-color:currentColor;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon,.md-nav__item--nested .md-nav__toggle:indeterminate~.md-nav__link .md-nav__icon{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item--nested,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav>.md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav__item{padding-right:.6rem}.md-nav--lifted .md-nav[data-md-level="1"]{display:block}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:block;margin-bottom:1.25em;border-left:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav>.md-nav__title{display:none}}:root{--md-search-result-icon: url("data:image/svg+xml;charset=utf-8,")}.md-search{position:relative}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem transparent;transition:color 250ms,background-color 250ms,box-shadow 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color 250ms;transition:color 250ms}.md-search__input::-moz-placeholder{-moz-transition:color 250ms;transition:color 250ms}.md-search__input::-ms-input-placeholder{-ms-transition:color 250ms;transition:color 250ms}.md-search__input::placeholder{transition:color 250ms}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}[data-md-toggle=search]:checked~.md-header .md-search__input{box-shadow:0 0 .6rem rgba(0,0,0,.07)}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;touch-action:pan-y}@media(-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;transition:background-color 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more summary{display:block;padding:.75em .8rem;color:var(--md-typeset-a-color);font-size:.64rem;outline:0;cursor:pointer;transition:color 250ms,background-color 250ms;scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__more summary{padding-left:2.2rem}[dir=rtl] .md-search-result__more summary{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__more summary:focus,.md-search-result__more summary:hover{color:var(--md-accent-fg-color);background-color:var(--md-accent-fg-color--transparent)}.md-search-result__more summary::marker,.md-search-result__more summary::-webkit-details-marker{display:none}.md-search-result__more summary~*>*{opacity:.65}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;width:1.2rem;height:1.2rem;margin:.5rem;color:var(--md-default-fg-color--light)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__icon::after{display:inline-block;width:100%;height:100%;background-color:currentColor;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon::after{transform:scaleX(-1)}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.6}.md-search-result__teaser{display:-webkit-box;max-height:2rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:3rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:3rem;-webkit-line-clamp:3}}.md-search-result__teaser mark{text-decoration:underline;background-color:transparent}.md-search-result__terms{margin:.5em 0;font-size:.64rem;font-style:italic}.md-search-result mark{color:var(--md-accent-fg-color);background-color:transparent}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;flex-shrink:0;align-self:flex-start;width:12.1rem;padding:1.2rem 0}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;display:block;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none;overflow:hidden}}@media screen and (min-width: 76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 76.1875em){.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}@-webkit-keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 250ms}.md-source:focus,.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done 250ms ease-in;animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done 400ms ease-out;animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:"·"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background-color 250ms}@media print{.md-tabs{display:none}}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;-webkit-backface-visibility:hidden;backface-visibility:hidden;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.md-tabs__link--active,.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:transform 0ms 100ms,opacity 100ms}:root{--md-admonition-icon--note: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--abstract: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--info: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--tip: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--success: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--question: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--warning: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--failure: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--danger: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--bug: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--example: url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--quote: url("data:image/svg+xml;charset=utf-8,")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 .025rem .05rem rgba(0,0,0,.05)}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem 0 -0.8rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1);border-left:.2rem solid #448aff}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{margin:0 -0.8rem 0 -0.6rem;padding:.4rem 2rem .4rem .6rem;border-right:.2rem solid #448aff;border-left:none}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition-title+.tabbed-set:last-child,.md-typeset summary+.tabbed-set:last-child{margin-top:0}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1);border-color:#448aff}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1);border-color:#00b0ff}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1);border-color:#00b8d4}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1);border-color:#00bfa5}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1);border-color:#00c853}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1);border-color:#64dd17}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1);border-color:#ff9100}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1);border-color:#ff5252}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1);border-color:#ff1744}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1);border-color:#f50057}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1);border-color:#651fff}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1);border-color:#9e9e9e}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:root{--md-footnotes-icon: url("data:image/svg+xml;charset=utf-8,")}.md-typeset [id^="fnref:"]:target{scroll-margin-top:initial;margin-top:-3.4rem;padding-top:3.4rem}.md-typeset [id^="fn:"]:target{scroll-margin-top:initial;margin-top:-3.45rem;padding-top:3.45rem}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li>:first-child{margin-top:0}.md-typeset .footnote-backref{display:inline-block;color:var(--md-typeset-a-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);transform:translateX(0);opacity:1}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;color:var(--md-default-fg-color--lighter);opacity:0;transition:color 250ms,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{opacity:1;transition:color 250ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{scroll-margin-top:initial}.md-typeset h1:target::before,.md-typeset h2:target::before,.md-typeset h3:target::before{display:block;margin-top:-3.4rem;padding-top:3.4rem;content:""}.md-typeset h4:target{scroll-margin-top:initial}.md-typeset h4:target::before{display:block;margin-top:-3.45rem;padding-top:3.45rem;content:""}.md-typeset h5:target,.md-typeset h6:target{scroll-margin-top:initial}.md-typeset h5:target::before,.md-typeset h6:target::before{display:block;margin-top:-3.6rem;padding-top:3.6rem;content:""}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width: 44.9375em){.md-typeset div.arithmatex{margin:0 -0.8rem}}.md-typeset div.arithmatex>*{width:-webkit-min-content;width:-moz-min-content;width:min-content;margin:1em auto !important;padding:0 .8rem;touch-action:auto}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment::before{content:"/* "}.md-typeset .critic.comment::after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon: url("data:image/svg+xml;charset=utf-8,")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0;box-shadow:none}.md-typeset details:not([open])>summary{border-radius:.1rem}.md-typeset details::after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-left-radius:.1rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2.2rem .4rem 1.8rem}.md-typeset summary:not(.focus-visible){outline:none;-webkit-tap-highlight-color:transparent}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transform:rotate(0deg);transition:transform 250ms;content:""}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset summary::marker,.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .twemoji,.md-typeset .gemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .twemoji svg,.md-typeset .gemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .sb,.highlight .sc,.highlight .s2,.highlight .si,.highlight .s1,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .no,.highlight .nb,.highlight .bp{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .cm,.highlight .c1,.highlight .ch,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gr,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gs,.highlight .gu,.highlight .gt{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{margin:0 -0.125em;padding:0 .125em;border-radius:.1rem}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:var(--md-code-hl-color)}.highlight [data-linenos]::before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--light);background-color:var(--md-code-bg-color);box-shadow:-0.05rem 0 var(--md-default-fg-color--lightest) inset;content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.highlighttable{display:flow-root;overflow:hidden}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable .linenos{padding:.7720588235em 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:-0.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .code{flex:1;overflow:hidden}.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.highlight code{border-radius:0}.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}.md-typeset .keys kbd::before,.md-typeset .keys kbd::after{position:relative;margin:0;color:inherit;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.md-typeset .keys span{padding:0 .2em;color:var(--md-default-fg-color--light)}.md-typeset .keys .key-alt::before{padding-right:.4em;content:"⎇"}.md-typeset .keys .key-left-alt::before{padding-right:.4em;content:"⎇"}.md-typeset .keys .key-right-alt::before{padding-right:.4em;content:"⎇"}.md-typeset .keys .key-command::before{padding-right:.4em;content:"⌘"}.md-typeset .keys .key-left-command::before{padding-right:.4em;content:"⌘"}.md-typeset .keys .key-right-command::before{padding-right:.4em;content:"⌘"}.md-typeset .keys .key-control::before{padding-right:.4em;content:"⌃"}.md-typeset .keys .key-left-control::before{padding-right:.4em;content:"⌃"}.md-typeset .keys .key-right-control::before{padding-right:.4em;content:"⌃"}.md-typeset .keys .key-meta::before{padding-right:.4em;content:"◆"}.md-typeset .keys .key-left-meta::before{padding-right:.4em;content:"◆"}.md-typeset .keys .key-right-meta::before{padding-right:.4em;content:"◆"}.md-typeset .keys .key-option::before{padding-right:.4em;content:"⌥"}.md-typeset .keys .key-left-option::before{padding-right:.4em;content:"⌥"}.md-typeset .keys .key-right-option::before{padding-right:.4em;content:"⌥"}.md-typeset .keys .key-shift::before{padding-right:.4em;content:"⇧"}.md-typeset .keys .key-left-shift::before{padding-right:.4em;content:"⇧"}.md-typeset .keys .key-right-shift::before{padding-right:.4em;content:"⇧"}.md-typeset .keys .key-super::before{padding-right:.4em;content:"❖"}.md-typeset .keys .key-left-super::before{padding-right:.4em;content:"❖"}.md-typeset .keys .key-right-super::before{padding-right:.4em;content:"❖"}.md-typeset .keys .key-windows::before{padding-right:.4em;content:"⊞"}.md-typeset .keys .key-left-windows::before{padding-right:.4em;content:"⊞"}.md-typeset .keys .key-right-windows::before{padding-right:.4em;content:"⊞"}.md-typeset .keys .key-arrow-down::before{padding-right:.4em;content:"↓"}.md-typeset .keys .key-arrow-left::before{padding-right:.4em;content:"←"}.md-typeset .keys .key-arrow-right::before{padding-right:.4em;content:"→"}.md-typeset .keys .key-arrow-up::before{padding-right:.4em;content:"↑"}.md-typeset .keys .key-backspace::before{padding-right:.4em;content:"⌫"}.md-typeset .keys .key-backtab::before{padding-right:.4em;content:"⇤"}.md-typeset .keys .key-caps-lock::before{padding-right:.4em;content:"⇪"}.md-typeset .keys .key-clear::before{padding-right:.4em;content:"⌧"}.md-typeset .keys .key-context-menu::before{padding-right:.4em;content:"☰"}.md-typeset .keys .key-delete::before{padding-right:.4em;content:"⌦"}.md-typeset .keys .key-eject::before{padding-right:.4em;content:"⏏"}.md-typeset .keys .key-end::before{padding-right:.4em;content:"⤓"}.md-typeset .keys .key-escape::before{padding-right:.4em;content:"⎋"}.md-typeset .keys .key-home::before{padding-right:.4em;content:"⤒"}.md-typeset .keys .key-insert::before{padding-right:.4em;content:"⎀"}.md-typeset .keys .key-page-down::before{padding-right:.4em;content:"⇟"}.md-typeset .keys .key-page-up::before{padding-right:.4em;content:"⇞"}.md-typeset .keys .key-print-screen::before{padding-right:.4em;content:"⎙"}.md-typeset .keys .key-tab::after{padding-left:.4em;content:"⇥"}.md-typeset .keys .key-num-enter::after{padding-left:.4em;content:"⌤"}.md-typeset .keys .key-enter::after{padding-left:.4em;content:"⏎"}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}@media print{.md-typeset .tabbed-content{display:block;order:initial}}.md-typeset .tabbed-content>pre:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>pre:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{position:absolute;width:0;height:0;opacity:0}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>input:focus+label{outline-style:auto}.md-typeset .tabbed-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.9375em 1.25em .78125em;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}.md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: url("data:image/svg+xml;charset=utf-8,");--md-tasklist-icon--checked: url("data:image/svg+xml;charset=utf-8,")}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}.md-typeset .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-typeset .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)} - -/*# sourceMappingURL=main.fa8597d9.min.css.map*/ \ No newline at end of file diff --git a/material/assets/stylesheets/main.fa8597d9.min.css.map b/material/assets/stylesheets/main.fa8597d9.min.css.map deleted file mode 100644 index 5922b06e9..000000000 --- a/material/assets/stylesheets/main.fa8597d9.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/assets/stylesheets/main.scss","webpack:///./src/assets/stylesheets/main/_reset.scss","webpack:///./src/assets/stylesheets/main/_colors.scss","webpack:///./src/assets/stylesheets/main/_icons.scss","webpack:///./src/assets/stylesheets/main/_typeset.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./node_modules/material-shadows/material-shadows.scss","webpack:///./src/assets/stylesheets/main/layout/_base.scss","webpack:///./src/assets/stylesheets/main/layout/_announce.scss","webpack:///./src/assets/stylesheets/main/layout/_clipboard.scss","webpack:///./src/assets/stylesheets/main/layout/_content.scss","webpack:///./src/assets/stylesheets/main/layout/_dialog.scss","webpack:///./src/assets/stylesheets/main/layout/_form.scss","webpack:///./src/assets/stylesheets/main/layout/_header.scss","webpack:///./src/assets/stylesheets/main/layout/_footer.scss","webpack:///./src/assets/stylesheets/main/layout/_nav.scss","webpack:///./src/assets/stylesheets/main/layout/_search.scss","webpack:///./src/assets/stylesheets/main/layout/_sidebar.scss","webpack:///./src/assets/stylesheets/main/layout/_source.scss","webpack:///./src/assets/stylesheets/main/layout/_tabs.scss","webpack:///./src/assets/stylesheets/main/extensions/markdown/_admonition.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/main/extensions/markdown/_footnotes.scss","webpack:///./src/assets/stylesheets/main/extensions/markdown/_toc.scss","webpack:///./src/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","webpack:///./src/assets/stylesheets/main/extensions/pymdownx/_critic.scss","webpack:///./src/assets/stylesheets/main/extensions/pymdownx/_details.scss","webpack:///./src/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","webpack:///./src/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","webpack:///./src/assets/stylesheets/main/extensions/pymdownx/_keys.scss","webpack:///./src/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","webpack:///./src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss"],"names":[],"mappings":"AAAA,KC4BA,qBACE,8BACA,CADA,0BACA,CADA,yBACA,CADA,qBACA,sBAIF,kBAGE,MAIF,QACE,sBAIF,uCAIE,GAIF,aACE,qBACA,IAIF,aACE,uBACA,cACA,UACA,iBACA,SACA,OAIF,aACE,SAIF,eAEE,KAIF,iBACE,OAIF,wBACE,iBACA,OAIF,eAEE,mBACA,QAIF,QACE,UACA,kBACA,uBACA,SACA,OAIF,QACE,aACA,OCnFF,4CAGE,oDACA,sDACA,uDACA,4CACA,qDACA,uDACA,yDACA,8CAGA,qDACA,oDACA,4CACA,qDACA,6CAGA,4DACA,2CACA,oDACA,SAGA,0CAGE,wCACA,6CAGA,gDACA,mDACA,oDACA,oDACA,mDACA,kDACA,iDACA,+DACA,kEACA,8DACA,8DACA,+DACA,+CAGA,iDACA,kDAGA,gDAGA,kDACA,4CAGA,sDACA,mDACA,qDAGA,qDACA,2CAGA,oDACA,sDACA,4CACA,kDACA,cCrEF,aACE,aACA,cACA,kBACA,MCPJ,kCACE,kCACA,YAIF,6BAEE,oCACA,mGAEE,cAKJ,6BAGE,6BACA,+EAEE,OASJ,wcACE,ucACA,aAOF,eACE,gBACA,iCACA,CADA,kBACA,cAIA,YAPF,gBAQI,oFAIF,YAKE,gBAIF,iBACE,wCACA,gBACA,cACA,gBACA,uBACA,gBAIF,oBACE,gBACA,mBACA,gBACA,uBACA,gBAIF,mBACE,gBACA,iBACA,gBACA,uBACA,mBAIF,eACE,gBAIF,YACE,gBACA,uBACA,+BAIF,eAEE,wCACA,gBACA,eACA,uBACA,gBAIF,wBACE,gBAIF,cACE,gEACA,eAIF,+BACE,sBACA,qCAGA,sBAEE,yCAIF,+BAEE,kDAKJ,6BAGE,cACA,cAGA,iDAPF,oBAQI,mBAKJ,uBACE,gBACA,sBACA,yCACA,oBACA,mCACA,CADA,0BACA,sCAGA,YACE,wCACA,yHAKJ,cAME,gBACA,6BACA,gBACA,oBAIF,kBACE,iBAIF,iBACE,aACA,gBACA,sBAGA,aACE,SACA,qCACA,cACA,kBACA,gBACA,mCACA,CADA,0BACA,kBACA,qBACA,gEACA,4BAGA,qDACE,yCAIF,WACE,aACA,+CAIF,oDACE,qDAGA,0CACE,0CCzCN,gBDmDA,kBACE,sBAGA,eACE,kBAMN,oBACE,wBACA,iCACA,gBACA,wBACA,sBACA,6CACA,oBACA,qKAEE,kBAMJ,aACE,sBACA,8CACA,mCACA,CADA,0BACA,kBAIF,oBACE,8DACA,YACA,qBAGA,iBANF,iBAOI,2EAGA,gGEvRJ,kBF2RM,OACA,qBACA,WACA,8BACA,CADA,0BACA,CADA,qBACA,cACA,eACA,oBACA,iCACA,gBACA,4CACA,oBACA,oBACA,oBAMN,WACE,iCAIF,qBAEE,qDAGA,sBACE,oBACA,wBAKJ,kBACE,wCACA,4DACA,kCAGA,mBACE,qBACA,6DACA,oBACA,gBAKJ,oBACE,+BAIF,kBAEE,UACA,mDAGA,mBACE,oBACA,qCAIF,2BACE,2CAGA,2BACE,qCAKJ,kBACE,mBACA,yDAGA,mBACE,oBACA,mGAIF,aAEE,2DAIF,eACE,qFAIF,yBAEE,6HAGA,mBACE,oBACA,gBAOR,0BACE,0BAGA,oBACE,oBACA,iCAKJ,cAEE,YACA,yDAGA,UACE,cACA,2DAIF,UACE,eACA,qEAIF,YACE,oBAKJ,yBACE,CADF,sBACE,CADF,iBACE,eACA,cACA,kBACA,wBAGA,aACE,wBAKJ,eACE,oBACA,kBACA,oBAIF,cACE,gCAIF,oBACE,eACA,cACA,iBACA,4CACA,oBACA,mEAEE,kBAEF,cAGA,+BAbF,aAcI,mCAMF,gBACE,iGAQA,YACE,+FAIF,eACE,+FAKJ,eAEE,mHAGA,gBACE,mCAKJ,cACE,uBACA,iCACA,mBACA,mDACA,qCAGA,aACE,mCAKJ,sBACE,mBACA,6DACA,mCAIF,iCACE,yCAGA,iCACE,uDACA,kDAIF,YACE,kCAKJ,iBACE,yCAKJ,cACE,gDAGA,oBACE,YACA,aACA,iBACA,mBACA,8BACA,CADA,qBACA,0BACA,CADA,iBACA,WACA,qEAIF,6BACE,sDACA,CADA,6CACA,sEAIF,6BACE,uDACA,CADA,8CACA,yBAKJ,kBACE,gBACA,kBACA,oBAIF,oBACE,mBACA,gBACA,cAGA,mBANF,aAOI,gCAIF,aACE,WACA,SACA,gBACA,MGvlBN,WACE,kBACA,eAOA,sCFyJE,KElKJ,gBAaI,uCFqJA,KElKJ,cAkBI,OAMJ,iBACE,aACA,sBACA,WACA,gBACA,gBAGA,4CACA,cAGA,KAZF,aAaI,2CFgJA,yBE5IF,cAII,WAUN,eACE,kBACA,iBACA,eAIF,YACE,sBACA,YACA,cAGA,cANF,aAOI,WAKJ,WACE,iBAGA,YACE,YACA,kBACA,cAKJ,eACE,mBACA,uBACA,YASF,YACE,UAIF,cACE,WAGA,aACA,oBACA,iCACA,iBACA,4CACA,oBACA,6BACA,UACA,gBAGA,UACE,wBACA,UACA,2EAEE,OAUN,WACE,cCtIF,aACE,2CACA,cAGA,aALF,YAMI,sBAIF,iBACE,gBACA,gCACA,gBACA,OCdJ,mfACE,eAMF,iBACE,SACA,WACA,UACA,YACA,aACA,2CACA,oBACA,eACA,uBACA,cAGA,cAbF,YAcI,oCAIF,YACE,wCACA,sBAIF,uCACE,yCAIF,+BAEE,sBAKF,aACE,cACA,eACA,cACA,8BACA,4CACA,CADA,mCACA,8BACA,CADA,qBACA,0BACA,CADA,iBACA,WACA,uBAIF,cACE,4BAGA,6CAEI,mEAKJ,+BAEE,wDACA,aCtEN,WACE,gBAMA,2BACA,oBAGA,qBACE,kBACA,wCLqJA,kEK/IE,kBACE,6EAGA,mBACE,kBACA,qEAKJ,mBACE,+EAGA,kBACE,mBACA,6BAON,aACE,aACA,WACA,gCAIF,eACE,qBAMJ,WACE,eACA,kBACA,UACA,cAGA,oBAPF,YAQI,gCAIF,UACE,mBACA,oBACA,mCAGA,oBACE,iCAKJ,yCACE,yBAIF,cACE,mBACA,YCxFN,gGLFE,eKKA,YACA,aACA,aACA,UACA,kBACA,oBACA,4CACA,oBACA,2BACA,UACA,6CAEE,oBAEF,cAGA,WApBF,YAqBI,uBAIF,aACE,WACA,gCAIF,uBACE,UACA,6EAEE,uBAEF,mBAIF,gCACE,gBACA,wBCxCF,oBACE,mBACA,iCACA,gBACA,gCACA,oBACA,iEAEE,iCAKF,gCACE,4CACA,wCACA,2DAIF,+BAEE,2CACA,uCACA,uBAKJ,aACE,gBACA,gBACA,oBACA,wEAEE,4BAEF,yDAGA,wEAGI,gCAKJ,UACE,YCnDN,uBACE,CADF,eACE,MACA,QACA,OACA,UACA,iCACA,4CACA,+DAIE,8CAGA,cAIF,WAlBF,YAmBI,mCAIF,gEAEI,8GAGA,kCAOJ,2BACE,4GAEE,gBASN,YACE,mBACA,gBACA,wBAGA,iBACE,UACA,qBACA,aACA,cACA,mBACA,sBACA,eACA,yBACA,2DAGA,UAEE,4CAIF,YACE,gCAIF,YACE,cACA,0CRsGF,+BQxGA,YAMI,wEAIF,aAEE,aACA,cACA,kBACA,qCRsEJ,qCQjEA,YAII,8CAIF,YACE,oDAOA,oBACE,wCRgDN,qCQ1CA,YAII,wBAMN,iBACE,aACA,eACA,wEAEE,6CAIF,UACE,8BACA,UACA,wEAEE,oBAEF,uDAGA,8BACE,uBAMN,WACE,cACA,mBACA,iBACA,gBACA,mBACA,mEAGA,UACE,+BACA,UACA,wEAEE,oBAEF,6EAGA,6BACE,yFAIF,SACE,wBACA,UACA,wEAEE,uBAEF,gDAKJ,iBACE,WACA,YACA,wBAKJ,YACE,qCRvCA,uBQsCF,aAKI,cACA,kBACA,iBACA,kCAGA,iBACE,oBACA,yCRnDJ,uBQsCF,kBAmBI,kCAGA,mBACE,aC/NR,+BACE,2CACA,cAGA,WALF,YAMI,wBAQF,aACE,cACA,sBAIF,YACE,mBACA,qBACA,yBACA,qCT0IA,qBS9IF,SAQI,wDAIF,UAEE,4BAIF,UACE,0CT8IF,2BS/IA,SAKI,kDAGA,YACE,uCAKJ,WACE,0CAGA,oBACE,4BAMN,WACE,iBACA,0CToHF,2BStHA,SAMI,uCAIF,UACE,gBACA,0CAGA,oBACE,uBAOR,iBACE,YACA,8BACA,eACA,gBACA,mBACA,wBAIF,YACE,cACA,2BAIF,iBACE,QACA,OACA,iBACA,eACA,iBACA,WACA,iBAKJ,gDACE,wBAGA,YACE,eACA,8BACA,cACA,mCAIF,sCACE,iFAGA,+BAEE,sBAMN,UACE,kBACA,gBACA,yCACA,iBACA,qCTmBE,qBSxBJ,UASI,kCAKF,sCACE,mBAKJ,cACE,sBACA,qCTEE,kBSJJ,eAMI,0BAIF,oBACE,aACA,cACA,kBACA,iCAGA,eACE,6BAIF,gBACE,oBACA,kBACA,OCvLN,6bACE,sbACA,0dACA,SAMF,eACE,gBACA,gBAGA,aACE,gBACA,gBACA,gBACA,uBACA,gCAGA,YACE,oCAGA,UACE,YACA,uFAOA,aAEE,aACA,cACA,kBACA,eAOR,QACE,UACA,gBACA,eAIF,eACE,6BAGA,eACE,uCAGA,mBACE,eACA,eAMN,aACE,kBACA,gBACA,uBACA,eACA,uBACA,wBACA,mCAGA,uCACE,qCAIF,+BACE,qCAIF,aACE,yCAIF,+BAEE,2CAIF,YACE,2DAGA,aACE,WACA,YACA,sCACA,CADA,6BACA,8BACA,mDAIF,YACE,iBAMN,YACE,0CV2DA,0CUpDA,iBAEE,MACA,QACA,OACA,UACA,aACA,sBACA,YACA,4CACA,gEAOA,eAEE,gBACA,iCAIF,iBACE,cACA,yBACA,wCACA,gBACA,mBACA,mBACA,sDACA,eACA,+CAGA,iBACE,UACA,WACA,cACA,aACA,cACA,aACA,yDAGA,WACE,aACA,sDAIF,aACE,WACA,YACA,8BACA,4CACA,CADA,mCACA,8BACA,CADA,qBACA,0BACA,CADA,iBACA,WACA,+CAKJ,eACE,4CACA,iEAEE,qCACF,CADE,gCACF,CADE,4BACF,mBACA,4DAGA,YACE,+CAKJ,gCACE,4CACA,0CAIF,iBACE,UACA,WACA,cACA,aACA,cACA,oDAGA,WACE,aACA,gCAMN,MACE,gCAIF,SACE,6DACA,sDAGA,oBACE,gEAGA,mBACE,oBACA,sDAKJ,+BACE,uHAGA,+BAEE,gCAMN,iBACE,aACA,oBACA,8CAGA,iBACE,QACA,YACA,aACA,cACA,mBACA,cACA,iBACA,wDAGA,aACE,WACA,qDAIF,aACE,WACA,YACA,8BACA,4CACA,CADA,mCACA,8BACA,CADA,qBACA,0BACA,CADA,iBACA,WACA,iDASJ,mBACE,mDAQF,eACE,6CAIF,eACE,6BACA,2D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E,MACA,QACA,SACA,OACA,SACA,8BACA,CADA,yBACA,CADA,qBACA,gBACA,yCZwGJ,YYlKJ,QAiEI,oBAGA,WACE,yBAKJ,YACE,QACA,qCZsFA,uBYxFF,QAMI,+BAGA,WACE,sCAIF,aACE,gDAIF,kBACE,0BAMN,cACE,gBACA,mCAEA,CAFA,0BAEA,qBAKA,gEACA,+BAGA,qDACE,4CAIF,WACE,aACA,kDAIF,oDACE,wDAGA,0CACE,0CZoDJ,YY1CF,cACE,MACA,UACA,QACA,SACA,iCACA,UACA,0DAEE,6CAKF,UACE,YACA,UACA,8CAEE,4CC9JR,GACE,QACE,MAGF,aACE,EDwJI,kCC9JR,GACE,QACE,MAGF,aACE,2CAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,EAjBA,iCAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,aASJ,aACE,iBACA,gBACA,mBACA,mCAEA,CAFA,0BAEA,yBACA,mCAGA,UAEE,kBAIF,oBACE,aACA,cACA,sBACA,sBAGA,gBACE,kBACA,gCAGA,kBACE,oBACA,yCAKJ,iBACE,kBACA,mDAGA,kBACE,oBACA,mBACA,qBACA,wBAMN,oBACE,8BACA,kBACA,gBACA,gBACA,uBACA,sBACA,mBAIF,QACE,UACA,gBACA,gBACA,iBACA,qBACA,YACA,wCAGA,sDACE,CADF,8CACE,kBAKJ,UACE,4BAGA,WACE,uCAIF,sDACE,CADF,8CACE,0BAIF,cACE,YACA,sCAIF,YACE,UClIN,UACE,cACA,iCACA,4CACA,kCACA,cAGA,SARF,YASI,2Cd4KA,ScrLJ,YAcI,iCAIF,mBACE,gBAIF,QACE,kBACA,UACA,mBACA,gBACA,gBACA,0BAGA,kBACE,oBACA,gBAKJ,oBACE,cACA,oBACA,mBACA,gBAKF,aACE,iBACA,gBACA,mCAEA,CAFA,0BAEA,WACA,wEAEE,kEAIF,aAGE,UACA,4CAKA,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,6CADF,s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ACA,wCAGA,eACE,uCAIF,kBACE,OClDN,mbACE,qBASA,aAGE,cACA,iBACA,0CAGA,uBACE,iCAIF,gBACE,gBACA,yCAMA,mBACE,4BAKJ,aACE,WACA,qBAKJ,aAGE,gBACA,gCACA,6BACA,8BACA,eACA,+BAGA,iCACE,yCAIF,YACE,wCACA,4BAIF,iBACE,UACA,YACA,WACA,YACA,8BACA,0CACA,CADA,iCACA,8BACA,CADA,qBACA,0BACA,CADA,iBACA,uBACA,2BACA,WACA,sCAGA,aACE,WACA,yBACA,yEAKJ,YAEE,gECxFJ,oBAGE,eACA,wBACA,4EAGA,aACE,gBACA,kBACA,8BCbJ,sCAEE,eAGF,yCACE,uIAGF,oCASE,4EAGF,qCAKE,yGAGF,oCAOE,0FAGF,qCAME,8BAGF,kCAEE,8CAGF,sCAGE,6DAGF,sCAIE,6DAGF,qCAIE,0FAGF,qCAME,4EAGF,sCAKE,yHAGF,qCAQE,+BAGF,iBAEE,iBACA,oBACA,gBAGF,4CACE,gBAGF,4CACE,iBAIF,aACE,yBACA,yBACA,yCACA,mCAIF,uBACE,CADF,eACE,qBACA,WACA,4BACA,4BACA,4BACA,wCACA,yCACA,iEACA,2BACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,iBASJ,iBACE,gBACA,0CAIA,aAEE,UACA,oBAKF,YACE,qBAKF,QACE,0BAKF,oCACE,gBACA,gBACA,yCACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,4BAIF,2BACE,iEACA,gCAGA,uCACE,iBACA,uBAKJ,MACE,gBACA,6BAUF,YACE,cACA,oBACA,kCAGA,eACE,0CvB/BF,uBuBuCA,kBACE,6BAGA,gBACE,gBACA,6BAIF,eACE,6BAKJ,kBACE,gBACA,kCAGA,gBACE,gBACA,6DC7OJ,iBAEE,SACA,cACA,gCACA,+BACA,wBAIF,cACE,wCACA,oCAqDE,kBACE,YAlDgB,yCAiDlB,kBACE,YAlDgB,0CAiDlB,kBACE,YAlDgB,wCAiDlB,kBACE,YAlDgB,6CAiDlB,kBACE,YAlDgB,8CAiDlB,kBACE,YAlDgB,wCAiDlB,kBACE,YAlDgB,6CAiDlB,kBACE,YAlDgB,8CAiDlB,kBACE,YAlDgB,qCAiDlB,kBACE,YAlDgB,0CAiDlB,kBACE,YAlDgB,2CAiDlB,kBACE,YAlDgB,uCAiDlB,kBACE,YAlDgB,4CAiDlB,kBACE,YAlDgB,6CAiDlB,kBACE,YAlDgB,sCAiDlB,kBACE,YAlDgB,2CAiDlB,kBACE,YAlDgB,4CAiDlB,kBACE,YAlDgB,sCAiDlB,kBACE,YAlDgB,2CAiDlB,kBACE,YAlDgB,4CAiDlB,kBACE,YAlDgB,wCAiDlB,kBACE,YAlDgB,6CAiDlB,kBACE,YAlDgB,8CAiDlB,kBACE,YAlDgB,2CAiDlB,kBACE,YAlDgB,2CAiDlB,kBACE,YAlDgB,4CAiDlB,kBACE,YAlDgB,yCAiDlB,kBACE,YAlDgB,0CAiDlB,kBACE,YAlDgB,wCAiDlB,kBACE,YAlDgB,0CAiDlB,kBACE,YAlDgB,sCAiDlB,kBACE,YAlDgB,6CAiDlB,kBACE,YAlDgB,uCAiDlB,kBACE,YAlDgB,sCAiDlB,kBACE,YAlDgB,oCAiDlB,kBACE,YAlDgB,uCAiDlB,kBACE,YAlDgB,qCAiDlB,kBACE,YAlDgB,uCAiDlB,kBACE,YAlDgB,0CAiDlB,kBACE,YAlDgB,wCAiDlB,kBACE,YAlDgB,6CAiDlB,kBACE,YAlDgB,mCA+DlB,iBACE,YAPgB,yCAMlB,iBACE,YAPgB,qCAMlB,iBACE,YAPgB,6BC5ExB,YACE,SACA,WACA,2DACA,cAGA,4BAPF,aAQI,cACA,0JAKF,QAGE,wKAGA,wBACE,0BACA,yCAKJ,QACE,yBAKJ,iBACE,aACA,eACA,aACA,oBACA,+BAMA,iBACE,QACA,SACA,UACA,6CAGA,+BACE,uCACA,6DAGA,aACE,2CAKJ,kBACE,yDAIF,YACE,wCACA,+BAKJ,SACE,WACA,gCACA,wCACA,gBACA,iBACA,sCACA,eACA,uBACA,qCAGA,+BACE,OC1FR,uWACE,iXAEA,6BAUA,iBACE,qBACA,6CAIA,iBACE,UACA,UACA,uDAGA,UACE,aACA,gDAMN,UACE,UACA,0CAIF,iBACE,UACA,YACA,aACA,cACA,sDACA,2CACA,CADA,kCACA,8BACA,CADA,qBACA,0BACA,CADA,iBACA,WACA,oDAGA,YACE,aACA,kEAKJ,wBV+Ve,oDU7Vb,CV6Va,2CU7Vb,C","file":"assets/stylesheets/main.fa8597d9.min.css","sourcesContent":["html{box-sizing:border-box;text-size-adjust:none}*,*::before,*::after{box-sizing:inherit}body{margin:0}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{display:block;box-sizing:content-box;height:.05rem;padding:0;overflow:visible;border:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:none}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(231, 44%, 56%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-hl-color: hsla(60, 100%, 50%, 0.5);--md-code-hl-number-color: hsla(0, 67%, 50%, 1);--md-code-hl-special-color: hsla(340, 83%, 47%, 1);--md-code-hl-function-color: hsla(291, 45%, 50%, 1);--md-code-hl-constant-color: hsla(250, 63%, 60%, 1);--md-code-hl-keyword-color: hsla(219, 54%, 51%, 1);--md-code-hl-string-color: hsla(150, 63%, 30%, 1);--md-code-hl-name-color: var(--md-code-fg-color);--md-code-hl-operator-color: var(--md-default-fg-color--light);--md-code-hl-punctuation-color: var(--md-default-fg-color--light);--md-code-hl-comment-color: var(--md-default-fg-color--light);--md-code-hl-generic-color: var(--md-default-fg-color--light);--md-code-hl-variable-color: var(--md-default-fg-color--light);--md-typeset-color: var(--md-default-fg-color);--md-typeset-a-color: var(--md-primary-fg-color);--md-typeset-mark-color: hsla(60, 100%, 50%, 0.5);--md-typeset-del-color: hsla(6, 90%, 60%, 0.15);--md-typeset-ins-color: hsla(150, 90%, 44%, 0.15);--md-typeset-kbd-color: hsla(0, 0%, 98%, 1);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);--md-typeset-kbd-border-color: hsla(0, 0%, 72%, 1);--md-admonition-fg-color: var(--md-default-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-typeset-color);font-feature-settings:\"kern\",\"liga\";font-family:var(--md-text-font-family) -apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-typeset-color);font-feature-settings:\"kern\";font-family:var(--md-code-font-family) SFMono-Regular,Consolas,Menlo,monospace}:root{--md-typeset-table--ascending: svg-load(\"@mdi/svg/svg/arrow-down.svg\");--md-typeset-table--descending: svg-load(\"@mdi/svg/svg/arrow-up.svg\")}.md-typeset{font-size:.8rem;line-height:1.6;color-adjust:exact}@media print{.md-typeset{font-size:.68rem}}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset dl,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 1.25em;color:var(--md-default-fg-color--light);font-weight:300;font-size:2em;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:1.6em 0 .64em;font-weight:300;font-size:1.5625em;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6em 0 .8em;font-weight:400;font-size:1.25em;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{margin:1em 0;font-weight:700;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:1.25em 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.8em;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;box-decoration-break:clone}.md-typeset code:not(.focus-visible){outline:none;-webkit-tap-highlight-color:transparent}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.7720588235em 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;color:var(--md-default-fg-color);font-size:.75em;vertical-align:text-top;word-break:break-word;background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -0.1rem .2rem var(--md-typeset-kbd-accent-color) inset}.md-typeset mark{color:inherit;word-break:break-word;background-color:var(--md-typeset-mark-color);box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}@media(hover: none){.md-typeset abbr{position:relative}.md-typeset abbr[title]:focus::after,.md-typeset abbr[title]:hover::after{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:absolute;left:0;display:inline-block;width:auto;min-width:max-content;max-width:80%;margin-top:2em;padding:.2rem .3rem;color:var(--md-default-bg-color);font-size:.7rem;background-color:var(--md-default-fg-color);border-radius:.1rem;content:attr(title)}}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset img[align=left],.md-typeset svg[align=left]{margin:1em;margin-left:0}.md-typeset img[align=right],.md-typeset svg[align=right]{margin:1em;margin-right:0}.md-typeset img[align]:only-child,.md-typeset svg[align]:only-child{margin-top:0}.md-typeset figure{width:fit-content;max-width:100%;margin:0 auto;text-align:center}.md-typeset figure img{display:block}.md-typeset figcaption{max-width:24rem;margin:1em auto 2em;font-style:italic}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th>*:first-child,.md-typeset table:not([class]) td>*:first-child{margin-top:0}.md-typeset table:not([class]) th>*:last-child,.md-typeset table:not([class]) td>*:last-child{margin-bottom:0}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.9375em 1.25em;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.9375em 1.25em;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}.md-typeset table th[role=columnheader]::after{display:inline-block;width:1.2em;height:1.2em;margin-left:.5em;vertical-align:sub;mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-typeset table th[role=columnheader][aria-sort=ascending]::after{background-color:currentColor;mask-image:var(--md-typeset-table--ascending)}.md-typeset table th[role=columnheader][aria-sort=descending]::after{background-color:currentColor;mask-image:var(--md-typeset-table--descending)}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media print{body{display:block}}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-footer-bg-color)}@media print{.md-announce{display:none}}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-footer-fg-color);font-size:.7rem}:root{--md-clipboard-icon: svg-load(\"@mdi/svg/svg/content-copy.svg\")}.md-clipboard{position:absolute;top:.5em;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 250ms}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){outline:none;-webkit-tap-highlight-color:transparent}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard::after{display:block;width:1.125em;height:1.125em;margin:0 auto;background-color:currentColor;mask-image:var(--md-clipboard-icon);mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color 250ms,background-color 250ms}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{color:var(--md-accent-fg-color);background-color:var(--md-accent-fg-color--transparent)}.md-content{flex-grow:1;overflow:hidden;scroll-padding-top:51.2rem}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem;margin-left:.8rem}.md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-right:.8rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:\"\"}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}@media print{.md-content__button{display:none}}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;min-width:11.1rem;padding:.4rem .6rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms;pointer-events:none}@media print{.md-dialog{display:none}}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms;pointer-events:initial}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .md-input{height:1.8rem;padding:0 .6rem;font-size:.8rem;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 .025rem .05rem rgba(0,0,0,.1);transition:box-shadow 250ms}.md-typeset .md-input:focus,.md-typeset .md-input:hover{box-shadow:0 .4rem 1rem rgba(0,0,0,.15),0 .025rem .05rem rgba(0,0,0,.15)}.md-typeset .md-input--stretch{width:100%}.md-header{position:sticky;top:0;right:0;left:0;z-index:2;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}@media print{.md-header{display:none}}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),color 250ms,background-color 250ms,box-shadow 250ms}.md-header[data-md-state=hidden]{transform:translateY(-100%);transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),color 250ms,background-color 250ms,box-shadow 250ms}.md-header-nav{display:flex;align-items:center;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:inline-block;margin:.2rem;padding:.4rem;color:currentColor;vertical-align:middle;cursor:pointer;transition:opacity 250ms}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button:not(.focus-visible){outline:none}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}.no-js .md-header-nav__button[for=__search]{display:none}[dir=rtl] .md-header-nav__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;display:flex;max-width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.md-header-nav__title{flex-grow:1;height:2.4rem;margin-right:.4rem;margin-left:1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev{width:25%}.md-footer-nav__link--prev .md-footer-nav__title{display:none}}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}.md-footer-nav__link--next{float:right;text-align:right}@media screen and (max-width: 44.9375em){.md-footer-nav__link--next{width:75%}}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}:root{--md-nav-icon--prev: svg-load(\"@mdi/svg/svg/arrow-left.svg\");--md-nav-icon--next: svg-load(\"@mdi/svg/svg/chevron-right.svg\");--md-toc-icon: svg-load(\"@mdi/svg/svg/table-of-contents.svg\")}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:auto;height:100%}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem;fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active{color:var(--md-typeset-a-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon::after{display:block;width:100%;height:100%;mask-image:var(--md-toc-icon);background-color:currentColor}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%;background-color:var(--md-default-bg-color)}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title .md-nav__icon::after{display:block;width:100%;height:100%;background-color:currentColor;mask-image:var(--md-nav-icon--prev);mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title .md-logo{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-logo{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;width:1.2rem;height:1.2rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}.md-nav--primary .md-nav__link .md-nav__icon::after{display:block;width:100%;height:100%;background-color:currentColor;mask-image:var(--md-nav-icon--next);mask-repeat:no-repeat;mask-size:contain;content:\"\"}[dir=rtl] .md-nav--primary .md-nav__icon::after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav--secondary{background-color:transparent}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width: 59.9375em){.md-nav--primary .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__link[for=__toc]{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__link[for=__toc] .md-icon::after{content:\"\"}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-nav--integrated .md-nav__link[for=__toc]{display:block;padding-right:2.4rem;scroll-snap-align:initial}[dir=rtl] .md-nav--integrated .md-nav__link[for=__toc]{padding-right:.8rem;padding-left:2.4rem}.md-nav--integrated .md-nav__link[for=__toc] .md-icon::after{content:\"\"}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav,.md-nav__toggle:indeterminate~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{display:none}.md-nav__item--section>.md-nav{display:block}.md-nav__item--section>.md-nav>.md-nav__title{display:block;padding:0;pointer-events:none;scroll-snap-align:start}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{float:right;width:.9rem;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon::after{display:inline-block;width:100%;height:100%;vertical-align:-0.1rem;background-color:currentColor;mask-image:var(--md-nav-icon--next);mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon,.md-nav__item--nested .md-nav__toggle:indeterminate~.md-nav__link .md-nav__icon{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item--nested,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav>.md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav__item{padding-right:.6rem}.md-nav--lifted .md-nav[data-md-level=\"1\"]{display:block}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:block;margin-bottom:1.25em;border-left:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav>.md-nav__title{display:none}}:root{--md-search-result-icon: svg-load(\"@mdi/svg/svg/file-search-outline.svg\")}.md-search{position:relative}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem transparent;transition:color 250ms,background-color 250ms,box-shadow 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::placeholder{transition:color 250ms}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}[data-md-toggle=search]:checked~.md-header .md-search__input{box-shadow:0 0 .6rem rgba(0,0,0,.07)}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);backface-visibility:hidden;touch-action:pan-y}@media(max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;transition:background-color 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more summary{display:block;padding:.75em .8rem;color:var(--md-typeset-a-color);font-size:.64rem;outline:0;cursor:pointer;transition:color 250ms,background-color 250ms;scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__more summary{padding-left:2.2rem}[dir=rtl] .md-search-result__more summary{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__more summary:focus,.md-search-result__more summary:hover{color:var(--md-accent-fg-color);background-color:var(--md-accent-fg-color--transparent)}.md-search-result__more summary::marker,.md-search-result__more summary::-webkit-details-marker{display:none}.md-search-result__more summary~*>*{opacity:.65}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;width:1.2rem;height:1.2rem;margin:.5rem;color:var(--md-default-fg-color--light)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__icon::after{display:inline-block;width:100%;height:100%;background-color:currentColor;mask-image:var(--md-search-result-icon);mask-repeat:no-repeat;mask-size:contain;content:\"\"}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon::after{transform:scaleX(-1)}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.6}.md-search-result__teaser{display:-webkit-box;max-height:2rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:3rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:3rem;-webkit-line-clamp:3}}.md-search-result__teaser mark{text-decoration:underline;background-color:transparent}.md-search-result__terms{margin:.5em 0;font-size:.64rem;font-style:italic}.md-search-result mark{color:var(--md-accent-fg-color);background-color:transparent}.md-sidebar{position:sticky;top:2.4rem;flex-shrink:0;align-self:flex-start;width:12.1rem;padding:1.2rem 0}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;display:block;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;scroll-snap-type:none;overflow:hidden}}@media screen and (min-width: 76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{margin:0 .2rem;overflow-y:auto;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 76.1875em){.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;backface-visibility:hidden;transition:opacity 250ms}.md-source:focus,.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:\"·\"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background-color 250ms}@media print{.md-tabs{display:none}}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;backface-visibility:hidden;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.md-tabs__link--active,.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:transform 0ms 100ms,opacity 100ms}:root{--md-admonition-icon--note: svg-load(\"@mdi/svg/svg/pencil.svg\");--md-admonition-icon--abstract: svg-load(\"@mdi/svg/svg/text-subject.svg\");--md-admonition-icon--info: svg-load(\"@mdi/svg/svg/information.svg\");--md-admonition-icon--tip: svg-load(\"@mdi/svg/svg/fire.svg\");--md-admonition-icon--success: svg-load(\"@mdi/svg/svg/check-circle.svg\");--md-admonition-icon--question: svg-load(\"@mdi/svg/svg/help-circle.svg\");--md-admonition-icon--warning: svg-load(\"@mdi/svg/svg/alert.svg\");--md-admonition-icon--failure: svg-load(\"@mdi/svg/svg/close-circle.svg\");--md-admonition-icon--danger: svg-load(\"@mdi/svg/svg/flash-circle.svg\");--md-admonition-icon--bug: svg-load(\"@mdi/svg/svg/bug.svg\");--md-admonition-icon--example: svg-load(\"@mdi/svg/svg/format-list-numbered.svg\");--md-admonition-icon--quote: svg-load(\"@mdi/svg/svg/format-quote-close.svg\")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 .025rem .05rem rgba(0,0,0,.05)}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem 0 -0.8rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1);border-left:.2rem solid #448aff}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{margin:0 -0.8rem 0 -0.6rem;padding:.4rem 2rem .4rem .6rem;border-right:.2rem solid #448aff;border-left:none}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;mask-image:var(--md-admonition-icon--note);mask-repeat:no-repeat;mask-size:contain;content:\"\"}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition-title+.tabbed-set:last-child,.md-typeset summary+.tabbed-set:last-child{margin-top:0}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1);border-color:#448aff}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;mask-image:var(--md-admonition-icon--note);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1);border-color:#00b0ff}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1);border-color:#00b8d4}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1);border-color:#00bfa5}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1);border-color:#00c853}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;mask-image:var(--md-admonition-icon--success);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1);border-color:#64dd17}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1);border-color:#ff9100}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1);border-color:#ff5252}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1);border-color:#ff1744}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1);border-color:#f50057}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1);border-color:#651fff}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;mask-image:var(--md-admonition-icon--example);mask-repeat:no-repeat;mask-size:contain}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1);border-color:#9e9e9e}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote);mask-repeat:no-repeat;mask-size:contain}:root{--md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\")}.md-typeset [id^=\"fnref:\"]:target{scroll-margin-top:initial;margin-top:-3.4rem;padding-top:3.4rem}.md-typeset [id^=\"fn:\"]:target{scroll-margin-top:initial;margin-top:-3.45rem;padding-top:3.45rem}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li>:first-child{margin-top:0}.md-typeset .footnote-backref{display:inline-block;color:var(--md-typeset-a-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);transform:translateX(0);opacity:1}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;mask-image:var(--md-footnotes-icon);mask-repeat:no-repeat;mask-size:contain;content:\"\"}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;color:var(--md-default-fg-color--lighter);opacity:0;transition:color 250ms,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{opacity:1;transition:color 250ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{scroll-margin-top:initial}.md-typeset h1:target::before,.md-typeset h2:target::before,.md-typeset h3:target::before{display:block;margin-top:-3.4rem;padding-top:3.4rem;content:\"\"}.md-typeset h4:target{scroll-margin-top:initial}.md-typeset h4:target::before{display:block;margin-top:-3.45rem;padding-top:3.45rem;content:\"\"}.md-typeset h5:target,.md-typeset h6:target{scroll-margin-top:initial}.md-typeset h5:target::before,.md-typeset h6:target::before{display:block;margin-top:-3.6rem;padding-top:3.6rem;content:\"\"}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width: 44.9375em){.md-typeset div.arithmatex{margin:0 -0.8rem}}.md-typeset div.arithmatex>*{width:min-content;margin:1em auto !important;padding:0 .8rem;touch-action:auto}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{box-decoration-break:clone}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment::before{content:\"/* \"}.md-typeset .critic.comment::after{content:\" */\"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0;box-shadow:none}.md-typeset details:not([open])>summary{border-radius:.1rem}.md-typeset details::after{display:table;content:\"\"}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-left-radius:.1rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2.2rem .4rem 1.8rem}.md-typeset summary:not(.focus-visible){outline:none;-webkit-tap-highlight-color:transparent}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;mask-image:var(--md-details-icon);mask-repeat:no-repeat;mask-size:contain;transform:rotate(0deg);transition:transform 250ms;content:\"\"}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset summary::marker,.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .twemoji,.md-typeset .gemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .twemoji svg,.md-typeset .gemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .sb,.highlight .sc,.highlight .s2,.highlight .si,.highlight .s1,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .no,.highlight .nb,.highlight .bp{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .cm,.highlight .c1,.highlight .ch,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gr,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gs,.highlight .gu,.highlight .gt{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{margin:0 -0.125em;padding:0 .125em;border-radius:.1rem}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:var(--md-code-hl-color)}.highlight [data-linenos]::before{position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--light);background-color:var(--md-code-bg-color);box-shadow:-0.05rem 0 var(--md-default-fg-color--lightest) inset;content:attr(data-linenos);user-select:none}.highlighttable{display:flow-root;overflow:hidden}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable .linenos{padding:.7720588235em 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);user-select:none}.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:-0.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .code{flex:1;overflow:hidden}.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.highlight code{border-radius:0}.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}.md-typeset .keys kbd::before,.md-typeset .keys kbd::after{position:relative;margin:0;color:inherit;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.md-typeset .keys span{padding:0 .2em;color:var(--md-default-fg-color--light)}.md-typeset .keys .key-alt::before{padding-right:.4em;content:\"⎇\"}.md-typeset .keys .key-left-alt::before{padding-right:.4em;content:\"⎇\"}.md-typeset .keys .key-right-alt::before{padding-right:.4em;content:\"⎇\"}.md-typeset .keys .key-command::before{padding-right:.4em;content:\"⌘\"}.md-typeset .keys .key-left-command::before{padding-right:.4em;content:\"⌘\"}.md-typeset .keys .key-right-command::before{padding-right:.4em;content:\"⌘\"}.md-typeset .keys .key-control::before{padding-right:.4em;content:\"⌃\"}.md-typeset .keys .key-left-control::before{padding-right:.4em;content:\"⌃\"}.md-typeset .keys .key-right-control::before{padding-right:.4em;content:\"⌃\"}.md-typeset .keys .key-meta::before{padding-right:.4em;content:\"◆\"}.md-typeset .keys .key-left-meta::before{padding-right:.4em;content:\"◆\"}.md-typeset .keys .key-right-meta::before{padding-right:.4em;content:\"◆\"}.md-typeset .keys .key-option::before{padding-right:.4em;content:\"⌥\"}.md-typeset .keys .key-left-option::before{padding-right:.4em;content:\"⌥\"}.md-typeset .keys .key-right-option::before{padding-right:.4em;content:\"⌥\"}.md-typeset .keys .key-shift::before{padding-right:.4em;content:\"⇧\"}.md-typeset .keys .key-left-shift::before{padding-right:.4em;content:\"⇧\"}.md-typeset .keys .key-right-shift::before{padding-right:.4em;content:\"⇧\"}.md-typeset .keys .key-super::before{padding-right:.4em;content:\"❖\"}.md-typeset .keys .key-left-super::before{padding-right:.4em;content:\"❖\"}.md-typeset .keys .key-right-super::before{padding-right:.4em;content:\"❖\"}.md-typeset .keys .key-windows::before{padding-right:.4em;content:\"⊞\"}.md-typeset .keys .key-left-windows::before{padding-right:.4em;content:\"⊞\"}.md-typeset .keys .key-right-windows::before{padding-right:.4em;content:\"⊞\"}.md-typeset .keys .key-arrow-down::before{padding-right:.4em;content:\"↓\"}.md-typeset .keys .key-arrow-left::before{padding-right:.4em;content:\"←\"}.md-typeset .keys .key-arrow-right::before{padding-right:.4em;content:\"→\"}.md-typeset .keys .key-arrow-up::before{padding-right:.4em;content:\"↑\"}.md-typeset .keys .key-backspace::before{padding-right:.4em;content:\"⌫\"}.md-typeset .keys .key-backtab::before{padding-right:.4em;content:\"⇤\"}.md-typeset .keys .key-caps-lock::before{padding-right:.4em;content:\"⇪\"}.md-typeset .keys .key-clear::before{padding-right:.4em;content:\"⌧\"}.md-typeset .keys .key-context-menu::before{padding-right:.4em;content:\"☰\"}.md-typeset .keys .key-delete::before{padding-right:.4em;content:\"⌦\"}.md-typeset .keys .key-eject::before{padding-right:.4em;content:\"⏏\"}.md-typeset .keys .key-end::before{padding-right:.4em;content:\"⤓\"}.md-typeset .keys .key-escape::before{padding-right:.4em;content:\"⎋\"}.md-typeset .keys .key-home::before{padding-right:.4em;content:\"⤒\"}.md-typeset .keys .key-insert::before{padding-right:.4em;content:\"⎀\"}.md-typeset .keys .key-page-down::before{padding-right:.4em;content:\"⇟\"}.md-typeset .keys .key-page-up::before{padding-right:.4em;content:\"⇞\"}.md-typeset .keys .key-print-screen::before{padding-right:.4em;content:\"⎙\"}.md-typeset .keys .key-tab::after{padding-left:.4em;content:\"⇥\"}.md-typeset .keys .key-num-enter::after{padding-left:.4em;content:\"⌤\"}.md-typeset .keys .key-enter::after{padding-left:.4em;content:\"⏎\"}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}@media print{.md-typeset .tabbed-content{display:block;order:initial}}.md-typeset .tabbed-content>pre:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>pre:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{position:absolute;width:0;height:0;opacity:0}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>input:focus+label{outline-style:auto}.md-typeset .tabbed-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.9375em 1.25em .78125em;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}.md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: svg-load(\"@primer/octicons/build/svg/check-circle-fill-24.svg\");--md-tasklist-icon--checked: svg-load(\"@primer/octicons/build/svg/check-circle-fill-24.svg\")}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}.md-typeset .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);mask-image:var(--md-tasklist-icon);mask-repeat:no-repeat;mask-size:contain;content:\"\"}[dir=rtl] .md-typeset .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;mask-image:var(--md-tasklist-icon--checked)}","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model and prevent adjustments of font size after\n// orientation changes in IE and iOS\nhtml {\n box-sizing: border-box;\n text-size-adjust: none;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize horizontal separator styles\nhr {\n display: block;\n box-sizing: content-box;\n height: px2rem(1px);\n padding: 0;\n overflow: visible;\n border: 0;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n line-height: 1em;\n}\n\n// Remove border on image\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: 400;\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: none;\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-400)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n\n // Code highlighting color shades\n --md-code-hl-color: hsla(#{hex2hsl($clr-yellow-a200)}, 0.5);\n --md-code-hl-number-color: hsla(0, 67%, 50%, 1);\n --md-code-hl-special-color: hsla(340, 83%, 47%, 1);\n --md-code-hl-function-color: hsla(291, 45%, 50%, 1);\n --md-code-hl-constant-color: hsla(250, 63%, 60%, 1);\n --md-code-hl-keyword-color: hsla(219, 54%, 51%, 1);\n --md-code-hl-string-color: hsla(150, 63%, 30%, 1);\n --md-code-hl-name-color: var(--md-code-fg-color);\n --md-code-hl-operator-color: var(--md-default-fg-color--light);\n --md-code-hl-punctuation-color: var(--md-default-fg-color--light);\n --md-code-hl-comment-color: var(--md-default-fg-color--light);\n --md-code-hl-generic-color: var(--md-default-fg-color--light);\n --md-code-hl-variable-color: var(--md-default-fg-color--light);\n\n // Typeset color shades\n --md-typeset-color: var(--md-default-fg-color);\n --md-typeset-a-color: var(--md-primary-fg-color);\n\n // Typeset `mark` color shades\n --md-typeset-mark-color: hsla(#{hex2hsl($clr-yellow-a200)}, 0.5);\n\n // Typeset `del` and `ins` color shades\n --md-typeset-del-color: hsla(6, 90%, 60%, 0.15);\n --md-typeset-ins-color: hsla(150, 90%, 44%, 0.15);\n\n // Typeset `kbd` color shades\n --md-typeset-kbd-color: hsla(0, 0%, 98%, 1);\n --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);\n --md-typeset-kbd-border-color: hsla(0, 0%, 72%, 1);\n\n // Admonition color shades\n --md-admonition-fg-color: var(--md-default-fg-color);\n --md-admonition-bg-color: var(--md-default-bg-color);\n\n // Footer color shades\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Define default fonts\nbody,\ninput {\n color: var(--md-typeset-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family:\n var(--md-text-font-family,)\n -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Define proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-typeset-color);\n font-feature-settings: \"kern\";\n font-family:\n var(--md-code-font-family,)\n SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-typeset-table--ascending: svg-load(\"@mdi/svg/svg/arrow-down.svg\");\n --md-typeset-table--descending: svg-load(\"@mdi/svg/svg/arrow-up.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. admonitions) render correctly.\n.md-typeset {\n font-size: px2rem(16px);\n line-height: 1.6;\n color-adjust: exact;\n\n // [print]: We'll use a smaller `font-size` for printing, so code examples\n // don't break too early, and `16px` looks too big anyway.\n @media print {\n font-size: px2rem(13.6px);\n }\n\n // Default spacing\n p,\n ul,\n ol,\n dl,\n blockquote {\n margin: 1em 0;\n }\n\n // Headline on level 1\n h1 {\n margin: 0 0 px2em(40px, 32px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: px2em(32px);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // Headline on level 2\n h2 {\n margin: px2em(40px, 25px) 0 px2em(16px, 25px);\n font-weight: 300;\n font-size: px2em(25px);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // Headline on level 3\n h3 {\n margin: px2em(32px, 20px) 0 px2em(16px, 20px);\n font-weight: 400;\n font-size: px2em(20px);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // Headline on level 3 following level 2\n h2 + h3 {\n margin-top: px2em(16px, 20px);\n }\n\n // Headline on level 4\n h4 {\n margin: px2em(16px) 0;\n font-weight: 700;\n letter-spacing: -0.01em;\n }\n\n // Headline on level 5-6\n h5,\n h6 {\n margin: px2em(16px, 12.8px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: px2em(12.8px);\n letter-spacing: -0.01em;\n }\n\n // Headline on level 5\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separator\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Text link\n a {\n color: var(--md-typeset-a-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Text link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code block\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // [print]: Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code block\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n\n // Hide outline for pointer devices\n &:not(.focus-visible) {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n }\n }\n\n // Code block in headline\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted content\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Code block\n > code {\n display: block;\n margin: 0;\n padding: px2em(10.5px, 13.6px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Code block on hover\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Align with body copy\n @include break-to-device(mobile) {\n\n // Unformatted text\n > pre {\n margin: 1em px2rem(-16px);\n\n // Code block\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keyboard key\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n color: var(--md-default-fg-color);\n font-size: px2em(12px);\n vertical-align: text-top;\n word-break: break-word;\n background-color: var(--md-typeset-kbd-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-typeset-kbd-border-color),\n 0 px2rem(2px) 0 var(--md-typeset-kbd-border-color),\n 0 px2rem(-2px) px2rem(4px) var(--md-typeset-kbd-accent-color) inset;\n }\n\n // Text highlighting marker\n mark {\n color: inherit;\n word-break: break-word;\n background-color: var(--md-typeset-mark-color);\n box-decoration-break: clone;\n }\n\n // Abbreviation\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n\n // Show tooltip for touch devices\n @media (hover: none) {\n position: relative;\n\n // Tooltip\n &[title]:focus::after,\n &[title]:hover::after {\n @include z-depth(2);\n\n position: absolute;\n left: 0;\n display: inline-block;\n width: auto;\n min-width: max-content;\n max-width: 80%;\n margin-top: 2em;\n padding: px2rem(4px) px2rem(6px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n content: attr(title);\n }\n }\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered list\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered list\n ul,\n ol {\n margin-left: px2em(10px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px);\n margin-left: initial;\n }\n\n // Nested ordered list\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List element\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px);\n margin-left: initial;\n }\n\n // Adjust spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Adjust spacing on last child\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested list\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition list\n dd {\n margin: 1em 0 1.5em px2em(30px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px);\n margin-left: initial;\n }\n }\n\n // Image or icon\n img,\n svg {\n max-width: 100%;\n height: auto;\n\n // Adjust spacing when left-aligned\n &[align=\"left\"] {\n margin: 1em;\n margin-left: 0;\n }\n\n // Adjust spacing when right-aligned\n &[align=\"right\"] {\n margin: 1em;\n margin-right: 0;\n }\n\n // Adjust spacing when sole children\n &[align]:only-child {\n margin-top: 0;\n }\n }\n\n // Figure\n figure {\n width: fit-content;\n max-width: 100%;\n margin: 0 auto;\n text-align: center;\n\n // Figure images\n img {\n display: block;\n }\n }\n\n // Figure caption\n figcaption {\n max-width: px2rem(480px);\n margin: 1em auto 2em;\n font-style: italic;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data table\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: px2rem(12.8px);\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // [print]: Reset display mode so table header wraps when printing\n @media print {\n display: table;\n }\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n + * {\n margin-top: 1.5em;\n }\n\n // Elements in table heading and cell\n th > *,\n td > * {\n\n // Adjust spacing on first child\n &:first-child {\n margin-top: 0;\n }\n\n // Adjust spacing on last child\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Table heading and cell\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table heading\n th {\n min-width: px2rem(100px);\n padding: px2em(12px, 12.8px) px2em(16px, 12.8px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cell\n td {\n padding: px2em(12px, 12.8px) px2em(16px, 12.8px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table row\n tr {\n transition: background-color 125ms;\n\n // Table row on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Hide border on first table row\n &:first-child td {\n border-top: 0;\n }\n }\n\n // Text link in table\n a {\n word-break: normal;\n }\n }\n\n // Sortable table\n table th[role=\"columnheader\"] {\n cursor: pointer;\n\n // Sort icon\n &::after {\n display: inline-block;\n width: 1.2em;\n height: 1.2em;\n margin-left: 0.5em;\n vertical-align: sub;\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n // Sort ascending\n &[aria-sort=\"ascending\"]::after {\n background-color: currentColor;\n mask-image: var(--md-typeset-table--ascending);\n }\n\n // Sort descending\n &[aria-sort=\"descending\"]::after {\n background-color: currentColor;\n mask-image: var(--md-typeset-table--descending);\n }\n }\n\n // Data table scroll wrapper\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // [print]: Reset display mode so table header wraps when printing\n @media print {\n display: block;\n }\n\n // Data table\n html & table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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 {\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) {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n\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\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\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base `font-size`\nhtml {\n height: 100%;\n overflow-x: hidden;\n // Hack: normally, we would set the base `font-size` to `62.5%`, so we can\n // base all calculations on `10px`, but Chromium and Chrome define a minimal\n // `font-size` of `12px` if the system language is set to Chinese. For this\n // reason we just double the `font-size` and set it to `20px`.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base `font-size` to `11px`\n @include break-from-device(screen medium) {\n font-size: 137.5%;\n }\n\n // [screen large +]: Set base `font-size` to `12px`\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container - flexbox is used, so the footer will always be\n// aligned to the bottom of the viewport\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset `font-size` to `10px`, so the spacing for all inline elements\n // is correct again. Otherwise the spacing would be based on `20px`.\n font-size: px2rem(10px);\n background-color: var(--md-default-bg-color);\n\n // [print]: Omit flexbox layout due to a Firefox bug (https://mzl.la/39DgR3m)\n @media print {\n display: block;\n }\n\n // Body in locked state\n &[data-md-state=\"lock\"] {\n\n // [tablet portrait -]: Omit scroll bubbling\n @include break-to-device(tablet portrait) {\n position: fixed;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Grid container - this class is applied to wrapper elements within the\n// header, content area and footer, and makes sure that their width is limited\n// to `1220px`, and they are rendered centered if the screen is larger.\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Main container\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // [print]: Omit flexbox layout due to a Firefox bug (https://mzl.la/39DgR3m)\n @media print {\n display: block;\n }\n}\n\n// Main area - stretch to remaining space of container\n.md-main {\n flex-grow: 1;\n\n // Main area wrapper\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Add ellipsis in case of overflowing text\n.md-ellipsis {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle - this class is applied to the checkbox elements, which are used to\n// implement the CSS-only drawer and navigation, as well as the search\n.md-toggle {\n display: none;\n}\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative `z-index`, the skip link will force the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: px2rem(12.8px);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Announcement bar\n.md-announce {\n overflow: auto;\n background-color: var(--md-footer-bg-color);\n\n // [print]: Hide announcement bar\n @media print {\n display: none;\n }\n\n // Announcement wrapper\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-footer-fg-color);\n font-size: px2rem(14px);\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-clipboard-icon: svg-load(\"@mdi/svg/svg/content-copy.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Button to copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2em(8px);\n right: px2em(8px);\n z-index: 1;\n width: px2em(24px);\n height: px2em(24px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 250ms;\n\n // [print]: Hide button\n @media print {\n display: none;\n }\n\n // Hide outline for pointer devices\n &:not(.focus-visible) {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n }\n\n // Darken color on code block hover\n :hover > & {\n color: var(--md-default-fg-color--light);\n }\n\n // Button on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n // Button icon - the width and height are defined in `em`, so the size is\n // automatically adjusted for nested code blocks (e.g. in admonitions)\n &::after {\n display: block;\n width: px2em(18px);\n height: px2em(18px);\n margin: 0 auto;\n background-color: currentColor;\n mask-image: var(--md-clipboard-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n // Inline button\n &--inline {\n cursor: pointer;\n\n // Code block\n code {\n transition:\n color 250ms,\n background-color 250ms;\n }\n\n // Code block on focus/hover\n &:focus code,\n &:hover code {\n color: var(--md-accent-fg-color);\n background-color: var(--md-accent-fg-color--transparent);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Content area\n.md-content {\n flex-grow: 1;\n // Hack: we must use `overflow: hidden`, so the content area is capped by\n // the dimensions of its parent. Otherwise, long code blocks might lead to\n // a wider content area which will break everything. This, however, induces\n // margin collapse, which will break scroll margins. Adding a large enough\n // scroll padding seems to do the trick, at least in Chrome and Firefox.\n overflow: hidden;\n scroll-padding-top: px2rem(1024px);\n\n // Content wrapper\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Adjust spacing between content area and sidebars\n @include break-from-device(screen) {\n\n // Sidebar with navigation is visible\n .md-sidebar--primary:not([hidden]) ~ .md-content > & {\n margin-left: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(24px);\n margin-left: px2rem(16px);\n }\n }\n\n // Sidebar with table of contents is visible\n .md-sidebar--secondary:not([hidden]) ~ .md-content > & {\n margin-right: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(16px);\n margin-left: px2rem(24px);\n }\n }\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Adjust spacing on last child\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button inside of the content area - these buttons are meant for actions on\n // a document-level, i.e. linking to related source code files, printing etc.\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // [print]: Hide buttons\n @media print {\n display: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Adjust default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align with body copy located next to icon\n svg {\n display: inline;\n vertical-align: top;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Dialog\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n pointer-events: none;\n\n // [print]: Hide dialog\n @media print {\n display: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Dialog in open state\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n pointer-events: initial;\n }\n\n // Dialog wrapper\n &__inner {\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Form button\n .md-button {\n display: inline-block;\n padding: px2em(10px) px2em(32px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Button on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n\n // Form input\n .md-input {\n height: px2rem(36px);\n padding: 0 px2rem(12px);\n font-size: px2rem(16px);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.1),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.1);\n transition: box-shadow 250ms;\n\n // Input on focus/hover\n &:focus,\n &:hover {\n box-shadow:\n 0 px2rem(8px) px2rem(20px) hsla(0, 0%, 0%, 0.15),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.15);\n }\n\n // Stretch to full width\n &--stretch {\n width: 100%;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Header - by default, the header will be sticky and stay always on top of the\n// viewport. If this behavior is not desired, just set `position: static`.\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // [print]: Hide header\n @media print {\n display: none;\n }\n\n // Header in shadow state, i.e. shadow is visible\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Header in hidden state, i.e. moved out of sight\n &[data-md-state=\"hidden\"] {\n transform: translateY(-100%);\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n}\n\n// Header navigation - if the header exceeds the default height of `48px`, i.e.\n// by adding a bigger logo, the items are aligned at the center\n.md-header-nav {\n display: flex;\n align-items: center;\n padding: 0 px2rem(4px);\n\n // Header navigation button\n &__button {\n position: relative;\n z-index: 1;\n display: inline-block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n color: currentColor;\n vertical-align: middle;\n cursor: pointer;\n transition: opacity 250ms;\n\n // Button on focus/hover\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Hide outline for pointer devices\n &:not(.focus-visible) {\n outline: none;\n }\n\n // Button with logo, pointing to `config.site_url`\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // [tablet -]: Hide button\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Button for search\n &[for=\"__search\"] {\n\n // [tablet landscape +]: Hide button\n @include break-from-device(tablet landscape) {\n display: none;\n }\n\n // [no-js]: Hide button\n .no-js & {\n display: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n\n // Button for drawer\n &[for=\"__drawer\"] {\n\n // [screen +]: Hide button\n @include break-from-device(screen) {\n display: none;\n }\n }\n }\n\n // Header navigation topic\n &__topic {\n position: absolute;\n display: flex;\n max-width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Second header topic - title of the current page\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n }\n\n // Header navigation title\n &__title {\n flex-grow: 1;\n height: px2rem(48px);\n margin-right: px2rem(8px);\n margin-left: px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Header title in active state, i.e. page title is visible\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Second header topic - title of the current page\n + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Add ellipsis in case of overflowing text\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository information container\n &__source {\n display: none;\n\n // [tablet landscape +]: Show repository information\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Adjust spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // [print]: Hide footer\n @media print {\n display: none;\n }\n}\n\n// Footer navigation\n.md-footer-nav {\n\n // Footer navigation wrapper\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Footer link to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Adjust width to 50/50\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Footer link on focus/hover\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Footer link to previous page\n &--prev {\n float: left;\n\n // [mobile -]: Adjust width to 25/75 and hide title\n @include break-to-device(mobile) {\n width: 25%;\n\n // Hide footer navigation title\n .md-footer-nav__title {\n display: none;\n }\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n\n // Footer link to next page\n &--next {\n float: right;\n text-align: right;\n\n // [mobile -]: Adjust width to 25/75\n @include break-to-device(mobile) {\n width: 75%;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Footer navigation title\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Footer navigation link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Footer navigation link direction (i.e. prev and next)\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: px2rem(12.8px);\n opacity: 0.7;\n }\n}\n\n// Footer metadata\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Footer metadata wrapper\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Lighten color for non-hovered text links\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Text link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Footer copyright metadata\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: px2rem(12.8px);\n\n // [tablet portrait +]: Show copyright and social links in one line\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Footer copyright highlight - this is the upper part of the copyright and\n // theme information, which will include a darker color than the theme link\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Footer social metadata\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show copyright and social links in one line\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Footer social link\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Fill icon with current color\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-nav-icon--prev: svg-load(\"@mdi/svg/svg/arrow-left.svg\");\n --md-nav-icon--next: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n --md-toc-icon: svg-load(\"@mdi/svg/svg/table-of-contents.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Navigation\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // Navigation title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Navigaton button\n .md-nav__button {\n display: none;\n\n // Stretch images based on height, as it's the smaller dimension\n img {\n width: auto;\n height: 100%;\n }\n\n // Button with logo, pointing to `config.site_url`\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n fill: currentColor;\n }\n }\n }\n }\n\n // Navigation list\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // Navigation item\n &__item {\n padding: 0 px2rem(12px);\n\n // Navigation item on level 2\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n }\n }\n\n // Navigation link\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Link in blurred state\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--light);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-typeset-a-color);\n }\n\n // Navigation link in nested list\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Navigation link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n // Navigation link to table of contents\n .md-nav--primary &[for=\"__toc\"] {\n display: none;\n\n // Table of contents icon\n .md-icon::after {\n display: block;\n width: 100%;\n height: 100%;\n mask-image: var(--md-toc-icon);\n background-color: currentColor;\n }\n\n // Hide table of contents\n ~ .md-nav {\n display: none;\n }\n }\n }\n\n // Repository information container\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n\n // Primary and nested navigation\n &--primary,\n &--primary & {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--md-default-bg-color);\n }\n\n // Primary navigation\n &--primary {\n\n // Navigation title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // Navigation title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Navigation icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n\n // Navigation icon in link to previous level\n &::after {\n display: block;\n width: 100%;\n height: 100%;\n background-color: currentColor;\n mask-image: var(--md-nav-icon--prev);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n }\n\n // Navigation list\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n 0 px2rem(1px) 0 var(--md-default-fg-color--lightest) inset;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Omit border on first child\n > :first-child {\n border-top: 0;\n }\n }\n\n // Top-level navigation title\n &[for=\"__drawer\"] {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n }\n\n // Button with logo, pointing to `config.site_url`\n .md-logo {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(4px);\n left: initial;\n }\n }\n }\n\n // Navigation list\n .md-nav__list {\n flex: 1;\n }\n\n // Navigation item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Navigation link in nested navigation\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Navigation link in active navigation\n &--active > .md-nav__link {\n color: var(--md-typeset-a-color);\n\n // Navigation link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Navigation link\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Navigation icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n width: px2rem(24px);\n height: px2rem(24px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n\n // Navigation icon in link to next level\n &::after {\n display: block;\n width: 100%;\n height: 100%;\n background-color: currentColor;\n mask-image: var(--md-nav-icon--next);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n }\n }\n\n // Flip icon vertically\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] &::after {\n transform: scale(-1);\n }\n }\n\n // Table of contents contained in primary navigation\n .md-nav--secondary {\n\n // Navigation link - omit unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Navigation on level 2-6\n .md-nav {\n position: static;\n background-color: transparent;\n\n // Navigation link on level 3\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // Navigation link on level 4\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // Navigation link on level 5\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // Navigation link on level 6\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Table of contents\n &--secondary {\n background-color: transparent;\n }\n\n // Toggle for nested navigation\n &__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Show nested navigation when toggle is active\n &__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Navigation list\n > .md-nav__list {\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Layered navigation with table of contents\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents\n &--primary &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Show table of contents icon\n .md-icon::after {\n content: \"\";\n }\n\n // Hide navigation link to current page\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n ~ .md-nav {\n display: flex;\n }\n }\n\n // Repository information container\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape]: Layered navigation with table of contents\n @include break-at-device(tablet landscape) {\n\n // Show link to integrated table of contents\n &--integrated &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n scroll-snap-align: initial;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Show table of contents icon\n .md-icon::after {\n content: \"\";\n }\n\n // Hide navigation link to current page\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n ~ .md-nav {\n display: flex;\n }\n }\n }\n\n // [tablet landscape +]: Tree-like table of contents\n @include break-from-device(tablet landscape) {\n\n // Navigation title\n &--secondary &__title {\n\n // Adjust snapping behavior\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide navigation icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // Navigation title\n &--primary &__title {\n\n // Adjust snapping behavior\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide navigation icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide toggle for nested navigation\n &__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation when toggle is active or indeterminate\n &__toggle:checked ~ &,\n &__toggle:indeterminate ~ & {\n display: block;\n }\n\n // Hide navigation title in nested navigation\n &__item--nested > & > &__title {\n display: none;\n }\n\n // Navigation section\n &__item--section {\n display: block;\n margin: 1.25em 0;\n\n // Adjust spacing on last child\n &:last-child {\n margin-bottom: 0;\n }\n\n // Hide navigation link, as sections are always expanded\n > .md-nav__link {\n display: none;\n }\n\n // Navigation\n > .md-nav {\n display: block;\n\n // Navigation title\n > .md-nav__title {\n display: block;\n padding: 0;\n pointer-events: none;\n scroll-snap-align: start;\n }\n\n // Adjust spacing on next level item\n > .md-nav__list > .md-nav__item {\n padding: 0;\n }\n }\n }\n\n // Navigation icon\n &__icon {\n float: right;\n width: px2rem(18px);\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Navigation icon content\n &::after {\n display: inline-block;\n width: 100%;\n height: 100%;\n vertical-align: px2rem(-2px);\n background-color: currentColor;\n mask-image: var(--md-nav-icon--next);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n // Navigation icon - rotate icon when toggle is active or indeterminate\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link &,\n .md-nav__item--nested .md-nav__toggle:indeterminate ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n\n // Modifier for when navigation tabs are rendered\n &--lifted {\n\n // Hide nested items on level 1 and site title\n > .md-nav__list > .md-nav__item--nested,\n > .md-nav__title {\n display: none;\n }\n\n // Hide level 1 items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Active parent navigation item\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n\n // Show title and adjust spacing\n > .md-nav > .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n }\n }\n\n // Adjust spacing for navigation item on level 2\n > .md-nav__item {\n padding-right: px2rem(12px);\n }\n }\n\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n .md-nav[data-md-level=\"1\"] {\n display: block;\n }\n }\n\n // Modifier for when table of contents is rendered in primary navigation\n &--integrated &__link[for=\"__toc\"] ~ .md-nav {\n display: block;\n margin-bottom: 1.25em;\n border-left: px2rem(1px) solid var(--md-primary-fg-color);\n\n // Hide navigation title\n > .md-nav__title {\n display: none;\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-search-result-icon: svg-load(\"@mdi/svg/svg/file-search-outline.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Search\n.md-search {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // [no-js]: Hide search\n .no-js & {\n display: none;\n }\n\n // Search overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Show overlay when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Show overlay when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n width: 100%;\n // Hack: when the header is translated upon scrolling, a new layer is\n // induced, which means that the height will now refer to the height of\n // the header, albeit positioning is fixed. This should be mitigated\n // in all cases when setting the height to 2x the viewport.\n height: 200vh;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n }\n\n // Search wrapper\n &__inner {\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n\n // [tablet landscape]: Omit overlaying header title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match width of content area\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n box-shadow: 0 0 px2rem(12px) transparent;\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Search placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Search icon and placeholder\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n box-shadow: 0 0 px2rem(12px) hsla(0, 0%, 0%, 0.07);\n }\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: px2rem(16px);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Search icon\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Search placeholder\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Search input on hover\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Search icon and placeholder\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Search icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Search icon on hover\n &:hover {\n opacity: 0.7;\n }\n\n // Search focus button\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the back arrow\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Search reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button when search is active and input non-empty\n [data-md-toggle=\"search\"]:checked ~ .md-header\n .md-search__input:valid ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Search focus icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show output when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Search scroll wrapper\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n // Hack: Chrome 88+ has weird overscroll behavior. Overall, scroll snapping\n // seems to be something that is not ready for prime time on some browsers.\n // scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set fixed width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set fixed width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Show scroll wrapper when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n max-height: 75vh;\n }\n\n // Search scroll wrapper on hover\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search result metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: px2rem(12.8px);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Adjust spacing\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // Search result list\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // Search result item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Omit border on first child\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Search result link\n &__link {\n display: block;\n outline: none;\n transition: background-color 250ms;\n scroll-snap-align: start;\n\n // Search result link on focus/hover\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n }\n\n // Adjust spacing on last child of last link\n &:last-child p:last-child {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Search result more link\n &__more summary {\n display: block;\n padding: px2em(12px) px2rem(16px);\n color: var(--md-typeset-a-color);\n font-size: px2rem(12.8px);\n outline: 0;\n cursor: pointer;\n transition:\n color 250ms,\n background-color 250ms;\n scroll-snap-align: start;\n\n // [tablet landscape +]: Adjust spacing\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Search result more link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n background-color: var(--md-accent-fg-color--transparent);\n }\n\n // Hide native details marker\n &::marker,\n &::-webkit-details-marker {\n display: none;\n }\n\n // Adjust transparency of less relevant results\n ~ * > * {\n opacity: 0.65;\n }\n }\n\n // Search result article\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Adjust spacing\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Search result article document\n &--document {\n\n // Search result title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: px2rem(16px);\n line-height: 1.4;\n }\n }\n }\n\n // Search result icon\n &__icon {\n position: absolute;\n left: 0;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(10px);\n color: var(--md-default-fg-color--light);\n\n // [tablet portrait -]: Hide icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n\n // Search result icon content\n &::after {\n display: inline-block;\n width: 100%;\n height: 100%;\n background-color: currentColor;\n mask-image: var(--md-search-result-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n &::after {\n transform: scaleX(-1);\n }\n }\n }\n\n // Search result title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: px2rem(12.8px);\n line-height: 1.6;\n }\n\n // Search result teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(40px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: px2rem(12.8px);\n line-height: 1.6;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Adjust number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(60px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Adjust number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(60px);\n -webkit-line-clamp: 3;\n }\n\n // Search term highlighting\n mark {\n text-decoration: underline;\n background-color: transparent;\n }\n }\n\n // Search result terms\n &__terms {\n margin: 0.5em 0;\n font-size: px2rem(12.8px);\n font-style: italic;\n }\n\n // Search term highlighting\n mark {\n color: var(--md-accent-fg-color);\n background-color: transparent;\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n flex-shrink: 0;\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n\n // [print]: Hide sidebar\n @media print {\n display: none;\n }\n\n // [tablet -]: Show navigation as drawer\n @include break-to-device(tablet) {\n\n // Primary sidebar with navigation\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n display: block;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Show sidebar when drawer is active\n [data-md-toggle=\"drawer\"]:checked ~ .md-container & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Stretch scroll wrapper for primary sidebar\n .md-sidebar__scrollwrap {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n overflow: hidden;\n }\n }\n }\n\n // [screen +]: Show navigation as sidebar\n @include break-from-device(screen) {\n height: 0;\n\n // [no-js]: Switch to native sticky behavior\n .no-js & {\n height: auto;\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents as sidebar\n @include break-from-device(tablet landscape) {\n height: 0;\n\n // [no-js]: Switch to native sticky behavior\n .no-js & {\n height: auto;\n }\n\n // Sidebar is visible\n &:not([hidden]) {\n display: block;\n }\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Sidebar scroll wrapper\n &__scrollwrap {\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we disable scroll snapping until this is resolved (#1667).\n // scroll-snap-type: y mandatory;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Sidebar scroll wrapper on hover\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n\n// [tablet -]: Show overlay on active drawer\n@include break-to-device(tablet) {\n\n // Sidebar overlay\n .md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Show overlay when drawer is active\n [data-md-toggle=\"drawer\"]:checked ~ & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Keyframes\n// ----------------------------------------------------------------------------\n\n// Show repository facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show repository fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Repository information\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Repository information on focus/hover\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Repository icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Adjust spacing if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Repository facts\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Repository fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Navigation tabs\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background-color 250ms;\n\n // [print]: Hide tabs\n @media print {\n display: none;\n }\n\n // [tablet -]: Hide tabs\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Tabs in hidden state, i.e. when scrolling down\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n }\n\n // Navigation tabs list\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // Navigation tabs item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Navigation tabs link - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n // Hack: save a repaint when tabs are appearing on scrolling up\n backface-visibility: hidden;\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Active link and link on focus/hover\n &--active,\n &:focus,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs[data-md-state=\"hidden\"] & {\n transform: translateY(50%);\n opacity: 0;\n transition:\n transform 0ms 100ms,\n opacity 100ms;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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/// Admonition flavours\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n --md-admonition-icon--#{nth($names, 1)}:\n svg-load(\"@mdi/svg/svg/#{nth($props, 1)}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition\n .admonition {\n margin: px2em(20px, 12.8px) 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: px2rem(12.8px);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.05);\n\n // [print]: Omit shadow as it may lead to rendering errors\n @media print {\n box-shadow: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Adjust spacing for nested admonitions\n .admonition {\n margin: 1em 0;\n }\n\n // Adjust spacing for contained table wrappers\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Adjust spacing for contained tables\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n\n // Adjust spacing for single-child tabbed block container\n > .tabbed-set:only-child {\n margin-top: 0;\n }\n\n // Adjust spacing on last child\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px) 0 px2rem(-16px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n border-left: px2rem(4px) solid $clr-blue-a200;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin: 0 px2rem(-16px) 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Adjust spacing for title-only admonitions\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Admonition icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Omit background on inline code blocks, as they don't go well with the\n // pastelly tones applied to admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n\n // Adjust spacing on last tabbed block container child - if the tabbed\n // block container is the sole child, it looks better to omit the margin\n + .tabbed-set:last-child {\n margin-top: 0;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Admonition flavour\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Admonition flavour title\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n border-color: $tint;\n\n // Admonition icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n mask-repeat: no-repeat;\n mask-size: contain;\n }\n }\n\n // Define synonyms for flavours\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// Name: UI Color Palette\n// Description: The color palette of material design.\n// Version: 2.3.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-color\n//\n// twitter: @mrmlnc\n//\n// ==========================================================================\n\n\n//\n// List of base colors\n//\n\n// $clr-red\n// $clr-pink\n// $clr-purple\n// $clr-deep-purple\n// $clr-indigo\n// $clr-blue\n// $clr-light-blue\n// $clr-cyan\n// $clr-teal\n// $clr-green\n// $clr-light-green\n// $clr-lime\n// $clr-yellow\n// $clr-amber\n// $clr-orange\n// $clr-deep-orange\n// $clr-brown\n// $clr-grey\n// $clr-blue-grey\n// $clr-black\n// $clr-white\n\n\n//\n// Red\n//\n\n$clr-red-list: (\n \"base\": #f44336,\n \"50\": #ffebee,\n \"100\": #ffcdd2,\n \"200\": #ef9a9a,\n \"300\": #e57373,\n \"400\": #ef5350,\n \"500\": #f44336,\n \"600\": #e53935,\n \"700\": #d32f2f,\n \"800\": #c62828,\n \"900\": #b71c1c,\n \"a100\": #ff8a80,\n \"a200\": #ff5252,\n \"a400\": #ff1744,\n \"a700\": #d50000\n);\n\n$clr-red: map-get($clr-red-list, \"base\");\n\n$clr-red-50: map-get($clr-red-list, \"50\");\n$clr-red-100: map-get($clr-red-list, \"100\");\n$clr-red-200: map-get($clr-red-list, \"200\");\n$clr-red-300: map-get($clr-red-list, \"300\");\n$clr-red-400: map-get($clr-red-list, \"400\");\n$clr-red-500: map-get($clr-red-list, \"500\");\n$clr-red-600: map-get($clr-red-list, \"600\");\n$clr-red-700: map-get($clr-red-list, \"700\");\n$clr-red-800: map-get($clr-red-list, \"800\");\n$clr-red-900: map-get($clr-red-list, \"900\");\n$clr-red-a100: map-get($clr-red-list, \"a100\");\n$clr-red-a200: map-get($clr-red-list, \"a200\");\n$clr-red-a400: map-get($clr-red-list, \"a400\");\n$clr-red-a700: map-get($clr-red-list, \"a700\");\n\n\n//\n// Pink\n//\n\n$clr-pink-list: (\n \"base\": #e91e63,\n \"50\": #fce4ec,\n \"100\": #f8bbd0,\n \"200\": #f48fb1,\n \"300\": #f06292,\n \"400\": #ec407a,\n \"500\": #e91e63,\n \"600\": #d81b60,\n \"700\": #c2185b,\n \"800\": #ad1457,\n \"900\": #880e4f,\n \"a100\": #ff80ab,\n \"a200\": #ff4081,\n \"a400\": #f50057,\n \"a700\": #c51162\n);\n\n$clr-pink: map-get($clr-pink-list, \"base\");\n\n$clr-pink-50: map-get($clr-pink-list, \"50\");\n$clr-pink-100: map-get($clr-pink-list, \"100\");\n$clr-pink-200: map-get($clr-pink-list, \"200\");\n$clr-pink-300: map-get($clr-pink-list, \"300\");\n$clr-pink-400: map-get($clr-pink-list, \"400\");\n$clr-pink-500: map-get($clr-pink-list, \"500\");\n$clr-pink-600: map-get($clr-pink-list, \"600\");\n$clr-pink-700: map-get($clr-pink-list, \"700\");\n$clr-pink-800: map-get($clr-pink-list, \"800\");\n$clr-pink-900: map-get($clr-pink-list, \"900\");\n$clr-pink-a100: map-get($clr-pink-list, \"a100\");\n$clr-pink-a200: map-get($clr-pink-list, \"a200\");\n$clr-pink-a400: map-get($clr-pink-list, \"a400\");\n$clr-pink-a700: map-get($clr-pink-list, \"a700\");\n\n\n//\n// Purple\n//\n\n$clr-purple-list: (\n \"base\": #9c27b0,\n \"50\": #f3e5f5,\n \"100\": #e1bee7,\n \"200\": #ce93d8,\n \"300\": #ba68c8,\n \"400\": #ab47bc,\n \"500\": #9c27b0,\n \"600\": #8e24aa,\n \"700\": #7b1fa2,\n \"800\": #6a1b9a,\n \"900\": #4a148c,\n \"a100\": #ea80fc,\n \"a200\": #e040fb,\n \"a400\": #d500f9,\n \"a700\": #aa00ff\n);\n\n$clr-purple: map-get($clr-purple-list, \"base\");\n\n$clr-purple-50: map-get($clr-purple-list, \"50\");\n$clr-purple-100: map-get($clr-purple-list, \"100\");\n$clr-purple-200: map-get($clr-purple-list, \"200\");\n$clr-purple-300: map-get($clr-purple-list, \"300\");\n$clr-purple-400: map-get($clr-purple-list, \"400\");\n$clr-purple-500: map-get($clr-purple-list, \"500\");\n$clr-purple-600: map-get($clr-purple-list, \"600\");\n$clr-purple-700: map-get($clr-purple-list, \"700\");\n$clr-purple-800: map-get($clr-purple-list, \"800\");\n$clr-purple-900: map-get($clr-purple-list, \"900\");\n$clr-purple-a100: map-get($clr-purple-list, \"a100\");\n$clr-purple-a200: map-get($clr-purple-list, \"a200\");\n$clr-purple-a400: map-get($clr-purple-list, \"a400\");\n$clr-purple-a700: map-get($clr-purple-list, \"a700\");\n\n\n//\n// Deep purple\n//\n\n$clr-deep-purple-list: (\n \"base\": #673ab7,\n \"50\": #ede7f6,\n \"100\": #d1c4e9,\n \"200\": #b39ddb,\n \"300\": #9575cd,\n \"400\": #7e57c2,\n \"500\": #673ab7,\n \"600\": #5e35b1,\n \"700\": #512da8,\n \"800\": #4527a0,\n \"900\": #311b92,\n \"a100\": #b388ff,\n \"a200\": #7c4dff,\n \"a400\": #651fff,\n \"a700\": #6200ea\n);\n\n$clr-deep-purple: map-get($clr-deep-purple-list, \"base\");\n\n$clr-deep-purple-50: map-get($clr-deep-purple-list, \"50\");\n$clr-deep-purple-100: map-get($clr-deep-purple-list, \"100\");\n$clr-deep-purple-200: map-get($clr-deep-purple-list, \"200\");\n$clr-deep-purple-300: map-get($clr-deep-purple-list, \"300\");\n$clr-deep-purple-400: map-get($clr-deep-purple-list, \"400\");\n$clr-deep-purple-500: map-get($clr-deep-purple-list, \"500\");\n$clr-deep-purple-600: map-get($clr-deep-purple-list, \"600\");\n$clr-deep-purple-700: map-get($clr-deep-purple-list, \"700\");\n$clr-deep-purple-800: map-get($clr-deep-purple-list, \"800\");\n$clr-deep-purple-900: map-get($clr-deep-purple-list, \"900\");\n$clr-deep-purple-a100: map-get($clr-deep-purple-list, \"a100\");\n$clr-deep-purple-a200: map-get($clr-deep-purple-list, \"a200\");\n$clr-deep-purple-a400: map-get($clr-deep-purple-list, \"a400\");\n$clr-deep-purple-a700: map-get($clr-deep-purple-list, \"a700\");\n\n\n//\n// Indigo\n//\n\n$clr-indigo-list: (\n \"base\": #3f51b5,\n \"50\": #e8eaf6,\n \"100\": #c5cae9,\n \"200\": #9fa8da,\n \"300\": #7986cb,\n \"400\": #5c6bc0,\n \"500\": #3f51b5,\n \"600\": #3949ab,\n \"700\": #303f9f,\n \"800\": #283593,\n \"900\": #1a237e,\n \"a100\": #8c9eff,\n \"a200\": #536dfe,\n \"a400\": #3d5afe,\n \"a700\": #304ffe\n);\n\n$clr-indigo: map-get($clr-indigo-list, \"base\");\n\n$clr-indigo-50: map-get($clr-indigo-list, \"50\");\n$clr-indigo-100: map-get($clr-indigo-list, \"100\");\n$clr-indigo-200: map-get($clr-indigo-list, \"200\");\n$clr-indigo-300: map-get($clr-indigo-list, \"300\");\n$clr-indigo-400: map-get($clr-indigo-list, \"400\");\n$clr-indigo-500: map-get($clr-indigo-list, \"500\");\n$clr-indigo-600: map-get($clr-indigo-list, \"600\");\n$clr-indigo-700: map-get($clr-indigo-list, \"700\");\n$clr-indigo-800: map-get($clr-indigo-list, \"800\");\n$clr-indigo-900: map-get($clr-indigo-list, \"900\");\n$clr-indigo-a100: map-get($clr-indigo-list, \"a100\");\n$clr-indigo-a200: map-get($clr-indigo-list, \"a200\");\n$clr-indigo-a400: map-get($clr-indigo-list, \"a400\");\n$clr-indigo-a700: map-get($clr-indigo-list, \"a700\");\n\n\n//\n// Blue\n//\n\n$clr-blue-list: (\n \"base\": #2196f3,\n \"50\": #e3f2fd,\n \"100\": #bbdefb,\n \"200\": #90caf9,\n \"300\": #64b5f6,\n \"400\": #42a5f5,\n \"500\": #2196f3,\n \"600\": #1e88e5,\n \"700\": #1976d2,\n \"800\": #1565c0,\n \"900\": #0d47a1,\n \"a100\": #82b1ff,\n \"a200\": #448aff,\n \"a400\": #2979ff,\n \"a700\": #2962ff\n);\n\n$clr-blue: map-get($clr-blue-list, \"base\");\n\n$clr-blue-50: map-get($clr-blue-list, \"50\");\n$clr-blue-100: map-get($clr-blue-list, \"100\");\n$clr-blue-200: map-get($clr-blue-list, \"200\");\n$clr-blue-300: map-get($clr-blue-list, \"300\");\n$clr-blue-400: map-get($clr-blue-list, \"400\");\n$clr-blue-500: map-get($clr-blue-list, \"500\");\n$clr-blue-600: map-get($clr-blue-list, \"600\");\n$clr-blue-700: map-get($clr-blue-list, \"700\");\n$clr-blue-800: map-get($clr-blue-list, \"800\");\n$clr-blue-900: map-get($clr-blue-list, \"900\");\n$clr-blue-a100: map-get($clr-blue-list, \"a100\");\n$clr-blue-a200: map-get($clr-blue-list, \"a200\");\n$clr-blue-a400: map-get($clr-blue-list, \"a400\");\n$clr-blue-a700: map-get($clr-blue-list, \"a700\");\n\n\n//\n// Light Blue\n//\n\n$clr-light-blue-list: (\n \"base\": #03a9f4,\n \"50\": #e1f5fe,\n \"100\": #b3e5fc,\n \"200\": #81d4fa,\n \"300\": #4fc3f7,\n \"400\": #29b6f6,\n \"500\": #03a9f4,\n \"600\": #039be5,\n \"700\": #0288d1,\n \"800\": #0277bd,\n \"900\": #01579b,\n \"a100\": #80d8ff,\n \"a200\": #40c4ff,\n \"a400\": #00b0ff,\n \"a700\": #0091ea\n);\n\n$clr-light-blue: map-get($clr-light-blue-list, \"base\");\n\n$clr-light-blue-50: map-get($clr-light-blue-list, \"50\");\n$clr-light-blue-100: map-get($clr-light-blue-list, \"100\");\n$clr-light-blue-200: map-get($clr-light-blue-list, \"200\");\n$clr-light-blue-300: map-get($clr-light-blue-list, \"300\");\n$clr-light-blue-400: map-get($clr-light-blue-list, \"400\");\n$clr-light-blue-500: map-get($clr-light-blue-list, \"500\");\n$clr-light-blue-600: map-get($clr-light-blue-list, \"600\");\n$clr-light-blue-700: map-get($clr-light-blue-list, \"700\");\n$clr-light-blue-800: map-get($clr-light-blue-list, \"800\");\n$clr-light-blue-900: map-get($clr-light-blue-list, \"900\");\n$clr-light-blue-a100: map-get($clr-light-blue-list, \"a100\");\n$clr-light-blue-a200: map-get($clr-light-blue-list, \"a200\");\n$clr-light-blue-a400: map-get($clr-light-blue-list, \"a400\");\n$clr-light-blue-a700: map-get($clr-light-blue-list, \"a700\");\n\n\n//\n// Cyan\n//\n\n$clr-cyan-list: (\n \"base\": #00bcd4,\n \"50\": #e0f7fa,\n \"100\": #b2ebf2,\n \"200\": #80deea,\n \"300\": #4dd0e1,\n \"400\": #26c6da,\n \"500\": #00bcd4,\n \"600\": #00acc1,\n \"700\": #0097a7,\n \"800\": #00838f,\n \"900\": #006064,\n \"a100\": #84ffff,\n \"a200\": #18ffff,\n \"a400\": #00e5ff,\n \"a700\": #00b8d4\n);\n\n$clr-cyan: map-get($clr-cyan-list, \"base\");\n\n$clr-cyan-50: map-get($clr-cyan-list, \"50\");\n$clr-cyan-100: map-get($clr-cyan-list, \"100\");\n$clr-cyan-200: map-get($clr-cyan-list, \"200\");\n$clr-cyan-300: map-get($clr-cyan-list, \"300\");\n$clr-cyan-400: map-get($clr-cyan-list, \"400\");\n$clr-cyan-500: map-get($clr-cyan-list, \"500\");\n$clr-cyan-600: map-get($clr-cyan-list, \"600\");\n$clr-cyan-700: map-get($clr-cyan-list, \"700\");\n$clr-cyan-800: map-get($clr-cyan-list, \"800\");\n$clr-cyan-900: map-get($clr-cyan-list, \"900\");\n$clr-cyan-a100: map-get($clr-cyan-list, \"a100\");\n$clr-cyan-a200: map-get($clr-cyan-list, \"a200\");\n$clr-cyan-a400: map-get($clr-cyan-list, \"a400\");\n$clr-cyan-a700: map-get($clr-cyan-list, \"a700\");\n\n\n//\n// Teal\n//\n\n$clr-teal-list: (\n \"base\": #009688,\n \"50\": #e0f2f1,\n \"100\": #b2dfdb,\n \"200\": #80cbc4,\n \"300\": #4db6ac,\n \"400\": #26a69a,\n \"500\": #009688,\n \"600\": #00897b,\n \"700\": #00796b,\n \"800\": #00695c,\n \"900\": #004d40,\n \"a100\": #a7ffeb,\n \"a200\": #64ffda,\n \"a400\": #1de9b6,\n \"a700\": #00bfa5\n);\n\n$clr-teal: map-get($clr-teal-list, \"base\");\n\n$clr-teal-50: map-get($clr-teal-list, \"50\");\n$clr-teal-100: map-get($clr-teal-list, \"100\");\n$clr-teal-200: map-get($clr-teal-list, \"200\");\n$clr-teal-300: map-get($clr-teal-list, \"300\");\n$clr-teal-400: map-get($clr-teal-list, \"400\");\n$clr-teal-500: map-get($clr-teal-list, \"500\");\n$clr-teal-600: map-get($clr-teal-list, \"600\");\n$clr-teal-700: map-get($clr-teal-list, \"700\");\n$clr-teal-800: map-get($clr-teal-list, \"800\");\n$clr-teal-900: map-get($clr-teal-list, \"900\");\n$clr-teal-a100: map-get($clr-teal-list, \"a100\");\n$clr-teal-a200: map-get($clr-teal-list, \"a200\");\n$clr-teal-a400: map-get($clr-teal-list, \"a400\");\n$clr-teal-a700: map-get($clr-teal-list, \"a700\");\n\n\n//\n// Green\n//\n\n$clr-green-list: (\n \"base\": #4caf50,\n \"50\": #e8f5e9,\n \"100\": #c8e6c9,\n \"200\": #a5d6a7,\n \"300\": #81c784,\n \"400\": #66bb6a,\n \"500\": #4caf50,\n \"600\": #43a047,\n \"700\": #388e3c,\n \"800\": #2e7d32,\n \"900\": #1b5e20,\n \"a100\": #b9f6ca,\n \"a200\": #69f0ae,\n \"a400\": #00e676,\n \"a700\": #00c853\n);\n\n$clr-green: map-get($clr-green-list, \"base\");\n\n$clr-green-50: map-get($clr-green-list, \"50\");\n$clr-green-100: map-get($clr-green-list, \"100\");\n$clr-green-200: map-get($clr-green-list, \"200\");\n$clr-green-300: map-get($clr-green-list, \"300\");\n$clr-green-400: map-get($clr-green-list, \"400\");\n$clr-green-500: map-get($clr-green-list, \"500\");\n$clr-green-600: map-get($clr-green-list, \"600\");\n$clr-green-700: map-get($clr-green-list, \"700\");\n$clr-green-800: map-get($clr-green-list, \"800\");\n$clr-green-900: map-get($clr-green-list, \"900\");\n$clr-green-a100: map-get($clr-green-list, \"a100\");\n$clr-green-a200: map-get($clr-green-list, \"a200\");\n$clr-green-a400: map-get($clr-green-list, \"a400\");\n$clr-green-a700: map-get($clr-green-list, \"a700\");\n\n\n//\n// Light green\n//\n\n$clr-light-green-list: (\n \"base\": #8bc34a,\n \"50\": #f1f8e9,\n \"100\": #dcedc8,\n \"200\": #c5e1a5,\n \"300\": #aed581,\n \"400\": #9ccc65,\n \"500\": #8bc34a,\n \"600\": #7cb342,\n \"700\": #689f38,\n \"800\": #558b2f,\n \"900\": #33691e,\n \"a100\": #ccff90,\n \"a200\": #b2ff59,\n \"a400\": #76ff03,\n \"a700\": #64dd17\n);\n\n$clr-light-green: map-get($clr-light-green-list, \"base\");\n\n$clr-light-green-50: map-get($clr-light-green-list, \"50\");\n$clr-light-green-100: map-get($clr-light-green-list, \"100\");\n$clr-light-green-200: map-get($clr-light-green-list, \"200\");\n$clr-light-green-300: map-get($clr-light-green-list, \"300\");\n$clr-light-green-400: map-get($clr-light-green-list, \"400\");\n$clr-light-green-500: map-get($clr-light-green-list, \"500\");\n$clr-light-green-600: map-get($clr-light-green-list, \"600\");\n$clr-light-green-700: map-get($clr-light-green-list, \"700\");\n$clr-light-green-800: map-get($clr-light-green-list, \"800\");\n$clr-light-green-900: map-get($clr-light-green-list, \"900\");\n$clr-light-green-a100: map-get($clr-light-green-list, \"a100\");\n$clr-light-green-a200: map-get($clr-light-green-list, \"a200\");\n$clr-light-green-a400: map-get($clr-light-green-list, \"a400\");\n$clr-light-green-a700: map-get($clr-light-green-list, \"a700\");\n\n\n//\n// Lime\n//\n\n$clr-lime-list: (\n \"base\": #cddc39,\n \"50\": #f9fbe7,\n \"100\": #f0f4c3,\n \"200\": #e6ee9c,\n \"300\": #dce775,\n \"400\": #d4e157,\n \"500\": #cddc39,\n \"600\": #c0ca33,\n \"700\": #afb42b,\n \"800\": #9e9d24,\n \"900\": #827717,\n \"a100\": #f4ff81,\n \"a200\": #eeff41,\n \"a400\": #c6ff00,\n \"a700\": #aeea00\n);\n\n$clr-lime: map-get($clr-lime-list, \"base\");\n\n$clr-lime-50: map-get($clr-lime-list, \"50\");\n$clr-lime-100: map-get($clr-lime-list, \"100\");\n$clr-lime-200: map-get($clr-lime-list, \"200\");\n$clr-lime-300: map-get($clr-lime-list, \"300\");\n$clr-lime-400: map-get($clr-lime-list, \"400\");\n$clr-lime-500: map-get($clr-lime-list, \"500\");\n$clr-lime-600: map-get($clr-lime-list, \"600\");\n$clr-lime-700: map-get($clr-lime-list, \"700\");\n$clr-lime-800: map-get($clr-lime-list, \"800\");\n$clr-lime-900: map-get($clr-lime-list, \"900\");\n$clr-lime-a100: map-get($clr-lime-list, \"a100\");\n$clr-lime-a200: map-get($clr-lime-list, \"a200\");\n$clr-lime-a400: map-get($clr-lime-list, \"a400\");\n$clr-lime-a700: map-get($clr-lime-list, \"a700\");\n\n\n//\n// Yellow\n//\n\n$clr-yellow-list: (\n \"base\": #ffeb3b,\n \"50\": #fffde7,\n \"100\": #fff9c4,\n \"200\": #fff59d,\n \"300\": #fff176,\n \"400\": #ffee58,\n \"500\": #ffeb3b,\n \"600\": #fdd835,\n \"700\": #fbc02d,\n \"800\": #f9a825,\n \"900\": #f57f17,\n \"a100\": #ffff8d,\n \"a200\": #ffff00,\n \"a400\": #ffea00,\n \"a700\": #ffd600\n);\n\n$clr-yellow: map-get($clr-yellow-list, \"base\");\n\n$clr-yellow-50: map-get($clr-yellow-list, \"50\");\n$clr-yellow-100: map-get($clr-yellow-list, \"100\");\n$clr-yellow-200: map-get($clr-yellow-list, \"200\");\n$clr-yellow-300: map-get($clr-yellow-list, \"300\");\n$clr-yellow-400: map-get($clr-yellow-list, \"400\");\n$clr-yellow-500: map-get($clr-yellow-list, \"500\");\n$clr-yellow-600: map-get($clr-yellow-list, \"600\");\n$clr-yellow-700: map-get($clr-yellow-list, \"700\");\n$clr-yellow-800: map-get($clr-yellow-list, \"800\");\n$clr-yellow-900: map-get($clr-yellow-list, \"900\");\n$clr-yellow-a100: map-get($clr-yellow-list, \"a100\");\n$clr-yellow-a200: map-get($clr-yellow-list, \"a200\");\n$clr-yellow-a400: map-get($clr-yellow-list, \"a400\");\n$clr-yellow-a700: map-get($clr-yellow-list, \"a700\");\n\n\n//\n// amber\n//\n\n$clr-amber-list: (\n \"base\": #ffc107,\n \"50\": #fff8e1,\n \"100\": #ffecb3,\n \"200\": #ffe082,\n \"300\": #ffd54f,\n \"400\": #ffca28,\n \"500\": #ffc107,\n \"600\": #ffb300,\n \"700\": #ffa000,\n \"800\": #ff8f00,\n \"900\": #ff6f00,\n \"a100\": #ffe57f,\n \"a200\": #ffd740,\n \"a400\": #ffc400,\n \"a700\": #ffab00\n);\n\n$clr-amber: map-get($clr-amber-list, \"base\");\n\n$clr-amber-50: map-get($clr-amber-list, \"50\");\n$clr-amber-100: map-get($clr-amber-list, \"100\");\n$clr-amber-200: map-get($clr-amber-list, \"200\");\n$clr-amber-300: map-get($clr-amber-list, \"300\");\n$clr-amber-400: map-get($clr-amber-list, \"400\");\n$clr-amber-500: map-get($clr-amber-list, \"500\");\n$clr-amber-600: map-get($clr-amber-list, \"600\");\n$clr-amber-700: map-get($clr-amber-list, \"700\");\n$clr-amber-800: map-get($clr-amber-list, \"800\");\n$clr-amber-900: map-get($clr-amber-list, \"900\");\n$clr-amber-a100: map-get($clr-amber-list, \"a100\");\n$clr-amber-a200: map-get($clr-amber-list, \"a200\");\n$clr-amber-a400: map-get($clr-amber-list, \"a400\");\n$clr-amber-a700: map-get($clr-amber-list, \"a700\");\n\n\n//\n// Orange\n//\n\n$clr-orange-list: (\n \"base\": #ff9800,\n \"50\": #fff3e0,\n \"100\": #ffe0b2,\n \"200\": #ffcc80,\n \"300\": #ffb74d,\n \"400\": #ffa726,\n \"500\": #ff9800,\n \"600\": #fb8c00,\n \"700\": #f57c00,\n \"800\": #ef6c00,\n \"900\": #e65100,\n \"a100\": #ffd180,\n \"a200\": #ffab40,\n \"a400\": #ff9100,\n \"a700\": #ff6d00\n);\n\n$clr-orange: map-get($clr-orange-list, \"base\");\n\n$clr-orange-50: map-get($clr-orange-list, \"50\");\n$clr-orange-100: map-get($clr-orange-list, \"100\");\n$clr-orange-200: map-get($clr-orange-list, \"200\");\n$clr-orange-300: map-get($clr-orange-list, \"300\");\n$clr-orange-400: map-get($clr-orange-list, \"400\");\n$clr-orange-500: map-get($clr-orange-list, \"500\");\n$clr-orange-600: map-get($clr-orange-list, \"600\");\n$clr-orange-700: map-get($clr-orange-list, \"700\");\n$clr-orange-800: map-get($clr-orange-list, \"800\");\n$clr-orange-900: map-get($clr-orange-list, \"900\");\n$clr-orange-a100: map-get($clr-orange-list, \"a100\");\n$clr-orange-a200: map-get($clr-orange-list, \"a200\");\n$clr-orange-a400: map-get($clr-orange-list, \"a400\");\n$clr-orange-a700: map-get($clr-orange-list, \"a700\");\n\n\n//\n// Deep orange\n//\n\n$clr-deep-orange-list: (\n \"base\": #ff5722,\n \"50\": #fbe9e7,\n \"100\": #ffccbc,\n \"200\": #ffab91,\n \"300\": #ff8a65,\n \"400\": #ff7043,\n \"500\": #ff5722,\n \"600\": #f4511e,\n \"700\": #e64a19,\n \"800\": #d84315,\n \"900\": #bf360c,\n \"a100\": #ff9e80,\n \"a200\": #ff6e40,\n \"a400\": #ff3d00,\n \"a700\": #dd2c00\n);\n\n$clr-deep-orange: map-get($clr-deep-orange-list, \"base\");\n\n$clr-deep-orange-50: map-get($clr-deep-orange-list, \"50\");\n$clr-deep-orange-100: map-get($clr-deep-orange-list, \"100\");\n$clr-deep-orange-200: map-get($clr-deep-orange-list, \"200\");\n$clr-deep-orange-300: map-get($clr-deep-orange-list, \"300\");\n$clr-deep-orange-400: map-get($clr-deep-orange-list, \"400\");\n$clr-deep-orange-500: map-get($clr-deep-orange-list, \"500\");\n$clr-deep-orange-600: map-get($clr-deep-orange-list, \"600\");\n$clr-deep-orange-700: map-get($clr-deep-orange-list, \"700\");\n$clr-deep-orange-800: map-get($clr-deep-orange-list, \"800\");\n$clr-deep-orange-900: map-get($clr-deep-orange-list, \"900\");\n$clr-deep-orange-a100: map-get($clr-deep-orange-list, \"a100\");\n$clr-deep-orange-a200: map-get($clr-deep-orange-list, \"a200\");\n$clr-deep-orange-a400: map-get($clr-deep-orange-list, \"a400\");\n$clr-deep-orange-a700: map-get($clr-deep-orange-list, \"a700\");\n\n\n//\n// Brown\n//\n\n$clr-brown-list: (\n \"base\": #795548,\n \"50\": #efebe9,\n \"100\": #d7ccc8,\n \"200\": #bcaaa4,\n \"300\": #a1887f,\n \"400\": #8d6e63,\n \"500\": #795548,\n \"600\": #6d4c41,\n \"700\": #5d4037,\n \"800\": #4e342e,\n \"900\": #3e2723,\n);\n\n$clr-brown: map-get($clr-brown-list, \"base\");\n\n$clr-brown-50: map-get($clr-brown-list, \"50\");\n$clr-brown-100: map-get($clr-brown-list, \"100\");\n$clr-brown-200: map-get($clr-brown-list, \"200\");\n$clr-brown-300: map-get($clr-brown-list, \"300\");\n$clr-brown-400: map-get($clr-brown-list, \"400\");\n$clr-brown-500: map-get($clr-brown-list, \"500\");\n$clr-brown-600: map-get($clr-brown-list, \"600\");\n$clr-brown-700: map-get($clr-brown-list, \"700\");\n$clr-brown-800: map-get($clr-brown-list, \"800\");\n$clr-brown-900: map-get($clr-brown-list, \"900\");\n\n\n//\n// Grey\n//\n\n$clr-grey-list: (\n \"base\": #9e9e9e,\n \"50\": #fafafa,\n \"100\": #f5f5f5,\n \"200\": #eeeeee,\n \"300\": #e0e0e0,\n \"400\": #bdbdbd,\n \"500\": #9e9e9e,\n \"600\": #757575,\n \"700\": #616161,\n \"800\": #424242,\n \"900\": #212121,\n);\n\n$clr-grey: map-get($clr-grey-list, \"base\");\n\n$clr-grey-50: map-get($clr-grey-list, \"50\");\n$clr-grey-100: map-get($clr-grey-list, \"100\");\n$clr-grey-200: map-get($clr-grey-list, \"200\");\n$clr-grey-300: map-get($clr-grey-list, \"300\");\n$clr-grey-400: map-get($clr-grey-list, \"400\");\n$clr-grey-500: map-get($clr-grey-list, \"500\");\n$clr-grey-600: map-get($clr-grey-list, \"600\");\n$clr-grey-700: map-get($clr-grey-list, \"700\");\n$clr-grey-800: map-get($clr-grey-list, \"800\");\n$clr-grey-900: map-get($clr-grey-list, \"900\");\n\n\n//\n// Blue grey\n//\n\n$clr-blue-grey-list: (\n \"base\": #607d8b,\n \"50\": #eceff1,\n \"100\": #cfd8dc,\n \"200\": #b0bec5,\n \"300\": #90a4ae,\n \"400\": #78909c,\n \"500\": #607d8b,\n \"600\": #546e7a,\n \"700\": #455a64,\n \"800\": #37474f,\n \"900\": #263238,\n);\n\n$clr-blue-grey: map-get($clr-blue-grey-list, \"base\");\n\n$clr-blue-grey-50: map-get($clr-blue-grey-list, \"50\");\n$clr-blue-grey-100: map-get($clr-blue-grey-list, \"100\");\n$clr-blue-grey-200: map-get($clr-blue-grey-list, \"200\");\n$clr-blue-grey-300: map-get($clr-blue-grey-list, \"300\");\n$clr-blue-grey-400: map-get($clr-blue-grey-list, \"400\");\n$clr-blue-grey-500: map-get($clr-blue-grey-list, \"500\");\n$clr-blue-grey-600: map-get($clr-blue-grey-list, \"600\");\n$clr-blue-grey-700: map-get($clr-blue-grey-list, \"700\");\n$clr-blue-grey-800: map-get($clr-blue-grey-list, \"800\");\n$clr-blue-grey-900: map-get($clr-blue-grey-list, \"900\");\n\n\n//\n// Black\n//\n\n$clr-black-list: (\n \"base\": #000\n);\n\n$clr-black: map-get($clr-black-list, \"base\");\n\n\n//\n// White\n//\n\n$clr-white-list: (\n \"base\": #fff\n);\n\n$clr-white: map-get($clr-white-list, \"base\");\n\n\n//\n// List for all Colors for looping\n//\n\n$clr-list-all: (\n \"red\": $clr-red-list,\n \"pink\": $clr-pink-list,\n \"purple\": $clr-purple-list,\n \"deep-purple\": $clr-deep-purple-list,\n \"indigo\": $clr-indigo-list,\n \"blue\": $clr-blue-list,\n \"light-blue\": $clr-light-blue-list,\n \"cyan\": $clr-cyan-list,\n \"teal\": $clr-teal-list,\n \"green\": $clr-green-list,\n \"light-green\": $clr-light-green-list,\n \"lime\": $clr-lime-list,\n \"yellow\": $clr-yellow-list,\n \"amber\": $clr-amber-list,\n \"orange\": $clr-orange-list,\n \"deep-orange\": $clr-deep-orange-list,\n \"brown\": $clr-brown-list,\n \"grey\": $clr-grey-list,\n \"blue-grey\": $clr-blue-grey-list,\n \"black\": $clr-black-list,\n \"white\": $clr-white-list\n);\n\n\n//\n// Typography\n//\n\n$clr-ui-display-4: $clr-grey-600;\n$clr-ui-display-3: $clr-grey-600;\n$clr-ui-display-2: $clr-grey-600;\n$clr-ui-display-1: $clr-grey-600;\n$clr-ui-headline: $clr-grey-900;\n$clr-ui-title: $clr-grey-900;\n$clr-ui-subhead-1: $clr-grey-900;\n$clr-ui-body-2: $clr-grey-900;\n$clr-ui-body-1: $clr-grey-900;\n$clr-ui-caption: $clr-grey-600;\n$clr-ui-menu: $clr-grey-900;\n$clr-ui-button: $clr-grey-900;\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Footnote reference\n [id^=\"fnref:\"]:target {\n scroll-margin-top: initial;\n margin-top: -1 * px2rem(48px + 24px - 4px);\n padding-top: px2rem(48px + 24px - 4px);\n }\n\n // Footnote\n [id^=\"fn:\"]:target {\n scroll-margin-top: initial;\n margin-top: -1 * px2rem(48px + 24px - 3px);\n padding-top: px2rem(48px + 24px - 3px);\n }\n\n // Footnote container\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: px2rem(12.8px);\n\n // Footnote list - omit left indentation\n ol {\n margin-left: 0;\n }\n\n // Footnote list item\n li {\n transition: color 125ms;\n\n // Darken color on target\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Show backreferences on footnote hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Adjust spacing on first child\n > :first-child {\n margin-top: 0;\n }\n }\n }\n\n // Footnote backreference\n .footnote-backref {\n display: inline-block;\n color: var(--md-typeset-a-color);\n // Hack: omit Unicode arrow for replacement with icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // [print]: Show footnote backreferences\n @media print {\n color: var(--md-typeset-a-color);\n transform: translateX(0);\n opacity: 1;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Adjust color on hover\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n // Footnote backreference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Headerlink\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n color: var(--md-default-fg-color--lighter);\n opacity: 0;\n transition:\n color 250ms,\n opacity 125ms;\n\n // [print]: Hide headerlinks\n @media print {\n display: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n }\n\n // Show headerlinks on parent hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n opacity: 1;\n transition:\n color 250ms,\n opacity 125ms;\n }\n\n // Adjust color on parent target or focus/hover\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // Adjust scroll offset for all elements with `id` attributes - general scroll\n // margin offset for anything that can be targeted. Browser support is pretty\n // decent by now, but Edge <79 and Safari (iOS and macOS) still don't support\n // it properly, so we settle with a cross-browser anchor correction solution.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Adjust scroll offset for headlines of level 1-3\n h1:target,\n h2:target,\n h3:target {\n scroll-margin-top: initial;\n\n // Anchor correction hack\n &::before {\n display: block;\n margin-top: -1 * px2rem(48px + 24px - 4px);\n padding-top: px2rem(48px + 24px - 4px);\n content: \"\";\n }\n }\n\n // Adjust scroll offset for headlines of level 4\n h4:target {\n scroll-margin-top: initial;\n\n // Anchor correction hack\n &::before {\n display: block;\n margin-top: -1 * px2rem(48px + 24px - 3px);\n padding-top: px2rem(48px + 24px - 3px);\n content: \"\";\n }\n }\n\n // Adjust scroll offset for headlines of level 5-6\n h5:target,\n h6:target {\n scroll-margin-top: initial;\n\n // Anchor correction hack\n &::before {\n display: block;\n margin-top: -1 * px2rem(48px + 24px);\n padding-top: px2rem(48px + 24px);\n content: \"\";\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Arithmatex container\n div.arithmatex {\n overflow: auto;\n\n // [mobile -]: Align with body copy\n @include break-to-device(mobile) {\n margin: 0 px2rem(-16px);\n }\n\n // Arithmatex content\n > * {\n width: min-content;\n // stylelint-disable-next-line declaration-no-important\n margin: 1em auto !important;\n padding: 0 px2rem(16px);\n touch-action: auto;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Deletion, addition or comment\n del.critic,\n ins.critic,\n .critic.comment {\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: var(--md-typeset-del-color);\n }\n\n // Addition\n ins.critic {\n background-color: var(--md-typeset-ins-color);\n }\n\n // Comment\n .critic.comment {\n color: var(--md-code-hl-comment-color);\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Critic block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Adjust spacing on first child\n > :first-child {\n margin-top: 0.5em;\n }\n\n // Adjust spacing on last child\n > :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n // Details title icon - rotate icon on transition to open state\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Adjust spacing for details in closed state\n &:not([open]) {\n padding-bottom: 0;\n box-shadow: none;\n\n // Hack: we cannot set `overflow: hidden` on the `details` element (which\n // is why we set it to `overflow: visible`, as the outline would not be\n // visible when focusing. Therefore, we must set the border radius on the\n // summary explicitly.\n > summary {\n border-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-left-radius: px2rem(2px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(44px) px2rem(8px) px2rem(36px);\n }\n\n // Hide outline for pointer devices\n &:not(.focus-visible) {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n\n // Hide native details marker\n &::marker,\n &::-webkit-details-marker {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Emoji and icon container\n .emojione,\n .twemoji,\n .gemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon - inlined via mkdocs-material-extensions\n svg {\n width: px2em(18px);\n max-height: 100%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Code block\n.highlight {\n .o, // Operator\n .ow { // Operator, word\n color: var(--md-code-hl-operator-color);\n }\n\n .p { // Punctuation\n color: var(--md-code-hl-punctuation-color);\n }\n\n .cpf, // Comment, preprocessor file\n .l, // Literal\n .s, // Literal, string\n .sb, // Literal, string backticks\n .sc, // Literal, string char\n .s2, // Literal, string double\n .si, // Literal, string interpol\n .s1, // Literal, string single\n .ss { // Literal, string symbol\n color: var(--md-code-hl-string-color);\n }\n\n .cp, // Comment, pre-processor\n .se, // Literal, string escape\n .sh, // Literal, string heredoc\n .sr, // Literal, string regex\n .sx { // Literal, string other\n color: var(--md-code-hl-special-color);\n }\n\n .m, // Number\n .mb, // Number, binary\n .mf, // Number, float\n .mh, // Number, hex\n .mi, // Number, integer\n .il, // Number, integer long\n .mo { // Number, octal\n color: var(--md-code-hl-number-color);\n }\n\n .k, // Keyword,\n .kd, // Keyword, declaration\n .kn, // Keyword, namespace\n .kp, // Keyword, pseudo\n .kr, // Keyword, reserved\n .kt { // Keyword, type\n color: var(--md-code-hl-keyword-color);\n }\n\n .kc, // Keyword, constant\n .n { // Name\n color: var(--md-code-hl-name-color);\n }\n\n .no, // Name, constant\n .nb, // Name, builtin\n .bp { // Name, builtin pseudo\n color: var(--md-code-hl-constant-color);\n }\n\n .nc, // Name, class\n .ne, // Name, exception\n .nf, // Name, function\n .nn { // Name, namespace\n color: var(--md-code-hl-function-color);\n }\n\n .nd, // Name, decorator\n .ni, // Name, entity\n .nl, // Name, label\n .nt { // Name, tag\n color: var(--md-code-hl-keyword-color);\n }\n\n .c, // Comment\n .cm, // Comment, multiline\n .c1, // Comment, single\n .ch, // Comment, shebang\n .cs, // Comment, special\n .sd { // Literal, string doc\n color: var(--md-code-hl-comment-color);\n }\n\n .na, // Name, attribute\n .nv, // Variable,\n .vc, // Variable, class\n .vg, // Variable, global\n .vi { // Variable, instance\n color: var(--md-code-hl-variable-color);\n }\n\n .ge, // Generic, emph\n .gr, // Generic, error\n .gh, // Generic, heading\n .go, // Generic, output\n .gp, // Generic, prompt\n .gs, // Generic, strong\n .gu, // Generic, subheading\n .gt { // Generic, traceback\n color: var(--md-code-hl-generic-color);\n }\n\n .gd, // Diff, delete\n .gi { // Diff, insert\n margin: 0 px2em(-2px);\n padding: 0 px2em(2px);\n border-radius: px2rem(2px);\n }\n\n .gd { // Diff, delete\n background-color: var(--md-typeset-del-color);\n }\n\n .gi { // Diff, insert\n background-color: var(--md-typeset-ins-color);\n }\n\n // Highlighted line\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: var(--md-code-hl-color);\n }\n\n // Code block line numbers (inline)\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--light);\n background-color: var(--md-code-bg-color);\n box-shadow: px2rem(-1px) 0 var(--md-default-fg-color--lightest) inset;\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Code block with line numbers\n.highlighttable {\n display: flow-root;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to omit the margin\n // because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Code block line numbers - disable user selection, so code can be easily\n // copied without accidentally also copying the line numbers\n .linenos {\n padding: px2em(10.5px, 13.6px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Code block line numbers container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: px2rem(-1px) 0 var(--md-default-fg-color--lightest) inset;\n\n // Adjust colors and alignment\n pre {\n color: var(--md-default-fg-color--light);\n text-align: right;\n }\n }\n\n // Code block container - stretch to remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Code block with line numbers\n .highlighttable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Omit rounded borders on contained code block\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Align with body copy\n @include break-to-device(mobile) {\n\n // Top-level code block\n > .highlight {\n margin: 1em px2rem(-16px);\n\n // Highlighted line\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Omit rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Top-level code block with line numbers\n > .highlighttable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Highlighted line\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Keyboard key\n .keys {\n\n // Keyboard key icon\n kbd::before,\n kbd::after {\n position: relative;\n margin: 0;\n color: inherit;\n -moz-osx-font-smoothing: initial;\n -webkit-font-smoothing: initial;\n }\n\n // Surrounding text\n span {\n padding: 0 px2em(3.2px);\n color: var(--md-default-fg-color--light);\n }\n\n // Define keyboard keys with left icon\n @each $name, $code in (\n\n // Modifiers\n \"alt\": \"\\2387\",\n \"left-alt\": \"\\2387\",\n \"right-alt\": \"\\2387\",\n \"command\": \"\\2318\",\n \"left-command\": \"\\2318\",\n \"right-command\": \"\\2318\",\n \"control\": \"\\2303\",\n \"left-control\": \"\\2303\",\n \"right-control\": \"\\2303\",\n \"meta\": \"\\25C6\",\n \"left-meta\": \"\\25C6\",\n \"right-meta\": \"\\25C6\",\n \"option\": \"\\2325\",\n \"left-option\": \"\\2325\",\n \"right-option\": \"\\2325\",\n \"shift\": \"\\21E7\",\n \"left-shift\": \"\\21E7\",\n \"right-shift\": \"\\21E7\",\n \"super\": \"\\2756\",\n \"left-super\": \"\\2756\",\n \"right-super\": \"\\2756\",\n \"windows\": \"\\229E\",\n \"left-windows\": \"\\229E\",\n \"right-windows\": \"\\229E\",\n\n // Other keys\n \"arrow-down\": \"\\2193\",\n \"arrow-left\": \"\\2190\",\n \"arrow-right\": \"\\2192\",\n \"arrow-up\": \"\\2191\",\n \"backspace\": \"\\232B\",\n \"backtab\": \"\\21E4\",\n \"caps-lock\": \"\\21EA\",\n \"clear\": \"\\2327\",\n \"context-menu\": \"\\2630\",\n \"delete\": \"\\2326\",\n \"eject\": \"\\23CF\",\n \"end\": \"\\2913\",\n \"escape\": \"\\238B\",\n \"home\": \"\\2912\",\n \"insert\": \"\\2380\",\n \"page-down\": \"\\21DF\",\n \"page-up\": \"\\21DE\",\n \"print-screen\": \"\\2399\"\n ) {\n .key-#{$name} {\n &::before {\n padding-right: px2em(6.4px);\n content: $code;\n }\n }\n }\n\n // Define keyboard keys with right icon\n @each $name, $code in (\n \"tab\": \"\\21E5\",\n \"num-enter\": \"\\2324\",\n \"enter\": \"\\23CE\"\n ) {\n .key-#{$name} {\n &::after {\n padding-left: px2em(6.4px);\n content: $code;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // [print]: Show all tabs (even hidden ones) when printing\n @media print {\n display: block;\n order: initial;\n }\n\n // Code block is the only child of a tab - remove margin and mirror\n // previous (now deprecated) SuperFences code block grouping behavior\n > pre:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Omit rounded borders\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Adjust spacing for nested tab\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Tab radio button - the Tabbed extension will generate radio buttons with\n // labels, so tabs can be triggered without the necessity for JavaScript.\n // This is pretty cool, as it has great accessibility out-of-the box, so\n // we just hide the radio button and toggle the label color for indication.\n > input {\n position: absolute;\n width: 0;\n height: 0;\n opacity: 0;\n\n // Tab label for checked radio button\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n + .tabbed-content {\n display: block;\n }\n }\n\n // Tab label on focus\n &:focus + label {\n outline-style: auto;\n }\n\n // Hide outline for pointer devices\n &:not(.focus-visible) + label {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2em(12px, 12.8px) 1.25em px2em(10px, 12.8px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: px2rem(12.8px);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Tab label on hover\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-tasklist-icon:\n svg-load(\"@primer/octicons/build/svg/check-circle-fill-24.svg\");\n --md-tasklist-icon--checked:\n svg-load(\"@primer/octicons/build/svg/check-circle-fill-24.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Tasklist item\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Hide native checkbox, when custom classes are enabled\n .task-list-control [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n\n // Tasklist indicator in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Tasklist indicator in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/assets/stylesheets/palette.css b/material/assets/stylesheets/palette.css new file mode 100644 index 000000000..173042cac --- /dev/null +++ b/material/assets/stylesheets/palette.css @@ -0,0 +1,370 @@ +[data-md-color-accent=red] { + --md-accent-fg-color: hsla(348, 100%, 55%, 1); + --md-accent-fg-color--transparent: hsla(348, 100%, 55%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=pink] { + --md-accent-fg-color: hsla(339, 100%, 48%, 1); + --md-accent-fg-color--transparent: hsla(339, 100%, 48%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=purple] { + --md-accent-fg-color: hsla(291, 96%, 62%, 1); + --md-accent-fg-color--transparent: hsla(291, 96%, 62%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=deep-purple] { + --md-accent-fg-color: hsla(256, 100%, 65%, 1); + --md-accent-fg-color--transparent: hsla(256, 100%, 65%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=indigo] { + --md-accent-fg-color: hsla(231, 99%, 66%, 1); + --md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=blue] { + --md-accent-fg-color: hsla(218, 100%, 63%, 1); + --md-accent-fg-color--transparent: hsla(218, 100%, 63%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=light-blue] { + --md-accent-fg-color: hsla(203, 100%, 46%, 1); + --md-accent-fg-color--transparent: hsla(203, 100%, 46%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=cyan] { + --md-accent-fg-color: hsla(188, 100%, 42%, 1); + --md-accent-fg-color--transparent: hsla(188, 100%, 42%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=teal] { + --md-accent-fg-color: hsla(172, 100%, 37%, 1); + --md-accent-fg-color--transparent: hsla(172, 100%, 37%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=green] { + --md-accent-fg-color: hsla(145, 100%, 39%, 1); + --md-accent-fg-color--transparent: hsla(145, 100%, 39%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=light-green] { + --md-accent-fg-color: hsla(97, 81%, 48%, 1); + --md-accent-fg-color--transparent: hsla(97, 81%, 48%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-accent=lime] { + --md-accent-fg-color: hsla(75, 100%, 46%, 1); + --md-accent-fg-color--transparent: hsla(75, 100%, 46%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 0%, 0.87); + --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54); +} + +[data-md-color-accent=yellow] { + --md-accent-fg-color: hsla(50, 100%, 50%, 1); + --md-accent-fg-color--transparent: hsla(50, 100%, 50%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 0%, 0.87); + --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54); +} + +[data-md-color-accent=amber] { + --md-accent-fg-color: hsla(40, 100%, 50%, 1); + --md-accent-fg-color--transparent: hsla(40, 100%, 50%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 0%, 0.87); + --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54); +} + +[data-md-color-accent=orange] { + --md-accent-fg-color: hsla(34, 100%, 50%, 1); + --md-accent-fg-color--transparent: hsla(34, 100%, 50%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 0%, 0.87); + --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54); +} + +[data-md-color-accent=deep-orange] { + --md-accent-fg-color: hsla(14, 100%, 63%, 1); + --md-accent-fg-color--transparent: hsla(14, 100%, 63%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=red] { + --md-primary-fg-color: hsla(1, 83%, 63%, 1); + --md-primary-fg-color--light: hsla(0, 69%, 67%, 1); + --md-primary-fg-color--dark: hsla(1, 77%, 55%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=pink] { + --md-primary-fg-color: hsla(340, 82%, 52%, 1); + --md-primary-fg-color--light: hsla(340, 82%, 59%, 1); + --md-primary-fg-color--dark: hsla(336, 78%, 43%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=purple] { + --md-primary-fg-color: hsla(291, 47%, 51%, 1); + --md-primary-fg-color--light: hsla(291, 47%, 60%, 1); + --md-primary-fg-color--dark: hsla(287, 65%, 40%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=deep-purple] { + --md-primary-fg-color: hsla(262, 47%, 55%, 1); + --md-primary-fg-color--light: hsla(262, 47%, 63%, 1); + --md-primary-fg-color--dark: hsla(262, 52%, 47%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=indigo] { + --md-primary-fg-color: hsla(231, 48%, 48%, 1); + --md-primary-fg-color--light: hsla(231, 44%, 56%, 1); + --md-primary-fg-color--dark: hsla(232, 54%, 41%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=blue] { + --md-primary-fg-color: hsla(207, 90%, 54%, 1); + --md-primary-fg-color--light: hsla(207, 90%, 61%, 1); + --md-primary-fg-color--dark: hsla(210, 79%, 46%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=light-blue] { + --md-primary-fg-color: hsla(199, 98%, 48%, 1); + --md-primary-fg-color--light: hsla(199, 92%, 56%, 1); + --md-primary-fg-color--dark: hsla(201, 98%, 41%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=cyan] { + --md-primary-fg-color: hsla(187, 100%, 42%, 1); + --md-primary-fg-color--light: hsla(187, 71%, 50%, 1); + --md-primary-fg-color--dark: hsla(186, 100%, 33%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=teal] { + --md-primary-fg-color: hsla(174, 100%, 29%, 1); + --md-primary-fg-color--light: hsla(174, 63%, 40%, 1); + --md-primary-fg-color--dark: hsla(173, 100%, 24%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=green] { + --md-primary-fg-color: hsla(122, 39%, 49%, 1); + --md-primary-fg-color--light: hsla(123, 38%, 57%, 1); + --md-primary-fg-color--dark: hsla(123, 43%, 39%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=light-green] { + --md-primary-fg-color: hsla(88, 50%, 53%, 1); + --md-primary-fg-color--light: hsla(88, 50%, 60%, 1); + --md-primary-fg-color--dark: hsla(92, 48%, 42%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=lime] { + --md-primary-fg-color: hsla(66, 70%, 54%, 1); + --md-primary-fg-color--light: hsla(66, 70%, 61%, 1); + --md-primary-fg-color--dark: hsla(62, 61%, 44%, 1); + --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); + --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); +} + +[data-md-color-primary=yellow] { + --md-primary-fg-color: hsla(54, 100%, 62%, 1); + --md-primary-fg-color--light: hsla(54, 100%, 67%, 1); + --md-primary-fg-color--dark: hsla(43, 96%, 58%, 1); + --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); + --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); +} + +[data-md-color-primary=amber] { + --md-primary-fg-color: hsla(45, 100%, 51%, 1); + --md-primary-fg-color--light: hsla(45, 100%, 58%, 1); + --md-primary-fg-color--dark: hsla(38, 100%, 50%, 1); + --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); + --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); +} + +[data-md-color-primary=orange] { + --md-primary-fg-color: hsla(36, 100%, 57%, 1); + --md-primary-fg-color--light: hsla(36, 100%, 57%, 1); + --md-primary-fg-color--dark: hsla(33, 100%, 49%, 1); + --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); + --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); +} + +[data-md-color-primary=deep-orange] { + --md-primary-fg-color: hsla(14, 100%, 63%, 1); + --md-primary-fg-color--light: hsla(14, 100%, 70%, 1); + --md-primary-fg-color--dark: hsla(14, 91%, 54%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=brown] { + --md-primary-fg-color: hsla(16, 25%, 38%, 1); + --md-primary-fg-color--light: hsla(16, 18%, 47%, 1); + --md-primary-fg-color--dark: hsla(14, 26%, 29%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=grey] { + --md-primary-fg-color: hsla(0, 0%, 46%, 1); + --md-primary-fg-color--light: hsla(0, 0%, 62%, 1); + --md-primary-fg-color--dark: hsla(0, 0%, 38%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=blue-grey] { + --md-primary-fg-color: hsla(199, 18%, 40%, 1); + --md-primary-fg-color--light: hsla(200, 18%, 46%, 1); + --md-primary-fg-color--dark: hsla(199, 18%, 33%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); +} + +[data-md-color-primary=white] { + --md-primary-fg-color: hsla(0, 0%, 100%, 1); + --md-primary-fg-color--light: hsla(0, 0%, 100%, 0.7); + --md-primary-fg-color--dark: hsla(0, 0%, 0%, 0.07); + --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); + --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); + --md-typeset-a-color: hsla(231, 48%, 48%, 1); +} +@media screen and (min-width: 60em) { + [data-md-color-primary=white] .md-search__input { + background-color: rgba(0, 0, 0, 0.07); + } + [data-md-color-primary=white] .md-search__input + .md-search__icon { + color: rgba(0, 0, 0, 0.87); + } + [data-md-color-primary=white] .md-search__input::-webkit-input-placeholder { + color: rgba(0, 0, 0, 0.54); + } + [data-md-color-primary=white] .md-search__input::-moz-placeholder { + color: rgba(0, 0, 0, 0.54); + } + [data-md-color-primary=white] .md-search__input::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.54); + } + [data-md-color-primary=white] .md-search__input::placeholder { + color: rgba(0, 0, 0, 0.54); + } + [data-md-color-primary=white] .md-search__input:hover { + background-color: rgba(0, 0, 0, 0.32); + } +} +@media screen and (min-width: 76.25em) { + [data-md-color-primary=white] .md-tabs { + border-bottom: 0.05rem solid rgba(0, 0, 0, 0.07); + } +} + +[data-md-color-primary=black] { + --md-primary-fg-color: hsla(0, 0%, 0%, 1); + --md-primary-fg-color--light: hsla(0, 0%, 0%, 0.54); + --md-primary-fg-color--dark: hsla(0, 0%, 0%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); + --md-typeset-a-color: hsla(231, 48%, 48%, 1); +} +[data-md-color-primary=black] .md-header { + background-color: black; +} +@media screen and (max-width: 59.9375em) { + [data-md-color-primary=black] .md-nav__source { + background-color: rgba(0, 0, 0, 0.87); + } +} +@media screen and (min-width: 60em) { + [data-md-color-primary=black] .md-search__input { + background-color: rgba(255, 255, 255, 0.12); + } + [data-md-color-primary=black] .md-search__input:hover { + background-color: rgba(255, 255, 255, 0.3); + } +} +@media screen and (max-width: 76.1875em) { + html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer] { + background-color: black; + } +} +@media screen and (min-width: 76.25em) { + [data-md-color-primary=black] .md-tabs { + background-color: black; + } +} + +@media screen { + [data-md-color-scheme=slate] { + --md-hue: 232; + --md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1); + --md-default-fg-color--light: hsla(var(--md-hue), 75%, 90%, 0.62); + --md-default-fg-color--lighter: hsla(var(--md-hue), 75%, 90%, 0.32); + --md-default-fg-color--lightest: hsla(var(--md-hue), 75%, 90%, 0.12); + --md-default-bg-color: hsla(var(--md-hue), 15%, 21%, 1); + --md-default-bg-color--light: hsla(var(--md-hue), 15%, 21%, 0.54); + --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 21%, 0.26); + --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 21%, 0.07); + --md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 1); + --md-code-bg-color: hsla(var(--md-hue), 15%, 15%, 1); + --md-code-hl-color: hsla(218, 100%, 63%, 0.15); + --md-code-hl-number-color: hsla(6, 74%, 63%, 1); + --md-code-hl-special-color: hsla(340, 83%, 66%, 1); + --md-code-hl-function-color: hsla(291, 57%, 65%, 1); + --md-code-hl-constant-color: hsla(250, 62%, 70%, 1); + --md-code-hl-keyword-color: hsla(219, 66%, 64%, 1); + --md-code-hl-string-color: hsla(150, 58%, 44%, 1); + --md-typeset-a-color: var(--md-primary-fg-color--light); + --md-typeset-mark-color: hsla(218, 100%, 63%, 0.3); + --md-typeset-kbd-color: hsla(var(--md-hue), 15%, 94%, 0.12); + --md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 94%, 0.2); + --md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1); + --md-admonition-bg-color: hsla(var(--md-hue), 0%, 100%, 0.025); + --md-footer-bg-color: hsla(var(--md-hue), 15%, 12%, 0.87); + --md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 10%, 1); + } + [data-md-color-scheme=slate][data-md-color-primary=black], [data-md-color-scheme=slate][data-md-color-primary=white] { + --md-typeset-a-color: hsla(231, 44%, 56%, 1); + } +} +/*# sourceMappingURL=palette.css.map */ \ No newline at end of file diff --git a/material/assets/stylesheets/palette.css.map b/material/assets/stylesheets/palette.css.map new file mode 100644 index 000000000..7a3bad4f8 --- /dev/null +++ b/material/assets/stylesheets/palette.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../src/assets/stylesheets/src/assets/stylesheets/palette/_accent.scss","../../../src/assets/stylesheets/palette.scss","../../../src/assets/stylesheets/src/assets/stylesheets/palette/_primary.scss","../../../src/assets/stylesheets/src/assets/stylesheets/utilities/_break.scss","../../../src/assets/stylesheets/src/assets/stylesheets/palette/_scheme.scss"],"names":[],"mappings":"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","file":"palette.css"} \ No newline at end of file diff --git a/material/assets/stylesheets/palette.e03a20ad.min.css b/material/assets/stylesheets/palette.e03a20ad.min.css deleted file mode 100644 index 89bb0d2a1..000000000 --- a/material/assets/stylesheets/palette.e03a20ad.min.css +++ /dev/null @@ -1,3 +0,0 @@ -[data-md-color-accent=red]{--md-accent-fg-color: hsla(348, 100%, 55%, 1);--md-accent-fg-color--transparent: hsla(348, 100%, 55%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=pink]{--md-accent-fg-color: hsla(339, 100%, 48%, 1);--md-accent-fg-color--transparent: hsla(339, 100%, 48%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=purple]{--md-accent-fg-color: hsla(291, 96%, 62%, 1);--md-accent-fg-color--transparent: hsla(291, 96%, 62%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=deep-purple]{--md-accent-fg-color: hsla(256, 100%, 65%, 1);--md-accent-fg-color--transparent: hsla(256, 100%, 65%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=indigo]{--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=blue]{--md-accent-fg-color: hsla(218, 100%, 63%, 1);--md-accent-fg-color--transparent: hsla(218, 100%, 63%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=light-blue]{--md-accent-fg-color: hsla(203, 100%, 46%, 1);--md-accent-fg-color--transparent: hsla(203, 100%, 46%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=cyan]{--md-accent-fg-color: hsla(188, 100%, 42%, 1);--md-accent-fg-color--transparent: hsla(188, 100%, 42%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=teal]{--md-accent-fg-color: hsla(172, 100%, 37%, 1);--md-accent-fg-color--transparent: hsla(172, 100%, 37%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=green]{--md-accent-fg-color: hsla(145, 100%, 39%, 1);--md-accent-fg-color--transparent: hsla(145, 100%, 39%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=light-green]{--md-accent-fg-color: hsla(97, 81%, 48%, 1);--md-accent-fg-color--transparent: hsla(97, 81%, 48%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-accent=lime]{--md-accent-fg-color: hsla(75, 100%, 46%, 1);--md-accent-fg-color--transparent: hsla(75, 100%, 46%, 0.1);--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54)}[data-md-color-accent=yellow]{--md-accent-fg-color: hsla(50, 100%, 50%, 1);--md-accent-fg-color--transparent: hsla(50, 100%, 50%, 0.1);--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54)}[data-md-color-accent=amber]{--md-accent-fg-color: hsla(40, 100%, 50%, 1);--md-accent-fg-color--transparent: hsla(40, 100%, 50%, 0.1);--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54)}[data-md-color-accent=orange]{--md-accent-fg-color: hsla(34, 100%, 50%, 1);--md-accent-fg-color--transparent: hsla(34, 100%, 50%, 0.1);--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54)}[data-md-color-accent=deep-orange]{--md-accent-fg-color: hsla(14, 100%, 63%, 1);--md-accent-fg-color--transparent: hsla(14, 100%, 63%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=red]{--md-primary-fg-color: hsla(1, 83%, 63%, 1);--md-primary-fg-color--light: hsla(0, 69%, 67%, 1);--md-primary-fg-color--dark: hsla(1, 77%, 55%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=pink]{--md-primary-fg-color: hsla(340, 82%, 52%, 1);--md-primary-fg-color--light: hsla(340, 82%, 59%, 1);--md-primary-fg-color--dark: hsla(336, 78%, 43%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=purple]{--md-primary-fg-color: hsla(291, 47%, 51%, 1);--md-primary-fg-color--light: hsla(291, 47%, 60%, 1);--md-primary-fg-color--dark: hsla(287, 65%, 40%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=deep-purple]{--md-primary-fg-color: hsla(262, 47%, 55%, 1);--md-primary-fg-color--light: hsla(262, 47%, 63%, 1);--md-primary-fg-color--dark: hsla(262, 52%, 47%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=indigo]{--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(231, 44%, 56%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=blue]{--md-primary-fg-color: hsla(207, 90%, 54%, 1);--md-primary-fg-color--light: hsla(207, 90%, 61%, 1);--md-primary-fg-color--dark: hsla(210, 79%, 46%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=light-blue]{--md-primary-fg-color: hsla(199, 98%, 48%, 1);--md-primary-fg-color--light: hsla(199, 92%, 56%, 1);--md-primary-fg-color--dark: hsla(201, 98%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=cyan]{--md-primary-fg-color: hsla(187, 100%, 42%, 1);--md-primary-fg-color--light: hsla(187, 71%, 50%, 1);--md-primary-fg-color--dark: hsla(186, 100%, 33%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=teal]{--md-primary-fg-color: hsla(174, 100%, 29%, 1);--md-primary-fg-color--light: hsla(174, 63%, 40%, 1);--md-primary-fg-color--dark: hsla(173, 100%, 24%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=green]{--md-primary-fg-color: hsla(122, 39%, 49%, 1);--md-primary-fg-color--light: hsla(123, 38%, 57%, 1);--md-primary-fg-color--dark: hsla(123, 43%, 39%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=light-green]{--md-primary-fg-color: hsla(88, 50%, 53%, 1);--md-primary-fg-color--light: hsla(88, 50%, 60%, 1);--md-primary-fg-color--dark: hsla(92, 48%, 42%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=lime]{--md-primary-fg-color: hsla(66, 70%, 54%, 1);--md-primary-fg-color--light: hsla(66, 70%, 61%, 1);--md-primary-fg-color--dark: hsla(62, 61%, 44%, 1);--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54)}[data-md-color-primary=yellow]{--md-primary-fg-color: hsla(54, 100%, 62%, 1);--md-primary-fg-color--light: hsla(54, 100%, 67%, 1);--md-primary-fg-color--dark: hsla(43, 96%, 58%, 1);--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54)}[data-md-color-primary=amber]{--md-primary-fg-color: hsla(45, 100%, 51%, 1);--md-primary-fg-color--light: hsla(45, 100%, 58%, 1);--md-primary-fg-color--dark: hsla(38, 100%, 50%, 1);--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54)}[data-md-color-primary=orange]{--md-primary-fg-color: hsla(36, 100%, 57%, 1);--md-primary-fg-color--light: hsla(36, 100%, 57%, 1);--md-primary-fg-color--dark: hsla(33, 100%, 49%, 1);--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54)}[data-md-color-primary=deep-orange]{--md-primary-fg-color: hsla(14, 100%, 63%, 1);--md-primary-fg-color--light: hsla(14, 100%, 70%, 1);--md-primary-fg-color--dark: hsla(14, 91%, 54%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=brown]{--md-primary-fg-color: hsla(16, 25%, 38%, 1);--md-primary-fg-color--light: hsla(16, 18%, 47%, 1);--md-primary-fg-color--dark: hsla(14, 26%, 29%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=grey]{--md-primary-fg-color: hsla(0, 0%, 46%, 1);--md-primary-fg-color--light: hsla(0, 0%, 62%, 1);--md-primary-fg-color--dark: hsla(0, 0%, 38%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=blue-grey]{--md-primary-fg-color: hsla(199, 18%, 40%, 1);--md-primary-fg-color--light: hsla(200, 18%, 46%, 1);--md-primary-fg-color--dark: hsla(199, 18%, 33%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7)}[data-md-color-primary=white]{--md-primary-fg-color: hsla(0, 0%, 100%, 1);--md-primary-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-primary-fg-color--dark: hsla(0, 0%, 0%, 0.07);--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);--md-typeset-a-color: hsla(231, 48%, 48%, 1)}@media screen and (min-width: 60em){[data-md-color-primary=white] .md-search__input{background-color:rgba(0,0,0,.07)}[data-md-color-primary=white] .md-search__input+.md-search__icon{color:rgba(0,0,0,.87)}[data-md-color-primary=white] .md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input::placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input:hover{background-color:rgba(0,0,0,.32)}}@media screen and (min-width: 76.25em){[data-md-color-primary=white] .md-tabs{border-bottom:.05rem solid rgba(0,0,0,.07)}}[data-md-color-primary=black]{--md-primary-fg-color: hsla(0, 0%, 0%, 1);--md-primary-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-primary-fg-color--dark: hsla(0, 0%, 0%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-typeset-a-color: hsla(231, 48%, 48%, 1)}[data-md-color-primary=black] .md-header{background-color:#000}@media screen and (max-width: 59.9375em){[data-md-color-primary=black] .md-nav__source{background-color:rgba(0,0,0,.87)}}@media screen and (min-width: 60em){[data-md-color-primary=black] .md-search__input{background-color:rgba(255,255,255,.12)}[data-md-color-primary=black] .md-search__input:hover{background-color:rgba(255,255,255,.3)}}@media screen and (max-width: 76.1875em){html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer]{background-color:#000}}@media screen and (min-width: 76.25em){[data-md-color-primary=black] .md-tabs{background-color:#000}}@media screen{[data-md-color-scheme=slate]{--md-hue: 232;--md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1);--md-default-fg-color--light: hsla(var(--md-hue), 75%, 90%, 0.62);--md-default-fg-color--lighter: hsla(var(--md-hue), 75%, 90%, 0.32);--md-default-fg-color--lightest: hsla(var(--md-hue), 75%, 90%, 0.12);--md-default-bg-color: hsla(var(--md-hue), 15%, 21%, 1);--md-default-bg-color--light: hsla(var(--md-hue), 15%, 21%, 0.54);--md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 21%, 0.26);--md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 21%, 0.07);--md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 1);--md-code-bg-color: hsla(var(--md-hue), 15%, 15%, 1);--md-code-hl-color: hsla(218, 100%, 63%, 0.15);--md-code-hl-number-color: hsla(6, 74%, 63%, 1);--md-code-hl-special-color: hsla(340, 83%, 66%, 1);--md-code-hl-function-color: hsla(291, 57%, 65%, 1);--md-code-hl-constant-color: hsla(250, 62%, 70%, 1);--md-code-hl-keyword-color: hsla(219, 66%, 64%, 1);--md-code-hl-string-color: hsla(150, 58%, 44%, 1);--md-typeset-a-color: var(--md-primary-fg-color--light);--md-typeset-mark-color: hsla(218, 100%, 63%, 0.3);--md-typeset-kbd-color: hsla(var(--md-hue), 15%, 94%, 0.12);--md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 94%, 0.2);--md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1);--md-admonition-bg-color: hsla(var(--md-hue), 0%, 100%, 0.025);--md-footer-bg-color: hsla(var(--md-hue), 15%, 12%, 0.87);--md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 10%, 1)}[data-md-color-scheme=slate][data-md-color-primary=black],[data-md-color-scheme=slate][data-md-color-primary=white]{--md-typeset-a-color: hsla(231, 44%, 56%, 1)}} - -/*# sourceMappingURL=palette.e03a20ad.min.css.map*/ \ No newline at end of file diff --git a/material/assets/stylesheets/palette.e03a20ad.min.css.map b/material/assets/stylesheets/palette.e03a20ad.min.css.map deleted file mode 100644 index 3b00a95dc..000000000 --- a/material/assets/stylesheets/palette.e03a20ad.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/assets/stylesheets/palette/_accent.scss","webpack:///./src/assets/stylesheets/palette/_primary.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/assets/stylesheets/palette/_scheme.scss"],"names":[],"mappings":"AA8CE,2BACE,8CACA,6DAOE,2CACA,oDAVJ,4BACE,8CACA,6DAOE,2CACA,oDAVJ,8BACE,6CACA,4DAOE,2CACA,oDAVJ,mCACE,8CACA,6DAOE,2CACA,oDAVJ,8BACE,6CACA,4DAOE,2CACA,oDAVJ,4BACE,8CACA,6DAOE,2CACA,oDAVJ,kCACE,8CACA,6DAOE,2CACA,oDAVJ,4BACE,8CACA,6DAOE,2CACA,oDAVJ,4BACE,8CACA,6DAOE,2CACA,oDAVJ,6BACE,8CACA,6DAOE,2CACA,oDAVJ,mCACE,4CACA,2DAOE,2CACA,oDAVJ,4BACE,6CACA,4DAIE,4CACA,mDAPJ,8BACE,6CACA,4DAIE,4CACA,mDAPJ,6BACE,6CACA,4DAIE,4CACA,mDAPJ,8BACE,6CACA,4DAIE,4CACA,mDAPJ,mCACE,6CACA,4DAOE,2CACA,oDCPJ,4BACE,4CACA,mDACA,kDAOE,4CACA,qDAXJ,6BACE,8CACA,qDACA,oDAOE,4CACA,qDAXJ,+BACE,8CACA,qDACA,oDAOE,4CACA,qDAXJ,oCACE,8CACA,qDACA,oDAOE,4CACA,qDAXJ,+BACE,8CACA,qDACA,oDAOE,4CACA,qDAXJ,6BACE,8CACA,qDACA,oDAOE,4CACA,qDAXJ,mCACE,8CACA,qDACA,oDAOE,4CACA,qDAXJ,6BACE,+CACA,qDACA,qDAOE,4CACA,qDAXJ,6BACE,+CACA,qDACA,qDAOE,4CACA,qDAXJ,8BACE,8CACA,qDACA,oDAOE,4CACA,qDAXJ,oCACE,6CACA,oDACA,mDAOE,4CACA,qDAXJ,6BACE,6CACA,oDACA,mDAIE,6CACA,oDARJ,+BACE,8CACA,qDACA,mDAIE,6CACA,oDARJ,8BACE,8CACA,qDACA,oDAIE,6CACA,oDARJ,+BACE,8CACA,qDACA,oDAIE,6CACA,oDARJ,oCACE,8CACA,qDACA,mDAOE,4CACA,qDAXJ,8BACE,6CACA,oDACA,mDAOE,4CACA,qDAXJ,6BACE,2CACA,kDACA,iDAOE,4CACA,qDAXJ,kCACE,8CACA,qDACA,oDAOE,4CACA,qDAUN,8BACE,4CACA,qDACA,mDACA,6CACA,oDAGA,6CC+GE,oCDzGA,gDACE,iCAGA,iEACE,sBAIF,2EACE,sBADF,kEACE,sBADF,uEACE,sBADF,6DACE,sBAIF,sDACE,kCC0FJ,uCDjFA,uCACE,4CAUN,8BACE,0CACA,oDACA,gDACA,4CACA,qDAGA,6CAGA,yCACE,sBC6EA,yCDtEA,8CACE,kCCkDF,oCD1CA,gDACE,uCAGA,sDACE,uCCwDJ,yCD/CA,iFACE,uBC2BF,uCDnBA,uCACE,uBEhJN,cAGE,6BAKE,cAGA,wDACA,kEACA,oEACA,qEACA,wDACA,kEACA,oEACA,qEAGA,qDACA,qDAGA,+CACA,gDACA,mDACA,oDACA,oDACA,mDACA,kDAGA,wDAGA,mDAGA,4DACA,kEACA,gEAGA,+DAGA,0DACA,6DAGA,oHAIE,8C","file":"assets/stylesheets/palette.e03a20ad.min.css","sourcesContent":["////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n@each $name, $color in (\n \"red\": $clr-red-a400,\n \"pink\": $clr-pink-a400,\n \"purple\": $clr-purple-a200,\n \"deep-purple\": $clr-deep-purple-a200,\n \"indigo\": $clr-indigo-a200,\n \"blue\": $clr-blue-a200,\n \"light-blue\": $clr-light-blue-a700,\n \"cyan\": $clr-cyan-a700,\n \"teal\": $clr-teal-a700,\n \"green\": $clr-green-a700,\n \"light-green\": $clr-light-green-a700,\n \"lime\": $clr-lime-a700,\n \"yellow\": $clr-yellow-a700,\n \"amber\": $clr-amber-a700,\n \"orange\": $clr-orange-a400,\n \"deep-orange\": $clr-deep-orange-a200\n) {\n\n // Color palette\n [data-md-color-accent=\"#{$name}\"] {\n --md-accent-fg-color: hsla(#{hex2hsl($color)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($color)}, 0.1);\n\n // Inverted text for lighter shades\n @if index(\"lime\" \"yellow\" \"amber\" \"orange\", $name) {\n --md-accent-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);\n } @else {\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n@each $name, $colors in (\n \"red\": $clr-red-400 $clr-red-300 $clr-red-600,\n \"pink\": $clr-pink-500 $clr-pink-400 $clr-pink-700,\n \"purple\": $clr-purple-400 $clr-purple-300 $clr-purple-600,\n \"deep-purple\": $clr-deep-purple-400 $clr-deep-purple-300 $clr-deep-purple-500,\n \"indigo\": $clr-indigo-500 $clr-indigo-400 $clr-indigo-700,\n \"blue\": $clr-blue-500 $clr-blue-400 $clr-blue-700,\n \"light-blue\": $clr-light-blue-500 $clr-light-blue-400 $clr-light-blue-700,\n \"cyan\": $clr-cyan-500 $clr-cyan-400 $clr-cyan-700,\n \"teal\": $clr-teal-500 $clr-teal-400 $clr-teal-700,\n \"green\": $clr-green-500 $clr-green-400 $clr-green-700,\n \"light-green\": $clr-light-green-500 $clr-light-green-400 $clr-light-green-700,\n \"lime\": $clr-lime-500 $clr-lime-400 $clr-lime-700,\n \"yellow\": $clr-yellow-500 $clr-yellow-400 $clr-yellow-700,\n \"amber\": $clr-amber-500 $clr-amber-400 $clr-amber-700,\n \"orange\": $clr-orange-400 $clr-orange-400 $clr-orange-600,\n \"deep-orange\": $clr-deep-orange-400 $clr-deep-orange-300 $clr-deep-orange-600,\n \"brown\": $clr-brown-500 $clr-brown-400 $clr-brown-700,\n \"grey\": $clr-grey-600 $clr-grey-500 $clr-grey-700,\n \"blue-grey\": $clr-blue-grey-600 $clr-blue-grey-500 $clr-blue-grey-700\n) {\n\n // Color palette\n [data-md-color-primary=\"#{$name}\"] {\n --md-primary-fg-color: hsla(#{hex2hsl(nth($colors, 1))}, 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\n // Inverted text for lighter shades\n @if index(\"lime\" \"yellow\" \"amber\" \"orange\", $name) {\n --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);\n } @else {\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: white\n// ----------------------------------------------------------------------------\n\n// Color palette\n[data-md-color-primary=\"white\"] {\n --md-primary-fg-color: hsla(0, 0%, 100%, 1);\n --md-primary-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-primary-fg-color--dark: hsla(0, 0%, 0%, 0.07);\n --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);\n\n // Typeset color shades\n --md-typeset-a-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n\n // [tablet portrait +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n\n // Search input\n .md-search__input {\n background-color: hsla(0, 0%, 0%, 0.07);\n\n // Search icon color\n + .md-search__icon {\n color: hsla(0, 0%, 0%, 0.87);\n }\n\n // Placeholder color\n &::placeholder {\n color: hsla(0, 0%, 0%, 0.54);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 0%, 0.32);\n }\n }\n }\n\n // [screen +]: Add bottom border for tabs\n @include break-from-device(screen) {\n\n // Navigation tabs\n .md-tabs {\n border-bottom: px2rem(1px) solid hsla(0, 0%, 0%, 0.07);\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: black\n// ----------------------------------------------------------------------------\n\n// Color palette\n[data-md-color-primary=\"black\"] {\n --md-primary-fg-color: hsla(0, 0%, 0%, 1);\n --md-primary-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-primary-fg-color--dark: hsla(0, 0%, 0%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Text color shades\n --md-typeset-a-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n\n // Header\n .md-header {\n background-color: hsla(0, 0%, 0%, 1);\n }\n\n // [tablet portrait -]: Layered navigation\n @include break-to-device(tablet portrait) {\n\n // Repository information container\n .md-nav__source {\n background-color: hsla(0, 0%, 0%, 0.87);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n\n // Search input\n .md-search__input {\n background-color: hsla(0, 0%, 100%, 0.12);\n\n // Search form on hover\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.3);\n }\n }\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n\n // Site title in main navigation\n html & .md-nav--primary .md-nav__title[for=\"__drawer\"] {\n background-color: hsla(0, 0%, 0%, 1);\n }\n }\n\n // [screen +]: Set background color for tabs\n @include break-from-device(screen) {\n\n // Navigation tabs\n .md-tabs {\n background-color: hsla(0, 0%, 0%, 1);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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 {\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) {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n\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\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\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Only use dark mode on screens\n@media screen {\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] {\n\n // Slate's hue in the range [0,360] - change this variable to alter the tone\n // of the theme, e.g. to make it more redish or greenish. This is a slate-\n // specific variable, but the same approach may be adapted to custom themes.\n --md-hue: 232;\n\n // Default color shades\n --md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1);\n --md-default-fg-color--light: hsla(var(--md-hue), 75%, 90%, 0.62);\n --md-default-fg-color--lighter: hsla(var(--md-hue), 75%, 90%, 0.32);\n --md-default-fg-color--lightest: hsla(var(--md-hue), 75%, 90%, 0.12);\n --md-default-bg-color: hsla(var(--md-hue), 15%, 21%, 1);\n --md-default-bg-color--light: hsla(var(--md-hue), 15%, 21%, 0.54);\n --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 21%, 0.26);\n --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 21%, 0.07);\n\n // Code color shades\n --md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 1);\n --md-code-bg-color: hsla(var(--md-hue), 15%, 15%, 1);\n\n // Code highlighting color shades\n --md-code-hl-color: hsla(#{hex2hsl($clr-blue-a200)}, 0.15);\n --md-code-hl-number-color: hsla(6, 74%, 63%, 1);\n --md-code-hl-special-color: hsla(340, 83%, 66%, 1);\n --md-code-hl-function-color: hsla(291, 57%, 65%, 1);\n --md-code-hl-constant-color: hsla(250, 62%, 70%, 1);\n --md-code-hl-keyword-color: hsla(219, 66%, 64%, 1);\n --md-code-hl-string-color: hsla(150, 58%, 44%, 1);\n\n // Typeset color shades\n --md-typeset-a-color: var(--md-primary-fg-color--light);\n\n // Typeset `mark` color shades\n --md-typeset-mark-color: hsla(#{hex2hsl($clr-blue-a200)}, 0.3);\n\n // Typeset `kbd` color shades\n --md-typeset-kbd-color: hsla(var(--md-hue), 15%, 94%, 0.12);\n --md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 94%, 0.2);\n --md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1);\n\n // Admonition color shades\n --md-admonition-bg-color: hsla(var(--md-hue), 0%, 100%, 0.025);\n\n // Footer color shades\n --md-footer-bg-color: hsla(var(--md-hue), 15%, 12%, 0.87);\n --md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 10%, 1);\n\n // Black and white primary colors\n &[data-md-color-primary=\"black\"],\n &[data-md-color-primary=\"white\"] {\n\n // Typeset color shades\n --md-typeset-a-color: hsla(#{hex2hsl($clr-indigo-400)}, 1);\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/base.html b/material/base.html index 9d13d95fc..a67bcc8cb 100644 --- a/material/base.html +++ b/material/base.html @@ -39,10 +39,10 @@ {% endif %} {% endblock %} {% block styles %} - + {% if config.theme.palette %} {% set palette = config.theme.palette %} - + {% if palette.primary %} {% import "partials/palette.html" as map %} {% set primary = map.primary( @@ -191,7 +191,7 @@ "base": base_url, "features": features, "translations": {}, - "search": "assets/javascripts/worker/search.3f4c5856.min.js" | url, + "search": "assets/javascripts/worker/search.js" | url, } -%} {%- set translations = app.translations -%} {%- for key in [ @@ -216,8 +216,7 @@ {% endblock %} {% block scripts %} - - + {% for path in config["extra_javascript"] %} {% endfor %} diff --git a/material/overrides/assets/javascripts/bundle.e5217812.min.js b/material/overrides/assets/javascripts/bundle.e5217812.min.js deleted file mode 100644 index eda9dda04..000000000 --- a/material/overrides/assets/javascripts/bundle.e5217812.min.js +++ /dev/null @@ -1,16 +0,0 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(window,function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=10)}([,,function(e,t){(function(){var e,n,r,o,i,s,u,c,l,a,h,f,d,p,b,v;t.score=function(e,t,r){var o,s,u;return o=r.preparedQuery,r.allowErrors||i(e,o.core_lw,o.core_up)?(u=e.toLowerCase(),s=n(e,u,o),Math.ceil(s)):0},t.isMatch=i=function(e,t,n){var r,o,i,s,u,c,l;if(i=e.length,s=t.length,!i||s>i)return!1;for(r=-1,o=-1;++o-1)return d(e,t,E,A,S,_,y);for(I=new Array(_),u=new Array(_),q=v(_,y),x=g=Math.ceil(.75*_)+5,b=!0,w=-1;++w<_;)I[w]=0,u[w]=0;for(m=-1;++mC&&(C=k),p=0,A[w]===j)if(P=c(m,e,t),p=s>0?s:h(e,t,E,A,m,w,P),(i=O+a(m,w,P,o,p))>C)C=i,x=g;else{if(T&&--x<=0)return Math.max(C,I[_-1])*q;T=!1}O=k,s=u[w],u[w]=p,I[w]=C}return(C=I[_-1])*q},t.isWordStart=c=function(e,t,n){var r,o;return 0===e||(r=t[e],o=t[e-1],s(o)||r!==n[e]&&o===n[e-1])},t.isWordEnd=u=function(e,t,n,r){var o,i;return e===r-1||(o=t[e],i=t[e+1],s(i)||o===n[e]&&i!==n[e+1])},s=function(e){return" "===e||"."===e||"-"===e||"_"===e||"/"===e||"\\"===e},b=function(e){var t;return e<20?100+(t=20-e)*t:Math.max(120-e,0)},t.scoreSize=v=function(e,t){return 150/(150+Math.abs(t-e))},f=function(e,t,n,r){return 2*e*(150*n+b(r))*v(e,t)},t.scorePattern=p=function(e,t,n,r,o){var i,s;return s=e,i=6,n===e&&(i+=2),r&&(i+=3),o&&(i+=1),e===t&&(r&&(s+=n===t?2:1),o&&(i+=1)),n+s*(s+i)},t.scoreCharacter=a=function(e,t,n,r,o){var i;return i=b(e),n?i+150*((r>o?r:o)+10):i+150*o},t.scoreConsecutives=h=function(e,t,n,r,o,i,s){var c,l,a,h,f,d,b;for(c=(a=(l=e.length)-o)<(f=(h=n.length)-i)?a:f,d=0,b=0,n[i]===e[o]&&d++;++b-1&&(b=c(h,e,t))&&(o=h),a=-1,d=0;++a1&&b>1))return r;for(l=0,y=0,g=0,m=0,h=-1,f=-1;++f-1){y++;continue}break}for(;++h12*n.length)return!1;for(i=-1;++ir)return!1;return!0}}).call(this)},function(e,t,n){(function(t){(function(){var r,o,i,s,u,c,l,a;i=n(7),s=n(8),a=n(2),c=n(4),r=n(5),l=null,o="win32"===(null!=t?t.platform:void 0)?"\\":"/",e.exports={filter:function(e,t,n){return null==n&&(n={}),(null!=t?t.length:void 0)&&(null!=e?e.length:void 0)?(n=u(n,t),i(e,t,n)):[]},score:function(e,t,n){return null==n&&(n={}),(null!=e?e.length:void 0)&&(null!=t?t.length:void 0)?(n=u(n,t)).usePathScoring?c.score(e,t,n):a.score(e,t,n):0},match:function(e,t,n){var r;return null==n&&(n={}),e&&t?e===t?function(){r=[];for(var t=0,n=e.length;0<=n?tn;0<=n?t++:t--)r.push(t);return r}.apply(this):(n=u(n,t),s.match(e,t,n)):[]},wrap:function(e,t,n){return null==n&&(n={}),e&&t?(n=u(n,t),s.wrap(e,t,n)):[]},prepareQuery:function(e,t){return null==t&&(t={}),(t=u(t,e)).preparedQuery}},u=function(e,t){return null==e.allowErrors&&(e.allowErrors=!1),null==e.usePathScoring&&(e.usePathScoring=!0),null==e.useExtensionBonus&&(e.useExtensionBonus=!1),null==e.pathSeparator&&(e.pathSeparator=o),null==e.optCharRegEx&&(e.optCharRegEx=null),null==e.wrap&&(e.wrap=null),null==e.preparedQuery&&(e.preparedQuery=l&&l.query===t?l:l=new r(t,e)),e}}).call(this)}).call(this,n(6))},function(e,t,n){(function(){var e,r,o,i,s,u,c;c=n(2),i=c.isMatch,e=c.computeScore,u=c.scoreSize,t.score=function(t,n,r){var o,u,c;return o=r.preparedQuery,r.allowErrors||i(t,o.core_lw,o.core_up)?(c=t.toLowerCase(),u=e(t,c,o),u=s(t,c,u,r),Math.ceil(u)):0},s=function(t,n,i,s){var c,l,a,h,f,d,p,b,v,m;if(0===i)return 0;for(v=s.preparedQuery,m=s.useExtensionBonus,b=s.pathSeparator,f=t.length-1;t[f]===b;)f--;if(p=f-(a=t.lastIndexOf(b,f)),d=1,m&&(i*=d+=o(n,v.ext,a,f,2)),-1===a)return i;for(h=v.depth;a>-1&&h-- >0;)a=t.lastIndexOf(b,a-1);return l=-1===a?i:d*e(t.slice(a+1,f+1),n.slice(a+1,f+1),v),(c=10/(20+r(t,f+1,b)))*l+(1-c)*i*u(0,2.5*p)},t.countDir=r=function(e,t,n){var r,o;if(t<1)return 0;for(r=0,o=-1;++on))return 0;for((s=r-l)<(c=t.length)&&(c=s,s=t.length),l++,u=-1;++u0?.9*o(e,t,n,l-2,i-1):u/s}}).call(this)},function(e,t,n){(function(){var t,r,o,i,s,u,c;c=n(4),r=c.countDir,i=c.getExtension,e.exports=function(e,n){var s,c,l;if(s=(l=null!=n?n:{}).optCharRegEx,c=l.pathSeparator,!e||!e.length)return null;this.query=e,this.query_lw=e.toLowerCase(),this.core=t(e,s),this.core_lw=this.core.toLowerCase(),this.core_up=u(this.core),this.depth=r(e,e.length,c),this.ext=i(this.query_lw),this.charCodes=o(this.query_lw)},s=/[ _\-:\/\\]/g,t=function(e,t){return null==t&&(t=s),e.replace(t,"")},u=function(e){var t,n,r;for(t="",n=0,r=e.length;n1)for(var n=1;n0?a:e.length+1,u=null!=l,d=m?t:o,w=0,y=e.length;w0)||(p.push({candidate:c,score:f}),--b));w++);return p.sort(i),e=p.map(r),null!=h&&(e=e.slice(0,h)),e}}).call(this)},function(e,t,n){(function(){var e,r,o,i,s,u,c,l,a,h;h=n(2),o=h.isMatch,i=h.isWordStart,a=h.scoreConsecutives,l=h.scoreCharacter,c=h.scoreAcronyms,t.match=s=function(t,n,i){var s,c,l,a,h,f;return s=i.allowErrors,h=i.preparedQuery,a=i.pathSeparator,s||o(t,h.core_lw,h.core_up)?(f=t.toLowerCase(),0===(l=r(t,f,h)).length||t.indexOf(a)>-1&&(c=e(t,f,h,a),l=u(l,c)),l):[]},t.wrap=function(e,t,n){var r,o,i,u,c,l,a,h,f;if(null!=n.wrap&&(l=(f=n.wrap).tagClass,h=f.tagOpen,a=f.tagClose),null==l&&(l="highlight"),null==h&&(h=''),null==a&&(a=""),e===t)return h+e+a;if(0===(i=s(e,0,n)).length)return e;for(u="",r=-1,c=0;++rc&&(u+=e.substring(c,o),c=o);++rc&&(u+=h,u+=e.substring(c,o),u+=a,c=o)}return c<=e.length-1&&(u+=e.substring(c)),u},e=function(e,t,n,o){var i,s,u;for(u=e.length-1;e[u]===o;)u--;if(-1===(i=e.lastIndexOf(o,u)))return[];for(s=n.depth;s-- >0;)if(-1===(i=e.lastIndexOf(o,i-1)))return[];return i++,u++,r(e.slice(i,u),t.slice(i,u),n,i)},u=function(e,t){var n,r,o,i,s,u,c;if(s=e.length,0===(u=t.length))return e.slice();if(0===s)return t.slice();for(o=-1,r=t[i=0],c=[];++o0?h:a(e,t,x,_,p,b,O),s=E+l(p,b,O,o,d)),T=A[b],h=f[b],S>T?w=2:(S=T,w=1),s>S?(S=s,w=3):d=0,A[b]=S,f[b]=d,I[++g]=S>0?w:0;for(g=(p=v-1)*y+(b=y-1),u=!0,m=[];u&&p>=0&&b>=0;)switch(I[g]){case 1:p--,g-=y;break;case 2:b--,g--;break;case 3:m.push(p+r),b--,p--,g-=y+1;break;default:u=!1}return m.reverse(),m}}).call(this)},,function(e,t,n){"use strict";function r(e){return"function"==typeof e}function o(e){return t=>{if(function(e){return r(null==e?void 0:e.lift)}(t))return t.lift((function(t){try{return e(t,this)}catch(e){this.error(e)}}));throw new TypeError("Unable to lift unknown Observable type")}}function i(e){const t=e(e=>{Error.call(e),e.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}n.r(t);const s=i(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((e,t)=>`${t+1}) ${e.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function u(e,t){if(e){const n=e.indexOf(t);0<=n&&e.splice(n,1)}}class c{constructor(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._teardowns=null}unsubscribe(){let e;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(Array.isArray(t))for(const e of t)e.remove(this);else null==t||t.remove(this);const{initialTeardown:n}=this;if(r(n))try{n()}catch(t){e=t instanceof s?t.errors:[t]}const{_teardowns:o}=this;if(o){this._teardowns=null;for(const t of o)try{h(t)}catch(t){e=null!=e?e:[],t instanceof s?e=[...e,...t.errors]:e.push(t)}}if(e)throw new s(e)}}add(e){var t;if(e&&e!==this)if(this.closed)h(e);else{if(e instanceof c){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._teardowns=null!==(t=this._teardowns)&&void 0!==t?t:[]).push(e)}}_hasParent(e){const{_parentage:t}=this;return t===e||Array.isArray(t)&&t.includes(e)}_addParent(e){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e}_removeParent(e){const{_parentage:t}=this;t===e?this._parentage=null:Array.isArray(t)&&u(t,e)}remove(e){const{_teardowns:t}=this;t&&u(t,e),e instanceof c&&e._removeParent(this)}}c.EMPTY=(()=>{const e=new c;return e.closed=!0,e})();const l=c.EMPTY;function a(e){return e instanceof c||e&&"closed"in e&&r(e.remove)&&r(e.add)&&r(e.unsubscribe)}function h(e){r(e)?e():e.unsubscribe()}const f={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},d={setTimeout(...e){const{delegate:t}=d;return((null==t?void 0:t.setTimeout)||setTimeout)(...e)},clearTimeout(e){const{delegate:t}=d;return((null==t?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function p(e){d.setTimeout(()=>{const{onUnhandledError:t}=f;if(!t)throw e;t(e)})}function b(){}const v=m("C",void 0,void 0);function m(e,t,n){return{kind:e,value:t,error:n}}class w extends c{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,a(e)&&e.add(this)):this.destination=_}static create(e,t,n){return new y(e,t,n)}next(e){this.isStopped?x(function(e){return m("N",e,void 0)}(e),this):this._next(e)}error(e){this.isStopped?x(m("E",void 0,e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?x(v,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}}class y extends w{constructor(e,t,n){if(super(),this.destination=_,(e||t||n)&&e!==_){let o;if(r(e))o=e;else if(e){let r;({next:o,error:t,complete:n}=e),this&&f.useDeprecatedNextContext?(r=Object.create(e),r.unsubscribe=()=>this.unsubscribe()):r=e,o=null==o?void 0:o.bind(r),t=null==t?void 0:t.bind(r),n=null==n?void 0:n.bind(r)}this.destination={next:o||b,error:t||g,complete:n||b}}}}function g(e){if(f.useDeprecatedSynchronousErrorHandling)throw e;p(e)}function x(e,t){const{onStoppedNotification:n}=f;n&&d.setTimeout(()=>n(e,t))}const _={closed:!0,next:b,error:g,complete:b};class S extends w{constructor(e,t,n,r,o){super(e),this.onUnsubscribe=o,this._next=t?function(e){try{t(e)}catch(e){this.destination.error(e)}}:super._next,this._error=n?function(e){try{n(e)}catch(e){this.destination.error(e)}this.unsubscribe()}:super._error,this._complete=r?function(){try{r()}catch(e){this.destination.error(e)}this.unsubscribe()}:super._complete}unsubscribe(){var e;!this.closed&&(null===(e=this.onUnsubscribe)||void 0===e||e.call(this)),super.unsubscribe()}}function E(e,t){return o((n,r)=>{let o=0;n.subscribe(new S(r,n=>{r.next(e.call(t,n,o++))}))})} -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */function A(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function u(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,u)}c((r=r.apply(e,t||[])).next())}))}Object.create;function T(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function C(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=T(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}Object.create;const O=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function I(e){return r(null==e?void 0:e.then)}const k="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator",j="function"==typeof Symbol&&Symbol.observable||"@@observable";function P(e){return e}function q(e){return 0===e.length?P:1===e.length?e[0]:function(t){return e.reduce((e,t)=>t(e),t)}}class L{constructor(e){e&&(this._subscribe=e)}lift(e){const t=new L;return t.source=this,t.operator=e,t}subscribe(e,t,n){const o=(i=e)&&i instanceof w||function(e){return e&&r(e.next)&&r(e.error)&&r(e.complete)}(i)&&a(i)?e:new y(e,t,n);var i;const{operator:s,source:u}=this;return o.add(s?s.call(o,u):u||f.useDeprecatedSynchronousErrorHandling?this._subscribe(o):this._trySubscribe(o)),o}_trySubscribe(e){try{return this._subscribe(e)}catch(t){if(f.useDeprecatedSynchronousErrorHandling)throw t;e.error(t)}}forEach(e,t){return new(t=M(t))((t,n)=>{let r;r=this.subscribe(t=>{try{e(t)}catch(e){n(e),null==r||r.unsubscribe()}},n,t)})}_subscribe(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)}[j](){return this}pipe(...e){return e.length?q(e)(this):this}toPromise(e){return new(e=M(e))((e,t)=>{let n;this.subscribe(e=>n=e,e=>t(e),()=>e(n))})}}function M(e){var t;return null!==(t=null!=e?e:f.Promise)&&void 0!==t?t:Promise}function $(e,t){return new L(n=>{let r=0;return t.schedule((function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())}))})}function F(e){return r(e[j])}function z(e){return r(null==e?void 0:e[k])}function H(e){return Symbol.asyncIterator&&r(null==e?void 0:e[Symbol.asyncIterator])}function D(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, Array, AsyncIterable, or Iterable.`)}function R(e,t){if(null!=e){if(F(e))return function(e,t){return new L(n=>{const r=new c;return r.add(t.schedule(()=>{const o=e[j]();r.add(o.subscribe({next(e){r.add(t.schedule(()=>n.next(e)))},error(e){r.add(t.schedule(()=>n.error(e)))},complete(){r.add(t.schedule(()=>n.complete()))}}))})),r})}(e,t);if(O(e))return $(e,t);if(I(e))return function(e,t){return new L(n=>t.schedule(()=>e.then(e=>{n.add(t.schedule(()=>{n.next(e),n.add(t.schedule(()=>n.complete()))}))},e=>{n.add(t.schedule(()=>n.error(e)))})))}(e,t);if(H(e))return function(e,t){if(!e)throw new Error("Iterable cannot be null");return new L(n=>{const r=new c;return r.add(t.schedule(()=>{const o=e[Symbol.asyncIterator]();r.add(t.schedule((function(){o.next().then(e=>{e.done?n.complete():(n.next(e.value),this.schedule())})})))})),r})}(e,t);if(z(e))return function(e,t){return new L(n=>{let o;return n.add(t.schedule(()=>{o=e[k](),function(e,t,n,r=0){const o=t.schedule((function(){try{n.call(this)}catch(t){e.error(t)}}),r);e.add(o)}(n,t,(function(){const{value:e,done:t}=o.next();t?n.complete():(n.next(e),this.schedule())}))})),()=>r(null==o?void 0:o.return)&&o.return()})}(e,t)}throw D(e)}function U(e,t){return t?R(e,t):W(e)}function W(e){if(e instanceof L)return e;if(null!=e){if(F(e))return i=e,new L(e=>{const t=i[j]();if(r(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(O(e))return N(e);if(I(e))return o=e,new L(e=>{o.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,p)});if(H(e))return n=e,new L(e=>{(function(e,t){var n,r,o,i;return A(this,void 0,void 0,(function*(){try{for(n=C(e);!(r=yield n.next()).done;){const e=r.value;t.next(e)}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=n.return)&&(yield i.call(n))}finally{if(o)throw o.error}}t.complete()}))})(n,e).catch(t=>e.error(t))});if(z(e))return t=e,new L(e=>{const n=t[k]();for(;!e.closed;){const{done:t,value:r}=n.next();t?e.complete():e.next(r)}return()=>r(null==n?void 0:n.return)&&n.return()})}var t,n,o,i;throw D(e)}function N(e){return new L(t=>{for(let n=0;nE((e,o)=>t(n,e,r,o))(W(e(n,r))),n):("number"==typeof t&&(n=t),o((t,r)=>function(e,t,n,r,o,i,s,u){let c=[],l=0,a=0,h=!1;const f=()=>{!h||c.length||l||t.complete()},d=e=>l{i&&t.next(e),l++,W(n(e,a++)).subscribe(new S(t,e=>{null==o||o(e),i?d(e):t.next(e)},void 0,()=>{for(l--;c.length&&lp(e))):p(e)}f()}))};return e.subscribe(new S(t,d,void 0,()=>{h=!0,f()})),()=>{c=null,null==u||u()}}(t,r,e,n)))}L.create=e=>new L(e);function B(e=1/0){return Q(P,e)}function Y(e,t){return t?$(e,t):N(e)}const{isArray:Z}=Array;function J(e){return 1===e.length&&Z(e[0])?e[0]:e}const G=new L(e=>e.complete());function K(e){return e&&r(e.schedule)}function V(e){return e[e.length-1]}function X(e){return r(V(e))?e.pop():void 0}function ee(e){return K(V(e))?e.pop():void 0}function te(...e){const t=ee(e),n=function(e,t){return"number"==typeof V(e)?e.pop():t}(e,1/0),r=J(e);return r.length?1===r.length?W(r[0]):B(n)(Y(r,t)):G}function ne(e,t){return o((n,r)=>{let o=null,i=0,s=!1;const u=()=>s&&!o&&r.complete();n.subscribe(new S(r,n=>{null==o||o.unsubscribe();let s=0;const c=i++;W(e(n,c)).subscribe(o=new S(r,e=>r.next(t?t(n,e,c,s++):e),void 0,()=>{o=null,u()}))},void 0,()=>{s=!0,u()}))})}const re=i(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});class oe extends L{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const t=new ie(this,this);return t.operator=e,t}_throwIfClosed(){if(this.closed)throw new re}next(e){if(this._throwIfClosed(),!this.isStopped){const t=this.observers.slice();for(const n of t)n.next(e)}}error(e){if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:t}=this;for(;t.length;)t.shift().error(e)}}complete(){if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}}unsubscribe(){this.isStopped=this.closed=!0,this.observers=null}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:t,isStopped:n,observers:r}=this;return t||n?l:(r.push(e),new c(()=>u(this.observers,e)))}_checkFinalizedStatuses(e){const{hasError:t,thrownError:n,isStopped:r}=this;t?e.error(n):r&&e.complete()}asObservable(){const e=new L;return e.source=this,e}}oe.create=(e,t)=>new ie(e,t);class ie extends oe{constructor(e,t){super(),this.destination=e,this.source=t}next(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)}error(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)}complete(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)}_subscribe(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:l}}const se={now:()=>(se.delegate||Date).now(),delegate:void 0};class ue extends oe{constructor(e=1/0,t=1/0,n=se){super(),this.bufferSize=e,this.windowTime=t,this.timestampProvider=n,this.buffer=[],this.infiniteTimeWindow=!0,this.infiniteTimeWindow=t===1/0,this.bufferSize=Math.max(1,e),this.windowTime=Math.max(1,t)}next(e){const{isStopped:t,buffer:n,infiniteTimeWindow:r,timestampProvider:o,windowTime:i}=this;t||(n.push(e),!r&&n.push(o.now()+i)),this.trimBuffer(),super.next(e)}_subscribe(e){this._throwIfClosed(),this.trimBuffer();const t=this._innerSubscribe(e),{infiniteTimeWindow:n,buffer:r}=this,o=r.slice();for(let t=0;tfunction(e,t){return ce(t)?e(...t):e(t)}(e,t))}const ae=["addListener","removeListener"],he=["addEventListener","removeEventListener"],fe=["on","off"];function de(e,t,n,o){if(r(n)&&(o=n,n=void 0),o)return de(e,t,n).pipe(le(o));const[i,s]=function(e){return r(e.addEventListener)&&r(e.removeEventListener)}(e)?he.map(r=>o=>e[r](t,o,n)):function(e){return r(e.addListener)&&r(e.removeListener)}(e)?ae.map(pe(e,t)):function(e){return r(e.on)&&r(e.off)}(e)?fe.map(pe(e,t)):[];return!i&&O(e)?Q(e=>de(e,t,n))(Y(e)):new L(e=>{if(!i)throw new TypeError("Invalid event target");const t=(...t)=>e.next(1s(t)})}function pe(e,t){return n=>r=>e[n](t,r)}function be(e){return o((t,n)=>{t.subscribe(new S(n,()=>n.next(e)))})}function ve(e,t=document){return t.querySelector(e)||void 0}function me(e,t=document){const n=ve(e,t);if(void 0===n)throw new ReferenceError(`Missing element: expected "${e}" to be present`);return n}function we(){return document.activeElement instanceof HTMLElement?document.activeElement:void 0}function ye(...e){return B(1)(Y(e,ee(e)))}function ge(...e){const t=ee(e);return o((n,r)=>{(t?ye(e,n,t):ye(e,n)).subscribe(r)})}function xe(e,t){return e=null!=e?e:_e,o((n,r)=>{let o,i=!0;n.subscribe(new S(r,n=>{(i&&(o=n,1)||!e(o,o=t?t(n):n))&&r.next(n),i=!1}))})}function _e(e,t){return e===t}function Se(...e){const t=ee(e);return t?$(e,t):Y(e)}const Ee=new L(b);function Ae(e){return o((t,n)=>{t.subscribe(n),n.add(e)})}function Te(e){e=e||{};const{connector:t=(()=>new oe),resetOnComplete:n=!0,resetOnError:r=!0,resetOnRefCountZero:i=!0}=e;let s=null,u=null,c=0,l=!1,a=!1;const h=()=>{s=u=null,l=a=!1};return o((e,o)=>{c++,u||(u=t());const f=u.subscribe(o);return s||(s=U(e).subscribe({next:e=>u.next(e),error:e=>{a=!0;const t=u;r&&h(),t.error(e)},complete:()=>{l=!0;const e=u;n&&h(),e.complete()}})),()=>{if(c--,f.unsubscribe(),!c&&i&&!a&&!l){const e=s;h(),null==e||e.unsubscribe()}}})}function Ce(e,t,n){var r,o;let i,s=!1;return e&&"object"==typeof e?(i=null!==(r=e.bufferSize)&&void 0!==r?r:1/0,t=null!==(o=e.windowTime)&&void 0!==o?o:1/0,s=!!e.refCount,n=e.scheduler):i=null!=e?e:1/0,Te({connector:()=>new ue(i,t,n),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})}function Oe(e,t,n){const i=r(e)||t||n?{next:e,error:t,complete:n}:e;return i?o((e,t)=>{e.subscribe(new S(t,e=>{var n;null===(n=i.next)||void 0===n||n.call(i,e),t.next(e)},e=>{var n;null===(n=i.error)||void 0===n||n.call(i,e),t.error(e)},()=>{var e;null===(e=i.complete)||void 0===e||e.call(i),t.complete()}))}):P}function Ie(e,t){return o((n,r)=>{let o=0;n.subscribe(new S(r,n=>e.call(t,n,o++)&&r.next(n)))})}const ke=new oe;(je=()=>Se(new ResizeObserver(e=>{for(const t of e)ke.next(t)})),new L(e=>{W(je()).subscribe(e)})).pipe(ne(e=>Ee.pipe(ge(e)).pipe(Ae(()=>e.disconnect()))),Ce(1));var je;function Pe(e){return{width:e.offsetWidth,height:e.offsetHeight}}function qe(e){return{x:e.scrollLeft,y:e.scrollTop}}function Le(e,t=16){return function(e){return te(de(e,"scroll"),de(window,"resize")).pipe(E(()=>qe(e)),ge(qe(e)))}(e).pipe(E(({y:n})=>{const r=Pe(e);return n>=function(e){return{width:e.scrollWidth,height:e.scrollHeight}}(e).height-r.height-t}),xe())}me("[data-md-toggle=drawer]"),me("[data-md-toggle=search]");function Me(){return new URL(location.href)}function $e(e,t={credentials:"same-origin"}){return U(fetch(e,t)).pipe(Ie(e=>200===e.status))}const{isArray:Fe}=Array,{getPrototypeOf:ze,prototype:He,keys:De}=Object;function Re(e){if(1===e.length){const n=e[0];if(Fe(n))return{args:n,keys:null};if((t=n)&&"object"==typeof t&&ze(t)===He){const e=De(n);return{args:e.map(e=>n[e]),keys:e}}}var t;return{args:e,keys:null}}function Ue(...e){const t=ee(e),n=X(e),{args:r,keys:o}=Re(e);if(0===r.length)return U([],t);const i=new L(function(e,t,n=P){return r=>{Ne(t,()=>{const{length:o}=e,i=new Array(o);let s=o;const u=e.map(()=>!1);let c=!0;for(let l=0;l{U(e[l],t).subscribe(new We(r,e=>{i[l]=e,c&&(u[l]=!0,c=!u.every(P)),c||r.next(n(i.slice()))},()=>0==--s))},r)}},r)}}(r,t,o?e=>{const t={};for(let n=0;nt?t(n[e],r[e]):n[e]===r[e])}function Be(e,t=document){return me(`[data-mdx-component=${e}]`,t)}function Ye(e,t=document){return function(e,t=document){return Array.from(t.querySelectorAll(e))}(`[data-mdx-component=${e}]`,t)}const Ze=me("#__config"),Je=JSON.parse(Ze.textContent);function Ge(e,t){return void 0!==t?Je.translations[e].replace("#",t.toString()):Je.translations[e]}Je.base=new URL(Je.base,Me()).toString().replace(/\/$/,"");class Ke extends c{constructor(e,t){super()}schedule(e,t=0){return this}}const Ve={setInterval(...e){const{delegate:t}=Ve;return((null==t?void 0:t.setInterval)||setInterval)(...e)},clearInterval(e){const{delegate:t}=Ve;return((null==t?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0};class Xe extends Ke{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,n=0){return Ve.setInterval(e.flush.bind(e,this),n)}recycleAsyncId(e,t,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return t;Ve.clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let n,r=!1;try{this.work(e)}catch(e){r=!0,n=!!e&&e||new Error(e)}if(r)return this.unsubscribe(),n}unsubscribe(){if(!this.closed){const{id:e,scheduler:t}=this,{actions:n}=t;this.work=this.state=this.scheduler=null,this.pending=!1,u(n,this),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null,super.unsubscribe()}}}class et{constructor(e,t=et.now){this.schedulerActionCtor=e,this.now=t}schedule(e,t=0,n){return new this.schedulerActionCtor(this,e).schedule(n,t)}}et.now=se.now;class tt extends et{constructor(e,t=et.now){super(e,t),this.actions=[],this.active=!1,this.scheduled=void 0}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}}const nt=new tt(Xe),rt=nt;function ot(e){return e<=0?()=>G:o((t,n)=>{let r=0;t.subscribe(new S(n,t=>{++r<=e&&(n.next(t),e<=r&&n.complete())}))})}function it(e,t){return t?n=>ye(t.pipe(ot(1),o((e,t)=>{e.subscribe(new S(t,b))})),n.pipe(it(e))):Q((t,n)=>e(t,n).pipe(ot(1),be(t)))}function st(e=0,t,n=rt){let r=-1;return null!=t&&(K(t)?n=t:r=t),new L(t=>{let o=(i=e)instanceof Date&&!isNaN(i)?+e-n.now():e;var i;o<0&&(o=0);let s=0;return n.schedule((function(){t.closed||(t.next(s++),0<=r?this.schedule(void 0,r):t.complete())}),o)})}function ut(...e){const t=X(e);return o((n,r)=>{const o=e.length,i=new Array(o);let s=e.map(()=>!1),u=!1;for(let t=0;t{i[t]=e,u||s[t]||(s[t]=!0,(u=s.every(P))&&(s=null))},void 0,b));n.subscribe(new S(r,e=>{if(u){const n=[e,...i];r.next(t?t(...n):n)}}))})}function ct(e){const t=function(e){return te(de(e,"focus"),de(e,"blur")).pipe(E(({type:e})=>"focus"===e),ge(e===we()))}(e),n=te(de(e,"keyup"),de(e,"focus").pipe(function(e,t=nt){const n=st(e,t);return it(()=>n)}(1))).pipe(E(()=>e.value),ge(e.value),xe());return t.pipe(Ie(e=>!e),ut(n)).subscribe(([,e])=>{const t=document.location.pathname;ga("send","pageview",`${t}?q=[icon]+${e}`)}),Ue([n,t]).pipe(E(([t,n])=>({ref:e,value:t,focus:n})))}var lt=n(3);const at={schedule(e){let t=requestAnimationFrame,n=cancelAnimationFrame;const{delegate:r}=at;r&&(t=r.requestAnimationFrame,n=r.cancelAnimationFrame);const o=t(t=>{n=void 0,e(t)});return new c(()=>null==n?void 0:n(o))},requestAnimationFrame(...e){const{delegate:t}=at;return((null==t?void 0:t.requestAnimationFrame)||requestAnimationFrame)(...e)},cancelAnimationFrame(...e){const{delegate:t}=at;return((null==t?void 0:t.cancelAnimationFrame)||cancelAnimationFrame)(...e)},delegate:void 0};const ht=new class extends tt{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let n,r=-1;e=e||t.shift();const o=t.length;do{if(n=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,n):(e.actions.push(this),e.scheduled||(e.scheduled=at.requestAnimationFrame(()=>e.flush(void 0))))}recycleAsyncId(e,t,n=0){if(null!=n&&n>0||null==n&&this.delay>0)return super.recycleAsyncId(e,t,n);0===e.actions.length&&(at.cancelAnimationFrame(t),e.scheduled=void 0)}});function ft(e,t=0){return o((n,r)=>{n.subscribe(new S(r,n=>r.add(e.schedule(()=>r.next(n),t)),n=>r.add(e.schedule(()=>r.error(n),t)),()=>r.add(e.schedule(()=>r.complete(),t))))})}function dt(...e){return o((t,n)=>{(function(...e){const t=X(e),n=J(e);return n.length?new L(e=>{let r=n.map(()=>[]),o=n.map(()=>!1);e.add(()=>{r=o=null});for(let i=0;!e.closed&&i{if(r[i].push(n),r.every(e=>e.length)){const n=r.map(e=>e.shift());e.next(t?t(...n):n),r.some((e,t)=>!e.length&&o[t])&&e.complete()}},void 0,()=>{o[i]=!0,!r[i].length&&e.complete()}));return()=>{r=o=null}}):G})(t,...e).subscribe(n)})}function pt(e,t){if("string"==typeof t||"number"==typeof t)e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(const n of t)pt(e,n)}function bt(e,t,...n){const r=document.createElement(e);if(t)for(const e of Object.keys(t))"boolean"!=typeof t[e]?r.setAttribute(e,t[e]):t[e]&&r.setAttribute(e,"");for(const e of n)pt(r,e);return r}function vt(e,t){return bt("li",{class:"mdx-icon-search-result__item"},bt("span",{class:"twemoji"},bt("img",{src:e.url})),bt("button",{class:"md-clipboard--inline",title:Ge("clipboard.copy"),"data-clipboard-text":`:${e.shortcode}:`},bt("code",null,`:${function(e,t){return Object(lt.wrap)(e.shortcode,t,{wrap:{tagOpen:"",tagClose:""}})}(e,t)}:`)))}function mt(e,{index$:t,query$:n}){const r=new oe,i=Le(e).pipe(Ie(Boolean)),s=me(":scope > :first-child",e);r.pipe(ft(ht),ut(n)).subscribe(([{data:e},{value:t}])=>{t?function(e,t){switch(t){case 0:e.textContent=Ge("search.result.none");break;case 1:e.textContent=Ge("search.result.one");break;default:e.textContent=Ge("search.result.other",function(e){if(e>999){return((e+1e-6)/1e3).toFixed(+((e-950)%1e3>99))+"k"}return e.toString()}(t))}}(s,e.length):function(e){e.textContent=Ge("search.result.placeholder")}(s)});const c=me(":scope > :last-child",e);return r.pipe(ft(ht),Oe(()=>function(e){e.innerHTML=""}(c)),ne(({data:e})=>te(Se(...e.slice(0,10)),Se(...e.slice(10)).pipe(function(e,t=null){return t=null!=t?t:e,o((n,r)=>{let o=[],i=0;n.subscribe(new S(r,n=>{let s=null;i++%t==0&&o.push([]);for(const t of o)t.push(n),e<=t.length&&(s=null!=s?s:[],s.push(t));if(s)for(const e of s)u(o,e),r.next(e)},void 0,()=>{for(const e of o)r.next(e);r.complete()},()=>{o=null}))})}(10),function(...e){return dt(...e)}(i),ne(([e])=>Se(...e))))),ut(n)).subscribe(([e,{value:t}])=>{!function(e,t){e.appendChild(t)}(c,vt(e,t))}),function(e,{index$:t,query$:n}){return Ue([n.pipe(Qe("value")),t.pipe(E(({icons:e,emojis:t})=>[...Object.keys(e.data),...Object.keys(t.data)]))]).pipe(E(([{value:e},t])=>Object(lt.filter)(t,e)),ne(e=>t.pipe(E(({icons:t,emojis:n})=>({data:e.map(e=>{const r=e in t.data?t:n;return{shortcode:e,url:[r.base,r.data[e]].join("")}})})))))}(0,{query$:n,index$:t}).pipe(Oe(r),Ae(()=>r.complete()),E(t=>Object.assign({ref:e},t)))}function wt(e){const t=$e(Je.base+"/overrides/assets/javascripts/icon_search_index.json",n).pipe(ne(e=>e.json()),Ce(1));var n;const r=Be("icon-search-query",e),o=Be("icon-search-result",e),i=ct(r);return te(i,mt(o,{index$:t,query$:i}))}de(document.body,"click").subscribe(e=>{if(e.target instanceof HTMLElement){const t=e.target.closest("a[href^=http]");t instanceof HTMLLinkElement&&ga("send","event","outbound","click",t.href)}}),document$.pipe(ne(()=>te(...Ye("icon-search").map(e=>wt(e))))).subscribe()}])); -//# sourceMappingURL=bundle.e5217812.min.js.map \ No newline at end of file diff --git a/material/overrides/assets/javascripts/bundle.e5217812.min.js.map b/material/overrides/assets/javascripts/bundle.e5217812.min.js.map deleted file mode 100644 index 359dd7a7f..000000000 --- a/material/overrides/assets/javascripts/bundle.e5217812.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/fuzzaldrin-plus/lib/scorer.js","webpack:///./node_modules/fuzzaldrin-plus/lib/fuzzaldrin.js","webpack:///./node_modules/fuzzaldrin-plus/lib/pathScorer.js","webpack:///./node_modules/fuzzaldrin-plus/lib/query.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/fuzzaldrin-plus/lib/filter.js","webpack:///./node_modules/fuzzaldrin-plus/lib/matcher.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isFunction.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/lift.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","webpack:///./node_modules/rxjs/dist/esm/internal/Subscription.js","webpack:///./node_modules/rxjs/dist/esm/internal/config.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/noop.js","webpack:///./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","webpack:///./node_modules/rxjs/dist/esm/internal/Subscriber.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/map.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isPromise.js","webpack:///./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","webpack:///./node_modules/rxjs/dist/esm/internal/symbol/observable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/identity.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/pipe.js","webpack:///./node_modules/rxjs/dist/esm/internal/Observable.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isIterable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/caughtSchedule.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/from.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/fromArray.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/argsOrArgArray.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/empty.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/args.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/merge.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","webpack:///./node_modules/rxjs/dist/esm/internal/Subject.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","webpack:///./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","webpack:///./src/assets/javascripts/browser/element/_/index.ts","webpack:///./node_modules/rxjs/dist/esm/internal/observable/concat.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/startWith.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/of.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/never.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/finalize.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/share.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/tap.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/filter.js","webpack:///./src/assets/javascripts/browser/element/size/index.ts","webpack:///./node_modules/rxjs/dist/esm/internal/observable/defer.js","webpack:///./src/assets/javascripts/browser/element/offset/index.ts","webpack:///./src/assets/javascripts/browser/toggle/index.ts","webpack:///./src/assets/javascripts/browser/location/_/index.ts","webpack:///./src/assets/javascripts/browser/request/index.ts","webpack:///./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/distinctUntilKeyChanged.js","webpack:///./src/overrides/assets/javascripts/components/_/index.ts","webpack:///./src/assets/javascripts/_/index.ts","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","webpack:///./node_modules/rxjs/dist/esm/internal/Scheduler.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/async.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/take.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/delayWhen.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/timer.js","webpack:///./node_modules/rxjs/dist/esm/internal/util/isDate.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js","webpack:///./src/overrides/assets/javascripts/components/icon-search/query/index.ts","webpack:///./src/assets/javascripts/browser/element/focus/index.ts","webpack:///./node_modules/rxjs/dist/esm/internal/operators/delay.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","webpack:///./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","webpack:///./node_modules/rxjs/dist/esm/internal/operators/zipWith.js","webpack:///./node_modules/rxjs/dist/esm/internal/observable/zip.js","webpack:///./src/assets/javascripts/utilities/h/index.ts","webpack:///./src/overrides/assets/javascripts/templates/icon-search/index.tsx","webpack:///./src/overrides/assets/javascripts/components/icon-search/result/index.ts","webpack:///./src/assets/javascripts/actions/search/result/index.ts","webpack:///./src/assets/javascripts/utilities/string/index.ts","webpack:///./node_modules/rxjs/dist/esm/internal/operators/bufferCount.js","webpack:///./src/overrides/assets/javascripts/components/icon-search/_/index.ts","webpack:///./src/overrides/assets/javascripts/integrations/analytics/index.ts","webpack:///./src/overrides/assets/javascripts/index.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","AcronymResult","computeScore","emptyAcronymResult","isAcronymFullWord","isMatch","isSeparator","isWordEnd","isWordStart","scoreAcronyms","scoreCharacter","scoreConsecutives","scoreExact","scoreExactMatch","scorePattern","scorePosition","scoreSize","score","string","query","options","preparedQuery","string_lw","allowErrors","core_lw","core_up","toLowerCase","Math","ceil","subject","query_lw","query_up","j","qj_lw","qj_up","si","length","charCodeAt","subject_lw","acro","acro_score","align","csc_diag","csc_row","csc_score","csc_should_rebuild","miss_budget","miss_left","pos","record_miss","score_diag","score_row","score_up","si_lw","start","sz","count","indexOf","Array","charCodes","max","curr_s","prev_s","len","next_s","sc","abs","quality","sameCase","end","bonus","posBonus","startOfWord","k","mi","nj","pos2","this","fullWord","sepCount","sumPos","nbAcronymInQuery","Query","defaultPathSeparator","filter","matcher","parseOptions","pathScorer","preparedQueryCache","scorer","process","platform","candidates","usePathScoring","match","_results","_i","_ref","push","apply","wrap","prepareQuery","useExtensionBonus","pathSeparator","optCharRegEx","countDir","getExtensionScore","scorePath","fullPathScore","alpha","basePathScore","basePos","depth","extAdjust","fileLength","lastIndexOf","ext","slice","path","getExtension","str","substr","candidate","startPos","endPos","maxDepth","matched","coreChars","getCharCodes","opt_char_re","truncatedUpperCase","_arg","_ref1","core","replace","upper","_len","toUpperCase","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","run","marker","runClearTimeout","Item","array","noop","nextTick","args","arguments","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","pluckCandidates","sortCandidates","a","b","bKey","maxInners","maxResults","scoreProvider","scoredCandidates","spotLeft","sort","map","basenameMatch","computeMatch","mergeMatches","baseMatches","matches","matchIndex","matchPos","matchPositions","output","strPos","tagClass","tagClose","tagOpen","substring","ai","bj","out","offset","backtrack","move","trace","reverse","isFunction","operate","init","source","lift","hasLift","liftedSource","err","error","TypeError","createErrorClass","createImpl","ctorFunc","instance","stack","constructor","UnsubscriptionError","_super","errors","message","toString","join","arrRemove","arr","item","index","splice","initialTeardown","closed","_parentage","_teardowns","isArray","parent","remove","teardown","execTeardown","_a","_hasParent","_addParent","includes","_removeParent","EMPTY","empty","EMPTY_SUBSCRIPTION","isSubscription","add","unsubscribe","onUnhandledError","onStoppedNotification","Promise","undefined","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","delegate","handle","reportUnhandledError","COMPLETE_NOTIFICATION","createNotification","kind","destination","super","isStopped","EMPTY_OBSERVER","next","complete","handleStoppedNotification","nextNotification","_next","_error","_complete","observerOrNext","context","defaultErrorHandler","notification","subscriber","onNext","onError","onComplete","onUnsubscribe","project","thisArg","subscribe","__awaiter","_arguments","P","generator","resolve","reject","fulfilled","step","rejected","result","done","then","__values","iterator","__asyncValues","asyncIterator","verb","v","settle","isArrayLike","x","isPromise","observable","identity","pipeFromArray","fns","input","reduce","prev","fn","_subscribe","operator","isObserver","_trySubscribe","sink","promiseCtor","getPromiseCtor","subscription","operations","scheduleArray","scheduler","schedule","isInteropObservable","isIterable","isAsyncIterable","obj","createInvalidObservableTypeError","scheduled","sub","scheduleObservable","schedulePromise","scheduleAsyncIterable","execute","delay","caughtSchedule","return","scheduleIterable","from","innerFrom","obs","fromArrayLike","promise","asyncIterable","asyncIterable_1","asyncIterable_1_1","e_1","e_1_1","catch","iterable","mergeMap","resultSelector","concurrent","Infinity","ii","onBeforeNext","expand","innerSubScheduler","additionalTeardown","buffer","active","isComplete","checkComplete","outerNext","doInnerSub","innerValue","bufferedValue","shift","mergeInternals","mergeAll","internalFromArray","argsOrArgArray","isScheduler","last","popResultSelector","pop","popScheduler","merge","defaultValue","popNumber","sources","switchMap","innerSubscriber","innerIndex","outerIndex","ObjectUnsubscribedError","observers","hasError","thrownError","_throwIfClosed","copy","observer","_checkFinalizedStatuses","_innerSubscribe","_b","dateTimestampProvider","now","Date","bufferSize","windowTime","timestampProvider","infiniteTimeWindow","trimBuffer","adjustedBufferSize","mapOneOrManyArgs","callOrApply","nodeEventEmitterMethods","eventTargetMethods","jqueryMethods","fromEvent","target","eventName","pipe","addEventListener","removeEventListener","isEventTarget","methodName","handler","isNodeStyleEventEmitter","toCommonHandlerRegistry","isJQueryStyleEventEmitter","subTarget","mapTo","getElement","selector","node","document","querySelector","getElementOrThrow","el","ReferenceError","getActiveElement","activeElement","HTMLElement","concatAll","startWith","values","distinctUntilChanged","compare","keySelector","defaultCompare","first","of","NEVER","finalize","callback","share","connector","resetOnComplete","resetOnError","resetOnRefCountZero","connection","refCount","hasCompleted","hasErrored","reset","castSubscription","dest","conn","shareReplay","configOrBufferSize","tap","tapObserver","predicate","entry$","observableFactory","ResizeObserver","entries","entry","resize","disconnect","getElementSize","width","offsetWidth","height","offsetHeight","getElementOffset","scrollLeft","y","scrollTop","watchElementThreshold","threshold","window","watchElementOffset","visible","scrollWidth","scrollHeight","getElementContentSize","getLocation","URL","location","href","url","credentials","fetch","res","status","getPrototypeOf","objectProto","keys","getKeys","argsArgArrayOrObject","combineLatest","observables","valueTransform","maybeSchedule","hasValues","waitingForFirstValues","every","combineLatestInit","shouldComplete","distinctUntilKeyChanged","getComponentElement","type","getComponentElements","querySelectorAll","getElements","script","JSON","parse","textContent","translation","translations","base","work","state","intervalProvider","setInterval","clearInterval","pending","id","recycleAsyncId","requestAsyncId","_id","flush","_scheduler","_execute","_delay","errorValue","errored","actions","Scheduler","schedulerActionCtor","SchedulerAction","action","asyncScheduler","take","seen","delayWhen","delayDurationSelector","subscriptionDelay","timer","dueTime","intervalOrScheduler","intervalDuration","due","isNaN","withLatestFrom","inputs","otherValues","hasValue","ready","mountIconSearchQuery","focus$","watchElementFocus","value$","duration","pathname","ga","focus","ref","animationFrameProvider","request","requestAnimationFrame","cancel","cancelAnimationFrame","timestamp","animationFrameScheduler","observeOn","buffers","completed","sourceIndex","some","zip","appendChild","child","innerHTML","Node","h","tag","attributes","children","createElement","attr","setAttribute","renderIconSearchResult","icon","class","src","shortcode","highlight","mountIconSearchResult","index$","query$","internal$","boundary$","Boolean","meta","data","toFixed","round","setSearchResultMeta","resetSearchResultMeta","list","resetSearchResultList","startBufferEvery","toEmit","bufferCount","otherInputs","zipWith","chunk","addToSearchResultList","_el","icons","emojis","shortcodes","category","watchIconSearchResult","mountIconSearch","json","body","ev","closest","HTMLLinkElement","document$"],"mappings":"4DACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QA0Df,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,I,mBClFrD,WACE,IAAIC,EAAeC,EAAcC,EAAoBC,EAAmBC,EAASC,EAAaC,EAAWC,EAAoCC,EAAeC,EAAgBC,EAAmBC,EAAYC,EAAiBC,EAAcC,EAAeC,EAUzPjD,EAAQkD,MAAQ,SAASC,EAAQC,EAAOC,GACtC,IAAiBC,EAAeJ,EAAOK,EAEvC,OADAD,EAAgBD,EAAQC,cAA6BD,EAAQG,aACxClB,EAAQa,EAAQG,EAAcG,QAASH,EAAcI,UAG1EH,EAAYJ,EAAOQ,cACnBT,EAAQf,EAAagB,EAAQI,EAAWD,GACjCM,KAAKC,KAAKX,IAJR,GAOXlD,EAAQsC,QAAUA,EAAU,SAASwB,EAASC,EAAUC,GACtD,IAAI9D,EAAG+D,EAAG3D,EAAGqB,EAAGuC,EAAOC,EAAOC,EAG9B,GAFA9D,EAAIwD,EAAQO,OACZ1C,EAAIoC,EAASM,QACR/D,GAAKqB,EAAIrB,EACZ,OAAO,EAIT,IAFAJ,GAAK,EACL+D,GAAK,IACIA,EAAItC,GAAG,CAGd,IAFAuC,EAAQH,EAASO,WAAWL,GAC5BE,EAAQH,EAASM,WAAWL,KACnB/D,EAAII,IACX8D,EAAKN,EAAQQ,WAAWpE,MACbgE,GAASE,IAAOD,IAI7B,GAAIjE,IAAMI,EACR,OAAO,EAGX,OAAO,GAGTN,EAAQmC,aAAeA,EAAe,SAAS2B,EAASS,EAAYjB,GAClE,IAAIkB,EAAMC,EAAYC,EAAOC,EAAUC,EAASC,EAAWC,EAAoB5E,EAAG+D,EAAG3D,EAAGyE,EAAaC,EAAWrD,EAAGsD,EAAK7B,EAAOW,EAAUmB,EAAahC,EAAOiC,EAAYC,EAAWC,EAAUC,EAAOC,EAAOC,EAO5M,GANApC,EAAQE,EAAcF,MACtBW,EAAWT,EAAcS,SACzBzD,EAAIwD,EAAQO,OACZ1C,EAAIyB,EAAMiB,OAEVI,GADAD,EAAO9B,EAAcoB,EAASS,EAAYnB,EAAOW,IAC/Bb,MACdsB,EAAKiB,QAAU9D,EACjB,OAAOkB,EAAWlB,EAAGrB,EAAGmE,EAAYD,EAAKS,KAG3C,IADAA,EAAMV,EAAWmB,QAAQ3B,KACd,EACT,OAAOjB,EAAgBgB,EAASS,EAAYnB,EAAOW,EAAUkB,EAAKtD,EAAGrB,GASvE,IAPA8E,EAAY,IAAIO,MAAMhE,GACtBiD,EAAU,IAAIe,MAAMhE,GACpB6D,EAAKvC,EAAUtB,EAAGrB,GAElB0E,EADAD,EAAcnB,KAAKC,KAxDR,IAwD0BlC,GAAK,EAE1CmD,GAAqB,EACrBb,GAAK,IACIA,EAAItC,GACXyD,EAAUnB,GAAK,EACfW,EAAQX,GAAK,EAGf,IADA/D,GAAK,IACIA,EAAII,GAEX,KADAgF,EAAQf,EAAWrE,IACRoE,WAAW,KAAMhB,EAAcsC,WACxC,GAAId,EAAoB,CAEtB,IADAb,GAAK,IACIA,EAAItC,GACXiD,EAAQX,GAAK,EAEfa,GAAqB,QAUzB,IANA5B,EAAQ,EACRiC,EAAa,EACbR,EAAW,EACXO,GAAc,EACdJ,GAAqB,EACrBb,GAAK,IACIA,EAAItC,GAAG,CAMd,IALA0D,EAAWD,EAAUnB,IACNf,IACbA,EAAQmC,GAEVR,EAAY,EACRd,EAASE,KAAOqB,EAIlB,GAHAC,EAAQ9C,EAAYvC,EAAG4D,EAASS,GAChCM,EAAYF,EAAW,EAAIA,EAAW/B,EAAkBkB,EAASS,EAAYnB,EAAOW,EAAU7D,EAAG+D,EAAGsB,IACpGb,EAAQS,EAAaxC,EAAezC,EAAG+D,EAAGsB,EAAOd,EAAYI,IACjD3B,EACVA,EAAQwB,EACRM,EAAYD,MACP,CACL,GAAIG,KAAiBF,GAAa,EAChC,OAAOpB,KAAKiC,IAAI3C,EAAOkC,EAAUzD,EAAI,IAAM6D,EAE7CN,GAAc,EAGlBC,EAAaE,EACbV,EAAWC,EAAQX,GACnBW,EAAQX,GAAKY,EACbO,EAAUnB,GAAKf,EAInB,OADAA,EAAQkC,EAAUzD,EAAI,IACP6D,GAGjBxF,EAAQyC,YAAcA,EAAc,SAASwC,EAAKnB,EAASS,GACzD,IAAIuB,EAAQC,EACZ,OAAY,IAARd,IAGJa,EAAShC,EAAQmB,GACjBc,EAASjC,EAAQmB,EAAM,GAChB1C,EAAYwD,IAAYD,IAAWvB,EAAWU,IAAQc,IAAWxB,EAAWU,EAAM,KAG3FjF,EAAQwC,UAAYA,EAAY,SAASyC,EAAKnB,EAASS,EAAYyB,GACjE,IAAIF,EAAQG,EACZ,OAAIhB,IAAQe,EAAM,IAGlBF,EAAShC,EAAQmB,GACjBgB,EAASnC,EAAQmB,EAAM,GAChB1C,EAAY0D,IAAYH,IAAWvB,EAAWU,IAAQgB,IAAW1B,EAAWU,EAAM,KAG3F1C,EAAc,SAAShC,GACrB,MAAa,MAANA,GAAmB,MAANA,GAAmB,MAANA,GAAmB,MAANA,GAAmB,MAANA,GAAmB,OAANA,GAG1EyC,EAAgB,SAASiC,GACvB,IAAIiB,EACJ,OAAIjB,EA/IM,GAiJD,KADPiB,EAhJQ,GAgJSjB,GACCiB,EAEXtC,KAAKiC,IAAI,IAAkBZ,EAAK,IAI3CjF,EAAQiD,UAAYA,EAAY,SAAStB,EAAGrB,GAC1C,OAtJS,SAsJqBsD,KAAKuC,IAAI7F,EAAIqB,KAG7CkB,EAAa,SAASlB,EAAGrB,EAAG8F,EAASnB,GACnC,OAAO,EAAItD,GA9JR,IA8JkByE,EAAUpD,EAAciC,IAAQhC,EAAUtB,EAAGrB,IAGpEN,EAAQ+C,aAAeA,EAAe,SAAS0C,EAAOO,EAAKK,EAAUd,EAAOe,GAC1E,IAAIC,EAAOf,EAwBX,OAvBAA,EAAKC,EACLc,EAAQ,EACJF,IAAaZ,IACfc,GAAS,GAEPhB,IACFgB,GAAS,GAEPD,IACFC,GAAS,GAEPd,IAAUO,IACRT,IAEAC,GADEa,IAAaL,EACT,EAEA,GAGNM,IACFC,GAAS,IAGNF,EAAWb,GAAMA,EAAKe,IAG/BvG,EAAQ2C,eAAiBA,EAAiB,SAASzC,EAAG+D,EAAGsB,EAAOd,EAAYI,GAC1E,IAAI2B,EAEJ,OADAA,EAAWxD,EAAc9C,GACrBqF,EACKiB,EAjMN,MAiMwB/B,EAAaI,EAAYJ,EAAaI,GAAa,IAEvE2B,EAnMJ,IAmMoB3B,GAGzB7E,EAAQ4C,kBAAoBA,EAAoB,SAASkB,EAASS,EAAYnB,EAAOW,EAAU7D,EAAG+D,EAAGwC,GACnG,IAAIC,EAAGpG,EAAGqG,EAAIhF,EAAGiF,EAAIP,EAAUb,EAW/B,IANAkB,GAFAC,GAFArG,EAAIwD,EAAQO,QAEHnE,IACT0G,GAFAjF,EAAIyB,EAAMiB,QAEDJ,GACK0C,EAAKC,EACnBP,EAAW,EACXb,EAAK,EACDpC,EAAMa,KAAOH,EAAQ5D,IACvBmG,MAEOb,EAAKkB,GAAK3C,IAAWE,KAAOM,IAAarE,IAC5CkD,EAAMa,KAAOH,EAAQ5D,IACvBmG,IAMJ,OAHIb,EAAKkB,GACPxG,IAES,IAAPsF,EACK,EAAI,EAAIa,EAEVtD,EAAayC,EAAI7D,EAAG0E,EAAUI,EAAajE,EAAUtC,EAAG4D,EAASS,EAAYjE,KAGtFN,EAAQ8C,gBAAkBA,EAAkB,SAASgB,EAASS,EAAYnB,EAAOW,EAAUkB,EAAKtD,EAAGrB,GACjG,IAAIgG,EAAKpG,EAAG2G,EAAMR,EAAUd,EAa5B,KAZAA,EAAQ9C,EAAYwC,EAAKnB,EAASS,MAEhCsC,EAAOtC,EAAWmB,QAAQ3B,EAAUkB,EAAM,KAC9B,IACVM,EAAQ9C,EAAYoE,EAAM/C,EAASS,MAEjCU,EAAM4B,GAIZ3G,GAAK,EACLmG,EAAW,IACFnG,EAAIyB,GACPyB,EAAM6B,EAAM/E,KAAO4D,EAAQ5D,IAC7BmG,IAIJ,OADAC,EAAM9D,EAAUyC,EAAMtD,EAAI,EAAGmC,EAASS,EAAYjE,GAC3CuC,EAAWlB,EAAGrB,EAAGyC,EAAapB,EAAGA,EAAG0E,EAAUd,EAAOe,GAAMrB,IAcpE7C,EAAqB,IAXrBF,EACE,SAAuBgB,EAAO+B,EAAKQ,GACjCqB,KAAK5D,MAAQA,EACb4D,KAAK7B,IAAMA,EACX6B,KAAKrB,MAAQA,IAOsB,EAAG,GAAK,GAE/CzF,EAAQ0C,cAAgBA,EAAgB,SAASoB,EAASS,EAAYnB,EAAOW,GAC3E,IAAI0B,EAAOsB,EAAU7G,EAAG+D,EAAG3D,EAAGqB,EAAGuC,EAAOmC,EAAUnD,EAAO8D,EAAUC,EAGnE,GAFA3G,EAAIwD,EAAQO,OACZ1C,EAAIyB,EAAMiB,SACJ/D,EAAI,GAAKqB,EAAI,GACjB,OAAOS,EAQT,IANAqD,EAAQ,EACRuB,EAAW,EACXC,EAAS,EACTZ,EAAW,EACXnG,GAAK,EACL+D,GAAK,IACIA,EAAItC,GAAG,CAEd,GADAuC,EAAQH,EAASE,GACb1B,EAAY2B,GAAQ,CAEtB,IADAhE,EAAIqE,EAAWmB,QAAQxB,EAAOhE,EAAI,KACzB,EAAG,CACV8G,IACA,SAEA,MAGJ,OAAS9G,EAAII,GACX,GAAI4D,IAAUK,EAAWrE,IAAMuC,EAAYvC,EAAG4D,EAASS,GAAa,CAC9DnB,EAAMa,KAAOH,EAAQ5D,IACvBmG,IAEFY,GAAU/G,EACVuF,IACA,MAGJ,GAAIvF,IAAMI,EACR,MAGJ,OAAImF,EAAQ,EACHrD,GAET2E,EAAWtB,IAAU9D,GAAIU,EAAkByB,EAASS,EAAYnB,EAAOqC,GACvEvC,EAAQH,EAAa0C,EAAO9D,EAAG0E,GAAU,EAAMU,GACxC,IAAI7E,EAAcgB,EAAO+D,EAASxB,EAAOA,EAAQuB,KAG1D3E,EAAoB,SAASyB,EAASS,EAAYnB,EAAO8D,GACvD,IAAIzB,EAAOvF,EAAGI,EAId,GADAmF,EAAQ,GAFRnF,EAAIwD,EAAQO,QAGJ,GAFJjB,EAAMiB,OAGR,OAAO,EAGT,IADAnE,GAAK,IACIA,EAAII,GACX,GAAImC,EAAYvC,EAAG4D,EAASS,MAAiBkB,EAAQyB,EACnD,OAAO,EAGX,OAAO,KAGR7G,KAAKyG,O,iBCtUR,wBACE,IAAIK,EAAOC,EAAsBC,EAAQC,EAASC,EAAcC,EAAYC,EAAoBC,EAEhGL,EAAS,EAAQ,GAEjBC,EAAU,EAAQ,GAElBI,EAAS,EAAQ,GAEjBF,EAAa,EAAQ,GAErBL,EAAQ,EAAQ,GAEhBM,EAAqB,KAErBL,EAA4G,WAApF,MAAOO,EAA8CA,EAAQC,cAAW,GAAsB,KAAO,IAE7H3H,EAAOD,QAAU,CACfqH,OAAQ,SAASQ,EAAYzE,EAAOC,GAIlC,OAHe,MAAXA,IACFA,EAAU,KAEI,MAATD,EAAgBA,EAAMiB,YAAS,KAA0B,MAAdwD,EAAqBA,EAAWxD,YAAS,IAG3FhB,EAAUkE,EAAalE,EAASD,GACzBiE,EAAOQ,EAAYzE,EAAOC,IAHxB,IAKXH,MAAO,SAASC,EAAQC,EAAOC,GAI7B,OAHe,MAAXA,IACFA,EAAU,KAEK,MAAVF,EAAiBA,EAAOkB,YAAS,KAAqB,MAATjB,EAAgBA,EAAMiB,YAAS,IAGnFhB,EAAUkE,EAAalE,EAASD,IACpB0E,eACHN,EAAWtE,MAAMC,EAAQC,EAAOC,GAEhCqE,EAAOxE,MAAMC,EAAQC,EAAOC,GAN5B,GASX0E,MAAO,SAAS5E,EAAQC,EAAOC,GAC7B,IAAc2E,EAId,OAHe,MAAX3E,IACFA,EAAU,IAEPF,GAGAC,EAGDD,IAAWC,EACN,WACL4E,EAAW,GACX,IAAK,IAAIC,EAAK,EAAGC,EAAO/E,EAAOkB,OAAQ,GAAK6D,EAAOD,EAAKC,EAAOD,EAAKC,EAAM,GAAKA,EAAOD,IAAOA,IAAOD,EAASG,KAAKF,GAClH,OAAOD,GACNI,MAAMtB,OAEXzD,EAAUkE,EAAalE,EAASD,GACzBkE,EAAQS,MAAM5E,EAAQC,EAAOC,IAb3B,IAeXgF,KAAM,SAASlF,EAAQC,EAAOC,GAI5B,OAHe,MAAXA,IACFA,EAAU,IAEPF,GAGAC,GAGLC,EAAUkE,EAAalE,EAASD,GACzBkE,EAAQe,KAAKlF,EAAQC,EAAOC,IAN1B,IAQXiF,aAAc,SAASlF,EAAOC,GAK5B,OAJe,MAAXA,IACFA,EAAU,KAEZA,EAAUkE,EAAalE,EAASD,IACjBE,gBAInBiE,EAAe,SAASlE,EAASD,GAsB/B,OArB2B,MAAvBC,EAAQG,cACVH,EAAQG,aAAc,GAEM,MAA1BH,EAAQyE,iBACVzE,EAAQyE,gBAAiB,GAEM,MAA7BzE,EAAQkF,oBACVlF,EAAQkF,mBAAoB,GAED,MAAzBlF,EAAQmF,gBACVnF,EAAQmF,cAAgBpB,GAEE,MAAxB/D,EAAQoF,eACVpF,EAAQoF,aAAe,MAEL,MAAhBpF,EAAQgF,OACVhF,EAAQgF,KAAO,MAEY,MAAzBhF,EAAQC,gBACVD,EAAQC,cAAgBmE,GAAsBA,EAAmBrE,QAAUA,EAAQqE,EAAsBA,EAAqB,IAAIN,EAAM/D,EAAOC,IAE1IA,KAGRhD,KAAKyG,Q,kCC9GR,WACE,IAAI3E,EAAcuG,EAAoCC,EAAmBrG,EAASsG,EAAW3F,EAAsBiF,EAEnHA,EAAO,EAAQ,GAAa5F,EAAU4F,EAAK5F,QAASH,EAAe+F,EAAK/F,aAAcc,EAAYiF,EAAKjF,UAMvGjD,EAAQkD,MAAQ,SAASC,EAAQC,EAAOC,GACtC,IAAiBC,EAAeJ,EAAOK,EAEvC,OADAD,EAAgBD,EAAQC,cAA6BD,EAAQG,aACxClB,EAAQa,EAAQG,EAAcG,QAASH,EAAcI,UAG1EH,EAAYJ,EAAOQ,cACnBT,EAAQf,EAAagB,EAAQI,EAAWD,GACxCJ,EAAQ0F,EAAUzF,EAAQI,EAAWL,EAAOG,GACrCO,KAAKC,KAAKX,IALR,GAQX0F,EAAY,SAAS9E,EAASS,EAAYsE,EAAexF,GACvD,IAAIyF,EAAOC,EAAeC,EAASC,EAAO3C,EAAK4C,EAAWC,EAAYX,EAAelF,EAAeiF,EACpG,GAAsB,IAAlBM,EACF,OAAO,EAIT,IAFAvF,EAAgBD,EAAQC,cAAeiF,EAAoBlF,EAAQkF,kBAAmBC,EAAgBnF,EAAQmF,cAC9GlC,EAAMxC,EAAQO,OAAS,EAChBP,EAAQwC,KAASkC,GACtBlC,IASF,GANA6C,EAAa7C,GADb0C,EAAUlF,EAAQsF,YAAYZ,EAAelC,IAE7C4C,EAAY,EACRX,IAEFM,GADAK,GAAaP,EAAkBpE,EAAYjB,EAAc+F,IAAKL,EAAS1C,EAAK,KAG7D,IAAb0C,EACF,OAAOH,EAGT,IADAI,EAAQ3F,EAAc2F,MACfD,GAAW,GAAKC,KAAU,GAC/BD,EAAUlF,EAAQsF,YAAYZ,EAAeQ,EAAU,GAIzD,OAFAD,GAA6B,IAAbC,EAAiBH,EAAgBK,EAAY/G,EAAa2B,EAAQwF,MAAMN,EAAU,EAAG1C,EAAM,GAAI/B,EAAW+E,MAAMN,EAAU,EAAG1C,EAAM,GAAIhD,IACvJwF,EAAQ,IAzCE,GAyC6BJ,EAAS5E,EAASwC,EAAM,EAAGkC,KACnDO,GAAiB,EAAID,GAASD,EAAgB5F,EAAU,EAxC5D,IAwC4EkG,IAGzFnJ,EAAQ0I,SAAWA,EAAW,SAASa,EAAMjD,EAAKkC,GAChD,IAAI/C,EAAOvF,EACX,GAAIoG,EAAM,EACR,OAAO,EAIT,IAFAb,EAAQ,EACRvF,GAAK,IACIA,EAAIoG,GAAOiD,EAAKrJ,KAAOsI,IAGhC,OAAStI,EAAIoG,GACX,GAAIiD,EAAKrJ,KAAOsI,EAEd,IADA/C,MACSvF,EAAIoG,GAAOiD,EAAKrJ,KAAOsI,IAKpC,OAAO/C,GAGTzF,EAAQwJ,aAA8B,SAASC,GAC7C,IAAIxE,EAEJ,OADAA,EAAMwE,EAAIL,YAAY,MACZ,EACD,GAEAK,EAAIC,OAAOzE,EAAM,IAI5B0D,EAAoB,SAASgB,EAAWN,EAAKO,EAAUC,EAAQC,GAC7D,IAAIxJ,EAAGyJ,EAASpI,EAAGsD,EACnB,IAAKoE,EAAIhF,OACP,OAAO,EAGT,MADAY,EAAM0E,EAAUP,YAAY,IAAKS,IACrBD,GACV,OAAO,EAUT,KAPAtJ,EAAIuJ,EAAS5E,IADbtD,EAAI0H,EAAIhF,UAGN1C,EAAIrB,EACJA,EAAI+I,EAAIhF,QAEVY,IACA8E,GAAW,IACFA,EAAUpI,GACbgI,EAAU1E,EAAM8E,KAAaV,EAAIU,KAIvC,OAAgB,IAAZA,GAAiBD,EAAW,EACvB,GAAMnB,EAAkBgB,EAAWN,EAAKO,EAAU3E,EAAM,EAAG6E,EAAW,GAExEC,EAAUzJ,KAGlBD,KAAKyG,O,iBC7GR,WACE,IAAWkD,EAAWtB,EAAUuB,EAAcT,EAAcU,EAAaC,EAAoBjC,EAE7FA,EAAO,EAAQ,GAAiBQ,EAAWR,EAAKQ,SAAUc,EAAetB,EAAKsB,aAE9EvJ,EAAOD,QACL,SAAeoD,EAAOgH,GACpB,IAAI3B,EAAcD,EAAe6B,EAEjC,GADkC5B,GAAlC4B,EAAgB,MAARD,EAAeA,EAAO,IAAyB3B,aAAcD,EAAgB6B,EAAM7B,eACrFpF,IAASA,EAAMiB,OACnB,OAAO,KAETyC,KAAK1D,MAAQA,EACb0D,KAAK/C,SAAWX,EAAMO,cACtBmD,KAAKwD,KAAON,EAAU5G,EAAOqF,GAC7B3B,KAAKrD,QAAUqD,KAAKwD,KAAK3G,cACzBmD,KAAKpD,QAAUyG,EAAmBrD,KAAKwD,MACvCxD,KAAKmC,MAAQP,EAAStF,EAAOA,EAAMiB,OAAQmE,GAC3C1B,KAAKuC,IAAMG,EAAa1C,KAAK/C,UAC7B+C,KAAKlB,UAAYqE,EAAanD,KAAK/C,WAOvCmG,EAAc,eAEdF,EAAY,SAAS5G,EAAOqF,GAI1B,OAHoB,MAAhBA,IACFA,EAAeyB,GAEV9G,EAAMmH,QAAQ9B,EAAc,KAGrC0B,EAAqB,SAASV,GAC5B,IAAUe,EAAOvC,EAAIwC,EAErB,IADAD,EAAQ,GACHvC,EAAK,EAAGwC,EAAOhB,EAAIpF,OAAQ4D,EAAKwC,EAAMxC,IAEzCuC,GADOf,EAAIxB,GACGyC,cAAc,GAE9B,OAAOF,GAGTP,EAAe,SAASR,GACtB,IAAI7D,EAAW1F,EAAG8F,EAIlB,IAHAA,EAAMyD,EAAIpF,OACVnE,GAAK,EACL0F,EAAY,KACH1F,EAAI8F,GACXJ,EAAU6D,EAAInF,WAAWpE,KAAM,EAEjC,OAAO0F,KAGRvF,KAAKyG,O,cCvDR,IAOI6D,EACAC,EARAjD,EAAU1H,EAAOD,QAAU,GAU/B,SAAS6K,IACL,MAAM,IAAIC,MAAM,mCAEpB,SAASC,IACL,MAAM,IAAID,MAAM,qCAsBpB,SAASE,EAAWC,GAChB,GAAIN,IAAqBO,WAErB,OAAOA,WAAWD,EAAK,GAG3B,IAAKN,IAAqBE,IAAqBF,IAAqBO,WAEhE,OADAP,EAAmBO,WACZA,WAAWD,EAAK,GAE3B,IAEI,OAAON,EAAiBM,EAAK,GAC/B,MAAME,GACJ,IAEI,OAAOR,EAAiBtK,KAAK,KAAM4K,EAAK,GAC1C,MAAME,GAEJ,OAAOR,EAAiBtK,KAAKyG,KAAMmE,EAAK,MAvCnD,WACG,IAEQN,EADsB,mBAAfO,WACYA,WAEAL,EAEzB,MAAOM,GACLR,EAAmBE,EAEvB,IAEQD,EADwB,mBAAjBQ,aACcA,aAEAL,EAE3B,MAAOI,GACLP,EAAqBG,GAjB7B,GAwEA,IAEIM,EAFAC,EAAQ,GACRC,GAAW,EAEXC,GAAc,EAElB,SAASC,IACAF,GAAaF,IAGlBE,GAAW,EACPF,EAAahH,OACbiH,EAAQD,EAAaK,OAAOJ,GAE5BE,GAAc,EAEdF,EAAMjH,QACNsH,KAIR,SAASA,IACL,IAAIJ,EAAJ,CAGA,IAAIK,EAAUZ,EAAWS,GACzBF,GAAW,EAGX,IADA,IAAIvF,EAAMsF,EAAMjH,OACV2B,GAAK,CAGP,IAFAqF,EAAeC,EACfA,EAAQ,KACCE,EAAaxF,GACdqF,GACAA,EAAaG,GAAYK,MAGjCL,GAAc,EACdxF,EAAMsF,EAAMjH,OAEhBgH,EAAe,KACfE,GAAW,EAnEf,SAAyBO,GACrB,GAAIlB,IAAuBQ,aAEvB,OAAOA,aAAaU,GAGxB,IAAKlB,IAAuBG,IAAwBH,IAAuBQ,aAEvE,OADAR,EAAqBQ,aACdA,aAAaU,GAExB,IAEWlB,EAAmBkB,GAC5B,MAAOX,GACL,IAEI,OAAOP,EAAmBvK,KAAK,KAAMyL,GACvC,MAAOX,GAGL,OAAOP,EAAmBvK,KAAKyG,KAAMgF,KAgD7CC,CAAgBH,IAiBpB,SAASI,EAAKf,EAAKgB,GACfnF,KAAKmE,IAAMA,EACXnE,KAAKmF,MAAQA,EAYjB,SAASC,KA5BTvE,EAAQwE,SAAW,SAAUlB,GACzB,IAAImB,EAAO,IAAIzG,MAAM0G,UAAUhI,OAAS,GACxC,GAAIgI,UAAUhI,OAAS,EACnB,IAAK,IAAInE,EAAI,EAAGA,EAAImM,UAAUhI,OAAQnE,IAClCkM,EAAKlM,EAAI,GAAKmM,UAAUnM,GAGhCoL,EAAMnD,KAAK,IAAI6D,EAAKf,EAAKmB,IACJ,IAAjBd,EAAMjH,QAAiBkH,GACvBP,EAAWW,IASnBK,EAAKlK,UAAU+J,IAAM,WACjB/E,KAAKmE,IAAI7C,MAAM,KAAMtB,KAAKmF,QAE9BtE,EAAQ2E,MAAQ,UAChB3E,EAAQ4E,SAAU,EAClB5E,EAAQ6E,IAAM,GACd7E,EAAQ8E,KAAO,GACf9E,EAAQ+E,QAAU,GAClB/E,EAAQgF,SAAW,GAInBhF,EAAQiF,GAAKV,EACbvE,EAAQkF,YAAcX,EACtBvE,EAAQmF,KAAOZ,EACfvE,EAAQoF,IAAMb,EACdvE,EAAQqF,eAAiBd,EACzBvE,EAAQsF,mBAAqBf,EAC7BvE,EAAQuF,KAAOhB,EACfvE,EAAQwF,gBAAkBjB,EAC1BvE,EAAQyF,oBAAsBlB,EAE9BvE,EAAQ0F,UAAY,SAAU5M,GAAQ,MAAO,IAE7CkH,EAAQ2F,QAAU,SAAU7M,GACxB,MAAM,IAAIqK,MAAM,qCAGpBnD,EAAQ4F,IAAM,WAAc,MAAO,KACnC5F,EAAQ6F,MAAQ,SAAUC,GACtB,MAAM,IAAI3C,MAAM,mCAEpBnD,EAAQ+F,MAAQ,WAAa,OAAO,I,iBCvLpC,WACE,IAAWlG,EAAYmG,EAAiBjG,EAAQkG,EAEhDlG,EAAS,EAAQ,GAEjBF,EAAa,EAAQ,GAEb,EAAQ,GAEhBmG,EAAkB,SAASE,GACzB,OAAOA,EAAElE,WAGXiE,EAAiB,SAASC,EAAGC,GAC3B,OAAOA,EAAE5K,MAAQ2K,EAAE3K,OAGrBjD,EAAOD,QAAU,SAAS6H,EAAYzE,EAAOC,GAC3C,IAAI0K,EAAMpE,EAAWlI,EAAKuM,EAAWC,EAAY/K,EAAOgL,EAAeC,EAAkBC,EAAUjL,EAAQ2E,EAAgBG,EAAIwC,EAM/H,IALA0D,EAAmB,GACnB1M,EAAM4B,EAAQ5B,IAAKwM,EAAa5K,EAAQ4K,WAAYD,EAAY3K,EAAQ2K,UAAWlG,EAAiBzE,EAAQyE,eAC5GsG,EAAyB,MAAbJ,GAAsBA,EAAY,EAAIA,EAAYnG,EAAWxD,OAAS,EAClF0J,EAAc,MAAPtM,EACPyM,EAAgBpG,EAAiBN,EAAaE,EACzCO,EAAK,EAAGwC,EAAO5C,EAAWxD,OAAQ4D,EAAKwC,IAC1Cd,EAAY9B,EAAWI,MACvB9E,EAAS4K,EAAOpE,EAAUlI,GAAOkI,KAIjCzG,EAAQgL,EAAchL,MAAMC,EAAQC,EAAOC,IAC/B,KACV8K,EAAiBhG,KAAK,CACpBwB,UAAWA,EACXzG,MAAOA,MAEFkL,IAZuCnG,KAsBlD,OALAkG,EAAiBE,KAAKT,GACtB/F,EAAasG,EAAiBG,IAAIX,GAChB,MAAdM,IACFpG,EAAaA,EAAWyB,MAAM,EAAG2E,IAE5BpG,KAGRxH,KAAKyG,O,iBCjDR,WACE,IAAIyH,EAAeC,EAAclM,EAASG,EAAasF,EAAO0G,EAAc/L,EAAeC,EAAgBC,EAAmBsF,EAE9HA,EAAO,EAAQ,GAAa5F,EAAU4F,EAAK5F,QAASG,EAAcyF,EAAKzF,YAAaG,EAAoBsF,EAAKtF,kBAAmBD,EAAiBuF,EAAKvF,eAAgBD,EAAgBwF,EAAKxF,cAE3L1C,EAAQ+H,MAAQA,EAAQ,SAAS5E,EAAQC,EAAOC,GAC9C,IAAIG,EAAakL,EAAaC,EAASnG,EAAelF,EAAeC,EAErE,OADAC,EAAcH,EAAQG,YAAaF,EAAgBD,EAAQC,cAAekF,EAAgBnF,EAAQmF,cAC5FhF,GAAelB,EAAQa,EAAQG,EAAcG,QAASH,EAAcI,UAG1EH,EAAYJ,EAAOQ,cAEI,KADvBgL,EAAUH,EAAarL,EAAQI,EAAWD,IAC9Be,QAGRlB,EAAOuC,QAAQ8C,IAAkB,IACnCkG,EAAcH,EAAcpL,EAAQI,EAAWD,EAAekF,GAC9DmG,EAAUF,EAAaE,EAASD,IAJzBC,GALA,IAcX3O,EAAQqI,KAAO,SAASlF,EAAQC,EAAOC,GACrC,IAAIuL,EAAYC,EAAUC,EAAgBC,EAAQC,EAAQC,EAAUC,EAAUC,EAAS9E,EAavF,GAZqB,MAAhBhH,EAAQgF,OACW4G,GAAtB5E,EAAQhH,EAAQgF,MAAuB4G,SAAUE,EAAU9E,EAAM8E,QAASD,EAAW7E,EAAM6E,UAE7E,MAAZD,IACFA,EAAW,aAEE,MAAXE,IACFA,EAAU,kBAAoBF,EAAW,MAE3B,MAAZC,IACFA,EAAW,aAET/L,IAAWC,EACb,OAAO+L,EAAUhM,EAAS+L,EAG5B,GAA8B,KAD9BJ,EAAiB/G,EAAM5E,EAAQC,EAAOC,IACnBgB,OACjB,OAAOlB,EAKT,IAHA4L,EAAS,GACTH,GAAc,EACdI,EAAS,IACAJ,EAAaE,EAAezK,QAAQ,CAM3C,KALAwK,EAAWC,EAAeF,IACXI,IACbD,GAAU5L,EAAOiM,UAAUJ,EAAQH,GACnCG,EAASH,KAEFD,EAAaE,EAAezK,QAAQ,CAC3C,GAAIyK,EAAeF,KAAgBC,EAAW,EAEvC,CACLD,IACA,MAHAC,MAMJA,EACeG,IACbD,GAAUI,EACVJ,GAAU5L,EAAOiM,UAAUJ,EAAQH,GACnCE,GAAUG,EACVF,EAASH,GAMb,OAHIG,GAAU7L,EAAOkB,OAAS,IAC5B0K,GAAU5L,EAAOiM,UAAUJ,IAEtBD,GAGTR,EAAgB,SAASzK,EAASS,EAAYjB,EAAekF,GAC3D,IAAIQ,EAASC,EAAO3C,EAEpB,IADAA,EAAMxC,EAAQO,OAAS,EAChBP,EAAQwC,KAASkC,GACtBlC,IAGF,IAAiB,KADjB0C,EAAUlF,EAAQsF,YAAYZ,EAAelC,IAE3C,MAAO,GAGT,IADA2C,EAAQ3F,EAAc2F,MACfA,KAAU,GAEf,IAAiB,KADjBD,EAAUlF,EAAQsF,YAAYZ,EAAeQ,EAAU,IAErD,MAAO,GAKX,OAFAA,IACA1C,IACOkI,EAAa1K,EAAQwF,MAAMN,EAAS1C,GAAM/B,EAAW+E,MAAMN,EAAS1C,GAAMhD,EAAe0F,IAGlGyF,EAAe,SAASZ,EAAGC,GACzB,IAAIuB,EAAIC,EAAIpP,EAAG+D,EAAG3D,EAAGqB,EAAG4N,EAGxB,GAFAjP,EAAIuN,EAAExJ,OAEI,KADV1C,EAAImM,EAAEzJ,QAEJ,OAAOwJ,EAAEvE,QAEX,GAAU,IAANhJ,EACF,OAAOwN,EAAExE,QAMX,IAJApJ,GAAK,EAELoP,EAAKxB,EADL7J,EAAI,GAEJsL,EAAM,KACGrP,EAAII,GAAG,CAEd,IADA+O,EAAKxB,EAAE3N,GACAoP,GAAMD,KAAQpL,EAAItC,GACnB2N,EAAKD,GACPE,EAAIpH,KAAKmH,GAEXA,EAAKxB,EAAE7J,GAETsL,EAAIpH,KAAKkH,GAEX,KAAOpL,EAAItC,GACT4N,EAAIpH,KAAK2F,EAAE7J,MAEb,OAAOsL,GAGTf,EAAe,SAAS1K,EAASS,EAAYjB,EAAekM,GAC1D,IAA8B/K,EAAYC,EAAO+K,EAAW9K,EAAUC,EAASC,EAAW3E,EAAG+D,EAAG3D,EAAGqO,EAASe,EAAM/N,EAAGsD,EAAK7B,EAAOW,EAAUb,EAAOiC,EAAYC,EAAWC,EAAUC,EAAOC,EAAOoK,EAkBjM,IAjBc,MAAVH,IACFA,EAAS,GAEXpM,EAAQE,EAAcF,MACtBW,EAAWT,EAAcS,SACzBzD,EAAIwD,EAAQO,OACZ1C,EAAIyB,EAAMiB,OACVI,EAAa/B,EAAcoB,EAASS,EAAYnB,EAAOW,GAAUb,MACjEkC,EAAY,IAAIO,MAAMhE,GACtBiD,EAAU,IAAIe,MAAMhE,GACb,EACF,EACE,EACI,EACXgO,EAAQ,IAAIhK,MAAMrF,EAAIqB,GACtBsD,GAAO,EACPhB,GAAK,IACIA,EAAItC,GACXyD,EAAUnB,GAAK,EACfW,EAAQX,GAAK,EAGf,IADA/D,GAAK,IACIA,EAAII,GAMX,IALA4C,EAAQ,EACRmC,EAAW,EACXV,EAAW,EACXW,EAAQf,EAAWrE,GACnB+D,GAAK,IACIA,EAAItC,GACXkD,EAAY,EACZH,EAAQ,EACRS,EAAaE,EACTtB,EAASE,KAAOqB,IAClBC,EAAQ9C,EAAYvC,EAAG4D,EAASS,GAChCM,EAAYF,EAAW,EAAIA,EAAW/B,EAAkBkB,EAASS,EAAYnB,EAAOW,EAAU7D,EAAG+D,EAAGsB,GACpGb,EAAQS,EAAaxC,EAAezC,EAAG+D,EAAGsB,EAAOd,EAAYI,IAE/DQ,EAAWD,EAAUnB,GACrBU,EAAWC,EAAQX,GACff,EAAQmC,EACVqK,EA5BC,GA8BDxM,EAAQmC,EACRqK,EAhCD,GAkCGhL,EAAQxB,GACVA,EAAQwB,EACRgL,EAlCK,GAoCL7K,EAAY,EAEdO,EAAUnB,GAAKf,EACf0B,EAAQX,GAAKY,EACb8K,IAAQ1K,GAAO/B,EAAQ,EAAIwM,EA3CxB,EAmDP,IAHAzK,GAFA/E,EAAII,EAAI,GAEEqB,GADVsC,EAAItC,EAAI,GAER8N,GAAY,EACZd,EAAU,GACHc,GAAavP,GAAK,GAAK+D,GAAK,GACjC,OAAQ0L,EAAM1K,IACZ,KApDC,EAqDC/E,IACA+E,GAAOtD,EACP,MACF,KAvDG,EAwDDsC,IACAgB,IACA,MACF,KA1DO,EA2DL0J,EAAQxG,KAAKjI,EAAIsP,GACjBvL,IACA/D,IACA+E,GAAOtD,EAAI,EACX,MACF,QACE8N,GAAY,EAIlB,OADAd,EAAQiB,UACDjB,KAGRtO,KAAKyG,O,8BCtND,SAAS+I,EAAW1O,GACvB,MAAwB,mBAAVA,ECGX,SAAS2O,EAAQC,GACpB,OAAQC,IACJ,GALD,SAAiBA,GACpB,OAAOH,EAAWG,aAAuC,EAASA,EAAOC,MAIjEC,CAAQF,GACR,OAAOA,EAAOC,MAAK,SAAUE,GACzB,IACI,OAAOJ,EAAKI,EAAcrJ,MAE9B,MAAOsJ,GACHtJ,KAAKuJ,MAAMD,OAIvB,MAAM,IAAIE,UAAU,2CChBrB,SAASC,EAAiBC,GAC7B,MAIMC,EAAWD,EAJDE,IACZ5F,MAAMzK,KAAKqQ,GACXA,EAASC,OAAQ,IAAI7F,OAAQ6F,QAKjC,OAFAF,EAAS3O,UAAYlB,OAAOY,OAAOsJ,MAAMhJ,WACzC2O,EAAS3O,UAAU8O,YAAcH,EAC1BA,E,OCPJ,MAAMI,EAAsBN,EAAkBO,GAAW,SAAiCC,GAC7FD,EAAOhK,MACPA,KAAKkK,QAAUD,EACT,GAAGA,EAAO1M,kDAClB0M,EAAOzC,IAAI,CAAC8B,EAAKlQ,IAAM,GAAGA,EAAI,MAAMkQ,EAAIa,cAAcC,KAAK,UACnD,GACNpK,KAAKrG,KAAO,sBACZqG,KAAKiK,OAASA,ICRX,SAASI,EAAUC,EAAKC,GAC3B,GAAID,EAAK,CACL,MAAME,EAAQF,EAAI1L,QAAQ2L,GAC1B,GAAKC,GAASF,EAAIG,OAAOD,EAAO,ICAjC,MAAM,EACT,YAAYE,GACR1K,KAAK0K,gBAAkBA,EACvB1K,KAAK2K,QAAS,EACd3K,KAAK4K,WAAa,KAClB5K,KAAK6K,WAAa,KAEtB,cACI,IAAIZ,EACJ,IAAKjK,KAAK2K,OAAQ,CACd3K,KAAK2K,QAAS,EACd,MAAM,WAAEC,GAAe5K,KACvB,GAAInB,MAAMiM,QAAQF,GACd,IAAK,MAAMG,KAAUH,EACjBG,EAAOC,OAAOhL,WAIlB4K,SAAwDA,EAAWI,OAAOhL,MAE9E,MAAM,gBAAE0K,GAAoB1K,KAC5B,GAAI+I,EAAW2B,GACX,IACIA,IAEJ,MAAOrG,GACH4F,EAAS5F,aAAa0F,EAAsB1F,EAAE4F,OAAS,CAAC5F,GAGhE,MAAM,WAAEwG,GAAe7K,KACvB,GAAI6K,EAAY,CACZ7K,KAAK6K,WAAa,KAClB,IAAK,MAAMI,KAAYJ,EACnB,IACIK,EAAaD,GAEjB,MAAO3B,GACHW,EAASA,QAAuCA,EAAS,GACrDX,aAAeS,EACfE,EAAS,IAAIA,KAAWX,EAAIW,QAG5BA,EAAO5I,KAAKiI,IAK5B,GAAIW,EACA,MAAM,IAAIF,EAAoBE,IAI1C,IAAIgB,GACA,IAAIE,EACJ,GAAIF,GAAYA,IAAajL,KACzB,GAAIA,KAAK2K,OACLO,EAAaD,OAEZ,CACD,GAAIA,aAAoB,EAAc,CAClC,GAAIA,EAASN,QAAUM,EAASG,WAAWpL,MACvC,OAEJiL,EAASI,WAAWrL,OAEvBA,KAAK6K,WAAwC,QAA1BM,EAAKnL,KAAK6K,kBAA+B,IAAPM,EAAgBA,EAAK,IAAI9J,KAAK4J,IAIhG,WAAWF,GACP,MAAM,WAAEH,GAAe5K,KACvB,OAAO4K,IAAeG,GAAWlM,MAAMiM,QAAQF,IAAeA,EAAWU,SAASP,GAEtF,WAAWA,GACP,MAAM,WAAEH,GAAe5K,KACvBA,KAAK4K,WAAa/L,MAAMiM,QAAQF,IAAeA,EAAWvJ,KAAK0J,GAASH,GAAcA,EAAa,CAACA,EAAYG,GAAUA,EAE9H,cAAcA,GACV,MAAM,WAAEH,GAAe5K,KACnB4K,IAAeG,EACf/K,KAAK4K,WAAa,KAEb/L,MAAMiM,QAAQF,IACnBP,EAAUO,EAAYG,GAG9B,OAAOE,GACH,MAAM,WAAEJ,GAAe7K,KACvB6K,GAAcR,EAAUQ,EAAYI,GAChCA,aAAoB,GACpBA,EAASM,cAAcvL,OAInC,EAAawL,MAAQ,MACjB,MAAMC,EAAQ,IAAI,EAElB,OADAA,EAAMd,QAAS,EACRc,GAHU,GAKd,MAAMC,EAAqB,EAAaF,MACxC,SAASG,EAAetR,GAC3B,OAAQA,aAAiB,GACpBA,GAAS,WAAYA,GAAS0O,EAAW1O,EAAM2Q,SAAWjC,EAAW1O,EAAMuR,MAAQ7C,EAAW1O,EAAMwR,aAE7G,SAASX,EAAaD,GACdlC,EAAWkC,GACXA,IAGAA,EAASY,cChHV,MAAM,EAAS,CAClBC,iBAAkB,KAClBC,sBAAuB,KACvBC,aAASC,EACTC,uCAAuC,EACvCC,0BAA0B,GCLjBC,EAAkB,CAC3B,cAAc9G,GACV,MAAM,SAAE+G,GAAaD,EACrB,QAASC,aAA2C,EAASA,EAASjI,aAAeA,eAAekB,IAExG,aAAagH,GACT,MAAM,SAAED,GAAaD,EACrB,QAASC,aAA2C,EAASA,EAAS/H,eAAiBA,cAAcgI,IAEzGD,cAAUJ,GCPP,SAASM,EAAqBjD,GACjC8C,EAAgBhI,WAAW,KACvB,MAAM,iBAAE0H,GAAqB,EAC7B,IAAIA,EAIA,MAAMxC,EAHNwC,EAAiBxC,KCNtB,SAASlE,KCAT,MAAMoH,EAA+BC,EAAmB,SAAKR,OAAWA,GAOxE,SAASQ,EAAmBC,EAAMrS,EAAOkP,GAC5C,MAAO,CACHmD,OACArS,QACAkP,SCJD,MAAM,UAAmB,EAC5B,YAAYoD,GACRC,QACA5M,KAAK6M,WAAY,EACbF,GACA3M,KAAK2M,YAAcA,EACfhB,EAAegB,IACfA,EAAYf,IAAI5L,OAIpBA,KAAK2M,YAAcG,EAG3B,cAAcC,EAAMxD,EAAOyD,GACvB,OAAO,IAAI,EAAeD,EAAMxD,EAAOyD,GAE3C,KAAK3S,GACG2F,KAAK6M,UACLI,EDtBL,SAA0B5S,GAC7B,OAAOoS,EAAmB,IAAKpS,OAAO4R,GCqBJiB,CAAiB7S,GAAQ2F,MAGnDA,KAAKmN,MAAM9S,GAGnB,MAAMiP,GACEtJ,KAAK6M,UACLI,EDhCDR,EAAmB,SAAKR,ECgCqB3C,GAAMtJ,OAGlDA,KAAK6M,WAAY,EACjB7M,KAAKoN,OAAO9D,IAGpB,WACQtJ,KAAK6M,UACLI,EAA0BT,EAAuBxM,OAGjDA,KAAK6M,WAAY,EACjB7M,KAAKqN,aAGb,cACSrN,KAAK2K,SACN3K,KAAK6M,WAAY,EACjBD,MAAMf,eAGd,MAAMxR,GACF2F,KAAK2M,YAAYI,KAAK1S,GAE1B,OAAOiP,GACHtJ,KAAK2M,YAAYpD,MAAMD,GACvBtJ,KAAK6L,cAET,YACI7L,KAAK2M,YAAYK,WACjBhN,KAAK6L,eAGN,MAAM,UAAuB,EAChC,YAAYyB,EAAgB/D,EAAOyD,GAG/B,GAFAJ,QACA5M,KAAK2M,YAAcG,GACdQ,GAAkB/D,GAASyD,IAAaM,IAAmBR,EAAgB,CAC5E,IAAIC,EACJ,GAAIhE,EAAWuE,GACXP,EAAOO,OAEN,GAAIA,EAAgB,CAErB,IAAIC,IADDR,OAAMxD,QAAOyD,YAAaM,GAEzBtN,MAAQ,EAAOmM,0BACfoB,EAAUzT,OAAOY,OAAO4S,GACxBC,EAAQ1B,YAAc,IAAM7L,KAAK6L,eAGjC0B,EAAUD,EAEdP,EAAOA,aAAmC,EAASA,EAAKnS,KAAK2S,GAC7DhE,EAAQA,aAAqC,EAASA,EAAM3O,KAAK2S,GACjEP,EAAWA,aAA2C,EAASA,EAASpS,KAAK2S,GAEjFvN,KAAK2M,YAAc,CACfI,KAAMA,GAAQ3H,EACdmE,MAAOA,GAASiE,EAChBR,SAAUA,GAAY5H,KAKtC,SAASoI,EAAoBlE,GACzB,GAAI,EAAO4C,sCACP,MAAM5C,EAEViD,EAAqBjD,GAEzB,SAAS2D,EAA0BQ,EAAcC,GAC7C,MAAM,sBAAE3B,GAA0B,EAClCA,GAAyBK,EAAgBhI,WAAW,IAAM2H,EAAsB0B,EAAcC,IAE3F,MAAMZ,EAAiB,CAC1BnC,QAAQ,EACRoC,KAAM3H,EACNmE,MAAOiE,EACPR,SAAU5H,GChHP,MAAM,UAA2B,EACpC,YAAYuH,EAAagB,EAAQC,EAASC,EAAYC,GAClDlB,MAAMD,GACN3M,KAAK8N,cAAgBA,EACrB9N,KAAKmN,MAAQQ,EACP,SAAUtT,GACR,IACIsT,EAAOtT,GAEX,MAAOiP,GACHtJ,KAAK2M,YAAYpD,MAAMD,KAG7BsD,MAAMO,MACZnN,KAAKoN,OAASQ,EACR,SAAUtE,GACR,IACIsE,EAAQtE,GAEZ,MAAOA,GACHtJ,KAAK2M,YAAYpD,MAAMD,GAE3BtJ,KAAK6L,eAEPe,MAAMQ,OACZpN,KAAKqN,UAAYQ,EACX,WACE,IACIA,IAEJ,MAAOvE,GACHtJ,KAAK2M,YAAYpD,MAAMD,GAE3BtJ,KAAK6L,eAEPe,MAAMS,UAEhB,cACI,IAAIlC,GACHnL,KAAK2K,SAAyC,QAA7BQ,EAAKnL,KAAK8N,qBAAkC,IAAP3C,GAAyBA,EAAG5R,KAAKyG,OACxF4M,MAAMf,eCvCP,SAASrE,EAAIuG,EAASC,GACzB,OAAOhF,EAAQ,CAACE,EAAQwE,KACpB,IAAIlD,EAAQ,EACZtB,EAAO+E,UAAU,IAAI,EAAmBP,EAAarT,IACjDqT,EAAWX,KAAKgB,EAAQxU,KAAKyU,EAAS3T,EAAOmQ;;;;;;;;;;;;;;gFC+DlD,SAAS0D,EAAUF,EAASG,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIpC,WAAU,SAAUsC,EAASC,GAC/C,SAASC,EAAUnU,GAAS,IAAMoU,EAAKJ,EAAUtB,KAAK1S,IAAW,MAAOgK,GAAKkK,EAAOlK,IACpF,SAASqK,EAASrU,GAAS,IAAMoU,EAAKJ,EAAiB,MAAEhU,IAAW,MAAOgK,GAAKkK,EAAOlK,IACvF,SAASoK,EAAKE,GAJlB,IAAetU,EAIasU,EAAOC,KAAON,EAAQK,EAAOtU,QAJ1CA,EAIyDsU,EAAOtU,MAJhDA,aAAiB+T,EAAI/T,EAAQ,IAAI+T,GAAE,SAAUE,GAAWA,EAAQjU,OAITwU,KAAKL,EAAWE,GAClGD,GAAMJ,EAAYA,EAAU/M,MAAM0M,EAASG,GAAc,KAAKpB,WAgCzCjT,OAAOY,OAY7B,SAASoU,EAASjV,GACrB,IAAIsB,EAAsB,mBAAXhB,QAAyBA,OAAO4U,SAAUvV,EAAI2B,GAAKtB,EAAEsB,GAAI/B,EAAI,EAC5E,GAAII,EAAG,OAAOA,EAAED,KAAKM,GACrB,GAAIA,GAAyB,iBAAbA,EAAE0D,OAAqB,MAAO,CAC1CwP,KAAM,WAEF,OADIlT,GAAKT,GAAKS,EAAE0D,SAAQ1D,OAAI,GACrB,CAAEQ,MAAOR,GAAKA,EAAET,KAAMwV,MAAO/U,KAG5C,MAAM,IAAI2P,UAAUrO,EAAI,0BAA4B,mCAgEjD,SAAS6T,EAAcnV,GAC1B,IAAKM,OAAO8U,cAAe,MAAM,IAAIzF,UAAU,wCAC/C,IAAiCpQ,EAA7BI,EAAIK,EAAEM,OAAO8U,eACjB,OAAOzV,EAAIA,EAAED,KAAKM,IAAMA,EAAqCiV,EAASjV,GAA2BT,EAAI,GAAI8V,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW9V,EAAEe,OAAO8U,eAAiB,WAAc,OAAOjP,MAAS5G,GAC9M,SAAS8V,EAAKrU,GAAKzB,EAAEyB,GAAKhB,EAAEgB,IAAM,SAAUsU,GAAK,OAAO,IAAInD,SAAQ,SAAUsC,EAASC,IACvF,SAAgBD,EAASC,EAAQ7U,EAAGyV,GAAKnD,QAAQsC,QAAQa,GAAGN,MAAK,SAASM,GAAKb,EAAQ,CAAEjU,MAAO8U,EAAGP,KAAMlV,MAAS6U,IADJa,CAAOd,EAASC,GAA7BY,EAAItV,EAAEgB,GAAGsU,IAA8BP,KAAMO,EAAE9U,YAS3HP,OAAOY,OC7MzB,MAAM2U,EAAgBC,GAAMA,GAAyB,iBAAbA,EAAE/R,QAAoC,mBAAN+R,ECCxE,SAASC,EAAUlV,GACtB,OAAO0O,EAAW1O,aAAqC,EAASA,EAAMwU,MCInE,MAAM,EALa,mBAAX1U,QAA0BA,OAAO4U,SAGrC5U,OAAO4U,SAFH,aCFF,EAAuC,mBAAX5U,QAAyBA,OAAOqV,YAAe,eCAjF,SAASC,EAASH,GACrB,OAAOA,ECGJ,SAASI,EAAcC,GAC1B,OAAmB,IAAfA,EAAIpS,OACGkS,EAEQ,IAAfE,EAAIpS,OACGoS,EAAI,GAER,SAAeC,GAClB,OAAOD,EAAIE,OAAO,CAACC,EAAMC,IAAOA,EAAGD,GAAOF,ICN3C,MAAM,EACT,YAAY3B,GACJA,IACAjO,KAAKgQ,WAAa/B,GAG1B,KAAKgC,GACD,MAAMT,EAAa,IAAI,EAGvB,OAFAA,EAAWtG,OAASlJ,KACpBwP,EAAWS,SAAWA,EACfT,EAEX,UAAUlC,EAAgB/D,EAAOyD,GAC7B,MAAMU,GA+DQrT,EA/DkBiT,IAgEnBjT,aAAiB,GAJtC,SAAoBA,GAChB,OAAOA,GAAS0O,EAAW1O,EAAM0S,OAAShE,EAAW1O,EAAMkP,QAAUR,EAAW1O,EAAM2S,UAGpCkD,CAAW7V,IAAUsR,EAAetR,GAhEhCiT,EAAiB,IAAI,EAAeA,EAAgB/D,EAAOyD,GA+DrH,IAAsB3S,EA9Dd,MAAM,SAAE4V,EAAQ,OAAE/G,GAAWlJ,KAM7B,OALA0N,EAAW9B,IAAIqE,EACTA,EAAS1W,KAAKmU,EAAYxE,GAC1BA,GAAU,EAAOgD,sCACblM,KAAKgQ,WAAWtC,GAChB1N,KAAKmQ,cAAczC,IACtBA,EAEX,cAAc0C,GACV,IACI,OAAOpQ,KAAKgQ,WAAWI,GAE3B,MAAO9G,GACH,GAAI,EAAO4C,sCACP,MAAM5C,EAEV8G,EAAK7G,MAAMD,IAGnB,QAAQyD,EAAMsD,GAEV,OAAO,IADPA,EAAcC,EAAeD,IACN,CAAC/B,EAASC,KAC7B,IAAIgC,EACJA,EAAevQ,KAAKiO,UAAW5T,IAC3B,IACI0S,EAAK1S,GAET,MAAOiP,GACHiF,EAAOjF,GACPiH,SAA4DA,EAAa1E,gBAE9E0C,EAAQD,KAGnB,WAAWZ,GACP,IAAIvC,EACJ,OAA8B,QAAtBA,EAAKnL,KAAKkJ,cAA2B,IAAPiC,OAAgB,EAASA,EAAG8C,UAAUP,GAEhF,CAAC,KACG,OAAO1N,KAEX,QAAQwQ,GACJ,OAAOA,EAAWjT,OAASmS,EAAcc,EAAdd,CAA0B1P,MAAQA,KAEjE,UAAUqQ,GAEN,OAAO,IADPA,EAAcC,EAAeD,IACN,CAAC/B,EAASC,KAC7B,IAAIlU,EACJ2F,KAAKiO,UAAWqB,GAAOjV,EAAQiV,EAAKhG,GAAQiF,EAAOjF,GAAM,IAAMgF,EAAQjU,OAOnF,SAASiW,EAAeD,GACpB,IAAIlF,EACJ,OAAgG,QAAxFA,EAAKkF,QAAiDA,EAAc,EAAOrE,eAA4B,IAAPb,EAAgBA,EAAKa,QC5E1H,SAASyE,EAAcb,EAAOc,GACjC,OAAO,IAAI,EAAYhD,IACnB,IAAItU,EAAI,EACR,OAAOsX,EAAUC,UAAS,WAClBvX,IAAMwW,EAAMrS,OACZmQ,EAAWV,YAGXU,EAAWX,KAAK6C,EAAMxW,MACjBsU,EAAW/C,QACZ3K,KAAK2Q,iBCTlB,SAASC,EAAoBhB,GAChC,OAAO7G,EAAW6G,EAAM,ICDrB,SAASiB,EAAWjB,GACvB,OAAO7G,EAAW6G,aAAqC,EAASA,EAAM,ICFnE,SAASkB,EAAgBC,GAC5B,OAAO5W,OAAO8U,eAAiBlG,EAAWgI,aAAiC,EAASA,EAAI5W,OAAO8U,gBCF5F,SAAS+B,EAAiCpB,GAC7C,OAAO,IAAIpG,UAAU,gBAA0B,OAAVoG,GAAmC,iBAAVA,EAAqB,oBAAsB,IAAIA,gHCU1G,SAASqB,EAAUrB,EAAOc,GAC7B,GAAa,MAATd,EAAe,CACf,GAAIgB,EAAoBhB,GACpB,OCXL,SAA4BA,EAAOc,GACtC,OAAO,IAAI,EAAWhD,IAClB,MAAMwD,EAAM,IAAI,EAShB,OARAA,EAAItF,IAAI8E,EAAUC,SAAS,KACvB,MAAMnB,EAAaI,EAAM,KACzBsB,EAAItF,IAAI4D,EAAWvB,UAAU,CACzB,KAAK5T,GAAS6W,EAAItF,IAAI8E,EAAUC,SAAS,IAAMjD,EAAWX,KAAK1S,MAC/D,MAAMiP,GAAO4H,EAAItF,IAAI8E,EAAUC,SAAS,IAAMjD,EAAWnE,MAAMD,MAC/D,WAAa4H,EAAItF,IAAI8E,EAAUC,SAAS,IAAMjD,EAAWV,oBAG1DkE,IDAIC,CAAmBvB,EAAOc,GAErC,GAAIrB,EAAYO,GACZ,OAAOa,EAAcb,EAAOc,GAEhC,GAAInB,EAAUK,GACV,OEnBL,SAAyBA,EAAOc,GACnC,OAAO,IAAI,EAAYhD,GACZgD,EAAUC,SAAS,IAAMf,EAAMf,KAAMxU,IACxCqT,EAAW9B,IAAI8E,EAAUC,SAAS,KAC9BjD,EAAWX,KAAK1S,GAChBqT,EAAW9B,IAAI8E,EAAUC,SAAS,IAAMjD,EAAWV,iBAEvD1D,IACAoE,EAAW9B,IAAI8E,EAAUC,SAAS,IAAMjD,EAAWnE,MAAMD,SFWlD8H,CAAgBxB,EAAOc,GAElC,GAAII,EAAgBlB,GAChB,OGrBL,SAA+BA,EAAOc,GACzC,IAAKd,EACD,MAAM,IAAI5L,MAAM,2BAEpB,OAAO,IAAI,EAAW0J,IAClB,MAAMwD,EAAM,IAAI,EAehB,OAdAA,EAAItF,IAAI8E,EAAUC,SAAS,KACvB,MAAM5B,EAAWa,EAAMzV,OAAO8U,iBAC9BiC,EAAItF,IAAI8E,EAAUC,UAAS,WACvB5B,EAAShC,OAAO8B,KAAKF,IACbA,EAAOC,KACPlB,EAAWV,YAGXU,EAAWX,KAAK4B,EAAOtU,OACvB2F,KAAK2Q,qBAKdO,IHCIG,CAAsBzB,EAAOc,GAExC,GAAIG,EAAWjB,GACX,OItBL,SAA0BA,EAAOc,GACpC,OAAO,IAAI,EAAYhD,IACnB,IAAIqB,EAcJ,OAbArB,EAAW9B,IAAI8E,EAAUC,SAAS,KAC9B5B,EAAWa,EAAM,KCRtB,SAAwBlC,EAAYgD,EAAWY,EAASC,EAAQ,GACnE,MAAMhB,EAAeG,EAAUC,UAAS,WACpC,IACIW,EAAQ/X,KAAKyG,MAEjB,MAAOsJ,GACHoE,EAAWnE,MAAMD,MAEtBiI,GACH7D,EAAW9B,IAAI2E,GDAPiB,CAAe9D,EAAYgD,GAAW,WAClC,MAAM,MAAErW,EAAK,KAAEuU,GAASG,EAAShC,OAC7B6B,EACAlB,EAAWV,YAGXU,EAAWX,KAAK1S,GAChB2F,KAAK2Q,kBAIV,IAAM5H,EAAWgG,aAA2C,EAASA,EAAS0C,SAAW1C,EAAS0C,WJM9FC,CAAiB9B,EAAOc,GAGvC,MAAMM,EAAiCpB,GMhBpC,SAAS+B,EAAK/B,EAAOc,GACxB,OAAOA,EAAYO,EAAUrB,EAAOc,GAAakB,EAAUhC,GAExD,SAASgC,EAAUhC,GACtB,GAAIA,aAAiB,EACjB,OAAOA,EAEX,GAAa,MAATA,EAAe,CACf,GAAIgB,EAAoBhB,GACpB,OAiBmBmB,EAjBUnB,EAkB9B,IAAI,EAAYlC,IACnB,MAAMmE,EAAMd,EAAI,KAChB,GAAIhI,EAAW8I,EAAI5D,WACf,OAAO4D,EAAI5D,UAAUP,GAEzB,MAAM,IAAIlE,UAAU,oEArBpB,GAAI6F,EAAYO,GACZ,OAAOkC,EAAclC,GAEzB,GAAIL,EAAUK,GACV,OA4BSmC,EA5BUnC,EA6BpB,IAAI,EAAYlC,IACnBqE,EACKlD,KAAMxU,IACFqT,EAAW/C,SACZ+C,EAAWX,KAAK1S,GAChBqT,EAAWV,aAEf1D,GAAQoE,EAAWnE,MAAMD,IACxBuF,KAAK,KAAMtC,KAnChB,GAAIuE,EAAgBlB,GAChB,OAoDeoC,EApDUpC,EAqD1B,IAAI,EAAYlC,KAI3B,SAAiBsE,EAAetE,GAC5B,IAAIuE,EAAiBC,EACjBC,EAAKhH,EACT,OAAO+C,EAAUlO,UAAM,OAAQ,GAAQ,YACnC,IACI,IAAKiS,EAAkBjD,EAAcgD,KAAgBE,QAA0BD,EAAgBlF,QAA2B6B,MAAO,CAC7H,MAAMvU,EAAQ6X,EAAkB7X,MAChCqT,EAAWX,KAAK1S,IAGxB,MAAO+X,GAASD,EAAM,CAAE5I,MAAO6I,GAC/B,QACI,IACQF,IAAsBA,EAAkBtD,OAASzD,EAAK8G,EAAgBR,gBAAetG,EAAG5R,KAAK0Y,IAErG,QAAU,GAAIE,EAAK,MAAMA,EAAI5I,OAEjCmE,EAAWV,eApBXnM,CAAQmR,EAAetE,GAAY2E,MAAO/I,GAAQoE,EAAWnE,MAAMD,MApDnE,GAAIuH,EAAWjB,GACX,OAkCU0C,EAlCU1C,EAmCrB,IAAI,EAAYlC,IACnB,MAAMqB,EAAWuD,EAAS,KAC1B,MAAQ5E,EAAW/C,QAAQ,CACvB,MAAM,KAAEiE,EAAI,MAAEvU,GAAU0U,EAAShC,OAC7B6B,EACAlB,EAAWV,WAGXU,EAAWX,KAAK1S,GAGxB,MAAO,IAAM0O,EAAWgG,aAA2C,EAASA,EAAS0C,SAAW1C,EAAS0C,WAZjH,IAAsBa,EAeKN,EA3BND,EAjBUhB,EAF3B,MAAMC,EAAiCpB,GAWpC,SAASkC,EAAc3M,GAC1B,OAAO,IAAI,EAAYuI,IACnB,IAAK,IAAItU,EAAI,EAAGA,EAAI+L,EAAM5H,SAAWmQ,EAAW/C,OAAQvR,IACpDsU,EAAWX,KAAK5H,EAAM/L,IAE1BsU,EAAWV,aChDZ,SAASuF,EAASxE,EAASyE,EAAgBC,EAAaC,KAC3D,OAAI3J,EAAWyJ,GACJD,EAAS,CAACxL,EAAG3N,IAAMoO,EAAI,CAACR,EAAG2L,IAAOH,EAAezL,EAAGC,EAAG5N,EAAGuZ,GAAvCnL,CAA4CoK,EAAU7D,EAAQhH,EAAG3N,KAAMqZ,IAElE,iBAAnBD,IACZC,EAAaD,GAEVxJ,EAAQ,CAACE,EAAQwE,ICVrB,SAAwBxE,EAAQwE,EAAYK,EAAS0E,EAAYG,EAAcC,EAAQC,EAAmBC,GAC7G,IAAIC,EAAS,GACTC,EAAS,EACTzI,EAAQ,EACR0I,GAAa,EACjB,MAAMC,EAAgB,MACdD,GAAeF,EAAOzV,QAAW0V,GACjCvF,EAAWV,YAGboG,EAAa/Y,GAAW4Y,EAASR,EAAaY,EAAWhZ,GAAS2Y,EAAO3R,KAAKhH,GAC9EgZ,EAAchZ,IAChBwY,GAAUnF,EAAWX,KAAK1S,GAC1B4Y,IACArB,EAAU7D,EAAQ1T,EAAOmQ,MAAUyD,UAAU,IAAI,EAAmBP,EAAa4F,IAC7EV,SAA4DA,EAAaU,GACrET,EACAO,EAAUE,GAGV5F,EAAWX,KAAKuG,SAErBrH,EAAW,KAEV,IADAgH,IACOD,EAAOzV,QAAU0V,EAASR,GAAY,CACzC,MAAMc,EAAgBP,EAAOQ,QAC7BV,EAAoBpF,EAAW9B,IAAIkH,EAAkBnC,SAAS,IAAM0C,EAAWE,KAAmBF,EAAWE,GAEjHJ,QAOR,OAJAjK,EAAO+E,UAAU,IAAI,EAAmBP,EAAY0F,OAAWnH,EAAW,KACtEiH,GAAa,EACbC,OAEG,KACHH,EAAS,KACTD,SAAwEA,KD3BrCU,CAAevK,EAAQwE,EAAYK,EAAS0E,Kb4DvF,EAAW/X,OAAUuT,GACV,IAAI,EAAWA,GevEnB,SAASyF,EAASjB,EAAaC,KAClC,OAAOH,EAAS9C,EAAUgD,GCDvB,SAASkB,EAAkB/D,EAAOc,GACrC,OAAOA,EAAYD,EAAcb,EAAOc,GAAaoB,EAAclC,GCHvE,MAAM,QAAE9E,GAAYjM,MACb,SAAS+U,EAAetO,GAC3B,OAAuB,IAAhBA,EAAK/H,QAAgBuN,EAAQxF,EAAK,IAAMA,EAAK,GAAKA,ECDtD,MAAMkG,EAAQ,IAAI,EAAWkC,GAAcA,EAAWV,YCAtD,SAAS6G,EAAYxZ,GACxB,OAAOA,GAAS0O,EAAW1O,EAAMsW,UCArC,SAASmD,EAAKxJ,GACV,OAAOA,EAAIA,EAAI/M,OAAS,GAErB,SAASwW,EAAkBzO,GAC9B,OAAOyD,EAAW+K,EAAKxO,IAASA,EAAK0O,WAAQ/H,EAE1C,SAASgI,GAAa3O,GACzB,OAAOuO,EAAYC,EAAKxO,IAASA,EAAK0O,WAAQ/H,ECH3C,SAASiI,MAAS5O,GACrB,MAAMoL,EAAYuD,GAAa3O,GACzBmN,EDGH,SAAmBnN,EAAM6O,GAC5B,MAA6B,iBAAfL,EAAKxO,GAAqBA,EAAK0O,MAAQG,ECJlCC,CAAU9O,EAAMoN,KAC7B2B,EAAUT,EAAetO,GAC/B,OAAQ+O,EAAQ9W,OAGS,IAAnB8W,EAAQ9W,OAEFqU,EAAUyC,EAAQ,IAElBX,EAASjB,EAATiB,CAAqBC,EAAkBU,EAAS3D,IALpDlF,ECTL,SAAS8I,GAAUvG,EAASyE,GAC/B,OAAOxJ,EAAQ,CAACE,EAAQwE,KACpB,IAAI6G,EAAkB,KAClB/J,EAAQ,EACR0I,GAAa,EACjB,MAAMC,EAAgB,IAAMD,IAAeqB,GAAmB7G,EAAWV,WACzE9D,EAAO+E,UAAU,IAAI,EAAmBP,EAAarT,IACjDka,SAAkEA,EAAgB1I,cAClF,IAAI2I,EAAa,EACjB,MAAMC,EAAajK,IACnBoH,EAAU7D,EAAQ1T,EAAOoa,IAAaxG,UAAWsG,EAAkB,IAAI,EAAmB7G,EAAa4F,GAAe5F,EAAWX,KAAKyF,EAAiBA,EAAenY,EAAOiZ,EAAYmB,EAAYD,KAAgBlB,QAAarH,EAAW,KACzOsI,EAAkB,KAClBpB,aAELlH,EAAW,KACViH,GAAa,EACbC,SClBL,MAAMuB,GAA0BjL,EAAkBO,GAAW,WAChEA,EAAOhK,MACPA,KAAKrG,KAAO,0BACZqG,KAAKkK,QAAU,wBCAZ,MAAM,WAAgB,EACzB,cACI0C,QACA5M,KAAK2U,UAAY,GACjB3U,KAAK2K,QAAS,EACd3K,KAAK6M,WAAY,EACjB7M,KAAK4U,UAAW,EAChB5U,KAAK6U,YAAc,KAEvB,KAAK5E,GACD,MAAMjT,EAAU,IAAI,GAAiBgD,KAAMA,MAE3C,OADAhD,EAAQiT,SAAWA,EACZjT,EAEX,iBACI,GAAIgD,KAAK2K,OACL,MAAM,IAAI+J,GAGlB,KAAKra,GAED,GADA2F,KAAK8U,kBACA9U,KAAK6M,UAAW,CACjB,MAAMkI,EAAO/U,KAAK2U,UAAUnS,QAC5B,IAAK,MAAMwS,KAAYD,EACnBC,EAASjI,KAAK1S,IAI1B,MAAMiP,GAEF,GADAtJ,KAAK8U,kBACA9U,KAAK6M,UAAW,CACjB7M,KAAK4U,SAAW5U,KAAK6M,WAAY,EACjC7M,KAAK6U,YAAcvL,EACnB,MAAM,UAAEqL,GAAc3U,KACtB,KAAO2U,EAAUpX,QACboX,EAAUnB,QAAQjK,MAAMD,IAIpC,WAEI,GADAtJ,KAAK8U,kBACA9U,KAAK6M,UAAW,CACjB7M,KAAK6M,WAAY,EACjB,MAAM,UAAE8H,GAAc3U,KACtB,KAAO2U,EAAUpX,QACboX,EAAUnB,QAAQxG,YAI9B,cACIhN,KAAK6M,UAAY7M,KAAK2K,QAAS,EAC/B3K,KAAK2U,UAAY,KAErB,cAAcjH,GAEV,OADA1N,KAAK8U,iBACElI,MAAMuD,cAAczC,GAE/B,WAAWA,GAGP,OAFA1N,KAAK8U,iBACL9U,KAAKiV,wBAAwBvH,GACtB1N,KAAKkV,gBAAgBxH,GAEhC,gBAAgBA,GACZ,MAAM,SAAEkH,EAAQ,UAAE/H,EAAS,UAAE8H,GAAc3U,KAC3C,OAAO4U,GAAY/H,EACbnB,GACCiJ,EAAUtT,KAAKqM,GAAa,IAAI,EAAa,IAAMrD,EAAUrK,KAAK2U,UAAWjH,KAExF,wBAAwBA,GACpB,MAAM,SAAEkH,EAAQ,YAAEC,EAAW,UAAEhI,GAAc7M,KACzC4U,EACAlH,EAAWnE,MAAMsL,GAEZhI,GACLa,EAAWV,WAGnB,eACI,MAAMwC,EAAa,IAAI,EAEvB,OADAA,EAAWtG,OAASlJ,KACbwP,GAGf,GAAQ9U,OAAS,CAACiS,EAAazD,IACpB,IAAI,GAAiByD,EAAazD,GAEtC,MAAM,WAAyB,GAClC,YAAYyD,EAAazD,GACrB0D,QACA5M,KAAK2M,YAAcA,EACnB3M,KAAKkJ,OAASA,EAElB,KAAK7O,GACD,IAAI8Q,EAAIgK,EACwE,QAA/EA,EAAiC,QAA3BhK,EAAKnL,KAAK2M,mBAAgC,IAAPxB,OAAgB,EAASA,EAAG4B,YAAyB,IAAPoI,GAAyBA,EAAG5b,KAAK4R,EAAI9Q,GAEjI,MAAMiP,GACF,IAAI6B,EAAIgK,EACyE,QAAhFA,EAAiC,QAA3BhK,EAAKnL,KAAK2M,mBAAgC,IAAPxB,OAAgB,EAASA,EAAG5B,aAA0B,IAAP4L,GAAyBA,EAAG5b,KAAK4R,EAAI7B,GAElI,WACI,IAAI6B,EAAIgK,EAC4E,QAAnFA,EAAiC,QAA3BhK,EAAKnL,KAAK2M,mBAAgC,IAAPxB,OAAgB,EAASA,EAAG6B,gBAA6B,IAAPmI,GAAyBA,EAAG5b,KAAK4R,GAEjI,WAAWuC,GACP,IAAIvC,EAAIgK,EACR,OAAmG,QAA3FA,EAA4B,QAAtBhK,EAAKnL,KAAKkJ,cAA2B,IAAPiC,OAAgB,EAASA,EAAG8C,UAAUP,UAAgC,IAAPyH,EAAgBA,EAAKzJ,GC9GjI,MAAM0J,GAAwB,CACjCC,IAAG,KACSD,GAAsB/I,UAAYiJ,MAAMD,MAEpDhJ,cAAUJ,GCFP,MAAM,WAAsB,GAC/B,YAAYsJ,EAAa7C,IAAU8C,EAAa9C,IAAU+C,EAAoBL,IAC1ExI,QACA5M,KAAKuV,WAAaA,EAClBvV,KAAKwV,WAAaA,EAClBxV,KAAKyV,kBAAoBA,EACzBzV,KAAKgT,OAAS,GACdhT,KAAK0V,oBAAqB,EAC1B1V,KAAK0V,mBAAqBF,IAAe9C,IACzC1S,KAAKuV,WAAazY,KAAKiC,IAAI,EAAGwW,GAC9BvV,KAAKwV,WAAa1Y,KAAKiC,IAAI,EAAGyW,GAElC,KAAKnb,GACD,MAAM,UAAEwS,EAAS,OAAEmG,EAAM,mBAAE0C,EAAkB,kBAAED,EAAiB,WAAED,GAAexV,KAC5E6M,IACDmG,EAAO3R,KAAKhH,IACXqb,GAAsB1C,EAAO3R,KAAKoU,EAAkBJ,MAAQG,IAEjExV,KAAK2V,aACL/I,MAAMG,KAAK1S,GAEf,WAAWqT,GACP1N,KAAK8U,iBACL9U,KAAK2V,aACL,MAAMpF,EAAevQ,KAAKkV,gBAAgBxH,IACpC,mBAAEgI,EAAkB,OAAE1C,GAAWhT,KACjC+U,EAAO/B,EAAOxQ,QACpB,IAAK,IAAIpJ,EAAI,EAAGA,EAAI2b,EAAKxX,SAAWmQ,EAAW/C,OAAQvR,GAAKsc,EAAqB,EAAI,EACjFhI,EAAWX,KAAKgI,EAAK3b,IAGzB,OADA4G,KAAKiV,wBAAwBvH,GACtB6C,EAEX,aACI,MAAM,WAAEgF,EAAU,kBAAEE,EAAiB,OAAEzC,EAAM,mBAAE0C,GAAuB1V,KAChE4V,GAAsBF,EAAqB,EAAI,GAAKH,EAE1D,GADAA,EAAa7C,KAAYkD,EAAqB5C,EAAOzV,QAAUyV,EAAOvI,OAAO,EAAGuI,EAAOzV,OAASqY,IAC3FF,EAAoB,CACrB,MAAML,EAAMI,EAAkBJ,MAC9B,IAAIvB,EAAO,EACX,IAAK,IAAI1a,EAAI,EAAGA,EAAI4Z,EAAOzV,QAAUyV,EAAO5Z,IAAMic,EAAKjc,GAAK,EACxD0a,EAAO1a,EAEX0a,GAAQd,EAAOvI,OAAO,EAAGqJ,EAAO,KC5C5C,MAAQhJ,QAAO,IAAKjM,MAIb,SAASgX,GAAiB9F,GAC7B,OAAOvI,EAAIlC,GAJf,SAAqByK,EAAIzK,GACrB,OAAO,GAAQA,GAAQyK,KAAMzK,GAAQyK,EAAGzK,GAGrBwQ,CAAY/F,EAAIzK,ICAvC,MAAMyQ,GAA0B,CAAC,cAAe,kBAC1CC,GAAqB,CAAC,mBAAoB,uBAC1CC,GAAgB,CAAC,KAAM,OACtB,SAASC,GAAUC,EAAQC,EAAW7Z,EAASiW,GAKlD,GAJIzJ,EAAWxM,KACXiW,EAAiBjW,EACjBA,OAAU0P,GAEVuG,EACA,OAAO0D,GAAUC,EAAQC,EAAW7Z,GAAS8Z,KAAKR,GAAiBrD,IAEvE,MAAO5G,EAAKZ,GA+BhB,SAAuBmL,GACnB,OAAOpN,EAAWoN,EAAOG,mBAAqBvN,EAAWoN,EAAOI,qBAhC1CC,CAAcL,GAC9BH,GAAmBxO,IAAKiP,GAAgBC,GAAYP,EAAOM,GAAYL,EAAWM,EAASna,IAwBrG,SAAiC4Z,GAC7B,OAAOpN,EAAWoN,EAAOpQ,cAAgBgD,EAAWoN,EAAOjQ,gBAvBnDyQ,CAAwBR,GAClBJ,GAAwBvO,IAAIoP,GAAwBT,EAAQC,IAwB9E,SAAmCD,GAC/B,OAAOpN,EAAWoN,EAAOrQ,KAAOiD,EAAWoN,EAAOlQ,KAxBpC4Q,CAA0BV,GACtBF,GAAczO,IAAIoP,GAAwBT,EAAQC,IAClD,GAClB,OAAKxK,GACGyD,EAAY8G,GACL5D,EAAUuE,GAAcZ,GAAUY,EAAWV,EAAW7Z,GAAxDgW,CAAkEoB,EAAkBwC,IAG5F,IAAI,EAAYzI,IACnB,IAAK9B,EACD,MAAM,IAAIpC,UAAU,wBAExB,MAAMkN,EAAU,IAAIpR,IAASoI,EAAWX,KAAK,EAAIzH,EAAK/H,OAAS+H,EAAOA,EAAK,IAE3E,OADAsG,EAAI8K,GACG,IAAM1L,EAAO0L,KAG5B,SAASE,GAAwBT,EAAQC,GACrC,OAAQK,GAAgBC,GAAYP,EAAOM,GAAYL,EAAWM,GCtC/D,SAASK,GAAM1c,GAClB,OAAO2O,EAAQ,CAACE,EAAQwE,KACpBxE,EAAO+E,UAAU,IAAI,EAAmBP,EAAY,IAAMA,EAAWX,KAAK1S,OCwC3E,SAAS2c,GACdC,EAAkBC,EAAmBC,UAErC,OAAOD,EAAKE,cAAiBH,SAAahL,EAqBrC,SAASoL,GACdJ,EAAkBC,EAAmBC,UAErC,MAAMG,EAAKN,GAAcC,EAAUC,GACnC,QAAkB,IAAPI,EACT,MAAM,IAAIC,eACR,8BAA8BN,oBAElC,OAAOK,EAQF,SAASE,KACd,OAAOL,SAASM,yBAAyBC,YACrCP,SAASM,mBACTxL,ECpFC,SAASrH,MAAUU,GACtB,OCFOoO,EAAS,EDETiE,CAAYhE,EAAkBrO,EAAM2O,GAAa3O,KEDrD,SAASsS,MAAaC,GACzB,MAAMnH,EAAYuD,GAAa4D,GAC/B,OAAO7O,EAAQ,CAACE,EAAQwE,MACnBgD,EAAY9L,GAAOiT,EAAQ3O,EAAQwH,GAAa9L,GAAOiT,EAAQ3O,IAAS+E,UAAUP,KCJpF,SAASoK,GAAqBC,EAASC,GAE1C,OADAD,EAAUA,QAAyCA,EAAUE,GACtDjP,EAAQ,CAACE,EAAQwE,KACpB,IAAIoC,EACAoI,GAAQ,EACZhP,EAAO+E,UAAU,IAAI,EAAmBP,EAAarT,KAC/C6d,IAAWpI,EAAOzV,EAAQ,KAAQ0d,EAAQjI,EAAOA,EAAOkI,EAAcA,EAAY3d,GAASA,KACzFqT,EAAWX,KAAK1S,GACpB6d,GAAQ,OAIpB,SAASD,GAAelR,EAAGC,GACvB,OAAOD,IAAMC,ECZV,SAASmR,MAAM7S,GAClB,MAAMoL,EAAYuD,GAAa3O,GAC/B,OAAOoL,EAAYD,EAAcnL,EAAMoL,GAAaiD,EAAkBrO,GCHnE,MAAM8S,GAAQ,IAAI,EAAWhT,GCD7B,SAASiT,GAASC,GACrB,OAAOtP,EAAQ,CAACE,EAAQwE,KACpBxE,EAAO+E,UAAUP,GACjBA,EAAW9B,IAAI0M,KCDhB,SAASC,GAAMhc,GAClBA,EAAUA,GAAW,GACrB,MAAM,UAAEic,EAAY,KAAM,IAAI,IAAS,gBAAEC,GAAkB,EAAI,aAAEC,GAAe,EAAI,oBAAEC,GAAsB,GAASpc,EACrH,IAAIqc,EAAa,KACb5b,EAAU,KACV6b,EAAW,EACXC,GAAe,EACfC,GAAa,EACjB,MAAMC,EAAQ,KACVJ,EAAa5b,EAAU,KACvB8b,EAAeC,GAAa,GAEhC,OAAO/P,EAAQ,CAACE,EAAQwE,KACpBmL,IACK7b,IACDA,EAAUwb,KAEd,MAAMS,EAAmBjc,EAAQiR,UAAUP,GAsB3C,OArBKkL,IACDA,EAAajH,EAAKzI,GAAQ+E,UAAU,CAChClB,KAAO1S,GAAU2C,EAAQ+P,KAAK1S,GAC9BkP,MAAQD,IACJyP,GAAa,EACb,MAAMG,EAAOlc,EACT0b,GACAM,IAEJE,EAAK3P,MAAMD,IAEf0D,SAAU,KACN8L,GAAe,EACf,MAAMI,EAAOlc,EACTyb,GACAO,IAEJE,EAAKlM,eAIV,KAGH,GAFA6L,IACAI,EAAiBpN,eACZgN,GAAYF,IAAwBI,IAAeD,EAAc,CAClE,MAAMK,EAAOP,EACbI,IACAG,SAA4CA,EAAKtN,kBC9C1D,SAASuN,GAAYC,EAAoB7D,EAAY9E,GACxD,IAAIvF,EAAIgK,EACR,IAAII,EACAsD,GAAW,EAUf,OATIQ,GAAoD,iBAAvBA,GAC7B9D,EAAsD,QAAxCpK,EAAKkO,EAAmB9D,kBAA+B,IAAPpK,EAAgBA,EAAKuH,IACnF8C,EAAsD,QAAxCL,EAAKkE,EAAmB7D,kBAA+B,IAAPL,EAAgBA,EAAKzC,IACnFmG,IAAaQ,EAAmBR,SAChCnI,EAAY2I,EAAmB3I,WAG/B6E,EAAa8D,QAA+DA,EAAqB3G,IAE9F6F,GAAM,CACTC,UAAW,IAAM,IAAI,GAAcjD,EAAYC,EAAY9E,GAC3DgI,cAAc,EACdD,iBAAiB,EACjBE,oBAAqBE,ICftB,SAASS,GAAIhM,EAAgB/D,EAAOyD,GACvC,MAAMuM,EAAcxQ,EAAWuE,IAAmB/D,GAASyD,EAAW,CAAED,KAAMO,EAAgB/D,QAAOyD,YAAaM,EAClH,OAAOiM,EACDvQ,EAAQ,CAACE,EAAQwE,KACfxE,EAAO+E,UAAU,IAAI,EAAmBP,EAAarT,IACjD,IAAI8Q,EACwB,QAA3BA,EAAKoO,EAAYxM,YAAyB,IAAP5B,GAAyBA,EAAG5R,KAAKggB,EAAalf,GAClFqT,EAAWX,KAAK1S,IAChBiP,IACA,IAAI6B,EACyB,QAA5BA,EAAKoO,EAAYhQ,aAA0B,IAAP4B,GAAyBA,EAAG5R,KAAKggB,EAAajQ,GACnFoE,EAAWnE,MAAMD,IAClB,KACC,IAAI6B,EAC4B,QAA/BA,EAAKoO,EAAYvM,gBAA6B,IAAP7B,GAAyBA,EAAG5R,KAAKggB,GACzE7L,EAAWV,gBAIfyC,ECrBL,SAASlP,GAAOiZ,EAAWxL,GAC9B,OAAOhF,EAAQ,CAACE,EAAQwE,KACpB,IAAIlD,EAAQ,EACZtB,EAAO+E,UAAU,IAAI,EAAmBP,EAAarT,GAAUmf,EAAUjgB,KAAKyU,EAAS3T,EAAOmQ,MAAYkD,EAAWX,KAAK1S,OCqDlI,MAAMof,GAAS,IAAI,ICxDGC,GDoEE,IAAMvB,GAC5B,IAAIwB,eAAeC,IACjB,IAAK,MAAMC,KAASD,EAClBH,GAAO1M,KAAK8M,MCtEP,IAAI,EAAYnM,IACnBkE,EAAU8H,MAAqBzL,UAAUP,MDwE9C2I,KACC/B,GAAUwF,GAAU1B,GAAM/B,KAAKuB,GAAUkC,IACtCzD,KACCgC,GAAS,IAAMyB,EAAOC,gBAG1BX,GAAY,IChFT,IAAeM,GD8Ff,SAASM,GAAe1C,GAC7B,MAAO,CACL2C,MAAQ3C,EAAG4C,YACXC,OAAQ7C,EAAG8C,cEjDR,SAASC,GAAiB/C,GAC/B,MAAO,CACLhI,EAAGgI,EAAGgD,WACNC,EAAGjD,EAAGkD,WAqCH,SAASC,GACdnD,EAAiBoD,EAAY,IAE7B,OA3BK,SACLpD,GAEA,OAAOpD,GACLgC,GAAUoB,EAAI,UACdpB,GAAUyE,OAAQ,WAEjBtE,KACC7O,EAAI,IAAM6S,GAAiB/C,IAC3BM,GAAUyC,GAAiB/C,KAkBxBsD,CAAmBtD,GACvBjB,KACC7O,EAAI,EAAG+S,QACL,MAAMM,EAAUb,GAAe1C,GAE/B,OAAOiD,GFYR,SAA+BjD,GACpC,MAAO,CACL2C,MAAQ3C,EAAGwD,YACXX,OAAQ7C,EAAGyD,cEhBSC,CAAsB1D,GAE5B6C,OAASU,EAAQV,OAASO,IAGtC5C,MCxDIT,GAAkB,2BAClBA,GAAkB,2BCTrB,SAAS4D,KACd,OAAO,IAAIC,IAAIC,SAASC,MCGnB,SAAS,GACdC,EAAa9e,EAAuB,CAAE+e,YAAa,gBAEnD,OAAO3J,EAAK4J,MAAMF,EAAK9e,IACpB8Z,KACC9V,GAAOib,GAAsB,MAAfA,EAAIC,SC/CxB,MAAQ3Q,QAAO,IAAKjM,OACd,eAAE6c,GAAgB1gB,UAAW2gB,GAAaC,KAAMC,IAAY/hB,OAC3D,SAASgiB,GAAqBxW,GACjC,GAAoB,IAAhBA,EAAK/H,OAAc,CACnB,MAAM2a,EAAQ5S,EAAK,GACnB,GAAI,GAAQ4S,GACR,MAAO,CAAE5S,KAAM4S,EAAO0D,KAAM,MAEhC,IAUQ7K,EAVGmH,IAWc,iBAARnH,GAAoB2K,GAAe3K,KAAS4K,GAX1C,CACf,MAAMC,EAAOC,GAAQ3D,GACrB,MAAO,CACH5S,KAAMsW,EAAKpU,IAAK7M,GAAQud,EAAMvd,IAC9BihB,SAMhB,IAAgB7K,EAFZ,MAAO,CAAEzL,KAAMA,EAAMsW,KAAM,MCTxB,SAASG,MAAiBzW,GAC7B,MAAMoL,EAAYuD,GAAa3O,GACzBkN,EAAiBuB,EAAkBzO,IACjCA,KAAM0W,EAAW,KAAEJ,GAASE,GAAqBxW,GACzD,GAA2B,IAAvB0W,EAAYze,OACZ,OAAOoU,EAAK,GAAIjB,GAEpB,MAAM/B,EAAS,IAAI,EA+BhB,SAA2BqN,EAAatL,EAAWuL,EAAiBxM,GACvE,OAAQ/B,IAyBJwO,GAAcxL,EAxBW,KACrB,MAAM,OAAEnT,GAAWye,EACbnE,EAAS,IAAIhZ,MAAMtB,GACzB,IAAI0V,EAAS1V,EACb,MAAM4e,EAAYH,EAAYxU,IAAI,KAAM,GACxC,IAAI4U,GAAwB,EAE5B,IAAK,IAAIhjB,EAAI,EAAGA,EAAImE,EAAQnE,IAAK,CAc7B8iB,GAAcxL,EAbI,KACCiB,EAAKqK,EAAY5iB,GAAIsX,GAC7BzC,UAAU,IAAI,GAAwBP,EAAarT,IACtDwd,EAAOze,GAAKiB,EACR+hB,IACAD,EAAU/iB,IAAK,EACfgjB,GAAyBD,EAAUE,MAAM5M,IAExC2M,GAVE1O,EAAWX,KAAKkP,EAAepE,EAAOrV,WAa9C,IAAmB,KAAXyQ,KAEqBvF,KAGDA,IAzDjB4O,CAAkBN,EAAatL,EAAWkL,EAE/D/D,IACG,MAAMxd,EAAQ,GACd,IAAK,IAAIjB,EAAI,EAAGA,EAAIye,EAAOta,OAAQnE,IAC/BiB,EAAMuhB,EAAKxiB,IAAMye,EAAOze,GAE5B,OAAOiB,GAGXoV,IACR,OAAI+C,EACO7D,EAAO0H,KAAKR,GAAiBrD,IAEjC7D,EAEX,MAAM,WAAgC,EAClC,YAAYhC,EAAaQ,EAAOoP,GAC5B3P,MAAMD,GACN3M,KAAKmN,MAAQA,EACbnN,KAAKuc,eAAiBA,EAE1B,YACQvc,KAAKuc,iBACL3P,MAAMS,YAGNrN,KAAK6L,eAiCjB,SAASqQ,GAAcxL,EAAWY,EAASf,GACnCG,EACAH,EAAa3E,IAAI8E,EAAUC,SAASW,IAGpCA,IC9ED,SAASkL,GAAwB7hB,EAAKod,GACzC,OAAOD,GAAqB,CAACxI,EAAGiL,IAAMxC,EAAUA,EAAQzI,EAAE3U,GAAM4f,EAAE5f,IAAQ2U,EAAE3U,KAAS4f,EAAE5f,IC8DpF,SAAS8hB,GACdC,EAAqBxF,EAAmBC,UAExC,OAAOE,GAAkB,uBAAuBqF,KAASxF,GAapD,SAASyF,GACdD,EAAqBxF,EAAmBC,UAExC,OrByBK,SACLF,EAAkBC,EAAmBC,UAErC,OAAOtY,MAAM8S,KAAKuF,EAAK0F,iBAAoB3F,IqB5BpC4F,CAAY,uBAAuBH,KAASxF,GCArD,MAAM4F,GAASzF,GAAkB,aAC3B,GAAiB0F,KAAKC,MAAMF,GAAOG,aAqClC,SAASC,GACdviB,EAAkBN,GAElB,YAAwB,IAAVA,EACV,GAAO8iB,aAAaxiB,GAAK8I,QAAQ,IAAKpJ,EAAM8P,YAC5C,GAAOgT,aAAaxiB,GAzC1B,GAAOyiB,KAAO,IAAIlC,IAAI,GAAOkC,KAAMnC,MAChC9Q,WACA1G,QAAQ,MAAO,ICtFX,MAAM,WAAe,EACxB,YAAYiN,EAAW2M,GACnBzQ,QAEJ,SAAS0Q,EAAO/L,EAAQ,GACpB,OAAOvR,MCNR,MAAMud,GAAmB,CAC5B,eAAejY,GACX,MAAM,SAAE+G,GAAakR,GACrB,QAASlR,aAA2C,EAASA,EAASmR,cAAgBA,gBAAgBlY,IAE1G,cAAcgH,GACV,MAAM,SAAED,GAAakR,GACrB,QAASlR,aAA2C,EAASA,EAASoR,gBAAkBA,eAAenR,IAE3GD,cAAUJ,GCNP,MAAM,WAAoB,GAC7B,YAAYyE,EAAW2M,GACnBzQ,MAAM8D,EAAW2M,GACjBrd,KAAK0Q,UAAYA,EACjB1Q,KAAKqd,KAAOA,EACZrd,KAAK0d,SAAU,EAEnB,SAASJ,EAAO/L,EAAQ,GACpB,GAAIvR,KAAK2K,OACL,OAAO3K,KAEXA,KAAKsd,MAAQA,EACb,MAAMK,EAAK3d,KAAK2d,GACVjN,EAAY1Q,KAAK0Q,UAOvB,OANU,MAANiN,IACA3d,KAAK2d,GAAK3d,KAAK4d,eAAelN,EAAWiN,EAAIpM,IAEjDvR,KAAK0d,SAAU,EACf1d,KAAKuR,MAAQA,EACbvR,KAAK2d,GAAK3d,KAAK2d,IAAM3d,KAAK6d,eAAenN,EAAW1Q,KAAK2d,GAAIpM,GACtDvR,KAEX,eAAe0Q,EAAWoN,EAAKvM,EAAQ,GACnC,OAAOgM,GAAiBC,YAAY9M,EAAUqN,MAAMnjB,KAAK8V,EAAW1Q,MAAOuR,GAE/E,eAAeyM,EAAYL,EAAIpM,EAAQ,GACnC,GAAa,MAATA,GAAiBvR,KAAKuR,QAAUA,IAA0B,IAAjBvR,KAAK0d,QAC9C,OAAOC,EAEXJ,GAAiBE,cAAcE,GAGnC,QAAQL,EAAO/L,GACX,GAAIvR,KAAK2K,OACL,OAAO,IAAI3G,MAAM,gCAErBhE,KAAK0d,SAAU,EACf,MAAMnU,EAAQvJ,KAAKie,SAASX,EAAO/L,GACnC,GAAIhI,EACA,OAAOA,GAEe,IAAjBvJ,KAAK0d,SAAgC,MAAX1d,KAAK2d,KACpC3d,KAAK2d,GAAK3d,KAAK4d,eAAe5d,KAAK0Q,UAAW1Q,KAAK2d,GAAI,OAG/D,SAASL,EAAOY,GACZ,IACIC,EADAC,GAAU,EAEd,IACIpe,KAAKqd,KAAKC,GAEd,MAAOjZ,GACH+Z,GAAU,EACVD,IAAgB9Z,GAAKA,GAAM,IAAIL,MAAMK,GAEzC,GAAI+Z,EAEA,OADApe,KAAK6L,cACEsS,EAGf,cACI,IAAKne,KAAK2K,OAAQ,CACd,MAAM,GAAEgT,EAAE,UAAEjN,GAAc1Q,MACpB,QAAEqe,GAAY3N,EACpB1Q,KAAKqd,KAAOrd,KAAKsd,MAAQtd,KAAK0Q,UAAY,KAC1C1Q,KAAK0d,SAAU,EACfrT,EAAUgU,EAASre,MACT,MAAN2d,IACA3d,KAAK2d,GAAK3d,KAAK4d,eAAelN,EAAWiN,EAAI,OAEjD3d,KAAKuR,MAAQ,KACb3E,MAAMf,gBCzEX,MAAMyS,GACT,YAAYC,EAAqBlJ,EAAMiJ,GAAUjJ,KAC7CrV,KAAKue,oBAAsBA,EAC3Bve,KAAKqV,IAAMA,EAEf,SAASgI,EAAM9L,EAAQ,EAAG+L,GACtB,OAAO,IAAItd,KAAKue,oBAAoBve,KAAMqd,GAAM1M,SAAS2M,EAAO/L,IAGxE+M,GAAUjJ,IAAMD,GAAsBC,ICT/B,MAAM,WAAuBiJ,GAChC,YAAYE,EAAiBnJ,EAAMiJ,GAAUjJ,KACzCzI,MAAM4R,EAAiBnJ,GACvBrV,KAAKqe,QAAU,GACfre,KAAKiT,QAAS,EACdjT,KAAKiR,eAAYhF,EAErB,MAAMwS,GACF,MAAM,QAAEJ,GAAYre,KACpB,GAAIA,KAAKiT,OAEL,YADAoL,EAAQhd,KAAKod,GAGjB,IAAIlV,EACJvJ,KAAKiT,QAAS,EACd,GACI,GAAI1J,EAAQkV,EAAOnN,QAAQmN,EAAOnB,MAAOmB,EAAOlN,OAC5C,YAECkN,EAASJ,EAAQ7K,SAE1B,GADAxT,KAAKiT,QAAS,EACV1J,EAAO,CACP,KAAOkV,EAASJ,EAAQ7K,SACpBiL,EAAO5S,cAEX,MAAMtC,ICxBX,MAAMmV,GAAiB,IAAI,GAAe,IACpC,GAAQA,GCAd,SAASC,GAAKhgB,GACjB,OAAOA,GAAS,EAER,IAAM6M,EACRxC,EAAQ,CAACE,EAAQwE,KACf,IAAIkR,EAAO,EACX1V,EAAO+E,UAAU,IAAI,EAAmBP,EAAarT,MAC3CukB,GAAQjgB,IACV+O,EAAWX,KAAK1S,GACZsE,GAASigB,GACTlR,EAAWV,iBCR5B,SAAS6R,GAAUC,EAAuBC,GAC7C,OAAIA,EACQ7V,GAAWtE,GAAOma,EAAkB1I,KAAKsI,GAAK,GCHnD3V,EAAQ,CAACE,EAAQwE,KACpBxE,EAAO+E,UAAU,IAAI,EAAmBP,EAAYtI,ODEyB8D,EAAOmN,KAAKwI,GAAUC,KAEhGvM,EAAS,CAAClY,EAAOmQ,IAAUsU,EAAsBzkB,EAAOmQ,GAAO6L,KAAKsI,GAAK,GAAI5H,GAAM1c,KELvF,SAAS2kB,GAAMC,EAAU,EAAGC,EAAqBxO,EAAY,IAChE,IAAIyO,GAAoB,EASxB,OAR2B,MAAvBD,IACIrL,EAAYqL,GACZxO,EAAYwO,EAGZC,EAAmBD,GAGpB,IAAI,EAAYxR,IACnB,IAAI0R,GCfgB/kB,EDeE4kB,aCdF3J,OAAS+J,MAAMhlB,IDcD4kB,EAAUvO,EAAU2E,MAAQ4J,ECf/D,IAAqB5kB,EDgBhB+kB,EAAM,IACNA,EAAM,GAEV,IAAIvkB,EAAI,EACR,OAAO6V,EAAUC,UAAS,WACjBjD,EAAW/C,SACZ+C,EAAWX,KAAKlS,KACZ,GAAKskB,EACLnf,KAAK2Q,cAAS1E,EAAWkT,GAGzBzR,EAAWV,cAGpBoS,KExBJ,SAASE,MAAkBC,GAC9B,MAAMxR,EAAUgG,EAAkBwL,GAClC,OAAOvW,EAAQ,CAACE,EAAQwE,KACpB,MAAMxO,EAAMqgB,EAAOhiB,OACbiiB,EAAc,IAAI3gB,MAAMK,GAC9B,IAAIugB,EAAWF,EAAO/X,IAAI,KAAM,GAC5BkY,GAAQ,EACZ,IAAK,IAAItmB,EAAI,EAAGA,EAAI8F,EAAK9F,IACrBwY,EAAU2N,EAAOnmB,IAAI6U,UAAU,IAAI,EAAmBP,EAAarT,IAC/DmlB,EAAYpmB,GAAKiB,EACZqlB,GAAUD,EAASrmB,KACpBqmB,EAASrmB,IAAK,GACbsmB,EAAQD,EAASpD,MAAM5M,MAAegQ,EAAW,aAEvDxT,EAAW7G,IAElB8D,EAAO+E,UAAU,IAAI,EAAmBP,EAAarT,IACjD,GAAIqlB,EAAO,CACP,MAAM7H,EAAS,CAACxd,KAAUmlB,GAC1B9R,EAAWX,KAAKgB,EAAUA,KAAW8J,GAAUA,SCkCxD,SAAS8H,GACdrI,GAIA,MAAMsI,ECTD,SACLtI,GAEA,OAAOpD,GACLgC,GAAsBoB,EAAI,SAC1BpB,GAAsBoB,EAAI,SAEzBjB,KACC7O,EAAI,EAAGkV,UAAoB,UAATA,GAClB9E,GAAUN,IAAOE,ODANqI,CAAkBvI,GAC3BwI,EAAS5L,GACbgC,GAAUoB,EAAI,SACdpB,GAAUoB,EAAI,SAASjB,KEhEpB,SAAe+I,EAAK1O,EAAYgO,IACnC,MAAMqB,EAAWf,GAAMI,EAAK1O,GAC5B,OAAOmO,GAAU,IAAMkB,GF8DK,CAAM,KAEjC1J,KACC7O,EAAI,IAAM8P,EAAGjd,OACbud,GAAUN,EAAGjd,OACbyd,MAeJ,OAXA8H,EACGvJ,KACC9V,GAAO0S,IAAWA,GAClBqM,GAAeQ,IAEd7R,UAAU,EAAE,CAAE5T,MACb,MAAMoI,EAAO0U,SAASgE,SAAS6E,SAC/BC,GAAG,OAAQ,WAAY,GAAGxd,cAAiBpI,OAI1C0hB,GAAc,CAAC+D,EAAQF,IAC3BvJ,KACC7O,EAAI,EAAEnN,EAAO6lB,MAAW,CAAGC,IAAK7I,EAAIjd,QAAO6lB,Y,YGxF1C,MAAME,GAAyB,CAClC,SAAS9H,GACL,IAAI+H,EAAUC,sBACVC,EAASC,qBACb,MAAM,SAAEnU,GAAa+T,GACjB/T,IACAgU,EAAUhU,EAASiU,sBACnBC,EAASlU,EAASmU,sBAEtB,MAAMlU,EAAS+T,EAASI,IACpBF,OAAStU,EACTqM,EAASmI,KAEb,OAAO,IAAI,EAAa,IAAMF,aAAuC,EAASA,EAAOjU,KAEzF,yBAAyBhH,GACrB,MAAM,SAAE+G,GAAa+T,GACrB,QAAS/T,aAA2C,EAASA,EAASiU,wBAA0BA,0BAA0Bhb,IAE9H,wBAAwBA,GACpB,MAAM,SAAE+G,GAAa+T,GACrB,QAAS/T,aAA2C,EAASA,EAASmU,uBAAyBA,yBAAyBlb,IAE5H+G,cAAUJ,GCtBP,MAAMyU,GAA0B,ICDhC,cAAsC,GACzC,MAAMjC,GACFze,KAAKiT,QAAS,EACdjT,KAAKiR,eAAYhF,EACjB,MAAM,QAAEoS,GAAYre,KACpB,IAAIuJ,EACAiB,GAAS,EACbiU,EAASA,GAAUJ,EAAQ7K,QAC3B,MAAM7U,EAAQ0f,EAAQ9gB,OACtB,GACI,GAAIgM,EAAQkV,EAAOnN,QAAQmN,EAAOnB,MAAOmB,EAAOlN,OAC5C,cAEG/G,EAAQ7L,IAAU8f,EAASJ,EAAQ7K,UAE9C,GADAxT,KAAKiT,QAAS,EACV1J,EAAO,CACP,OAASiB,EAAQ7L,IAAU8f,EAASJ,EAAQ7K,UACxCiL,EAAO5S,cAEX,MAAMtC,KClBX,cAAmC,GACtC,YAAYmH,EAAW2M,GACnBzQ,MAAM8D,EAAW2M,GACjBrd,KAAK0Q,UAAYA,EACjB1Q,KAAKqd,KAAOA,EAEhB,eAAe3M,EAAWiN,EAAIpM,EAAQ,GAClC,OAAc,OAAVA,GAAkBA,EAAQ,EACnB3E,MAAMiR,eAAenN,EAAWiN,EAAIpM,IAE/Cb,EAAU2N,QAAQhd,KAAKrB,MAChB0Q,EAAUO,YAAcP,EAAUO,UAAYmP,GAAuBE,sBAAsB,IAAM5P,EAAUqN,WAAM9R,MAE5H,eAAeyE,EAAWiN,EAAIpM,EAAQ,GAClC,GAAc,MAATA,GAAiBA,EAAQ,GAAgB,MAATA,GAAiBvR,KAAKuR,MAAQ,EAC/D,OAAO3E,MAAMgR,eAAelN,EAAWiN,EAAIpM,GAEd,IAA7Bb,EAAU2N,QAAQ9gB,SAClB6iB,GAAuBI,qBAAqB7C,GAC5CjN,EAAUO,eAAYhF,MCnB3B,SAAS0U,GAAUjQ,EAAWa,EAAQ,GACzC,OAAOvI,EAAQ,CAACE,EAAQwE,KACpBxE,EAAO+E,UAAU,IAAI,EAAmBP,EAAarT,GAAUqT,EAAW9B,IAAI8E,EAAUC,SAAS,IAAMjD,EAAWX,KAAK1S,GAAQkX,IAAUjI,GAAQoE,EAAW9B,IAAI8E,EAAUC,SAAS,IAAMjD,EAAWnE,MAAMD,GAAMiI,IAAS,IAAM7D,EAAW9B,IAAI8E,EAAUC,SAAS,IAAMjD,EAAWV,WAAYuE,QCF/R,SAAS,MAAO8C,GACnB,OAAOrL,EAAQ,CAACE,EAAQwE,MCGrB,YAAgBpI,GACnB,MAAMkN,EAAiBuB,EAAkBzO,GACnC+O,EAAUT,EAAetO,GAC/B,OAAO+O,EAAQ9W,OACT,IAAI,EAAYmQ,IACd,IAAIkT,EAAUvM,EAAQ7M,IAAI,IAAM,IAC5BqZ,EAAYxM,EAAQ7M,IAAI,KAAM,GAClCkG,EAAW9B,IAAI,KACXgV,EAAUC,EAAY,OAE1B,IAAK,IAAIC,EAAc,GAAIpT,EAAW/C,QAAUmW,EAAczM,EAAQ9W,OAAQujB,IAC1ElP,EAAUyC,EAAQyM,IAAc7S,UAAU,IAAI,EAAmBP,EAAarT,IAE1E,GADAumB,EAAQE,GAAazf,KAAKhH,GACtBumB,EAAQvE,MAAOrJ,GAAWA,EAAOzV,QAAS,CAC1C,MAAMoR,EAASiS,EAAQpZ,IAAKwL,GAAWA,EAAOQ,SAC9C9F,EAAWX,KAAKyF,EAAiBA,KAAkB7D,GAAUA,GACzDiS,EAAQG,KAAK,CAAC/N,EAAQ5Z,KAAO4Z,EAAOzV,QAAUsjB,EAAUznB,KACxDsU,EAAWV,kBAGpBf,EAAW,KACV4U,EAAUC,IAAe,GACxBF,EAAQE,GAAavjB,QAAUmQ,EAAWV,cAGnD,MAAO,KACH4T,EAAUC,EAAY,QAG5BrV,GD/BFwV,CAAU9X,KAAWmL,GAASpG,UAAUP,KEmDhD,SAASuT,GAAY3J,EAAiB4J,GAGpC,GAAqB,iBAAVA,GAAuC,iBAAVA,EACtC5J,EAAG6J,WAAaD,EAAM/W,gBAGjB,GAAI+W,aAAiBE,KAC1B9J,EAAG2J,YAAYC,QAGV,GAAIriB,MAAMiM,QAAQoW,GACvB,IAAK,MAAMhK,KAAQgK,EACjBD,GAAY3J,EAAIJ,GAiBf,SAASmK,GACdC,EAAaC,KAAkCC,GAE/C,MAAMlK,EAAKH,SAASsK,cAAcH,GAGlC,GAAIC,EACF,IAAK,MAAMG,KAAQ5nB,OAAO8hB,KAAK2F,GACG,kBAArBA,EAAWG,GACpBpK,EAAGqK,aAAaD,EAAMH,EAAWG,IAC1BH,EAAWG,IAClBpK,EAAGqK,aAAaD,EAAM,IAG5B,IAAK,MAAMR,KAASM,EAClBP,GAAY3J,EAAI4J,GAGlB,OAAO5J,EC/BF,SAASsK,GACdC,EAAYvlB,GAEZ,OACE,SAAIwlB,MAAM,gCACR,WAAMA,MAAM,WACV,UAAKC,IAAKF,EAAKxG,OAEjB,aACEyG,MAAM,uBACNtc,MAAO0X,GAAY,kBAAiB,sBACf,IAAI2E,EAAKG,cAE9B,eAAO,IAlCf,SAAmBH,EAAYvlB,GAC7B,OAAO,gBAAKulB,EAAKG,UAAW1lB,EAAO,CACjCiF,KAAM,CACJ8G,QAAS,MACTD,SAAU,UA8BG6Z,CAAUJ,EAAMvlB,SC6D5B,SAAS4lB,GACd5K,GAAiB,OAAE6K,EAAM,OAAEC,IAE3B,MAAMC,EAAY,IAAI,GAChBC,EAAY7H,GAAsBnD,GACrCjB,KACC9V,GAAOgiB,UAILC,EAAOnL,GAAkB,wBAAyBC,GACxD+K,EACGhM,KACCsK,GAAUD,IACVpB,GAAe8C,IAEdnU,UAAU,GAAIwU,SAAUpoB,aACnBA,EChIL,SACLid,EAAiBjd,GAEjB,OAAQA,GAGN,KAAK,EACHid,EAAG2F,YAAcC,GAAY,sBAC7B,MAGF,KAAK,EACH5F,EAAG2F,YAAcC,GAAY,qBAC7B,MAGF,QACE5F,EAAG2F,YAAcC,GAAY,sBCY5B,SAAe7iB,GACpB,GAAIA,EAAQ,IAAK,CAEf,QAAYA,EAAQ,MAAY,KAAMqoB,WADpBroB,EAAQ,KAAO,IAAO,KACjC,IAEP,OAAOA,EAAM8P,WDjByCwY,CAAMtoB,KDgHtDuoB,CAAoBJ,EAAMC,EAAKllB,QCvGlC,SACL+Z,GAEAA,EAAG2F,YAAcC,GAAY,6BDsGrB2F,CAAsBL,KAI9B,MAAMM,EAAOzL,GAAkB,uBAAwBC,GAqBvD,OApBA+K,EACGhM,KACCsK,GAAUD,IACVpH,GAAI,ICxFH,SACLhC,GAEAA,EAAG6J,UAAY,GDqFD4B,CAAsBD,IAChCxO,GAAU,EAAGmO,UAAWvO,GACtBiE,MAAMsK,EAAKjgB,MAAM,EAAG,KACpB2V,MAAMsK,EAAKjgB,MAAM,KACd6T,KG/KJ,SAAqBd,EAAYyN,EAAmB,MAEvD,OADAA,EAAmBA,QAA2DA,EAAmBzN,EAC1FvM,EAAQ,CAACE,EAAQwE,KACpB,IAAIkT,EAAU,GACVjiB,EAAQ,EACZuK,EAAO+E,UAAU,IAAI,EAAmBP,EAAarT,IACjD,IAAI4oB,EAAS,KACTtkB,IAAUqkB,GAAqB,GAC/BpC,EAAQvf,KAAK,IAEjB,IAAK,MAAM2R,KAAU4N,EACjB5N,EAAO3R,KAAKhH,GACRkb,GAAcvC,EAAOzV,SACrB0lB,EAASA,QAAuCA,EAAS,GACzDA,EAAO5hB,KAAK2R,IAGpB,GAAIiQ,EACA,IAAK,MAAMjQ,KAAUiQ,EACjB5Y,EAAUuW,EAAS5N,GACnBtF,EAAWX,KAAKiG,SAGzB/G,EAAW,KACV,IAAK,MAAM+G,KAAU4N,EACjBlT,EAAWX,KAAKiG,GAEpBtF,EAAWV,YACZ,KACC4T,EAAU,UHmJVsC,CAAY,IJ5KjB,YAAoBC,GACvB,OAAO,MAAOA,GI4KNC,CAAQd,GACRhO,GAAU,EAAE+O,KAAWlL,MAAMkL,OAGnC/D,GAAe8C,IAEdnU,UAAU,EAAEU,GAAUtU,cC/GtB,SACLid,EAAiB4J,GAEjB5J,EAAG2J,YAAYC,GD6GToC,CAAsBR,EAAMlB,GAAuBjT,EAAQtU,MApF5D,SACLkpB,GAAkB,OAAEpB,EAAM,OAAEC,IAE5B,OAAOrG,GAAc,CACnBqG,EAAO/L,KAAKmG,GAAwB,UACpC2F,EACG9L,KACC7O,EAAI,EAAGgc,QAAOC,YAAa,IACtB3pB,OAAO8hB,KAAK4H,EAAMf,SAClB3oB,OAAO8hB,KAAK6H,EAAOhB,WAI3BpM,KACC7O,EAAI,GAAInN,SAASooB,KAAU,kBAAOA,EAAMpoB,IACxCia,GAAUoP,GAAcvB,EAAO9L,KAC7B7O,EAAI,EAAGgc,QAAOC,aAAa,CACzBhB,KAAMiB,EAAWlc,IAAUwa,IACzB,MAAM2B,EACJ3B,KAAawB,EAAMf,KACfe,EACAC,EACN,MAAO,CACLzB,YACA3G,IAAK,CACHsI,EAASvG,KACTuG,EAASlB,KAAKT,IACd5X,KAAK,aA6DZwZ,CAAsBtM,EAAI,CAAE8K,SAAQD,WACxC9L,KACCiD,GAAI+I,GACJhK,GAAS,IAAMgK,EAAUrV,YACzBxF,EAAI8V,GAAU,OAAD,QAAG6C,IAAK7I,GAAOgG,KItH3B,SAASuG,GACdvM,GAEA,MACM6K,ElCjBC,GKmCA,G6BjBK/E,KAAV,uDlClBkB7gB,GACjB8Z,KACC/B,GAAUkH,GAAOA,EAAIsI,QACrB1K,GAAY,IANX,IACQ7c,EkCwBb,MAAMD,EAASmgB,GAAoB,oBAAqBnF,GAClD3I,EAAS8N,GAAoB,qBAAsBnF,GAGnD8K,EAASzC,GAAqBrjB,GACpC,OAAO4X,GACLkO,EACAF,GAAsBvT,EAAQ,CAAEwT,SAAQC,YC7D1ClM,GAAUiB,SAAS4M,KAAM,SACtB9V,UAAU+V,IACT,GAAIA,EAAG7N,kBAAkBuB,YAAa,CACpC,MAAMJ,EAAK0M,EAAG7N,OAAO8N,QAAQ,iBACzB3M,aAAc4M,iBAChBjE,GAAG,OAAQ,QAAS,WAAY,QAAS3I,EAAG8D,SCGtD+I,UACG9N,KACC/B,GAAU,IAAMJ,MAGXyI,GAAqB,eACrBnV,IAAI8P,GAAMuM,GAAgBvM,OAG9BrJ","file":"overrides/assets/javascripts/bundle.e5217812.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 10);\n","(function() {\n var AcronymResult, computeScore, emptyAcronymResult, isAcronymFullWord, isMatch, isSeparator, isWordEnd, isWordStart, miss_coeff, pos_bonus, scoreAcronyms, scoreCharacter, scoreConsecutives, scoreExact, scoreExactMatch, scorePattern, scorePosition, scoreSize, tau_size, wm;\n\n wm = 150;\n\n pos_bonus = 20;\n\n tau_size = 150;\n\n miss_coeff = 0.75;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n return Math.ceil(score);\n };\n\n exports.isMatch = isMatch = function(subject, query_lw, query_up) {\n var i, j, m, n, qj_lw, qj_up, si;\n m = subject.length;\n n = query_lw.length;\n if (!m || n > m) {\n return false;\n }\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw.charCodeAt(j);\n qj_up = query_up.charCodeAt(j);\n while (++i < m) {\n si = subject.charCodeAt(i);\n if (si === qj_lw || si === qj_up) {\n break;\n }\n }\n if (i === m) {\n return false;\n }\n }\n return true;\n };\n\n exports.computeScore = computeScore = function(subject, subject_lw, preparedQuery) {\n var acro, acro_score, align, csc_diag, csc_row, csc_score, csc_should_rebuild, i, j, m, miss_budget, miss_left, n, pos, query, query_lw, record_miss, score, score_diag, score_row, score_up, si_lw, start, sz;\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro = scoreAcronyms(subject, subject_lw, query, query_lw);\n acro_score = acro.score;\n if (acro.count === n) {\n return scoreExact(n, m, acro_score, acro.pos);\n }\n pos = subject_lw.indexOf(query_lw);\n if (pos > -1) {\n return scoreExactMatch(subject, subject_lw, query, query_lw, pos, n, m);\n }\n score_row = new Array(n);\n csc_row = new Array(n);\n sz = scoreSize(n, m);\n miss_budget = Math.ceil(miss_coeff * n) + 5;\n miss_left = miss_budget;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n si_lw = subject_lw[i];\n if (!si_lw.charCodeAt(0) in preparedQuery.charCodes) {\n if (csc_should_rebuild) {\n j = -1;\n while (++j < n) {\n csc_row[j] = 0;\n }\n csc_should_rebuild = false;\n }\n continue;\n }\n score = 0;\n score_diag = 0;\n csc_diag = 0;\n record_miss = true;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_up = score_row[j];\n if (score_up > score) {\n score = score_up;\n }\n csc_score = 0;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n if (align > score) {\n score = align;\n miss_left = miss_budget;\n } else {\n if (record_miss && --miss_left <= 0) {\n return Math.max(score, score_row[n - 1]) * sz;\n }\n record_miss = false;\n }\n }\n score_diag = score_up;\n csc_diag = csc_row[j];\n csc_row[j] = csc_score;\n score_row[j] = score;\n }\n }\n score = score_row[n - 1];\n return score * sz;\n };\n\n exports.isWordStart = isWordStart = function(pos, subject, subject_lw) {\n var curr_s, prev_s;\n if (pos === 0) {\n return true;\n }\n curr_s = subject[pos];\n prev_s = subject[pos - 1];\n return isSeparator(prev_s) || (curr_s !== subject_lw[pos] && prev_s === subject_lw[pos - 1]);\n };\n\n exports.isWordEnd = isWordEnd = function(pos, subject, subject_lw, len) {\n var curr_s, next_s;\n if (pos === len - 1) {\n return true;\n }\n curr_s = subject[pos];\n next_s = subject[pos + 1];\n return isSeparator(next_s) || (curr_s === subject_lw[pos] && next_s !== subject_lw[pos + 1]);\n };\n\n isSeparator = function(c) {\n return c === ' ' || c === '.' || c === '-' || c === '_' || c === '/' || c === '\\\\';\n };\n\n scorePosition = function(pos) {\n var sc;\n if (pos < pos_bonus) {\n sc = pos_bonus - pos;\n return 100 + sc * sc;\n } else {\n return Math.max(100 + pos_bonus - pos, 0);\n }\n };\n\n exports.scoreSize = scoreSize = function(n, m) {\n return tau_size / (tau_size + Math.abs(m - n));\n };\n\n scoreExact = function(n, m, quality, pos) {\n return 2 * n * (wm * quality + scorePosition(pos)) * scoreSize(n, m);\n };\n\n exports.scorePattern = scorePattern = function(count, len, sameCase, start, end) {\n var bonus, sz;\n sz = count;\n bonus = 6;\n if (sameCase === count) {\n bonus += 2;\n }\n if (start) {\n bonus += 3;\n }\n if (end) {\n bonus += 1;\n }\n if (count === len) {\n if (start) {\n if (sameCase === len) {\n sz += 2;\n } else {\n sz += 1;\n }\n }\n if (end) {\n bonus += 1;\n }\n }\n return sameCase + sz * (sz + bonus);\n };\n\n exports.scoreCharacter = scoreCharacter = function(i, j, start, acro_score, csc_score) {\n var posBonus;\n posBonus = scorePosition(i);\n if (start) {\n return posBonus + wm * ((acro_score > csc_score ? acro_score : csc_score) + 10);\n }\n return posBonus + wm * csc_score;\n };\n\n exports.scoreConsecutives = scoreConsecutives = function(subject, subject_lw, query, query_lw, i, j, startOfWord) {\n var k, m, mi, n, nj, sameCase, sz;\n m = subject.length;\n n = query.length;\n mi = m - i;\n nj = n - j;\n k = mi < nj ? mi : nj;\n sameCase = 0;\n sz = 0;\n if (query[j] === subject[i]) {\n sameCase++;\n }\n while (++sz < k && query_lw[++j] === subject_lw[++i]) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n }\n if (sz < k) {\n i--;\n }\n if (sz === 1) {\n return 1 + 2 * sameCase;\n }\n return scorePattern(sz, n, sameCase, startOfWord, isWordEnd(i, subject, subject_lw, m));\n };\n\n exports.scoreExactMatch = scoreExactMatch = function(subject, subject_lw, query, query_lw, pos, n, m) {\n var end, i, pos2, sameCase, start;\n start = isWordStart(pos, subject, subject_lw);\n if (!start) {\n pos2 = subject_lw.indexOf(query_lw, pos + 1);\n if (pos2 > -1) {\n start = isWordStart(pos2, subject, subject_lw);\n if (start) {\n pos = pos2;\n }\n }\n }\n i = -1;\n sameCase = 0;\n while (++i < n) {\n if (query[pos + i] === subject[i]) {\n sameCase++;\n }\n }\n end = isWordEnd(pos + n - 1, subject, subject_lw, m);\n return scoreExact(n, m, scorePattern(n, n, sameCase, start, end), pos);\n };\n\n AcronymResult = (function() {\n function AcronymResult(score, pos, count) {\n this.score = score;\n this.pos = pos;\n this.count = count;\n }\n\n return AcronymResult;\n\n })();\n\n emptyAcronymResult = new AcronymResult(0, 0.1, 0);\n\n exports.scoreAcronyms = scoreAcronyms = function(subject, subject_lw, query, query_lw) {\n var count, fullWord, i, j, m, n, qj_lw, sameCase, score, sepCount, sumPos;\n m = subject.length;\n n = query.length;\n if (!(m > 1 && n > 1)) {\n return emptyAcronymResult;\n }\n count = 0;\n sepCount = 0;\n sumPos = 0;\n sameCase = 0;\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw[j];\n if (isSeparator(qj_lw)) {\n i = subject_lw.indexOf(qj_lw, i + 1);\n if (i > -1) {\n sepCount++;\n continue;\n } else {\n break;\n }\n }\n while (++i < m) {\n if (qj_lw === subject_lw[i] && isWordStart(i, subject, subject_lw)) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n sumPos += i;\n count++;\n break;\n }\n }\n if (i === m) {\n break;\n }\n }\n if (count < 2) {\n return emptyAcronymResult;\n }\n fullWord = count === n ? isAcronymFullWord(subject, subject_lw, query, count) : false;\n score = scorePattern(count, n, sameCase, true, fullWord);\n return new AcronymResult(score, sumPos / count, count + sepCount);\n };\n\n isAcronymFullWord = function(subject, subject_lw, query, nbAcronymInQuery) {\n var count, i, m, n;\n m = subject.length;\n n = query.length;\n count = 0;\n if (m > 12 * n) {\n return false;\n }\n i = -1;\n while (++i < m) {\n if (isWordStart(i, subject, subject_lw) && ++count > nbAcronymInQuery) {\n return false;\n }\n }\n return true;\n };\n\n}).call(this);\n","(function() {\n var Query, defaultPathSeparator, filter, matcher, parseOptions, pathScorer, preparedQueryCache, scorer;\n\n filter = require('./filter');\n\n matcher = require('./matcher');\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n preparedQueryCache = null;\n\n defaultPathSeparator = (typeof process !== \"undefined\" && process !== null ? process.platform : void 0) === \"win32\" ? '\\\\' : '/';\n\n module.exports = {\n filter: function(candidates, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((query != null ? query.length : void 0) && (candidates != null ? candidates.length : void 0))) {\n return [];\n }\n options = parseOptions(options, query);\n return filter(candidates, query, options);\n },\n score: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((string != null ? string.length : void 0) && (query != null ? query.length : void 0))) {\n return 0;\n }\n options = parseOptions(options, query);\n if (options.usePathScoring) {\n return pathScorer.score(string, query, options);\n } else {\n return scorer.score(string, query, options);\n }\n },\n match: function(string, query, options) {\n var _i, _ref, _results;\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n if (string === query) {\n return (function() {\n _results = [];\n for (var _i = 0, _ref = string.length; 0 <= _ref ? _i < _ref : _i > _ref; 0 <= _ref ? _i++ : _i--){ _results.push(_i); }\n return _results;\n }).apply(this);\n }\n options = parseOptions(options, query);\n return matcher.match(string, query, options);\n },\n wrap: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n options = parseOptions(options, query);\n return matcher.wrap(string, query, options);\n },\n prepareQuery: function(query, options) {\n if (options == null) {\n options = {};\n }\n options = parseOptions(options, query);\n return options.preparedQuery;\n }\n };\n\n parseOptions = function(options, query) {\n if (options.allowErrors == null) {\n options.allowErrors = false;\n }\n if (options.usePathScoring == null) {\n options.usePathScoring = true;\n }\n if (options.useExtensionBonus == null) {\n options.useExtensionBonus = false;\n }\n if (options.pathSeparator == null) {\n options.pathSeparator = defaultPathSeparator;\n }\n if (options.optCharRegEx == null) {\n options.optCharRegEx = null;\n }\n if (options.wrap == null) {\n options.wrap = null;\n }\n if (options.preparedQuery == null) {\n options.preparedQuery = preparedQueryCache && preparedQueryCache.query === query ? preparedQueryCache : (preparedQueryCache = new Query(query, options));\n }\n return options;\n };\n\n}).call(this);\n","(function() {\n var computeScore, countDir, file_coeff, getExtension, getExtensionScore, isMatch, scorePath, scoreSize, tau_depth, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, computeScore = _ref.computeScore, scoreSize = _ref.scoreSize;\n\n tau_depth = 20;\n\n file_coeff = 2.5;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n score = scorePath(string, string_lw, score, options);\n return Math.ceil(score);\n };\n\n scorePath = function(subject, subject_lw, fullPathScore, options) {\n var alpha, basePathScore, basePos, depth, end, extAdjust, fileLength, pathSeparator, preparedQuery, useExtensionBonus;\n if (fullPathScore === 0) {\n return 0;\n }\n preparedQuery = options.preparedQuery, useExtensionBonus = options.useExtensionBonus, pathSeparator = options.pathSeparator;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n fileLength = end - basePos;\n extAdjust = 1.0;\n if (useExtensionBonus) {\n extAdjust += getExtensionScore(subject_lw, preparedQuery.ext, basePos, end, 2);\n fullPathScore *= extAdjust;\n }\n if (basePos === -1) {\n return fullPathScore;\n }\n depth = preparedQuery.depth;\n while (basePos > -1 && depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n }\n basePathScore = basePos === -1 ? fullPathScore : extAdjust * computeScore(subject.slice(basePos + 1, end + 1), subject_lw.slice(basePos + 1, end + 1), preparedQuery);\n alpha = 0.5 * tau_depth / (tau_depth + countDir(subject, end + 1, pathSeparator));\n return alpha * basePathScore + (1 - alpha) * fullPathScore * scoreSize(0, file_coeff * fileLength);\n };\n\n exports.countDir = countDir = function(path, end, pathSeparator) {\n var count, i;\n if (end < 1) {\n return 0;\n }\n count = 0;\n i = -1;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n while (++i < end) {\n if (path[i] === pathSeparator) {\n count++;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n }\n }\n return count;\n };\n\n exports.getExtension = getExtension = function(str) {\n var pos;\n pos = str.lastIndexOf(\".\");\n if (pos < 0) {\n return \"\";\n } else {\n return str.substr(pos + 1);\n }\n };\n\n getExtensionScore = function(candidate, ext, startPos, endPos, maxDepth) {\n var m, matched, n, pos;\n if (!ext.length) {\n return 0;\n }\n pos = candidate.lastIndexOf(\".\", endPos);\n if (!(pos > startPos)) {\n return 0;\n }\n n = ext.length;\n m = endPos - pos;\n if (m < n) {\n n = m;\n m = ext.length;\n }\n pos++;\n matched = -1;\n while (++matched < n) {\n if (candidate[pos + matched] !== ext[matched]) {\n break;\n }\n }\n if (matched === 0 && maxDepth > 0) {\n return 0.9 * getExtensionScore(candidate, ext, startPos, pos - 2, maxDepth - 1);\n }\n return matched / m;\n };\n\n}).call(this);\n","(function() {\n var Query, coreChars, countDir, getCharCodes, getExtension, opt_char_re, truncatedUpperCase, _ref;\n\n _ref = require(\"./pathScorer\"), countDir = _ref.countDir, getExtension = _ref.getExtension;\n\n module.exports = Query = (function() {\n function Query(query, _arg) {\n var optCharRegEx, pathSeparator, _ref1;\n _ref1 = _arg != null ? _arg : {}, optCharRegEx = _ref1.optCharRegEx, pathSeparator = _ref1.pathSeparator;\n if (!(query && query.length)) {\n return null;\n }\n this.query = query;\n this.query_lw = query.toLowerCase();\n this.core = coreChars(query, optCharRegEx);\n this.core_lw = this.core.toLowerCase();\n this.core_up = truncatedUpperCase(this.core);\n this.depth = countDir(query, query.length, pathSeparator);\n this.ext = getExtension(this.query_lw);\n this.charCodes = getCharCodes(this.query_lw);\n }\n\n return Query;\n\n })();\n\n opt_char_re = /[ _\\-:\\/\\\\]/g;\n\n coreChars = function(query, optCharRegEx) {\n if (optCharRegEx == null) {\n optCharRegEx = opt_char_re;\n }\n return query.replace(optCharRegEx, '');\n };\n\n truncatedUpperCase = function(str) {\n var char, upper, _i, _len;\n upper = \"\";\n for (_i = 0, _len = str.length; _i < _len; _i++) {\n char = str[_i];\n upper += char.toUpperCase()[0];\n }\n return upper;\n };\n\n getCharCodes = function(str) {\n var charCodes, i, len;\n len = str.length;\n i = -1;\n charCodes = [];\n while (++i < len) {\n charCodes[str.charCodeAt(i)] = true;\n }\n return charCodes;\n };\n\n}).call(this);\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","(function() {\n var Query, pathScorer, pluckCandidates, scorer, sortCandidates;\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n pluckCandidates = function(a) {\n return a.candidate;\n };\n\n sortCandidates = function(a, b) {\n return b.score - a.score;\n };\n\n module.exports = function(candidates, query, options) {\n var bKey, candidate, key, maxInners, maxResults, score, scoreProvider, scoredCandidates, spotLeft, string, usePathScoring, _i, _len;\n scoredCandidates = [];\n key = options.key, maxResults = options.maxResults, maxInners = options.maxInners, usePathScoring = options.usePathScoring;\n spotLeft = (maxInners != null) && maxInners > 0 ? maxInners : candidates.length + 1;\n bKey = key != null;\n scoreProvider = usePathScoring ? pathScorer : scorer;\n for (_i = 0, _len = candidates.length; _i < _len; _i++) {\n candidate = candidates[_i];\n string = bKey ? candidate[key] : candidate;\n if (!string) {\n continue;\n }\n score = scoreProvider.score(string, query, options);\n if (score > 0) {\n scoredCandidates.push({\n candidate: candidate,\n score: score\n });\n if (!--spotLeft) {\n break;\n }\n }\n }\n scoredCandidates.sort(sortCandidates);\n candidates = scoredCandidates.map(pluckCandidates);\n if (maxResults != null) {\n candidates = candidates.slice(0, maxResults);\n }\n return candidates;\n };\n\n}).call(this);\n","(function() {\n var basenameMatch, computeMatch, isMatch, isWordStart, match, mergeMatches, scoreAcronyms, scoreCharacter, scoreConsecutives, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, isWordStart = _ref.isWordStart, scoreConsecutives = _ref.scoreConsecutives, scoreCharacter = _ref.scoreCharacter, scoreAcronyms = _ref.scoreAcronyms;\n\n exports.match = match = function(string, query, options) {\n var allowErrors, baseMatches, matches, pathSeparator, preparedQuery, string_lw;\n allowErrors = options.allowErrors, preparedQuery = options.preparedQuery, pathSeparator = options.pathSeparator;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return [];\n }\n string_lw = string.toLowerCase();\n matches = computeMatch(string, string_lw, preparedQuery);\n if (matches.length === 0) {\n return matches;\n }\n if (string.indexOf(pathSeparator) > -1) {\n baseMatches = basenameMatch(string, string_lw, preparedQuery, pathSeparator);\n matches = mergeMatches(matches, baseMatches);\n }\n return matches;\n };\n\n exports.wrap = function(string, query, options) {\n var matchIndex, matchPos, matchPositions, output, strPos, tagClass, tagClose, tagOpen, _ref1;\n if ((options.wrap != null)) {\n _ref1 = options.wrap, tagClass = _ref1.tagClass, tagOpen = _ref1.tagOpen, tagClose = _ref1.tagClose;\n }\n if (tagClass == null) {\n tagClass = 'highlight';\n }\n if (tagOpen == null) {\n tagOpen = '';\n }\n if (tagClose == null) {\n tagClose = '';\n }\n if (string === query) {\n return tagOpen + string + tagClose;\n }\n matchPositions = match(string, query, options);\n if (matchPositions.length === 0) {\n return string;\n }\n output = '';\n matchIndex = -1;\n strPos = 0;\n while (++matchIndex < matchPositions.length) {\n matchPos = matchPositions[matchIndex];\n if (matchPos > strPos) {\n output += string.substring(strPos, matchPos);\n strPos = matchPos;\n }\n while (++matchIndex < matchPositions.length) {\n if (matchPositions[matchIndex] === matchPos + 1) {\n matchPos++;\n } else {\n matchIndex--;\n break;\n }\n }\n matchPos++;\n if (matchPos > strPos) {\n output += tagOpen;\n output += string.substring(strPos, matchPos);\n output += tagClose;\n strPos = matchPos;\n }\n }\n if (strPos <= string.length - 1) {\n output += string.substring(strPos);\n }\n return output;\n };\n\n basenameMatch = function(subject, subject_lw, preparedQuery, pathSeparator) {\n var basePos, depth, end;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n if (basePos === -1) {\n return [];\n }\n depth = preparedQuery.depth;\n while (depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n if (basePos === -1) {\n return [];\n }\n }\n basePos++;\n end++;\n return computeMatch(subject.slice(basePos, end), subject_lw.slice(basePos, end), preparedQuery, basePos);\n };\n\n mergeMatches = function(a, b) {\n var ai, bj, i, j, m, n, out;\n m = a.length;\n n = b.length;\n if (n === 0) {\n return a.slice();\n }\n if (m === 0) {\n return b.slice();\n }\n i = -1;\n j = 0;\n bj = b[j];\n out = [];\n while (++i < m) {\n ai = a[i];\n while (bj <= ai && ++j < n) {\n if (bj < ai) {\n out.push(bj);\n }\n bj = b[j];\n }\n out.push(ai);\n }\n while (j < n) {\n out.push(b[j++]);\n }\n return out;\n };\n\n computeMatch = function(subject, subject_lw, preparedQuery, offset) {\n var DIAGONAL, LEFT, STOP, UP, acro_score, align, backtrack, csc_diag, csc_row, csc_score, i, j, m, matches, move, n, pos, query, query_lw, score, score_diag, score_row, score_up, si_lw, start, trace;\n if (offset == null) {\n offset = 0;\n }\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro_score = scoreAcronyms(subject, subject_lw, query, query_lw).score;\n score_row = new Array(n);\n csc_row = new Array(n);\n STOP = 0;\n UP = 1;\n LEFT = 2;\n DIAGONAL = 3;\n trace = new Array(m * n);\n pos = -1;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n score = 0;\n score_up = 0;\n csc_diag = 0;\n si_lw = subject_lw[i];\n j = -1;\n while (++j < n) {\n csc_score = 0;\n align = 0;\n score_diag = score_up;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n }\n score_up = score_row[j];\n csc_diag = csc_row[j];\n if (score > score_up) {\n move = LEFT;\n } else {\n score = score_up;\n move = UP;\n }\n if (align > score) {\n score = align;\n move = DIAGONAL;\n } else {\n csc_score = 0;\n }\n score_row[j] = score;\n csc_row[j] = csc_score;\n trace[++pos] = score > 0 ? move : STOP;\n }\n }\n i = m - 1;\n j = n - 1;\n pos = i * n + j;\n backtrack = true;\n matches = [];\n while (backtrack && i >= 0 && j >= 0) {\n switch (trace[pos]) {\n case UP:\n i--;\n pos -= n;\n break;\n case LEFT:\n j--;\n pos--;\n break;\n case DIAGONAL:\n matches.push(i + offset);\n j--;\n i--;\n pos -= n + 1;\n break;\n default:\n backtrack = false;\n }\n }\n matches.reverse();\n return matches;\n };\n\n}).call(this);\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._teardowns = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage === null || _parentage === void 0 ? void 0 : _parentage.remove(this);\n }\n const { initialTeardown } = this;\n if (isFunction(initialTeardown)) {\n try {\n initialTeardown();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _teardowns } = this;\n if (_teardowns) {\n this._teardowns = null;\n for (const teardown of _teardowns) {\n try {\n execTeardown(teardown);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execTeardown(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._teardowns = (_a = this._teardowns) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _teardowns } = this;\n _teardowns && arrRemove(_teardowns, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execTeardown(teardown) {\n if (isFunction(teardown)) {\n teardown();\n }\n else {\n teardown.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","export const timeoutProvider = {\n setTimeout(...args) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) || setTimeout)(...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.destination.complete();\n this.unsubscribe();\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n this.destination = EMPTY_OBSERVER;\n if ((observerOrNext || error || complete) && observerOrNext !== EMPTY_OBSERVER) {\n let next;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n ({ next, error, complete } = observerOrNext);\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n }\n else {\n context = observerOrNext;\n }\n next = next === null || next === void 0 ? void 0 : next.bind(context);\n error = error === null || error === void 0 ? void 0 : error.bind(context);\n complete = complete === null || complete === void 0 ? void 0 : complete.bind(context);\n }\n this.destination = {\n next: next || noop,\n error: error || defaultErrorHandler,\n complete: complete || noop,\n };\n }\n }\n}\nfunction defaultErrorHandler(err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n reportUnhandledError(err);\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","import { Subscriber } from '../Subscriber';\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onError, onComplete, onUnsubscribe) {\n super(destination);\n this.onUnsubscribe = onUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n this.destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.unsubscribe();\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n this.destination.error(err);\n }\n this.unsubscribe();\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n !this.closed && ((_a = this.onUnsubscribe) === null || _a === void 0 ? void 0 : _a.call(this));\n super.unsubscribe();\n }\n}\n//# sourceMappingURL=OperatorSubscriber.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\nexport const $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nexport class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n const { operator, source } = this;\n subscriber.add(operator\n ? operator.call(subscriber, source)\n : source || config.useDeprecatedSynchronousErrorHandling\n ? this._subscribe(subscriber)\n : this._trySubscribe(subscriber));\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let subscription;\n subscription = this.subscribe((value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();\n }\n }, reject, resolve);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return operations.length ? pipeFromArray(operations)(this) : this;\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable((subscriber) => {\n let i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, Array, AsyncIterable, or Iterable.`);\n}\n//# sourceMappingURL=throwUnobservableError.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next(value) { sub.add(scheduler.schedule(() => subscriber.next(value))); },\n error(err) { sub.add(scheduler.schedule(() => subscriber.error(err))); },\n complete() { sub.add(scheduler.schedule(() => subscriber.complete())); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { Observable } from '../Observable';\nexport function schedulePromise(input, scheduler) {\n return new Observable((subscriber) => {\n return scheduler.schedule(() => input.then((value) => {\n subscriber.add(scheduler.schedule(() => {\n subscriber.next(value);\n subscriber.add(scheduler.schedule(() => subscriber.complete()));\n }));\n }, (err) => {\n subscriber.add(scheduler.schedule(() => subscriber.error(err)));\n }));\n });\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const iterator = input[Symbol.asyncIterator]();\n sub.add(scheduler.schedule(function () {\n iterator.next().then(result => {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n this.schedule();\n }\n });\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { caughtSchedule } from '../util/caughtSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable((subscriber) => {\n let iterator;\n subscriber.add(scheduler.schedule(() => {\n iterator = input[Symbol_iterator]();\n caughtSchedule(subscriber, scheduler, function () {\n const { value, done } = iterator.next();\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n });\n }));\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","export function caughtSchedule(subscriber, scheduler, execute, delay = 0) {\n const subscription = scheduler.schedule(function () {\n try {\n execute.call(this);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n subscriber.add(subscription);\n return subscription;\n}\n//# sourceMappingURL=caughtSchedule.js.map","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { Observable } from '../Observable';\nimport { scheduled } from '../scheduled/scheduled';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nfunction fromInteropObservable(obj) {\n return new Observable((subscriber) => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable((subscriber) => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nfunction fromPromise(promise) {\n return new Observable((subscriber) => {\n promise\n .then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, reportUnhandledError);\n });\n}\nfunction fromIterable(iterable) {\n return new Observable((subscriber) => {\n const iterator = iterable[Symbol_iterator]();\n while (!subscriber.closed) {\n const { done, value } = iterator.next();\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\nfunction fromAsyncIterable(asyncIterable) {\n return new Observable((subscriber) => {\n process(asyncIterable, subscriber).catch((err) => subscriber.error(err));\n });\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\n//# sourceMappingURL=from.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/from';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent = Infinity) {\n if (isFunction(resultSelector)) {\n return mergeMap((a, i) => map((b, ii) => resultSelector(a, b, i, ii))(innerFrom(project(a, i))), concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent));\n}\nexport const flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map","import { innerFrom } from '../observable/from';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalTeardown) {\n let buffer = [];\n let active = 0;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));\n const doInnerSub = (value) => {\n expand && subscriber.next(value);\n active++;\n innerFrom(project(value, index++)).subscribe(new OperatorSubscriber(subscriber, (innerValue) => {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, undefined, () => {\n active--;\n while (buffer.length && active < concurrent) {\n const bufferedValue = buffer.shift();\n innerSubScheduler ? subscriber.add(innerSubScheduler.schedule(() => doInnerSub(bufferedValue))) : doInnerSub(bufferedValue);\n }\n checkComplete();\n }));\n };\n source.subscribe(new OperatorSubscriber(subscriber, outerNext, undefined, () => {\n isComplete = true;\n checkComplete();\n }));\n return () => {\n buffer = null;\n additionalTeardown === null || additionalTeardown === void 0 ? void 0 : additionalTeardown();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Infinity) {\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map","import { scheduleArray } from '../scheduled/scheduleArray';\nimport { fromArrayLike } from './from';\nexport function internalFromArray(input, scheduler) {\n return scheduler ? scheduleArray(input, scheduler) : fromArrayLike(input);\n}\n//# sourceMappingURL=fromArray.js.map","const { isArray } = Array;\nexport function argsOrArgArray(args) {\n return args.length === 1 && isArray(args[0]) ? args[0] : args;\n}\n//# sourceMappingURL=argsOrArgArray.js.map","import { Observable } from '../Observable';\nexport const EMPTY = new Observable(subscriber => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(subscriber => scheduler.schedule(() => subscriber.complete()));\n}\n//# sourceMappingURL=empty.js.map","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n//# sourceMappingURL=isScheduler.js.map","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n//# sourceMappingURL=args.js.map","import { mergeAll } from '../operators/mergeAll';\nimport { internalFromArray } from './fromArray';\nimport { argsOrArgArray } from '../util/argsOrArgArray';\nimport { innerFrom } from './from';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nexport function merge(...args) {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n const sources = argsOrArgArray(args);\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(internalFromArray(sources, scheduler));\n}\n//# sourceMappingURL=merge.js.map","import { innerFrom } from '../observable/from';\nimport { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate((source, subscriber) => {\n let innerSubscriber = null;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n let innerIndex = 0;\n const outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = new OperatorSubscriber(subscriber, (innerValue) => subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue), undefined, () => {\n innerSubscriber = null;\n checkComplete();\n })));\n }, undefined, () => {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n//# sourceMappingURL=switchMap.js.map","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n this._throwIfClosed();\n if (!this.isStopped) {\n const copy = this.observers.slice();\n for (const observer of copy) {\n observer.next(value);\n }\n }\n }\n error(err) {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n }\n complete() {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = null;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n return hasError || isStopped\n ? EMPTY_SUBSCRIPTION\n : (observers.push(subscriber), new Subscription(() => arrRemove(this.observers, subscriber)));\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n//# sourceMappingURL=Subject.js.map","export const dateTimestampProvider = {\n now() {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class ReplaySubject extends Subject {\n constructor(bufferSize = Infinity, windowTime = Infinity, timestampProvider = dateTimestampProvider) {\n super();\n this.bufferSize = bufferSize;\n this.windowTime = windowTime;\n this.timestampProvider = timestampProvider;\n this.buffer = [];\n this.infiniteTimeWindow = true;\n this.infiniteTimeWindow = windowTime === Infinity;\n this.bufferSize = Math.max(1, bufferSize);\n this.windowTime = Math.max(1, windowTime);\n }\n next(value) {\n const { isStopped, buffer, infiniteTimeWindow, timestampProvider, windowTime } = this;\n if (!isStopped) {\n buffer.push(value);\n !infiniteTimeWindow && buffer.push(timestampProvider.now() + windowTime);\n }\n this.trimBuffer();\n super.next(value);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this.trimBuffer();\n const subscription = this._innerSubscribe(subscriber);\n const { infiniteTimeWindow, buffer } = this;\n const copy = buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n }\n trimBuffer() {\n const { bufferSize, timestampProvider, buffer, infiniteTimeWindow } = this;\n const adjustedBufferSize = (infiniteTimeWindow ? 1 : 2) * bufferSize;\n bufferSize < Infinity && adjustedBufferSize < buffer.length && buffer.splice(0, buffer.length - adjustedBufferSize);\n if (!infiniteTimeWindow) {\n const now = timestampProvider.now();\n let last = 0;\n for (let i = 1; i < buffer.length && buffer[i] <= now; i += 2) {\n last = i;\n }\n last && buffer.splice(0, last + 1);\n }\n }\n}\n//# sourceMappingURL=ReplaySubject.js.map","import { map } from \"../operators/map\";\nconst { isArray } = Array;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn(...args) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(args => callOrApply(fn, args));\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","import { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { internalFromArray } from './fromArray';\nconst nodeEventEmitterMethods = ['addListener', 'removeListener'];\nconst eventTargetMethods = ['addEventListener', 'removeEventListener'];\nconst jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n const [add, remove] = isEventTarget(target)\n ? eventTargetMethods.map((methodName) => (handler) => target[methodName](eventName, handler, options))\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap((subTarget) => fromEvent(subTarget, eventName, options))(internalFromArray(target));\n }\n }\n return new Observable((subscriber) => {\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n const handler = (...args) => subscriber.next(1 < args.length ? args : args[0]);\n add(handler);\n return () => remove(handler);\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return (methodName) => (handler) => target[methodName](eventName, handler);\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function mapTo(value) {\n return operate((source, subscriber) => {\n source.subscribe(new OperatorSubscriber(subscriber, () => subscriber.next(value)));\n });\n}\n//# sourceMappingURL=mapTo.js.map","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve an element matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element or nothing\n */\nexport function getElement(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElement(\n selector: string, node?: ParentNode\n): T | undefined\n\nexport function getElement(\n selector: string, node: ParentNode = document\n): T | undefined {\n return node.querySelector(selector) || undefined\n}\n\n/**\n * Retrieve an element matching a query selector or throw a reference error\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getElementOrThrow(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElementOrThrow(\n selector: string, node?: ParentNode\n): T\n\nexport function getElementOrThrow(\n selector: string, node: ParentNode = document\n): T {\n const el = getElement(selector, node)\n if (typeof el === \"undefined\")\n throw new ReferenceError(\n `Missing element: expected \"${selector}\" to be present`\n )\n return el\n}\n\n/**\n * Retrieve the currently active element\n *\n * @returns Element or nothing\n */\nexport function getActiveElement(): HTMLElement | undefined {\n return document.activeElement instanceof HTMLElement\n ? document.activeElement\n : undefined\n}\n\n/**\n * Retrieve all elements matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getElements(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T][]\n\nexport function getElements(\n selector: string, node?: ParentNode\n): T[]\n\nexport function getElements(\n selector: string, node: ParentNode = document\n): T[] {\n return Array.from(node.querySelectorAll(selector))\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Create an element\n *\n * @template T - Tag name type\n *\n * @param tagName - Tag name\n *\n * @returns Element\n */\nexport function createElement(\n tagName: T\n): HTMLElementTagNameMap[T] {\n return document.createElement(tagName)\n}\n\n/**\n * Replace an element with another element\n *\n * @param source - Source element\n * @param target - Target element\n */\nexport function replaceElement(\n source: HTMLElement, target: Node\n): void {\n source.replaceWith(target)\n}\n","import { concatAll } from '../operators/concatAll';\nimport { internalFromArray } from './fromArray';\nimport { popScheduler } from '../util/args';\nexport function concat(...args) {\n return concatAll()(internalFromArray(args, popScheduler(args)));\n}\n//# sourceMappingURL=concat.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith(...values) {\n const scheduler = popScheduler(values);\n return operate((source, subscriber) => {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=startWith.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n compare = compare !== null && compare !== void 0 ? compare : defaultCompare;\n return operate((source, subscriber) => {\n let prev;\n let first = true;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n ((first && ((prev = value), 1)) || !compare(prev, (prev = keySelector ? keySelector(value) : value))) &&\n subscriber.next(value);\n first = false;\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { internalFromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nimport { popScheduler } from '../util/args';\nexport function of(...args) {\n const scheduler = popScheduler(args);\n return scheduler ? scheduleArray(args, scheduler) : internalFromArray(args);\n}\n//# sourceMappingURL=of.js.map","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport const NEVER = new Observable(noop);\nexport function never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map","import { operate } from '../util/lift';\nexport function finalize(callback) {\n return operate((source, subscriber) => {\n source.subscribe(subscriber);\n subscriber.add(callback);\n });\n}\n//# sourceMappingURL=finalize.js.map","import { Subject } from '../Subject';\nimport { from } from '../observable/from';\nimport { operate } from '../util/lift';\nexport function share(options) {\n options = options || {};\n const { connector = () => new Subject(), resetOnComplete = true, resetOnError = true, resetOnRefCountZero = true } = options;\n let connection = null;\n let subject = null;\n let refCount = 0;\n let hasCompleted = false;\n let hasErrored = false;\n const reset = () => {\n connection = subject = null;\n hasCompleted = hasErrored = false;\n };\n return operate((source, subscriber) => {\n refCount++;\n if (!subject) {\n subject = connector();\n }\n const castSubscription = subject.subscribe(subscriber);\n if (!connection) {\n connection = from(source).subscribe({\n next: (value) => subject.next(value),\n error: (err) => {\n hasErrored = true;\n const dest = subject;\n if (resetOnError) {\n reset();\n }\n dest.error(err);\n },\n complete: () => {\n hasCompleted = true;\n const dest = subject;\n if (resetOnComplete) {\n reset();\n }\n dest.complete();\n },\n });\n }\n return () => {\n refCount--;\n castSubscription.unsubscribe();\n if (!refCount && resetOnRefCountZero && !hasErrored && !hasCompleted) {\n const conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n }\n };\n });\n}\n//# sourceMappingURL=share.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var _a, _b;\n let bufferSize;\n let refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n bufferSize = (_a = configOrBufferSize.bufferSize) !== null && _a !== void 0 ? _a : Infinity;\n windowTime = (_b = configOrBufferSize.windowTime) !== null && _b !== void 0 ? _b : Infinity;\n refCount = !!configOrBufferSize.refCount;\n scheduler = configOrBufferSize.scheduler;\n }\n else {\n bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity;\n }\n return share({\n connector: () => new ReplaySubject(bufferSize, windowTime, scheduler),\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount\n });\n}\n//# sourceMappingURL=shareReplay.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n const tapObserver = isFunction(observerOrNext) || error || complete ? { next: observerOrNext, error, complete } : observerOrNext;\n return tapObserver\n ? operate((source, subscriber) => {\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, (err) => {\n var _a;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, () => {\n var _a;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));\n });\n}\n//# sourceMappingURL=filter.js.map","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n defer,\n of\n} from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n shareReplay,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementSize {\n width: number /* Element width */\n height: number /* Element height */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Resize observer entry subject\n */\nconst entry$ = new Subject()\n\n/**\n * Resize observer observable\n *\n * This observable will create a `ResizeObserver` on the first subscription\n * and will automatically terminate it when there are no more subscribers.\n * It's quite important to centralize observation in a single `ResizeObserver`,\n * as the performance difference can be quite dramatic, as the link shows.\n *\n * @see https://bit.ly/3iIYfEm - Google Groups on performance\n */\nconst observer$ = defer(() => of(\n new ResizeObserver(entries => {\n for (const entry of entries)\n entry$.next(entry)\n })\n))\n .pipe(\n switchMap(resize => NEVER.pipe(startWith(resize))\n .pipe(\n finalize(() => resize.disconnect())\n )\n ),\n shareReplay(1)\n )\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element size\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementSize(el: HTMLElement): ElementSize {\n return {\n width: el.offsetWidth,\n height: el.offsetHeight\n }\n}\n\n/**\n * Retrieve element content size, i.e. including overflowing content\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementContentSize(el: HTMLElement): ElementSize {\n return {\n width: el.scrollWidth,\n height: el.scrollHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element size\n *\n * This function returns an observable that subscribes to a single internal\n * instance of `ResizeObserver` upon subscription, and emit resize events until\n * termination. Note that this function should not be called with the same\n * element twice, as the first unsubscription will terminate observation.\n *\n * @param el - Element\n *\n * @returns Element size observable\n */\nexport function watchElementSize(\n el: HTMLElement\n): Observable {\n return observer$\n .pipe(\n tap(observer => observer.observe(el)),\n switchMap(observer => entry$\n .pipe(\n filter(({ target }) => target === el),\n finalize(() => observer.unobserve(el)),\n map(({ contentRect }) => ({\n width: contentRect.width,\n height: contentRect.height\n }))\n )\n ),\n startWith(getElementSize(el))\n )\n}\n","import { Observable } from '../Observable';\nimport { innerFrom } from './from';\nexport function defer(observableFactory) {\n return new Observable((subscriber) => {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { distinctUntilChanged, map, startWith } from \"rxjs/operators\"\n\nimport { getElementContentSize, getElementSize } from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element offset\n *\n * @param el - Element\n *\n * @returns Element offset\n */\nexport function getElementOffset(el: HTMLElement): ElementOffset {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element offset\n *\n * @param el - Element\n *\n * @returns Element offset observable\n */\nexport function watchElementOffset(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"scroll\"),\n fromEvent(window, \"resize\")\n )\n .pipe(\n map(() => getElementOffset(el)),\n startWith(getElementOffset(el))\n )\n}\n\n/**\n * Watch element threshold\n *\n * This function returns an observable which emits whether the bottom scroll\n * offset of an elements is within a certain threshold.\n *\n * @param el - Element\n * @param threshold - Threshold\n *\n * @returns Element threshold observable\n */\nexport function watchElementThreshold(\n el: HTMLElement, threshold = 16\n): Observable {\n return watchElementOffset(el)\n .pipe(\n map(({ y }) => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return y >= (\n content.height - visible.height - threshold\n )\n }),\n distinctUntilChanged()\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getElementOrThrow } from \"../element\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle\n */\nexport type Toggle =\n | \"drawer\" /* Toggle for drawer */\n | \"search\" /* Toggle for search */\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle map\n */\nconst toggles: Record = {\n drawer: getElementOrThrow(\"[data-md-toggle=drawer]\"),\n search: getElementOrThrow(\"[data-md-toggle=search]\")\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the value of a toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value\n */\nexport function getToggle(name: Toggle): boolean {\n return toggles[name].checked\n}\n\n/**\n * Set toggle\n *\n * Simulating a click event seems to be the most cross-browser compatible way\n * of changing the value while also emitting a `change` event. Before, Material\n * used `CustomEvent` to programmatically change the value of a toggle, but this\n * is a much simpler and cleaner solution which doesn't require a polyfill.\n *\n * @param name - Toggle\n * @param value - Toggle value\n */\nexport function setToggle(name: Toggle, value: boolean): void {\n if (toggles[name].checked !== value)\n toggles[name].click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value observable\n */\nexport function watchToggle(name: Toggle): Observable {\n const el = toggles[name]\n return fromEvent(el, \"change\")\n .pipe(\n map(() => el.checked),\n startWith(el.checked)\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { BehaviorSubject, Subject } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location\n *\n * This function will return a `URL` object (and not `Location`) in order to\n * normalize typings across the application. Furthermore, locations need to be\n * tracked without setting them and `Location` is a singleton which represents\n * the current location.\n *\n * @returns URL\n */\nexport function getLocation(): URL {\n return new URL(location.href)\n}\n\n/**\n * Set location\n *\n * @param url - URL to change to\n */\nexport function setLocation(url: URL): void {\n location.href = url.href\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location\n *\n * @returns Location subject\n */\nexport function watchLocation(): Subject {\n return new BehaviorSubject(getLocation())\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, from } from \"rxjs\"\nimport {\n filter,\n map,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch the given URL\n *\n * @param url - Request URL\n * @param options - Request options\n *\n * @returns Response observable\n */\nexport function request(\n url: string, options: RequestInit = { credentials: \"same-origin\" }\n): Observable {\n return from(fetch(url, options))\n .pipe(\n filter(res => res.status === 200),\n )\n}\n\n/**\n * Fetch JSON from the given URL\n *\n * @template T - Data type\n *\n * @param url - Request URL\n * @param options - Request options\n *\n * @returns Data observable\n */\nexport function requestJSON(\n url: string, options?: RequestInit\n): Observable {\n return request(url, options)\n .pipe(\n switchMap(res => res.json()),\n shareReplay(1)\n )\n}\n\n/**\n * Fetch XML from the given URL\n *\n * @param url - Request URL\n * @param options - Request options\n *\n * @returns Data observable\n */\nexport function requestXML(\n url: string, options?: RequestInit\n): Observable {\n const dom = new DOMParser()\n return request(url, options)\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/xml\")),\n shareReplay(1)\n )\n}\n","const { isArray } = Array;\nconst { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n const first = args[0];\n if (isArray(first)) {\n return { args: first, keys: null };\n }\n if (isPOJO(first)) {\n const keys = getKeys(first);\n return {\n args: keys.map((key) => first[key]),\n keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n//# sourceMappingURL=argsArgArrayOrObject.js.map","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { Subscriber } from '../Subscriber';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nexport function combineLatest(...args) {\n const scheduler = popScheduler(args);\n const resultSelector = popResultSelector(args);\n const { args: observables, keys } = argsArgArrayOrObject(args);\n if (observables.length === 0) {\n return from([], scheduler);\n }\n const result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n (values) => {\n const value = {};\n for (let i = 0; i < values.length; i++) {\n value[keys[i]] = values[i];\n }\n return value;\n }\n :\n identity));\n if (resultSelector) {\n return result.pipe(mapOneOrManyArgs(resultSelector));\n }\n return result;\n}\nclass CombineLatestSubscriber extends Subscriber {\n constructor(destination, _next, shouldComplete) {\n super(destination);\n this._next = _next;\n this.shouldComplete = shouldComplete;\n }\n _complete() {\n if (this.shouldComplete()) {\n super._complete();\n }\n else {\n this.unsubscribe();\n }\n }\n}\nexport function combineLatestInit(observables, scheduler, valueTransform = identity) {\n return (subscriber) => {\n const primarySubscribe = () => {\n const { length } = observables;\n const values = new Array(length);\n let active = length;\n const hasValues = observables.map(() => false);\n let waitingForFirstValues = true;\n const emit = () => subscriber.next(valueTransform(values.slice()));\n for (let i = 0; i < length; i++) {\n const subscribe = () => {\n const source = from(observables[i], scheduler);\n source.subscribe(new CombineLatestSubscriber(subscriber, (value) => {\n values[i] = value;\n if (waitingForFirstValues) {\n hasValues[i] = true;\n waitingForFirstValues = !hasValues.every(identity);\n }\n if (!waitingForFirstValues) {\n emit();\n }\n }, () => --active === 0));\n };\n maybeSchedule(scheduler, subscribe, subscriber);\n }\n };\n maybeSchedule(scheduler, primarySubscribe, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n subscription.add(scheduler.schedule(execute));\n }\n else {\n execute();\n }\n}\n//# sourceMappingURL=combineLatest.js.map","import { distinctUntilChanged } from './distinctUntilChanged';\nexport function distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged((x, y) => compare ? compare(x[key], y[key]) : x[key] === y[key]);\n}\n//# sourceMappingURL=distinctUntilKeyChanged.js.map","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Component\n */\nexport type ComponentType =\n | \"icon-search\" /* Icon search */\n | \"icon-search-query\" /* Icon search input */\n | \"icon-search-result\" /* Icon search results */\n\n/**\n * A component\n *\n * @template T - Component type\n * @template U - Reference type\n */\nexport type Component<\n T extends {} = {},\n U extends HTMLElement = HTMLElement\n> =\n T & {\n ref: U /* Component reference */\n }\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the element for a given component or throw a reference error\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getComponentElement(\n type: ComponentType, node: ParentNode = document\n): T {\n return getElementOrThrow(`[data-mdx-component=${type}]`, node)\n}\n\n/**\n * Retrieve all elements for a given component\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getComponentElements(\n type: ComponentType, node: ParentNode = document\n): T[] {\n return getElements(`[data-mdx-component=${type}]`, node)\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getLocation } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Feature flag\n */\nexport type Flag =\n | \"header.autohide\" /* Hide header */\n | \"navigation.expand\" /* Automatic expansion */\n | \"navigation.instant\" /* Instant loading */\n | \"navigation.sections\" /* Sections navigation */\n | \"navigation.tabs\" /* Tabs navigation */\n | \"toc.integrate\" /* Integrated table of contents */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Translation\n */\nexport type Translation =\n | \"clipboard.copy\" /* Copy to clipboard */\n | \"clipboard.copied\" /* Copied to clipboard */\n | \"search.config.lang\" /* Search language */\n | \"search.config.pipeline\" /* Search pipeline */\n | \"search.config.separator\" /* Search separator */\n | \"search.placeholder\" /* Search */\n | \"search.result.placeholder\" /* Type to start searching */\n | \"search.result.none\" /* No matching documents */\n | \"search.result.one\" /* 1 matching document */\n | \"search.result.other\" /* # matching documents */\n | \"search.result.more.one\" /* 1 more on this page */\n | \"search.result.more.other\" /* # more on this page */\n | \"search.result.term.missing\" /* Missing */\n\n/**\n * Translations\n */\nexport type Translations = Record\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Configuration\n */\nexport interface Config {\n base: string /* Base URL */\n features: Flag[] /* Feature flags */\n translations: Translations /* Translations */\n search: string /* Search worker URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration and make base URL absolute\n */\nconst script = getElementOrThrow(\"#__config\")\nconst config: Config = JSON.parse(script.textContent!)\nconfig.base = new URL(config.base, getLocation())\n .toString()\n .replace(/\\/$/, \"\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration\n *\n * @returns Global configuration\n */\nexport function configuration(): Config {\n return config\n}\n\n/**\n * Check whether a feature flag is enabled\n *\n * @param flag - Feature flag\n *\n * @returns Test result\n */\nexport function feature(flag: Flag): boolean {\n return config.features.includes(flag)\n}\n\n/**\n * Retrieve the translation for the given key\n *\n * @param key - Key to be translated\n * @param value - Value to be replaced\n *\n * @returns Translation\n */\nexport function translation(\n key: Translation, value?: string | number\n): string {\n return typeof value !== \"undefined\"\n ? config.translations[key].replace(\"#\", value.toString())\n : config.translations[key]\n}\n","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n//# sourceMappingURL=Action.js.map","export const intervalProvider = {\n setInterval(...args) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) || setInterval)(...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, _id, delay = 0) {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(_scheduler, id, delay = 0) {\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n intervalProvider.clearInterval(id);\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, _delay) {\n let errored = false;\n let errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = (!!e && e) || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n super.unsubscribe();\n }\n }\n}\n//# sourceMappingURL=AsyncAction.js.map","import { dateTimestampProvider } from \"./scheduler/dateTimestampProvider\";\nexport class Scheduler {\n constructor(schedulerActionCtor, now = Scheduler.now) {\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\nScheduler.now = dateTimestampProvider.now;\n//# sourceMappingURL=Scheduler.js.map","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, now);\n this.actions = [];\n this.active = false;\n this.scheduled = undefined;\n }\n flush(action) {\n const { actions } = this;\n if (this.active) {\n actions.push(action);\n return;\n }\n let error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n//# sourceMappingURL=AsyncScheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n () => EMPTY\n : operate((source, subscriber) => {\n let seen = 0;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n//# sourceMappingURL=take.js.map","import { concat } from '../observable/concat';\nimport { take } from './take';\nimport { ignoreElements } from './ignoreElements';\nimport { mapTo } from './mapTo';\nimport { mergeMap } from './mergeMap';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return (source) => concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n }\n return mergeMap((value, index) => delayDurationSelector(value, index).pipe(take(1), mapTo(value)));\n}\n//# sourceMappingURL=delayWhen.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { noop } from '../util/noop';\nexport function ignoreElements() {\n return operate((source, subscriber) => {\n source.subscribe(new OperatorSubscriber(subscriber, noop));\n });\n}\n//# sourceMappingURL=ignoreElements.js.map","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime = 0, intervalOrScheduler, scheduler = asyncScheduler) {\n let intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable((subscriber) => {\n let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n let n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n//# sourceMappingURL=timer.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/from';\nimport { identity } from '../util/identity';\nimport { noop } from '../util/noop';\nimport { popResultSelector } from '../util/args';\nexport function withLatestFrom(...inputs) {\n const project = popResultSelector(inputs);\n return operate((source, subscriber) => {\n const len = inputs.length;\n const otherValues = new Array(len);\n let hasValue = inputs.map(() => false);\n let ready = false;\n for (let i = 0; i < len; i++) {\n innerFrom(inputs[i]).subscribe(new OperatorSubscriber(subscriber, (value) => {\n otherValues[i] = value;\n if (!ready && !hasValue[i]) {\n hasValue[i] = true;\n (ready = hasValue.every(identity)) && (hasValue = null);\n }\n }, undefined, noop));\n }\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n if (ready) {\n const values = [value, ...otherValues];\n subscriber.next(project ? project(...values) : values);\n }\n }));\n });\n}\n//# sourceMappingURL=withLatestFrom.js.map","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, combineLatest, fromEvent, merge } from \"rxjs\"\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport { watchElementFocus } from \"~/browser\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon search query\n */\nexport interface IconSearchQuery {\n value: string /* Query value */\n focus: boolean /* Query focus */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount icon search query\n *\n * @param el - Icon search query element\n *\n * @returns Icon search query component observable\n */\nexport function mountIconSearchQuery(\n el: HTMLInputElement\n): Observable> {\n\n /* Intercept focus and input events */\n const focus$ = watchElementFocus(el)\n const value$ = merge(\n fromEvent(el, \"keyup\"),\n fromEvent(el, \"focus\").pipe(delay(1))\n )\n .pipe(\n map(() => el.value),\n startWith(el.value),\n distinctUntilChanged()\n )\n\n /* Log search on blur */\n focus$\n .pipe(\n filter(active => !active),\n withLatestFrom(value$)\n )\n .subscribe(([, value]) => {\n const path = document.location.pathname\n ga(\"send\", \"pageview\", `${path}?q=[icon]+${value}`)\n })\n\n /* Combine into single observable */\n return combineLatest([value$, focus$])\n .pipe(\n map(([value, focus]) => ({ ref: el, value, focus })),\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element focus\n *\n * @param el - Element\n * @param value - Whether the element should be focused\n */\nexport function setElementFocus(\n el: HTMLElement, value = true\n): void {\n if (value)\n el.focus()\n else\n el.blur()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element focus\n *\n * @param el - Element\n *\n * @returns Element focus observable\n */\nexport function watchElementFocus(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"focus\"),\n fromEvent(el, \"blur\")\n )\n .pipe(\n map(({ type }) => type === \"focus\"),\n startWith(el === getActiveElement())\n )\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { delayWhen } from './delayWhen';\nimport { timer } from '../observable/timer';\nexport function delay(due, scheduler = asyncScheduler) {\n const duration = timer(due, scheduler);\n return delayWhen(() => duration);\n}\n//# sourceMappingURL=delay.js.map","import { Subscription } from '../Subscription';\nexport const animationFrameProvider = {\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel === null || cancel === void 0 ? void 0 : cancel(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=animationFrameProvider.js.map","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport const animationFrame = animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map","import { AsyncScheduler } from './AsyncScheduler';\nexport class AnimationFrameScheduler extends AsyncScheduler {\n flush(action) {\n this.active = true;\n this.scheduled = undefined;\n const { actions } = this;\n let error;\n let index = -1;\n action = action || actions.shift();\n const count = actions.length;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n//# sourceMappingURL=AnimationFrameScheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { animationFrameProvider } from './animationFrameProvider';\nexport class AnimationFrameAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n animationFrameProvider.cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n }\n}\n//# sourceMappingURL=AnimationFrameAction.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n source.subscribe(new OperatorSubscriber(subscriber, (value) => subscriber.add(scheduler.schedule(() => subscriber.next(value), delay)), (err) => subscriber.add(scheduler.schedule(() => subscriber.error(err), delay)), () => subscriber.add(scheduler.schedule(() => subscriber.complete(), delay))));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { zip as zipStatic } from '../observable/zip';\nimport { operate } from '../util/lift';\nexport function zip(...sources) {\n return operate((source, subscriber) => {\n zipStatic(source, ...sources).subscribe(subscriber);\n });\n}\nexport function zipWith(...otherInputs) {\n return zip(...otherInputs);\n}\n//# sourceMappingURL=zipWith.js.map","import { Observable } from '../Observable';\nimport { innerFrom } from './from';\nimport { argsOrArgArray } from '../util/argsOrArgArray';\nimport { EMPTY } from './empty';\nimport { OperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { popResultSelector } from '../util/args';\nexport function zip(...args) {\n const resultSelector = popResultSelector(args);\n const sources = argsOrArgArray(args);\n return sources.length\n ? new Observable((subscriber) => {\n let buffers = sources.map(() => []);\n let completed = sources.map(() => false);\n subscriber.add(() => {\n buffers = completed = null;\n });\n for (let sourceIndex = 0; !subscriber.closed && sourceIndex < sources.length; sourceIndex++) {\n innerFrom(sources[sourceIndex]).subscribe(new OperatorSubscriber(subscriber, (value) => {\n buffers[sourceIndex].push(value);\n if (buffers.every((buffer) => buffer.length)) {\n const result = buffers.map((buffer) => buffer.shift());\n subscriber.next(resultSelector ? resultSelector(...result) : result);\n if (buffers.some((buffer, i) => !buffer.length && completed[i])) {\n subscriber.complete();\n }\n }\n }, undefined, () => {\n completed[sourceIndex] = true;\n !buffers[sourceIndex].length && subscriber.complete();\n }));\n }\n return () => {\n buffers = completed = null;\n };\n })\n : EMPTY;\n}\n//# sourceMappingURL=zip.js.map","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { JSX as JSXInternal } from \"preact\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * HTML attributes\n */\ntype Attributes =\n & JSXInternal.HTMLAttributes\n & JSXInternal.SVGAttributes\n & Record\n\n/**\n * Child element\n */\ntype Child =\n | HTMLElement\n | Text\n | string\n | number\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Append a child node to an element\n *\n * @param el - Element\n * @param child - Child node(s)\n */\nfunction appendChild(el: HTMLElement, child: Child | Child[]): void {\n\n /* Handle primitive types (including raw HTML) */\n if (typeof child === \"string\" || typeof child === \"number\") {\n el.innerHTML += child.toString()\n\n /* Handle nodes */\n } else if (child instanceof Node) {\n el.appendChild(child)\n\n /* Handle nested children */\n } else if (Array.isArray(child)) {\n for (const node of child)\n appendChild(el, node)\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * JSX factory\n *\n * @param tag - HTML tag\n * @param attributes - HTML attributes\n * @param children - Child elements\n *\n * @returns Element\n */\nexport function h(\n tag: string, attributes: Attributes | null, ...children: Child[]\n): HTMLElement {\n const el = document.createElement(tag)\n\n /* Set attributes, if any */\n if (attributes)\n for (const attr of Object.keys(attributes))\n if (typeof attributes[attr] !== \"boolean\")\n el.setAttribute(attr, attributes[attr])\n else if (attributes[attr])\n el.setAttribute(attr, \"\")\n\n /* Append child nodes */\n for (const child of children)\n appendChild(el, child)\n\n /* Return element */\n return el\n}\n\n/* ----------------------------------------------------------------------------\n * Namespace\n * ------------------------------------------------------------------------- */\n\nexport declare namespace h {\n namespace JSX {\n type Element = HTMLElement\n type IntrinsicElements = JSXInternal.IntrinsicElements\n }\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { wrap } from \"fuzzaldrin-plus\"\n\nimport { translation } from \"~/_\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon\n */\nexport interface Icon {\n shortcode: string /* Icon shortcode */\n url: string /* Icon URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Highlight an icon search result\n *\n * @param icon - Icon\n * @param query - Search query\n *\n * @returns Highlighted result\n */\nfunction highlight(icon: Icon, query: string) {\n return wrap(icon.shortcode, query, {\n wrap: {\n tagOpen: \"\",\n tagClose: \"\"\n }\n })\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render an icon search result\n *\n * @param icon - Icon\n * @param query - Search query\n *\n * @returns Element\n */\nexport function renderIconSearchResult(\n icon: Icon, query: string\n): HTMLElement {\n return (\n
  • \n \n \n \n \n {`:${highlight(icon, query)}:`}\n \n
  • \n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { filter as search } from \"fuzzaldrin-plus\"\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n distinctUntilKeyChanged,\n filter,\n finalize,\n map,\n observeOn,\n switchMap,\n tap,\n withLatestFrom,\n zipWith\n} from \"rxjs/operators\"\n\nimport {\n addToSearchResultList,\n resetSearchResultList,\n resetSearchResultMeta,\n setSearchResultMeta\n} from \"~/actions\"\nimport {\n getElementOrThrow,\n watchElementThreshold\n} from \"~/browser\"\n\nimport { Icon, renderIconSearchResult } from \"../../../templates\"\nimport { Component } from \"../../_\"\nimport { IconSearchIndex } from \"../_\"\nimport { IconSearchQuery } from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon search result\n */\nexport interface IconSearchResult {\n data: Icon[] /* Search result data */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n index$: Observable /* Search index observable */\n query$: Observable /* Search query observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n index$: Observable /* Search index observable */\n query$: Observable /* Search query observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch icon search result\n *\n * @param _el - Icon search result element\n * @param options - Options\n *\n * @returns Icon search result observable\n */\nexport function watchIconSearchResult(\n _el: HTMLElement, { index$, query$ }: WatchOptions\n): Observable {\n return combineLatest([\n query$.pipe(distinctUntilKeyChanged(\"value\")),\n index$\n .pipe(\n map(({ icons, emojis }) => [\n ...Object.keys(icons.data),\n ...Object.keys(emojis.data)\n ])\n )\n ])\n .pipe(\n map(([{ value }, data]) => search(data, value)),\n switchMap(shortcodes => index$.pipe(\n map(({ icons, emojis }) => ({\n data: shortcodes.map(shortcode => {\n const category =\n shortcode in icons.data\n ? icons\n : emojis\n return {\n shortcode,\n url: [\n category.base,\n category.data[shortcode]\n ].join(\"\")\n }\n })\n }))\n ))\n )\n}\n\n/**\n * Mount icon search result\n *\n * @param el - Icon search result element\n * @param options - Options\n *\n * @returns Icon search result component observable\n */\nexport function mountIconSearchResult(\n el: HTMLElement, { index$, query$ }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n const boundary$ = watchElementThreshold(el)\n .pipe(\n filter(Boolean)\n )\n\n /* Update search result metadata */\n const meta = getElementOrThrow(\":scope > :first-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(query$)\n )\n .subscribe(([{ data }, { value }]) => {\n if (value)\n setSearchResultMeta(meta, data.length)\n else\n resetSearchResultMeta(meta)\n })\n\n /* Update icon search result list */\n const list = getElementOrThrow(\":scope > :last-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n tap(() => resetSearchResultList(list)),\n switchMap(({ data }) => merge(\n of(...data.slice(0, 10)),\n of(...data.slice(10))\n .pipe(\n bufferCount(10),\n zipWith(boundary$),\n switchMap(([chunk]) => of(...chunk))\n )\n )),\n withLatestFrom(query$)\n )\n .subscribe(([result, { value }]) => {\n addToSearchResultList(list, renderIconSearchResult(result, value))\n })\n\n /* Create and return component */\n return watchIconSearchResult(el, { query$, index$ })\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { round } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set number of search results\n *\n * @param el - Search result metadata element\n * @param value - Number of results\n */\nexport function setSearchResultMeta(\n el: HTMLElement, value: number\n): void {\n switch (value) {\n\n /* No results */\n case 0:\n el.textContent = translation(\"search.result.none\")\n break\n\n /* One result */\n case 1:\n el.textContent = translation(\"search.result.one\")\n break\n\n /* Multiple result */\n default:\n el.textContent = translation(\"search.result.other\", round(value))\n }\n}\n\n/**\n * Reset number of search results\n *\n * @param el - Search result metadata element\n */\nexport function resetSearchResultMeta(\n el: HTMLElement\n): void {\n el.textContent = translation(\"search.result.placeholder\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Add an element to the search result list\n *\n * @param el - Search result list element\n * @param child - Search result element\n */\nexport function addToSearchResultList(\n el: HTMLElement, child: Element\n): void {\n el.appendChild(child)\n}\n\n/**\n * Reset search result list\n *\n * @param el - Search result list element\n */\nexport function resetSearchResultList(\n el: HTMLElement\n): void {\n el.innerHTML = \"\"\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Truncate a string after the given number of characters\n *\n * This is not a very reasonable approach, since the summaries kind of suck.\n * It would be better to create something more intelligent, highlighting the\n * search occurrences and making a better summary out of it, but this note was\n * written three years ago, so who knows if we'll ever fix it.\n *\n * @param value - Value to be truncated\n * @param n - Number of characters\n *\n * @returns Truncated value\n */\nexport function truncate(value: string, n: number): string {\n let i = n\n if (value.length > i) {\n while (value[i] !== \" \" && --i > 0) { /* keep eating */ }\n return `${value.substring(0, i)}...`\n }\n return value\n}\n\n/**\n * Round a number for display with repository facts\n *\n * This is a reverse-engineered version of GitHub's weird rounding algorithm\n * for stars, forks and all other numbers. While all numbers below `1,000` are\n * returned as-is, bigger numbers are converted to fixed numbers:\n *\n * - `1,049` => `1k`\n * - `1,050` => `1.1k`\n * - `1,949` => `1.9k`\n * - `1,950` => `2k`\n *\n * @param value - Original value\n *\n * @returns Rounded value\n */\nexport function round(value: number): string {\n if (value > 999) {\n const digits = +((value - 950) % 1000 > 99)\n return `${((value + 0.000001) / 1000).toFixed(digits)}k`\n } else {\n return value.toString()\n }\n}\n\n/**\n * Simple hash function\n *\n * @see https://bit.ly/2wsVjJ4 - Original source\n *\n * @param value - Value to be hashed\n *\n * @returns Hash as 32bit integer\n */\nexport function hash(value: string): number {\n let h = 0\n for (let i = 0, len = value.length; i < len; i++) {\n h = ((h << 5) - h) + value.charCodeAt(i)\n h |= 0 // Convert to 32bit integer\n }\n return h\n}\n","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nimport { arrRemove } from '../util/arrRemove';\nexport function bufferCount(bufferSize, startBufferEvery = null) {\n startBufferEvery = startBufferEvery !== null && startBufferEvery !== void 0 ? startBufferEvery : bufferSize;\n return operate((source, subscriber) => {\n let buffers = [];\n let count = 0;\n source.subscribe(new OperatorSubscriber(subscriber, (value) => {\n let toEmit = null;\n if (count++ % startBufferEvery === 0) {\n buffers.push([]);\n }\n for (const buffer of buffers) {\n buffer.push(value);\n if (bufferSize <= buffer.length) {\n toEmit = toEmit !== null && toEmit !== void 0 ? toEmit : [];\n toEmit.push(buffer);\n }\n }\n if (toEmit) {\n for (const buffer of toEmit) {\n arrRemove(buffers, buffer);\n subscriber.next(buffer);\n }\n }\n }, undefined, () => {\n for (const buffer of buffers) {\n subscriber.next(buffer);\n }\n subscriber.complete();\n }, () => {\n buffers = null;\n }));\n });\n}\n//# sourceMappingURL=bufferCount.js.map","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, merge } from \"rxjs\"\n\nimport { configuration } from \"~/_\"\nimport { requestJSON } from \"~/browser\"\n\nimport { Component, getComponentElement } from \"../../_\"\nimport {\n IconSearchQuery,\n mountIconSearchQuery\n} from \"../query\"\nimport {\n IconSearchResult,\n mountIconSearchResult\n} from \"../result\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon category\n */\nexport interface IconCategory {\n base: string /* Category base URL */\n data: Record /* Category data */\n}\n\n/**\n * Icon search index\n */\nexport interface IconSearchIndex {\n icons: IconCategory /* Icons */\n emojis: IconCategory /* Emojis */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Icon search\n */\nexport type IconSearch =\n | IconSearchQuery\n | IconSearchResult\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount icon search\n *\n * @param el - Icon search element\n *\n * @returns Icon search component observable\n */\nexport function mountIconSearch(\n el: HTMLElement\n): Observable> {\n const config = configuration()\n const index$ = requestJSON(\n `${config.base}/overrides/assets/javascripts/icon_search_index.json`\n )\n\n /* Retrieve nested components */\n const query = getComponentElement(\"icon-search-query\", el)\n const result = getComponentElement(\"icon-search-result\", el)\n\n /* Create and return component */\n const query$ = mountIconSearchQuery(query as HTMLInputElement)\n return merge(\n query$,\n mountIconSearchResult(result, { index$, query$ })\n )\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { fromEvent } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up extra analytics events\n */\nexport function setupAnalytics(): void {\n fromEvent(document.body, \"click\")\n .subscribe(ev => {\n if (ev.target instanceof HTMLElement) {\n const el = ev.target.closest(\"a[href^=http]\")\n if (el instanceof HTMLLinkElement)\n ga(\"send\", \"event\", \"outbound\", \"click\", el.href)\n }\n })\n}\n","/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, merge } from \"rxjs\"\nimport { switchMap } from \"rxjs/operators\"\n\nimport {\n getComponentElements,\n mountIconSearch\n} from \"./components\"\nimport { setupAnalytics } from \"./integrations\"\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Set up extra analytics events */\nsetupAnalytics()\n\n/* Set up extra component observables */\ndeclare const document$: Observable\ndocument$\n .pipe(\n switchMap(() => merge(\n\n /* Icon search */\n ...getComponentElements(\"icon-search\")\n .map(el => mountIconSearch(el))\n ))\n )\n .subscribe()\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/overrides/assets/javascripts/bundle.js b/material/overrides/assets/javascripts/bundle.js new file mode 100644 index 000000000..9daa9660d --- /dev/null +++ b/material/overrides/assets/javascripts/bundle.js @@ -0,0 +1,18 @@ +(()=>{var Kt=Object.create,sr=Object.defineProperty,Yt=Object.getPrototypeOf,Jt=Object.prototype.hasOwnProperty,Xt=Object.getOwnPropertyNames,Gt=Object.getOwnPropertyDescriptor;var Zt=e=>sr(e,"__esModule",{value:!0});var be=(e,r)=>()=>(r||(r={exports:{}},e(r.exports,r)),r.exports);var Bt=(e,r,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Xt(r))!Jt.call(e,n)&&n!=="default"&&sr(e,n,{get:()=>r[n],enumerable:!(t=Gt(r,n))||t.enumerable});return e},_r=e=>e&&e.__esModule?e:Bt(Zt(sr(e!=null?Kt(Yt(e)):{},"default",{value:e,enumerable:!0})),e);var He=be(D=>{(function(){var e,r,t,n,o,i,a,l,c,s,u,f,h,v,m,p,b,S,w,H;H=150,s=20,w=150,c=.75,D.score=function(d,g,E){var O,y,x,A;return y=E.preparedQuery,O=E.allowErrors,O||o(d,y.core_lw,y.core_up)?(A=d.toLowerCase(),x=r(d,A,y),Math.ceil(x)):0},D.isMatch=o=function(d,g,E){var O,y,x,A,P,R,M;if(x=d.length,A=g.length,!x||A>x)return!1;for(O=-1,y=-1;++y-1)return m(d,g,ae,G,te,q,z);for(ve=new Array(q),P=new Array(q),ar=S(q,z),j=Math.ceil(c*q)+5,X=j,M=!0,_=-1;++_ne&&(ne=Re),R=0,G[_]===or)if(ir=l(F,d,g),R=A>0?A:h(d,g,ae,G,F,_,ir),x=nr+f(F,_,ir,y,R),x>ne)ne=x,X=j;else{if(fe&&--X<=0)return Math.max(ne,ve[q-1])*ar;fe=!1}nr=Re,A=P[_],P[_]=R,ve[_]=ne}}return ne=ve[q-1],ne*ar},D.isWordStart=l=function(d,g,E){var O,y;return d===0?!0:(O=g[d],y=g[d-1],i(y)||O!==E[d]&&y===E[d-1])},D.isWordEnd=a=function(d,g,E,O){var y,x;return d===O-1?!0:(y=g[d],x=g[d+1],i(x)||y===E[d]&&x!==E[d+1])},i=function(d){return d===" "||d==="."||d==="-"||d==="_"||d==="/"||d==="\\"},b=function(d){var g;return dy?O:y)+10):x+H*y},D.scoreConsecutives=h=function(d,g,E,O,y,x,A){var P,R,M,F,_,z,j;for(R=d.length,F=E.length,M=R-y,_=F-x,P=M<_?M:_,z=0,j=0,E[x]===d[y]&&z++;++j-1&&(_=l(M,d,g),_&&(y=M))),R=-1,F=0;++R1&&M>1))return t;for(y=0,j=0,X=0,_=0,A=-1,P=-1;++P-1){j++;continue}else break;for(;++A12*P)return!1;for(x=-1;++xO)return!1;return!0}}).call(D)});var rr=be(Fe=>{(function(){var e,r,t,n,o,i,a,l,c,s;s=He(),i=s.isMatch,e=s.computeScore,l=s.scoreSize,c=20,t=2.5,Fe.score=function(u,f,h){var v,m,p,b;return m=h.preparedQuery,v=h.allowErrors,v||i(u,m.core_lw,m.core_up)?(b=u.toLowerCase(),p=e(u,b,m),p=a(u,b,p,h),Math.ceil(p)):0},a=function(u,f,h,v){var m,p,b,S,w,H,d,g,E,O;if(h===0)return 0;for(E=v.preparedQuery,O=v.useExtensionBonus,g=v.pathSeparator,w=u.length-1;u[w]===g;)w--;if(b=u.lastIndexOf(g,w),d=w-b,H=1,O&&(H+=o(f,E.ext,b,w,2),h*=H),b===-1)return h;for(S=E.depth;b>-1&&S-- >0;)b=u.lastIndexOf(g,b-1);return p=b===-1?h:H*e(u.slice(b+1,w+1),f.slice(b+1,w+1),E),m=.5*c/(c+r(u,w+1,g)),m*p+(1-m)*h*l(0,t*d)},Fe.countDir=r=function(u,f,h){var v,m;if(f<1)return 0;for(v=0,m=-1;++mh)))return 0;for(S=f.length,p=v-w,p0?.9*o(u,f,h,w-2,m-1):b/p}}).call(Fe)});var Tr=be((_t,Mt)=>{(function(){var e,r,t,n,o,i,a,l;l=rr(),t=l.countDir,o=l.getExtension,Mt.exports=e=function(){function c(s,u){var f,h,v;if(v=u??{},f=v.optCharRegEx,h=v.pathSeparator,!(s&&s.length))return null;this.query=s,this.query_lw=s.toLowerCase(),this.core=r(s,f),this.core_lw=this.core.toLowerCase(),this.core_up=a(this.core),this.depth=t(s,s.length,h),this.ext=o(this.query_lw),this.charCodes=n(this.query_lw)}return c}(),i=/[ _\-:\/\\]/g,r=function(c,s){return s==null&&(s=i),c.replace(s,"")},a=function(c){var s,u,f,h;for(u="",f=0,h=c.length;f{(function(){var e,r,t,n,o;n=He(),r=rr(),e=Tr(),t=function(i){return i.candidate},o=function(i,a){return a.score-i.score},Lt.exports=function(i,a,l){var c,s,u,f,h,v,m,p,b,S,w,H,d;for(p=[],u=l.key,h=l.maxResults,f=l.maxInners,w=l.usePathScoring,b=f!=null&&f>0?f:i.length+1,c=u!=null,m=w?r:n,H=0,d=i.length;H0&&(p.push({candidate:s,score:v}),!--b))));H++);return p.sort(o),i=p.map(t),h!=null&&(i=i.slice(0,h)),i}}).call(It)});var Pt=be(tr=>{(function(){var e,r,t,n,o,i,a,l,c,s;s=He(),t=s.isMatch,n=s.isWordStart,c=s.scoreConsecutives,l=s.scoreCharacter,a=s.scoreAcronyms,tr.match=o=function(u,f,h){var v,m,p,b,S,w;return v=h.allowErrors,S=h.preparedQuery,b=h.pathSeparator,v||t(u,S.core_lw,S.core_up)?(w=u.toLowerCase(),p=r(u,w,S),p.length===0||u.indexOf(b)>-1&&(m=e(u,w,S,b),p=i(p,m)),p):[]},tr.wrap=function(u,f,h){var v,m,p,b,S,w,H,d,g;if(h.wrap!=null&&(g=h.wrap,w=g.tagClass,d=g.tagOpen,H=g.tagClose),w==null&&(w="highlight"),d==null&&(d=''),H==null&&(H=""),u===f)return d+u+H;if(p=o(u,f,h),p.length===0)return u;for(b="",v=-1,S=0;++vS&&(b+=u.substring(S,m),S=m);++vS&&(b+=d,b+=u.substring(S,m),b+=H,S=m)}return S<=u.length-1&&(b+=u.substring(S)),b},e=function(u,f,h,v){var m,p,b;for(b=u.length-1;u[b]===v;)b--;if(m=u.lastIndexOf(v,b),m===-1)return[];for(p=h.depth;p-- >0;)if(m=u.lastIndexOf(v,m-1),m===-1)return[];return m++,b++,r(u.slice(m,b),f.slice(m,b),h,m)},i=function(u,f){var h,v,m,p,b,S,w;if(b=u.length,S=f.length,S===0)return u.slice();if(b===0)return f.slice();for(m=-1,p=0,v=f[p],w=[];++m0?g:c(u,f,_,z,y,x,G),H=X+l(y,x,G,w,O)),te=q[x],g=E[x],j>te?R=p:(j=te,R=S),H>j?(j=H,R=m):O=0,q[x]=j,E[x]=O,fe[++F]=j>0?R:b;for(y=A-1,x=M-1,F=y*M+x,d=!0,P=[];d&&y>=0&&x>=0;)switch(fe[F]){case S:y--,F-=M;break;case p:x--,F--;break;case m:P.push(y+v),x--,y--,F-=M+1;break;default:d=!1}return P.reverse(),P}}).call(tr)});var Ar=be((Ht,Ft)=>{(function(){var e,r,t,n,o,i,a,l;t=Ct(),n=Pt(),l=He(),i=rr(),e=Tr(),a=null,r=(typeof process!="undefined"&&process!==null?process.platform:void 0)==="win32"?"\\":"/",Ft.exports={filter:function(c,s,u){return u==null&&(u={}),(s!=null?s.length:void 0)&&(c!=null?c.length:void 0)?(u=o(u,s),t(c,s,u)):[]},score:function(c,s,u){return u==null&&(u={}),(c!=null?c.length:void 0)&&(s!=null?s.length:void 0)?(u=o(u,s),u.usePathScoring?i.score(c,s,u):l.score(c,s,u)):0},match:function(c,s,u){var f,h,v;return u==null&&(u={}),c?s?c===s?function(){v=[];for(var m=0,p=c.length;0<=p?mp;0<=p?m++:m--)v.push(m);return v}.apply(this):(u=o(u,s),n.match(c,s,u)):[]:[]},wrap:function(c,s,u){return u==null&&(u={}),c?s?(u=o(u,s),n.wrap(c,s,u)):[]:[]},prepareQuery:function(c,s){return s==null&&(s={}),s=o(s,c),s.preparedQuery}},o=function(c,s){return c.allowErrors==null&&(c.allowErrors=!1),c.usePathScoring==null&&(c.usePathScoring=!0),c.useExtensionBonus==null&&(c.useExtensionBonus=!1),c.pathSeparator==null&&(c.pathSeparator=r),c.optCharRegEx==null&&(c.optCharRegEx=null),c.wrap==null&&(c.wrap=null),c.preparedQuery==null&&(c.preparedQuery=a&&a.query===s?a:a=new e(s,c)),c}}).call(Ht)});var ur=function(e,r){return ur=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var o in n)n.hasOwnProperty(o)&&(t[o]=n[o])},ur(e,r)};function k(e,r){ur(e,r);function t(){this.constructor=e}e.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}function Mr(e,r,t,n){function o(i){return i instanceof t?i:new t(function(a){a(i)})}return new(t||(t=Promise))(function(i,a){function l(u){try{s(n.next(u))}catch(f){a(f)}}function c(u){try{s(n.throw(u))}catch(f){a(f)}}function s(u){u.done?i(u.value):o(u.value).then(l,c)}s((n=n.apply(e,r||[])).next())})}function Ir(e,r){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,o,i,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(s){return function(u){return c([s,u])}}function c(s){if(n)throw new TypeError("Generator is already executing.");for(;t;)try{if(n=1,o&&(i=s[0]&2?o.return:s[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,s[1])).done)return i;switch(o=0,i&&(s=[s[0]&2,i.value]),s[0]){case 0:case 1:i=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,o=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(i=t.trys,!(i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function cr(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var n=t.call(e),o,i=[],a;try{for(;(r===void 0||r-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(l){a={error:l}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(a)throw a.error}}return i}function W(){for(var e=[],r=0;r0?e.prototype.requestAsyncId.call(this,t,n,o):(t.actions.push(this),t.scheduled||(t.scheduled=xe.requestAnimationFrame(function(){return t.flush(void 0)})))},r.prototype.recycleAsyncId=function(t,n,o){if(o===void 0&&(o=0),o!=null&&o>0||o==null&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,o);t.actions.length===0&&(xe.cancelAnimationFrame(n),t.scheduled=void 0)},r}(Ue);var $r=function(e){k(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var n=this.actions,o,i=-1;t=t||n.shift();var a=n.length;do if(o=t.execute(t.state,t.delay))break;while(++ir==="focus"),ce(e===Er()))}var Mn=new ie,Cc=nt(()=>Te(new ResizeObserver(e=>{for(let r of e)Mn.next(r)}))).pipe(ee(e=>at.pipe(ce(e)).pipe(Ze(()=>e.disconnect()))),Be(1));function yt(e){return{width:e.offsetWidth,height:e.offsetHeight}}function xt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function gt(e){return{x:e.scrollLeft,y:e.scrollTop}}function In(e){return K($(e,"scroll"),$(window,"resize")).pipe(U(()=>gt(e)),ce(gt(e)))}function wt(e,r=16){return In(e).pipe(U(({y:t})=>{let n=yt(e),o=xt(e);return t>=o.height-n.height-r}),Ae())}var Qc={drawer:re("[data-md-toggle=drawer]"),search:re("[data-md-toggle=search]")};function St(){return new URL(location.href)}function Ln(e,r={credentials:"same-origin"}){return me(fetch(e,r)).pipe(he(t=>t.status===200))}function Et(e,r){return Ln(e,r).pipe(ee(t=>t.json()),Be(1))}function Or(e,r=document){return re(`[data-mdx-component=${e}]`,r)}function Ot(e,r=document){return vt(`[data-mdx-component=${e}]`,r)}var Cn=re("#__config"),Pe=JSON.parse(Cn.textContent);Pe.base=new URL(Pe.base,St()).toString().replace(/\/$/,"");function Tt(){return Pe}function le(e,r){return typeof r!="undefined"?Pe.translations[e].replace("#",r.toString()):Pe.translations[e]}function At(e){let r=bt(e),t=K($(e,"keyup"),$(e,"focus").pipe(ft(1))).pipe(U(()=>e.value),ce(e.value),Ae());return r.pipe(he(n=>!n),Ce(t)).subscribe(([,n])=>{let o=document.location.pathname;ga("send","pageview",`${o}?q=[icon]+${n}`)}),Je([t,r]).pipe(U(([n,o])=>({ref:e,value:n,focus:o})))}var Nt=_r(Ar());function Rt(e,r){if(typeof r=="string"||typeof r=="number")e.innerHTML+=r.toString();else if(r instanceof Node)e.appendChild(r);else if(Array.isArray(r))for(let t of r)Rt(e,t)}function _e(e,r,...t){let n=document.createElement(e);if(r)for(let o of Object.keys(r))typeof r[o]!="boolean"?n.setAttribute(o,r[o]):r[o]&&n.setAttribute(o,"");for(let o of t)Rt(n,o);return n}function kt(e){if(e>999){let r=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(r)}k`}else return e.toString()}function jt(e,r){switch(r){case 0:e.textContent=le("search.result.none");break;case 1:e.textContent=le("search.result.one");break;default:e.textContent=le("search.result.other",kt(r))}}function zt(e){e.textContent=le("search.result.placeholder")}function Wt(e,r){e.appendChild(r)}function Ut(e){e.innerHTML=""}var qt=_r(Ar());function Pn(e,r){return qt.wrap(e.shortcode,r,{wrap:{tagOpen:"",tagClose:""}})}function Vt(e,r){return _e("li",{class:"mdx-icon-search-result__item"},_e("span",{class:"twemoji"},_e("img",{src:e.url})),_e("button",{class:"md-clipboard--inline",title:le("clipboard.copy"),"data-clipboard-text":`:${e.shortcode}:`},_e("code",null,`:${Pn(e,r)}:`)))}function Hn(e,{index$:r,query$:t}){return Je([t.pipe(pt("value")),r.pipe(U(({icons:n,emojis:o})=>[...Object.keys(n.data),...Object.keys(o.data)]))]).pipe(U(([{value:n},o])=>Nt.filter(o,n)),ee(n=>r.pipe(U(({icons:o,emojis:i})=>({data:n.map(a=>{let l=a in o.data?o:i;return{shortcode:a,url:[l.base,l.data[a]].join("")}})})))))}function $t(e,{index$:r,query$:t}){let n=new ie,o=wt(e).pipe(he(Boolean)),i=re(":scope > :first-child",e);n.pipe(gr(br),Ce(t)).subscribe(([{data:l},{value:c}])=>{c?jt(i,l.length):zt(i)});let a=re(":scope > :last-child",e);return n.pipe(gr(br),er(()=>Ut(a)),ee(({data:l})=>K(Te(...l.slice(0,10)),Te(...l.slice(10)).pipe(ut(10),dt(o),ee(([c])=>Te(...c))))),Ce(t)).subscribe(([l,{value:c}])=>{Wt(a,Vt(l,c))}),Hn(e,{query$:t,index$:r}).pipe(er(n),Ze(()=>n.complete()),U(l=>({ref:e,...l})))}function Dt(e){let r=Tt(),t=Et(`${r.base}/overrides/assets/javascripts/icon_search_index.json`),n=Or("icon-search-query",e),o=Or("icon-search-result",e),i=At(n);return K(i,$t(o,{index$:t,query$:i}))}function Qt(){$(document.body,"click").subscribe(e=>{if(e.target instanceof HTMLElement){let r=e.target.closest("a[href^=http]");r instanceof HTMLLinkElement&&ga("send","event","outbound","click",r.href)}})}Qt();window.document$.pipe(ee(()=>K(...Ot("icon-search").map(e=>Dt(e))))).subscribe();})(); +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +//# sourceMappingURL=bundle.js.map diff --git a/material/overrides/assets/javascripts/bundle.js.map b/material/overrides/assets/javascripts/bundle.js.map new file mode 100644 index 000000000..7c57cb357 --- /dev/null +++ b/material/overrides/assets/javascripts/bundle.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../node_modules/fuzzaldrin-plus/lib/scorer.js", "../../../../node_modules/fuzzaldrin-plus/lib/pathScorer.js", "../../../../node_modules/fuzzaldrin-plus/lib/query.js", "../../../../node_modules/fuzzaldrin-plus/lib/filter.js", "../../../../node_modules/fuzzaldrin-plus/lib/matcher.js", "../../../../node_modules/fuzzaldrin-plus/lib/fuzzaldrin.js", "../../../../node_modules/rxjs/node_modules/tslib/tslib.es6.js", "../../../../node_modules/rxjs/src/internal/util/isFunction.ts", "../../../../node_modules/rxjs/src/internal/util/createErrorClass.ts", "../../../../node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "../../../../node_modules/rxjs/src/internal/util/arrRemove.ts", "../../../../node_modules/rxjs/src/internal/Subscription.ts", "../../../../node_modules/rxjs/src/internal/config.ts", "../../../../node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "../../../../node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "../../../../node_modules/rxjs/src/internal/util/noop.ts", "../../../../node_modules/rxjs/src/internal/NotificationFactories.ts", "../../../../node_modules/rxjs/src/internal/Subscriber.ts", "../../../../node_modules/rxjs/src/internal/symbol/observable.ts", "../../../../node_modules/rxjs/src/internal/util/identity.ts", "../../../../node_modules/rxjs/src/internal/util/pipe.ts", "../../../../node_modules/rxjs/src/internal/Observable.ts", "../../../../node_modules/rxjs/src/internal/util/lift.ts", "../../../../node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "../../../../node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "../../../../node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "../../../../node_modules/rxjs/src/internal/Subject.ts", "../../../../node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "../../../../node_modules/rxjs/src/internal/ReplaySubject.ts", "../../../../node_modules/rxjs/src/internal/scheduler/Action.ts", "../../../../node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "../../../../node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "../../../../node_modules/rxjs/src/internal/Scheduler.ts", "../../../../node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "../../../../node_modules/rxjs/src/internal/scheduler/async.ts", "../../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "../../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "../../../../node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "../../../../node_modules/rxjs/src/internal/observable/empty.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "../../../../node_modules/rxjs/src/internal/util/isArrayLike.ts", "../../../../node_modules/rxjs/src/internal/util/isPromise.ts", "../../../../node_modules/rxjs/src/internal/symbol/iterator.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "../../../../node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "../../../../node_modules/rxjs/src/internal/util/caughtSchedule.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "../../../../node_modules/rxjs/src/internal/util/isInteropObservable.ts", "../../../../node_modules/rxjs/src/internal/util/isIterable.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "../../../../node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "../../../../node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduled.ts", "../../../../node_modules/rxjs/src/internal/observable/from.ts", "../../../../node_modules/rxjs/src/internal/observable/fromArray.ts", "../../../../node_modules/rxjs/src/internal/util/isScheduler.ts", "../../../../node_modules/rxjs/src/internal/util/args.ts", "../../../../node_modules/rxjs/src/internal/observable/of.ts", "../../../../node_modules/rxjs/src/internal/util/isDate.ts", "../../../../node_modules/rxjs/src/internal/operators/map.ts", "../../../../node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "../../../../node_modules/rxjs/src/internal/operators/observeOn.ts", "../../../../node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "../../../../node_modules/rxjs/src/internal/observable/combineLatest.ts", "../../../../node_modules/rxjs/src/internal/operators/mergeInternals.ts", "../../../../node_modules/rxjs/src/internal/operators/mergeMap.ts", "../../../../node_modules/rxjs/src/internal/operators/mergeAll.ts", "../../../../node_modules/rxjs/src/internal/operators/concatAll.ts", "../../../../node_modules/rxjs/src/internal/observable/concat.ts", "../../../../node_modules/rxjs/src/internal/observable/defer.ts", "../../../../node_modules/rxjs/src/internal/observable/fromEvent.ts", "../../../../node_modules/rxjs/src/internal/observable/timer.ts", "../../../../node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "../../../../node_modules/rxjs/src/internal/observable/merge.ts", "../../../../node_modules/rxjs/src/internal/observable/never.ts", "../../../../node_modules/rxjs/src/internal/operators/filter.ts", "../../../../node_modules/rxjs/src/internal/observable/zip.ts", "../../../../node_modules/rxjs/src/internal/operators/bufferCount.ts", "../../../../node_modules/rxjs/src/internal/operators/take.ts", "../../../../node_modules/rxjs/src/internal/operators/ignoreElements.ts", "../../../../node_modules/rxjs/src/internal/operators/mapTo.ts", "../../../../node_modules/rxjs/src/internal/operators/delayWhen.ts", "../../../../node_modules/rxjs/src/internal/operators/delay.ts", "../../../../node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "../../../../node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "../../../../node_modules/rxjs/src/internal/operators/finalize.ts", "../../../../node_modules/rxjs/src/internal/operators/share.ts", "../../../../node_modules/rxjs/src/internal/operators/shareReplay.ts", "../../../../node_modules/rxjs/src/internal/operators/startWith.ts", "../../../../node_modules/rxjs/src/internal/operators/switchMap.ts", "../../../../node_modules/rxjs/src/internal/operators/tap.ts", "../../../../node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "../../../../node_modules/rxjs/src/internal/operators/zipWith.ts", "../../../../src/assets/javascripts/browser/element/_/index.ts", "../../../../src/assets/javascripts/browser/element/focus/index.ts", "../../../../src/assets/javascripts/browser/element/size/index.ts", "../../../../src/assets/javascripts/browser/element/offset/index.ts", "../../../../src/assets/javascripts/browser/toggle/index.ts", "../../../../src/assets/javascripts/browser/location/_/index.ts", "../../../../src/assets/javascripts/browser/request/index.ts", "../../../../src/overrides/assets/javascripts/components/_/index.ts", "../../../../src/assets/javascripts/_/index.ts", "../../../../src/overrides/assets/javascripts/components/icon-search/query/index.ts", "../../../../src/overrides/assets/javascripts/components/icon-search/result/index.ts", "../../../../src/assets/javascripts/utilities/h/index.ts", "../../../../src/assets/javascripts/utilities/string/index.ts", "../../../../src/assets/javascripts/actions/search/result/index.ts", "../../../../src/overrides/assets/javascripts/templates/icon-search/index.tsx", "../../../../src/overrides/assets/javascripts/components/icon-search/_/index.ts", "../../../../src/overrides/assets/javascripts/integrations/analytics/index.ts", "../../../../src/overrides/assets/javascripts/index.ts"], + "sourcesContent": ["(function() {\n var AcronymResult, computeScore, emptyAcronymResult, isAcronymFullWord, isMatch, isSeparator, isWordEnd, isWordStart, miss_coeff, pos_bonus, scoreAcronyms, scoreCharacter, scoreConsecutives, scoreExact, scoreExactMatch, scorePattern, scorePosition, scoreSize, tau_size, wm;\n\n wm = 150;\n\n pos_bonus = 20;\n\n tau_size = 150;\n\n miss_coeff = 0.75;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n return Math.ceil(score);\n };\n\n exports.isMatch = isMatch = function(subject, query_lw, query_up) {\n var i, j, m, n, qj_lw, qj_up, si;\n m = subject.length;\n n = query_lw.length;\n if (!m || n > m) {\n return false;\n }\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw.charCodeAt(j);\n qj_up = query_up.charCodeAt(j);\n while (++i < m) {\n si = subject.charCodeAt(i);\n if (si === qj_lw || si === qj_up) {\n break;\n }\n }\n if (i === m) {\n return false;\n }\n }\n return true;\n };\n\n exports.computeScore = computeScore = function(subject, subject_lw, preparedQuery) {\n var acro, acro_score, align, csc_diag, csc_row, csc_score, csc_should_rebuild, i, j, m, miss_budget, miss_left, n, pos, query, query_lw, record_miss, score, score_diag, score_row, score_up, si_lw, start, sz;\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro = scoreAcronyms(subject, subject_lw, query, query_lw);\n acro_score = acro.score;\n if (acro.count === n) {\n return scoreExact(n, m, acro_score, acro.pos);\n }\n pos = subject_lw.indexOf(query_lw);\n if (pos > -1) {\n return scoreExactMatch(subject, subject_lw, query, query_lw, pos, n, m);\n }\n score_row = new Array(n);\n csc_row = new Array(n);\n sz = scoreSize(n, m);\n miss_budget = Math.ceil(miss_coeff * n) + 5;\n miss_left = miss_budget;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n si_lw = subject_lw[i];\n if (!si_lw.charCodeAt(0) in preparedQuery.charCodes) {\n if (csc_should_rebuild) {\n j = -1;\n while (++j < n) {\n csc_row[j] = 0;\n }\n csc_should_rebuild = false;\n }\n continue;\n }\n score = 0;\n score_diag = 0;\n csc_diag = 0;\n record_miss = true;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_up = score_row[j];\n if (score_up > score) {\n score = score_up;\n }\n csc_score = 0;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n if (align > score) {\n score = align;\n miss_left = miss_budget;\n } else {\n if (record_miss && --miss_left <= 0) {\n return Math.max(score, score_row[n - 1]) * sz;\n }\n record_miss = false;\n }\n }\n score_diag = score_up;\n csc_diag = csc_row[j];\n csc_row[j] = csc_score;\n score_row[j] = score;\n }\n }\n score = score_row[n - 1];\n return score * sz;\n };\n\n exports.isWordStart = isWordStart = function(pos, subject, subject_lw) {\n var curr_s, prev_s;\n if (pos === 0) {\n return true;\n }\n curr_s = subject[pos];\n prev_s = subject[pos - 1];\n return isSeparator(prev_s) || (curr_s !== subject_lw[pos] && prev_s === subject_lw[pos - 1]);\n };\n\n exports.isWordEnd = isWordEnd = function(pos, subject, subject_lw, len) {\n var curr_s, next_s;\n if (pos === len - 1) {\n return true;\n }\n curr_s = subject[pos];\n next_s = subject[pos + 1];\n return isSeparator(next_s) || (curr_s === subject_lw[pos] && next_s !== subject_lw[pos + 1]);\n };\n\n isSeparator = function(c) {\n return c === ' ' || c === '.' || c === '-' || c === '_' || c === '/' || c === '\\\\';\n };\n\n scorePosition = function(pos) {\n var sc;\n if (pos < pos_bonus) {\n sc = pos_bonus - pos;\n return 100 + sc * sc;\n } else {\n return Math.max(100 + pos_bonus - pos, 0);\n }\n };\n\n exports.scoreSize = scoreSize = function(n, m) {\n return tau_size / (tau_size + Math.abs(m - n));\n };\n\n scoreExact = function(n, m, quality, pos) {\n return 2 * n * (wm * quality + scorePosition(pos)) * scoreSize(n, m);\n };\n\n exports.scorePattern = scorePattern = function(count, len, sameCase, start, end) {\n var bonus, sz;\n sz = count;\n bonus = 6;\n if (sameCase === count) {\n bonus += 2;\n }\n if (start) {\n bonus += 3;\n }\n if (end) {\n bonus += 1;\n }\n if (count === len) {\n if (start) {\n if (sameCase === len) {\n sz += 2;\n } else {\n sz += 1;\n }\n }\n if (end) {\n bonus += 1;\n }\n }\n return sameCase + sz * (sz + bonus);\n };\n\n exports.scoreCharacter = scoreCharacter = function(i, j, start, acro_score, csc_score) {\n var posBonus;\n posBonus = scorePosition(i);\n if (start) {\n return posBonus + wm * ((acro_score > csc_score ? acro_score : csc_score) + 10);\n }\n return posBonus + wm * csc_score;\n };\n\n exports.scoreConsecutives = scoreConsecutives = function(subject, subject_lw, query, query_lw, i, j, startOfWord) {\n var k, m, mi, n, nj, sameCase, sz;\n m = subject.length;\n n = query.length;\n mi = m - i;\n nj = n - j;\n k = mi < nj ? mi : nj;\n sameCase = 0;\n sz = 0;\n if (query[j] === subject[i]) {\n sameCase++;\n }\n while (++sz < k && query_lw[++j] === subject_lw[++i]) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n }\n if (sz < k) {\n i--;\n }\n if (sz === 1) {\n return 1 + 2 * sameCase;\n }\n return scorePattern(sz, n, sameCase, startOfWord, isWordEnd(i, subject, subject_lw, m));\n };\n\n exports.scoreExactMatch = scoreExactMatch = function(subject, subject_lw, query, query_lw, pos, n, m) {\n var end, i, pos2, sameCase, start;\n start = isWordStart(pos, subject, subject_lw);\n if (!start) {\n pos2 = subject_lw.indexOf(query_lw, pos + 1);\n if (pos2 > -1) {\n start = isWordStart(pos2, subject, subject_lw);\n if (start) {\n pos = pos2;\n }\n }\n }\n i = -1;\n sameCase = 0;\n while (++i < n) {\n if (query[pos + i] === subject[i]) {\n sameCase++;\n }\n }\n end = isWordEnd(pos + n - 1, subject, subject_lw, m);\n return scoreExact(n, m, scorePattern(n, n, sameCase, start, end), pos);\n };\n\n AcronymResult = (function() {\n function AcronymResult(score, pos, count) {\n this.score = score;\n this.pos = pos;\n this.count = count;\n }\n\n return AcronymResult;\n\n })();\n\n emptyAcronymResult = new AcronymResult(0, 0.1, 0);\n\n exports.scoreAcronyms = scoreAcronyms = function(subject, subject_lw, query, query_lw) {\n var count, fullWord, i, j, m, n, qj_lw, sameCase, score, sepCount, sumPos;\n m = subject.length;\n n = query.length;\n if (!(m > 1 && n > 1)) {\n return emptyAcronymResult;\n }\n count = 0;\n sepCount = 0;\n sumPos = 0;\n sameCase = 0;\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw[j];\n if (isSeparator(qj_lw)) {\n i = subject_lw.indexOf(qj_lw, i + 1);\n if (i > -1) {\n sepCount++;\n continue;\n } else {\n break;\n }\n }\n while (++i < m) {\n if (qj_lw === subject_lw[i] && isWordStart(i, subject, subject_lw)) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n sumPos += i;\n count++;\n break;\n }\n }\n if (i === m) {\n break;\n }\n }\n if (count < 2) {\n return emptyAcronymResult;\n }\n fullWord = count === n ? isAcronymFullWord(subject, subject_lw, query, count) : false;\n score = scorePattern(count, n, sameCase, true, fullWord);\n return new AcronymResult(score, sumPos / count, count + sepCount);\n };\n\n isAcronymFullWord = function(subject, subject_lw, query, nbAcronymInQuery) {\n var count, i, m, n;\n m = subject.length;\n n = query.length;\n count = 0;\n if (m > 12 * n) {\n return false;\n }\n i = -1;\n while (++i < m) {\n if (isWordStart(i, subject, subject_lw) && ++count > nbAcronymInQuery) {\n return false;\n }\n }\n return true;\n };\n\n}).call(this);\n", "(function() {\n var computeScore, countDir, file_coeff, getExtension, getExtensionScore, isMatch, scorePath, scoreSize, tau_depth, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, computeScore = _ref.computeScore, scoreSize = _ref.scoreSize;\n\n tau_depth = 20;\n\n file_coeff = 2.5;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n score = scorePath(string, string_lw, score, options);\n return Math.ceil(score);\n };\n\n scorePath = function(subject, subject_lw, fullPathScore, options) {\n var alpha, basePathScore, basePos, depth, end, extAdjust, fileLength, pathSeparator, preparedQuery, useExtensionBonus;\n if (fullPathScore === 0) {\n return 0;\n }\n preparedQuery = options.preparedQuery, useExtensionBonus = options.useExtensionBonus, pathSeparator = options.pathSeparator;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n fileLength = end - basePos;\n extAdjust = 1.0;\n if (useExtensionBonus) {\n extAdjust += getExtensionScore(subject_lw, preparedQuery.ext, basePos, end, 2);\n fullPathScore *= extAdjust;\n }\n if (basePos === -1) {\n return fullPathScore;\n }\n depth = preparedQuery.depth;\n while (basePos > -1 && depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n }\n basePathScore = basePos === -1 ? fullPathScore : extAdjust * computeScore(subject.slice(basePos + 1, end + 1), subject_lw.slice(basePos + 1, end + 1), preparedQuery);\n alpha = 0.5 * tau_depth / (tau_depth + countDir(subject, end + 1, pathSeparator));\n return alpha * basePathScore + (1 - alpha) * fullPathScore * scoreSize(0, file_coeff * fileLength);\n };\n\n exports.countDir = countDir = function(path, end, pathSeparator) {\n var count, i;\n if (end < 1) {\n return 0;\n }\n count = 0;\n i = -1;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n while (++i < end) {\n if (path[i] === pathSeparator) {\n count++;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n }\n }\n return count;\n };\n\n exports.getExtension = getExtension = function(str) {\n var pos;\n pos = str.lastIndexOf(\".\");\n if (pos < 0) {\n return \"\";\n } else {\n return str.substr(pos + 1);\n }\n };\n\n getExtensionScore = function(candidate, ext, startPos, endPos, maxDepth) {\n var m, matched, n, pos;\n if (!ext.length) {\n return 0;\n }\n pos = candidate.lastIndexOf(\".\", endPos);\n if (!(pos > startPos)) {\n return 0;\n }\n n = ext.length;\n m = endPos - pos;\n if (m < n) {\n n = m;\n m = ext.length;\n }\n pos++;\n matched = -1;\n while (++matched < n) {\n if (candidate[pos + matched] !== ext[matched]) {\n break;\n }\n }\n if (matched === 0 && maxDepth > 0) {\n return 0.9 * getExtensionScore(candidate, ext, startPos, pos - 2, maxDepth - 1);\n }\n return matched / m;\n };\n\n}).call(this);\n", "(function() {\n var Query, coreChars, countDir, getCharCodes, getExtension, opt_char_re, truncatedUpperCase, _ref;\n\n _ref = require(\"./pathScorer\"), countDir = _ref.countDir, getExtension = _ref.getExtension;\n\n module.exports = Query = (function() {\n function Query(query, _arg) {\n var optCharRegEx, pathSeparator, _ref1;\n _ref1 = _arg != null ? _arg : {}, optCharRegEx = _ref1.optCharRegEx, pathSeparator = _ref1.pathSeparator;\n if (!(query && query.length)) {\n return null;\n }\n this.query = query;\n this.query_lw = query.toLowerCase();\n this.core = coreChars(query, optCharRegEx);\n this.core_lw = this.core.toLowerCase();\n this.core_up = truncatedUpperCase(this.core);\n this.depth = countDir(query, query.length, pathSeparator);\n this.ext = getExtension(this.query_lw);\n this.charCodes = getCharCodes(this.query_lw);\n }\n\n return Query;\n\n })();\n\n opt_char_re = /[ _\\-:\\/\\\\]/g;\n\n coreChars = function(query, optCharRegEx) {\n if (optCharRegEx == null) {\n optCharRegEx = opt_char_re;\n }\n return query.replace(optCharRegEx, '');\n };\n\n truncatedUpperCase = function(str) {\n var char, upper, _i, _len;\n upper = \"\";\n for (_i = 0, _len = str.length; _i < _len; _i++) {\n char = str[_i];\n upper += char.toUpperCase()[0];\n }\n return upper;\n };\n\n getCharCodes = function(str) {\n var charCodes, i, len;\n len = str.length;\n i = -1;\n charCodes = [];\n while (++i < len) {\n charCodes[str.charCodeAt(i)] = true;\n }\n return charCodes;\n };\n\n}).call(this);\n", "(function() {\n var Query, pathScorer, pluckCandidates, scorer, sortCandidates;\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n pluckCandidates = function(a) {\n return a.candidate;\n };\n\n sortCandidates = function(a, b) {\n return b.score - a.score;\n };\n\n module.exports = function(candidates, query, options) {\n var bKey, candidate, key, maxInners, maxResults, score, scoreProvider, scoredCandidates, spotLeft, string, usePathScoring, _i, _len;\n scoredCandidates = [];\n key = options.key, maxResults = options.maxResults, maxInners = options.maxInners, usePathScoring = options.usePathScoring;\n spotLeft = (maxInners != null) && maxInners > 0 ? maxInners : candidates.length + 1;\n bKey = key != null;\n scoreProvider = usePathScoring ? pathScorer : scorer;\n for (_i = 0, _len = candidates.length; _i < _len; _i++) {\n candidate = candidates[_i];\n string = bKey ? candidate[key] : candidate;\n if (!string) {\n continue;\n }\n score = scoreProvider.score(string, query, options);\n if (score > 0) {\n scoredCandidates.push({\n candidate: candidate,\n score: score\n });\n if (!--spotLeft) {\n break;\n }\n }\n }\n scoredCandidates.sort(sortCandidates);\n candidates = scoredCandidates.map(pluckCandidates);\n if (maxResults != null) {\n candidates = candidates.slice(0, maxResults);\n }\n return candidates;\n };\n\n}).call(this);\n", "(function() {\n var basenameMatch, computeMatch, isMatch, isWordStart, match, mergeMatches, scoreAcronyms, scoreCharacter, scoreConsecutives, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, isWordStart = _ref.isWordStart, scoreConsecutives = _ref.scoreConsecutives, scoreCharacter = _ref.scoreCharacter, scoreAcronyms = _ref.scoreAcronyms;\n\n exports.match = match = function(string, query, options) {\n var allowErrors, baseMatches, matches, pathSeparator, preparedQuery, string_lw;\n allowErrors = options.allowErrors, preparedQuery = options.preparedQuery, pathSeparator = options.pathSeparator;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return [];\n }\n string_lw = string.toLowerCase();\n matches = computeMatch(string, string_lw, preparedQuery);\n if (matches.length === 0) {\n return matches;\n }\n if (string.indexOf(pathSeparator) > -1) {\n baseMatches = basenameMatch(string, string_lw, preparedQuery, pathSeparator);\n matches = mergeMatches(matches, baseMatches);\n }\n return matches;\n };\n\n exports.wrap = function(string, query, options) {\n var matchIndex, matchPos, matchPositions, output, strPos, tagClass, tagClose, tagOpen, _ref1;\n if ((options.wrap != null)) {\n _ref1 = options.wrap, tagClass = _ref1.tagClass, tagOpen = _ref1.tagOpen, tagClose = _ref1.tagClose;\n }\n if (tagClass == null) {\n tagClass = 'highlight';\n }\n if (tagOpen == null) {\n tagOpen = '';\n }\n if (tagClose == null) {\n tagClose = '';\n }\n if (string === query) {\n return tagOpen + string + tagClose;\n }\n matchPositions = match(string, query, options);\n if (matchPositions.length === 0) {\n return string;\n }\n output = '';\n matchIndex = -1;\n strPos = 0;\n while (++matchIndex < matchPositions.length) {\n matchPos = matchPositions[matchIndex];\n if (matchPos > strPos) {\n output += string.substring(strPos, matchPos);\n strPos = matchPos;\n }\n while (++matchIndex < matchPositions.length) {\n if (matchPositions[matchIndex] === matchPos + 1) {\n matchPos++;\n } else {\n matchIndex--;\n break;\n }\n }\n matchPos++;\n if (matchPos > strPos) {\n output += tagOpen;\n output += string.substring(strPos, matchPos);\n output += tagClose;\n strPos = matchPos;\n }\n }\n if (strPos <= string.length - 1) {\n output += string.substring(strPos);\n }\n return output;\n };\n\n basenameMatch = function(subject, subject_lw, preparedQuery, pathSeparator) {\n var basePos, depth, end;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n if (basePos === -1) {\n return [];\n }\n depth = preparedQuery.depth;\n while (depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n if (basePos === -1) {\n return [];\n }\n }\n basePos++;\n end++;\n return computeMatch(subject.slice(basePos, end), subject_lw.slice(basePos, end), preparedQuery, basePos);\n };\n\n mergeMatches = function(a, b) {\n var ai, bj, i, j, m, n, out;\n m = a.length;\n n = b.length;\n if (n === 0) {\n return a.slice();\n }\n if (m === 0) {\n return b.slice();\n }\n i = -1;\n j = 0;\n bj = b[j];\n out = [];\n while (++i < m) {\n ai = a[i];\n while (bj <= ai && ++j < n) {\n if (bj < ai) {\n out.push(bj);\n }\n bj = b[j];\n }\n out.push(ai);\n }\n while (j < n) {\n out.push(b[j++]);\n }\n return out;\n };\n\n computeMatch = function(subject, subject_lw, preparedQuery, offset) {\n var DIAGONAL, LEFT, STOP, UP, acro_score, align, backtrack, csc_diag, csc_row, csc_score, i, j, m, matches, move, n, pos, query, query_lw, score, score_diag, score_row, score_up, si_lw, start, trace;\n if (offset == null) {\n offset = 0;\n }\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro_score = scoreAcronyms(subject, subject_lw, query, query_lw).score;\n score_row = new Array(n);\n csc_row = new Array(n);\n STOP = 0;\n UP = 1;\n LEFT = 2;\n DIAGONAL = 3;\n trace = new Array(m * n);\n pos = -1;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n score = 0;\n score_up = 0;\n csc_diag = 0;\n si_lw = subject_lw[i];\n j = -1;\n while (++j < n) {\n csc_score = 0;\n align = 0;\n score_diag = score_up;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n }\n score_up = score_row[j];\n csc_diag = csc_row[j];\n if (score > score_up) {\n move = LEFT;\n } else {\n score = score_up;\n move = UP;\n }\n if (align > score) {\n score = align;\n move = DIAGONAL;\n } else {\n csc_score = 0;\n }\n score_row[j] = score;\n csc_row[j] = csc_score;\n trace[++pos] = score > 0 ? move : STOP;\n }\n }\n i = m - 1;\n j = n - 1;\n pos = i * n + j;\n backtrack = true;\n matches = [];\n while (backtrack && i >= 0 && j >= 0) {\n switch (trace[pos]) {\n case UP:\n i--;\n pos -= n;\n break;\n case LEFT:\n j--;\n pos--;\n break;\n case DIAGONAL:\n matches.push(i + offset);\n j--;\n i--;\n pos -= n + 1;\n break;\n default:\n backtrack = false;\n }\n }\n matches.reverse();\n return matches;\n };\n\n}).call(this);\n", "(function() {\n var Query, defaultPathSeparator, filter, matcher, parseOptions, pathScorer, preparedQueryCache, scorer;\n\n filter = require('./filter');\n\n matcher = require('./matcher');\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n preparedQueryCache = null;\n\n defaultPathSeparator = (typeof process !== \"undefined\" && process !== null ? process.platform : void 0) === \"win32\" ? '\\\\' : '/';\n\n module.exports = {\n filter: function(candidates, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((query != null ? query.length : void 0) && (candidates != null ? candidates.length : void 0))) {\n return [];\n }\n options = parseOptions(options, query);\n return filter(candidates, query, options);\n },\n score: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((string != null ? string.length : void 0) && (query != null ? query.length : void 0))) {\n return 0;\n }\n options = parseOptions(options, query);\n if (options.usePathScoring) {\n return pathScorer.score(string, query, options);\n } else {\n return scorer.score(string, query, options);\n }\n },\n match: function(string, query, options) {\n var _i, _ref, _results;\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n if (string === query) {\n return (function() {\n _results = [];\n for (var _i = 0, _ref = string.length; 0 <= _ref ? _i < _ref : _i > _ref; 0 <= _ref ? _i++ : _i--){ _results.push(_i); }\n return _results;\n }).apply(this);\n }\n options = parseOptions(options, query);\n return matcher.match(string, query, options);\n },\n wrap: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n options = parseOptions(options, query);\n return matcher.wrap(string, query, options);\n },\n prepareQuery: function(query, options) {\n if (options == null) {\n options = {};\n }\n options = parseOptions(options, query);\n return options.preparedQuery;\n }\n };\n\n parseOptions = function(options, query) {\n if (options.allowErrors == null) {\n options.allowErrors = false;\n }\n if (options.usePathScoring == null) {\n options.usePathScoring = true;\n }\n if (options.useExtensionBonus == null) {\n options.useExtensionBonus = false;\n }\n if (options.pathSeparator == null) {\n options.pathSeparator = defaultPathSeparator;\n }\n if (options.optCharRegEx == null) {\n options.optCharRegEx = null;\n }\n if (options.wrap == null) {\n options.wrap = null;\n }\n if (options.preparedQuery == null) {\n options.preparedQuery = preparedQueryCache && preparedQueryCache.query === query ? preparedQueryCache : (preparedQueryCache = new Query(query, options));\n }\n return options;\n };\n\n}).call(this);\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve an element matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element or nothing\n */\nexport function getElement(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElement(\n selector: string, node?: ParentNode\n): T | undefined\n\nexport function getElement(\n selector: string, node: ParentNode = document\n): T | undefined {\n return node.querySelector(selector) || undefined\n}\n\n/**\n * Retrieve an element matching a query selector or throw a reference error\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getElementOrThrow(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElementOrThrow(\n selector: string, node?: ParentNode\n): T\n\nexport function getElementOrThrow(\n selector: string, node: ParentNode = document\n): T {\n const el = getElement(selector, node)\n if (typeof el === \"undefined\")\n throw new ReferenceError(\n `Missing element: expected \"${selector}\" to be present`\n )\n return el\n}\n\n/**\n * Retrieve the currently active element\n *\n * @returns Element or nothing\n */\nexport function getActiveElement(): HTMLElement | undefined {\n return document.activeElement instanceof HTMLElement\n ? document.activeElement\n : undefined\n}\n\n/**\n * Retrieve all elements matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getElements(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T][]\n\nexport function getElements(\n selector: string, node?: ParentNode\n): T[]\n\nexport function getElements(\n selector: string, node: ParentNode = document\n): T[] {\n return Array.from(node.querySelectorAll(selector))\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Create an element\n *\n * @template T - Tag name type\n *\n * @param tagName - Tag name\n *\n * @returns Element\n */\nexport function createElement(\n tagName: T\n): HTMLElementTagNameMap[T] {\n return document.createElement(tagName)\n}\n\n/**\n * Replace an element with another element\n *\n * @param source - Source element\n * @param target - Target element\n */\nexport function replaceElement(\n source: HTMLElement, target: Node\n): void {\n source.replaceWith(target)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element focus\n *\n * @param el - Element\n * @param value - Whether the element should be focused\n */\nexport function setElementFocus(\n el: HTMLElement, value = true\n): void {\n if (value)\n el.focus()\n else\n el.blur()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element focus\n *\n * @param el - Element\n *\n * @returns Element focus observable\n */\nexport function watchElementFocus(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"focus\"),\n fromEvent(el, \"blur\")\n )\n .pipe(\n map(({ type }) => type === \"focus\"),\n startWith(el === getActiveElement())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n defer,\n of\n} from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n shareReplay,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementSize {\n width: number /* Element width */\n height: number /* Element height */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Resize observer entry subject\n */\nconst entry$ = new Subject()\n\n/**\n * Resize observer observable\n *\n * This observable will create a `ResizeObserver` on the first subscription\n * and will automatically terminate it when there are no more subscribers.\n * It's quite important to centralize observation in a single `ResizeObserver`,\n * as the performance difference can be quite dramatic, as the link shows.\n *\n * @see https://bit.ly/3iIYfEm - Google Groups on performance\n */\nconst observer$ = defer(() => of(\n new ResizeObserver(entries => {\n for (const entry of entries)\n entry$.next(entry)\n })\n))\n .pipe(\n switchMap(resize => NEVER.pipe(startWith(resize))\n .pipe(\n finalize(() => resize.disconnect())\n )\n ),\n shareReplay(1)\n )\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element size\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementSize(el: HTMLElement): ElementSize {\n return {\n width: el.offsetWidth,\n height: el.offsetHeight\n }\n}\n\n/**\n * Retrieve element content size, i.e. including overflowing content\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementContentSize(el: HTMLElement): ElementSize {\n return {\n width: el.scrollWidth,\n height: el.scrollHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element size\n *\n * This function returns an observable that subscribes to a single internal\n * instance of `ResizeObserver` upon subscription, and emit resize events until\n * termination. Note that this function should not be called with the same\n * element twice, as the first unsubscription will terminate observation.\n *\n * @param el - Element\n *\n * @returns Element size observable\n */\nexport function watchElementSize(\n el: HTMLElement\n): Observable {\n return observer$\n .pipe(\n tap(observer => observer.observe(el)),\n switchMap(observer => entry$\n .pipe(\n filter(({ target }) => target === el),\n finalize(() => observer.unobserve(el)),\n map(({ contentRect }) => ({\n width: contentRect.width,\n height: contentRect.height\n }))\n )\n ),\n startWith(getElementSize(el))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { distinctUntilChanged, map, startWith } from \"rxjs/operators\"\n\nimport { getElementContentSize, getElementSize } from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element offset\n *\n * @param el - Element\n *\n * @returns Element offset\n */\nexport function getElementOffset(el: HTMLElement): ElementOffset {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element offset\n *\n * @param el - Element\n *\n * @returns Element offset observable\n */\nexport function watchElementOffset(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"scroll\"),\n fromEvent(window, \"resize\")\n )\n .pipe(\n map(() => getElementOffset(el)),\n startWith(getElementOffset(el))\n )\n}\n\n/**\n * Watch element threshold\n *\n * This function returns an observable which emits whether the bottom scroll\n * offset of an elements is within a certain threshold.\n *\n * @param el - Element\n * @param threshold - Threshold\n *\n * @returns Element threshold observable\n */\nexport function watchElementThreshold(\n el: HTMLElement, threshold = 16\n): Observable {\n return watchElementOffset(el)\n .pipe(\n map(({ y }) => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return y >= (\n content.height - visible.height - threshold\n )\n }),\n distinctUntilChanged()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getElementOrThrow } from \"../element\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle\n */\nexport type Toggle =\n | \"drawer\" /* Toggle for drawer */\n | \"search\" /* Toggle for search */\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle map\n */\nconst toggles: Record = {\n drawer: getElementOrThrow(\"[data-md-toggle=drawer]\"),\n search: getElementOrThrow(\"[data-md-toggle=search]\")\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the value of a toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value\n */\nexport function getToggle(name: Toggle): boolean {\n return toggles[name].checked\n}\n\n/**\n * Set toggle\n *\n * Simulating a click event seems to be the most cross-browser compatible way\n * of changing the value while also emitting a `change` event. Before, Material\n * used `CustomEvent` to programmatically change the value of a toggle, but this\n * is a much simpler and cleaner solution which doesn't require a polyfill.\n *\n * @param name - Toggle\n * @param value - Toggle value\n */\nexport function setToggle(name: Toggle, value: boolean): void {\n if (toggles[name].checked !== value)\n toggles[name].click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value observable\n */\nexport function watchToggle(name: Toggle): Observable {\n const el = toggles[name]\n return fromEvent(el, \"change\")\n .pipe(\n map(() => el.checked),\n startWith(el.checked)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { BehaviorSubject, Subject } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location\n *\n * This function will return a `URL` object (and not `Location`) in order to\n * normalize typings across the application. Furthermore, locations need to be\n * tracked without setting them and `Location` is a singleton which represents\n * the current location.\n *\n * @returns URL\n */\nexport function getLocation(): URL {\n return new URL(location.href)\n}\n\n/**\n * Set location\n *\n * @param url - URL to change to\n */\nexport function setLocation(url: URL): void {\n location.href = url.href\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location\n *\n * @returns Location subject\n */\nexport function watchLocation(): Subject {\n return new BehaviorSubject(getLocation())\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, from } from \"rxjs\"\nimport {\n filter,\n map,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Response observable\n */\nexport function request(\n url: string, options: RequestInit = { credentials: \"same-origin\" }\n): Observable {\n return from(fetch(url, options))\n .pipe(\n filter(res => res.status === 200),\n )\n}\n\n/**\n * Fetch JSON from the given URL\n *\n * @template T - Data type\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestJSON(\n url: string, options?: RequestInit\n): Observable {\n return request(url, options)\n .pipe(\n switchMap(res => res.json()),\n shareReplay(1)\n )\n}\n\n/**\n * Fetch XML from the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestXML(\n url: string, options?: RequestInit\n): Observable {\n const dom = new DOMParser()\n return request(url, options)\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/xml\")),\n shareReplay(1)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Component\n */\nexport type ComponentType =\n | \"icon-search\" /* Icon search */\n | \"icon-search-query\" /* Icon search input */\n | \"icon-search-result\" /* Icon search results */\n\n/**\n * A component\n *\n * @template T - Component type\n * @template U - Reference type\n */\nexport type Component<\n T extends {} = {},\n U extends HTMLElement = HTMLElement\n> =\n T & {\n ref: U /* Component reference */\n }\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the element for a given component or throw a reference error\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getComponentElement(\n type: ComponentType, node: ParentNode = document\n): T {\n return getElementOrThrow(`[data-mdx-component=${type}]`, node)\n}\n\n/**\n * Retrieve all elements for a given component\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getComponentElements(\n type: ComponentType, node: ParentNode = document\n): T[] {\n return getElements(`[data-mdx-component=${type}]`, node)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getLocation } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Feature flag\n */\nexport type Flag =\n | \"header.autohide\" /* Hide header */\n | \"navigation.expand\" /* Automatic expansion */\n | \"navigation.instant\" /* Instant loading */\n | \"navigation.sections\" /* Sections navigation */\n | \"navigation.tabs\" /* Tabs navigation */\n | \"toc.integrate\" /* Integrated table of contents */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Translation\n */\nexport type Translation =\n | \"clipboard.copy\" /* Copy to clipboard */\n | \"clipboard.copied\" /* Copied to clipboard */\n | \"search.config.lang\" /* Search language */\n | \"search.config.pipeline\" /* Search pipeline */\n | \"search.config.separator\" /* Search separator */\n | \"search.placeholder\" /* Search */\n | \"search.result.placeholder\" /* Type to start searching */\n | \"search.result.none\" /* No matching documents */\n | \"search.result.one\" /* 1 matching document */\n | \"search.result.other\" /* # matching documents */\n | \"search.result.more.one\" /* 1 more on this page */\n | \"search.result.more.other\" /* # more on this page */\n | \"search.result.term.missing\" /* Missing */\n\n/**\n * Translations\n */\nexport type Translations = Record\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Configuration\n */\nexport interface Config {\n base: string /* Base URL */\n features: Flag[] /* Feature flags */\n translations: Translations /* Translations */\n search: string /* Search worker URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration and make base URL absolute\n */\nconst script = getElementOrThrow(\"#__config\")\nconst config: Config = JSON.parse(script.textContent!)\nconfig.base = new URL(config.base, getLocation())\n .toString()\n .replace(/\\/$/, \"\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration\n *\n * @returns Global configuration\n */\nexport function configuration(): Config {\n return config\n}\n\n/**\n * Check whether a feature flag is enabled\n *\n * @param flag - Feature flag\n *\n * @returns Test result\n */\nexport function feature(flag: Flag): boolean {\n return config.features.includes(flag)\n}\n\n/**\n * Retrieve the translation for the given key\n *\n * @param key - Key to be translated\n * @param value - Value to be replaced\n *\n * @returns Translation\n */\nexport function translation(\n key: Translation, value?: string | number\n): string {\n return typeof value !== \"undefined\"\n ? config.translations[key].replace(\"#\", value.toString())\n : config.translations[key]\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, combineLatest, fromEvent, merge } from \"rxjs\"\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport { watchElementFocus } from \"~/browser\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon search query\n */\nexport interface IconSearchQuery {\n value: string /* Query value */\n focus: boolean /* Query focus */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount icon search query\n *\n * @param el - Icon search query element\n *\n * @returns Icon search query component observable\n */\nexport function mountIconSearchQuery(\n el: HTMLInputElement\n): Observable> {\n\n /* Intercept focus and input events */\n const focus$ = watchElementFocus(el)\n const value$ = merge(\n fromEvent(el, \"keyup\"),\n fromEvent(el, \"focus\").pipe(delay(1))\n )\n .pipe(\n map(() => el.value),\n startWith(el.value),\n distinctUntilChanged()\n )\n\n /* Log search on blur */\n focus$\n .pipe(\n filter(active => !active),\n withLatestFrom(value$)\n )\n .subscribe(([, value]) => {\n const path = document.location.pathname\n ga(\"send\", \"pageview\", `${path}?q=[icon]+${value}`)\n })\n\n /* Combine into single observable */\n return combineLatest([value$, focus$])\n .pipe(\n map(([value, focus]) => ({ ref: el, value, focus })),\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { filter as search } from \"fuzzaldrin-plus\"\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n distinctUntilKeyChanged,\n filter,\n finalize,\n map,\n observeOn,\n switchMap,\n tap,\n withLatestFrom,\n zipWith\n} from \"rxjs/operators\"\n\nimport {\n addToSearchResultList,\n resetSearchResultList,\n resetSearchResultMeta,\n setSearchResultMeta\n} from \"~/actions\"\nimport {\n getElementOrThrow,\n watchElementThreshold\n} from \"~/browser\"\n\nimport { Icon, renderIconSearchResult } from \"../../../templates\"\nimport { Component } from \"../../_\"\nimport { IconSearchIndex } from \"../_\"\nimport { IconSearchQuery } from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon search result\n */\nexport interface IconSearchResult {\n data: Icon[] /* Search result data */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n index$: Observable /* Search index observable */\n query$: Observable /* Search query observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n index$: Observable /* Search index observable */\n query$: Observable /* Search query observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch icon search result\n *\n * @param _el - Icon search result element\n * @param options - Options\n *\n * @returns Icon search result observable\n */\nexport function watchIconSearchResult(\n _el: HTMLElement, { index$, query$ }: WatchOptions\n): Observable {\n return combineLatest([\n query$.pipe(distinctUntilKeyChanged(\"value\")),\n index$\n .pipe(\n map(({ icons, emojis }) => [\n ...Object.keys(icons.data),\n ...Object.keys(emojis.data)\n ])\n )\n ])\n .pipe(\n map(([{ value }, data]) => search(data, value)),\n switchMap(shortcodes => index$.pipe(\n map(({ icons, emojis }) => ({\n data: shortcodes.map(shortcode => {\n const category =\n shortcode in icons.data\n ? icons\n : emojis\n return {\n shortcode,\n url: [\n category.base,\n category.data[shortcode]\n ].join(\"\")\n }\n })\n }))\n ))\n )\n}\n\n/**\n * Mount icon search result\n *\n * @param el - Icon search result element\n * @param options - Options\n *\n * @returns Icon search result component observable\n */\nexport function mountIconSearchResult(\n el: HTMLElement, { index$, query$ }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n const boundary$ = watchElementThreshold(el)\n .pipe(\n filter(Boolean)\n )\n\n /* Update search result metadata */\n const meta = getElementOrThrow(\":scope > :first-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(query$)\n )\n .subscribe(([{ data }, { value }]) => {\n if (value)\n setSearchResultMeta(meta, data.length)\n else\n resetSearchResultMeta(meta)\n })\n\n /* Update icon search result list */\n const list = getElementOrThrow(\":scope > :last-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n tap(() => resetSearchResultList(list)),\n switchMap(({ data }) => merge(\n of(...data.slice(0, 10)),\n of(...data.slice(10))\n .pipe(\n bufferCount(10),\n zipWith(boundary$),\n switchMap(([chunk]) => of(...chunk))\n )\n )),\n withLatestFrom(query$)\n )\n .subscribe(([result, { value }]) => {\n addToSearchResultList(list, renderIconSearchResult(result, value))\n })\n\n /* Create and return component */\n return watchIconSearchResult(el, { query$, index$ })\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { JSX as JSXInternal } from \"preact\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * HTML attributes\n */\ntype Attributes =\n & JSXInternal.HTMLAttributes\n & JSXInternal.SVGAttributes\n & Record\n\n/**\n * Child element\n */\ntype Child =\n | HTMLElement\n | Text\n | string\n | number\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Append a child node to an element\n *\n * @param el - Element\n * @param child - Child node(s)\n */\nfunction appendChild(el: HTMLElement, child: Child | Child[]): void {\n\n /* Handle primitive types (including raw HTML) */\n if (typeof child === \"string\" || typeof child === \"number\") {\n el.innerHTML += child.toString()\n\n /* Handle nodes */\n } else if (child instanceof Node) {\n el.appendChild(child)\n\n /* Handle nested children */\n } else if (Array.isArray(child)) {\n for (const node of child)\n appendChild(el, node)\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * JSX factory\n *\n * @param tag - HTML tag\n * @param attributes - HTML attributes\n * @param children - Child elements\n *\n * @returns Element\n */\nexport function h(\n tag: string, attributes: Attributes | null, ...children: Child[]\n): HTMLElement {\n const el = document.createElement(tag)\n\n /* Set attributes, if any */\n if (attributes)\n for (const attr of Object.keys(attributes))\n if (typeof attributes[attr] !== \"boolean\")\n el.setAttribute(attr, attributes[attr])\n else if (attributes[attr])\n el.setAttribute(attr, \"\")\n\n /* Append child nodes */\n for (const child of children)\n appendChild(el, child)\n\n /* Return element */\n return el\n}\n\n/* ----------------------------------------------------------------------------\n * Namespace\n * ------------------------------------------------------------------------- */\n\nexport declare namespace h {\n namespace JSX {\n type Element = HTMLElement\n type IntrinsicElements = JSXInternal.IntrinsicElements\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Truncate a string after the given number of characters\n *\n * This is not a very reasonable approach, since the summaries kind of suck.\n * It would be better to create something more intelligent, highlighting the\n * search occurrences and making a better summary out of it, but this note was\n * written three years ago, so who knows if we'll ever fix it.\n *\n * @param value - Value to be truncated\n * @param n - Number of characters\n *\n * @returns Truncated value\n */\nexport function truncate(value: string, n: number): string {\n let i = n\n if (value.length > i) {\n while (value[i] !== \" \" && --i > 0) { /* keep eating */ }\n return `${value.substring(0, i)}...`\n }\n return value\n}\n\n/**\n * Round a number for display with repository facts\n *\n * This is a reverse-engineered version of GitHub's weird rounding algorithm\n * for stars, forks and all other numbers. While all numbers below `1,000` are\n * returned as-is, bigger numbers are converted to fixed numbers:\n *\n * - `1,049` => `1k`\n * - `1,050` => `1.1k`\n * - `1,949` => `1.9k`\n * - `1,950` => `2k`\n *\n * @param value - Original value\n *\n * @returns Rounded value\n */\nexport function round(value: number): string {\n if (value > 999) {\n const digits = +((value - 950) % 1000 > 99)\n return `${((value + 0.000001) / 1000).toFixed(digits)}k`\n } else {\n return value.toString()\n }\n}\n\n/**\n * Simple hash function\n *\n * @see https://bit.ly/2wsVjJ4 - Original source\n *\n * @param value - Value to be hashed\n *\n * @returns Hash as 32bit integer\n */\nexport function hash(value: string): number {\n let h = 0\n for (let i = 0, len = value.length; i < len; i++) {\n h = ((h << 5) - h) + value.charCodeAt(i)\n h |= 0 // Convert to 32bit integer\n }\n return h\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { round } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set number of search results\n *\n * @param el - Search result metadata element\n * @param value - Number of results\n */\nexport function setSearchResultMeta(\n el: HTMLElement, value: number\n): void {\n switch (value) {\n\n /* No results */\n case 0:\n el.textContent = translation(\"search.result.none\")\n break\n\n /* One result */\n case 1:\n el.textContent = translation(\"search.result.one\")\n break\n\n /* Multiple result */\n default:\n el.textContent = translation(\"search.result.other\", round(value))\n }\n}\n\n/**\n * Reset number of search results\n *\n * @param el - Search result metadata element\n */\nexport function resetSearchResultMeta(\n el: HTMLElement\n): void {\n el.textContent = translation(\"search.result.placeholder\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Add an element to the search result list\n *\n * @param el - Search result list element\n * @param child - Search result element\n */\nexport function addToSearchResultList(\n el: HTMLElement, child: Element\n): void {\n el.appendChild(child)\n}\n\n/**\n * Reset search result list\n *\n * @param el - Search result list element\n */\nexport function resetSearchResultList(\n el: HTMLElement\n): void {\n el.innerHTML = \"\"\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { wrap } from \"fuzzaldrin-plus\"\n\nimport { translation } from \"~/_\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon\n */\nexport interface Icon {\n shortcode: string /* Icon shortcode */\n url: string /* Icon URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Highlight an icon search result\n *\n * @param icon - Icon\n * @param query - Search query\n *\n * @returns Highlighted result\n */\nfunction highlight(icon: Icon, query: string) {\n return wrap(icon.shortcode, query, {\n wrap: {\n tagOpen: \"\",\n tagClose: \"\"\n }\n })\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render an icon search result\n *\n * @param icon - Icon\n * @param query - Search query\n *\n * @returns Element\n */\nexport function renderIconSearchResult(\n icon: Icon, query: string\n): HTMLElement {\n return (\n
  • \n \n \n \n \n {`:${highlight(icon, query)}:`}\n \n
  • \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, merge } from \"rxjs\"\n\nimport { configuration } from \"~/_\"\nimport { requestJSON } from \"~/browser\"\n\nimport { Component, getComponentElement } from \"../../_\"\nimport {\n IconSearchQuery,\n mountIconSearchQuery\n} from \"../query\"\nimport {\n IconSearchResult,\n mountIconSearchResult\n} from \"../result\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon category\n */\nexport interface IconCategory {\n base: string /* Category base URL */\n data: Record /* Category data */\n}\n\n/**\n * Icon search index\n */\nexport interface IconSearchIndex {\n icons: IconCategory /* Icons */\n emojis: IconCategory /* Emojis */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Icon search\n */\nexport type IconSearch =\n | IconSearchQuery\n | IconSearchResult\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount icon search\n *\n * @param el - Icon search element\n *\n * @returns Icon search component observable\n */\nexport function mountIconSearch(\n el: HTMLElement\n): Observable> {\n const config = configuration()\n const index$ = requestJSON(\n `${config.base}/overrides/assets/javascripts/icon_search_index.json`\n )\n\n /* Retrieve nested components */\n const query = getComponentElement(\"icon-search-query\", el)\n const result = getComponentElement(\"icon-search-result\", el)\n\n /* Create and return component */\n const query$ = mountIconSearchQuery(query as HTMLInputElement)\n return merge(\n query$,\n mountIconSearchResult(result, { index$, query$ })\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { fromEvent } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up extra analytics events\n */\nexport function setupAnalytics(): void {\n fromEvent(document.body, \"click\")\n .subscribe(ev => {\n if (ev.target instanceof HTMLElement) {\n const el = ev.target.closest(\"a[href^=http]\")\n if (el instanceof HTMLLinkElement)\n ga(\"send\", \"event\", \"outbound\", \"click\", el.href)\n }\n })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { merge } from \"rxjs\"\nimport { switchMap } from \"rxjs/operators\"\n\nimport {\n getComponentElements,\n mountIconSearch\n} from \"./components\"\nimport { setupAnalytics } from \"./integrations\"\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Set up extra analytics events */\nsetupAnalytics()\n\n/* Set up extra component observables */\nwindow.document$\n .pipe(\n switchMap(() => merge(\n\n /* Icon search */\n ...getComponentElements(\"icon-search\")\n .map(el => mountIconSearch(el))\n ))\n )\n .subscribe()\n"], + "mappings": "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", + "names": [] +} diff --git a/material/overrides/assets/javascripts/icon_search_index.json b/material/overrides/assets/javascripts/icon_search_index.json deleted file mode 100644 index f87536d26..000000000 --- a/material/overrides/assets/javascripts/icon_search_index.json +++ /dev/null @@ -1 +0,0 @@ -{"icons":{"base":"https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/material/.icons/","data":{"fontawesome-brands-500px":"fontawesome/brands/500px.svg","fontawesome-brands-accessible-icon":"fontawesome/brands/accessible-icon.svg","fontawesome-brands-accusoft":"fontawesome/brands/accusoft.svg","fontawesome-brands-acquisitions-incorporated":"fontawesome/brands/acquisitions-incorporated.svg","fontawesome-brands-adn":"fontawesome/brands/adn.svg","fontawesome-brands-adversal":"fontawesome/brands/adversal.svg","fontawesome-brands-affiliatetheme":"fontawesome/brands/affiliatetheme.svg","fontawesome-brands-airbnb":"fontawesome/brands/airbnb.svg","fontawesome-brands-algolia":"fontawesome/brands/algolia.svg","fontawesome-brands-alipay":"fontawesome/brands/alipay.svg","fontawesome-brands-amazon-pay":"fontawesome/brands/amazon-pay.svg","fontawesome-brands-amazon":"fontawesome/brands/amazon.svg","fontawesome-brands-amilia":"fontawesome/brands/amilia.svg","fontawesome-brands-android":"fontawesome/brands/android.svg","fontawesome-brands-angellist":"fontawesome/brands/angellist.svg","fontawesome-brands-angrycreative":"fontawesome/brands/angrycreative.svg","fontawesome-brands-angular":"fontawesome/brands/angular.svg","fontawesome-brands-app-store-ios":"fontawesome/brands/app-store-ios.svg","fontawesome-brands-app-store":"fontawesome/brands/app-store.svg","fontawesome-brands-apper":"fontawesome/brands/apper.svg","fontawesome-brands-apple-pay":"fontawesome/brands/apple-pay.svg","fontawesome-brands-apple":"fontawesome/brands/apple.svg","fontawesome-brands-artstation":"fontawesome/brands/artstation.svg","fontawesome-brands-asymmetrik":"fontawesome/brands/asymmetrik.svg","fontawesome-brands-atlassian":"fontawesome/brands/atlassian.svg","fontawesome-brands-audible":"fontawesome/brands/audible.svg","fontawesome-brands-autoprefixer":"fontawesome/brands/autoprefixer.svg","fontawesome-brands-avianex":"fontawesome/brands/avianex.svg","fontawesome-brands-aviato":"fontawesome/brands/aviato.svg","fontawesome-brands-aws":"fontawesome/brands/aws.svg","fontawesome-brands-bandcamp":"fontawesome/brands/bandcamp.svg","fontawesome-brands-battle-net":"fontawesome/brands/battle-net.svg","fontawesome-brands-behance-square":"fontawesome/brands/behance-square.svg","fontawesome-brands-behance":"fontawesome/brands/behance.svg","fontawesome-brands-bimobject":"fontawesome/brands/bimobject.svg","fontawesome-brands-bitbucket":"fontawesome/brands/bitbucket.svg","fontawesome-brands-bitcoin":"fontawesome/brands/bitcoin.svg","fontawesome-brands-bity":"fontawesome/brands/bity.svg","fontawesome-brands-black-tie":"fontawesome/brands/black-tie.svg","fontawesome-brands-blackberry":"fontawesome/brands/blackberry.svg","fontawesome-brands-blogger-b":"fontawesome/brands/blogger-b.svg","fontawesome-brands-blogger":"fontawesome/brands/blogger.svg","fontawesome-brands-bluetooth-b":"fontawesome/brands/bluetooth-b.svg","fontawesome-brands-bluetooth":"fontawesome/brands/bluetooth.svg","fontawesome-brands-bootstrap":"fontawesome/brands/bootstrap.svg","fontawesome-brands-btc":"fontawesome/brands/btc.svg","fontawesome-brands-buffer":"fontawesome/brands/buffer.svg","fontawesome-brands-buromobelexperte":"fontawesome/brands/buromobelexperte.svg","fontawesome-brands-buy-n-large":"fontawesome/brands/buy-n-large.svg","fontawesome-brands-buysellads":"fontawesome/brands/buysellads.svg","fontawesome-brands-canadian-maple-leaf":"fontawesome/brands/canadian-maple-leaf.svg","fontawesome-brands-cc-amazon-pay":"fontawesome/brands/cc-amazon-pay.svg","fontawesome-brands-cc-amex":"fontawesome/brands/cc-amex.svg","fontawesome-brands-cc-apple-pay":"fontawesome/brands/cc-apple-pay.svg","fontawesome-brands-cc-diners-club":"fontawesome/brands/cc-diners-club.svg","fontawesome-brands-cc-discover":"fontawesome/brands/cc-discover.svg","fontawesome-brands-cc-jcb":"fontawesome/brands/cc-jcb.svg","fontawesome-brands-cc-mastercard":"fontawesome/brands/cc-mastercard.svg","fontawesome-brands-cc-paypal":"fontawesome/brands/cc-paypal.svg","fontawesome-brands-cc-stripe":"fontawesome/brands/cc-stripe.svg","fontawesome-brands-cc-visa":"fontawesome/brands/cc-visa.svg","fontawesome-brands-centercode":"fontawesome/brands/centercode.svg","fontawesome-brands-centos":"fontawesome/brands/centos.svg","fontawesome-brands-chrome":"fontawesome/brands/chrome.svg","fontawesome-brands-chromecast":"fontawesome/brands/chromecast.svg","fontawesome-brands-cloudflare":"fontawesome/brands/cloudflare.svg","fontawesome-brands-cloudscale":"fontawesome/brands/cloudscale.svg","fontawesome-brands-cloudsmith":"fontawesome/brands/cloudsmith.svg","fontawesome-brands-cloudversify":"fontawesome/brands/cloudversify.svg","fontawesome-brands-codepen":"fontawesome/brands/codepen.svg","fontawesome-brands-codiepie":"fontawesome/brands/codiepie.svg","fontawesome-brands-confluence":"fontawesome/brands/confluence.svg","fontawesome-brands-connectdevelop":"fontawesome/brands/connectdevelop.svg","fontawesome-brands-contao":"fontawesome/brands/contao.svg","fontawesome-brands-cotton-bureau":"fontawesome/brands/cotton-bureau.svg","fontawesome-brands-cpanel":"fontawesome/brands/cpanel.svg","fontawesome-brands-creative-commons-by":"fontawesome/brands/creative-commons-by.svg","fontawesome-brands-creative-commons-nc-eu":"fontawesome/brands/creative-commons-nc-eu.svg","fontawesome-brands-creative-commons-nc-jp":"fontawesome/brands/creative-commons-nc-jp.svg","fontawesome-brands-creative-commons-nc":"fontawesome/brands/creative-commons-nc.svg","fontawesome-brands-creative-commons-nd":"fontawesome/brands/creative-commons-nd.svg","fontawesome-brands-creative-commons-pd-alt":"fontawesome/brands/creative-commons-pd-alt.svg","fontawesome-brands-creative-commons-pd":"fontawesome/brands/creative-commons-pd.svg","fontawesome-brands-creative-commons-remix":"fontawesome/brands/creative-commons-remix.svg","fontawesome-brands-creative-commons-sa":"fontawesome/brands/creative-commons-sa.svg","fontawesome-brands-creative-commons-sampling-plus":"fontawesome/brands/creative-commons-sampling-plus.svg","fontawesome-brands-creative-commons-sampling":"fontawesome/brands/creative-commons-sampling.svg","fontawesome-brands-creative-commons-share":"fontawesome/brands/creative-commons-share.svg","fontawesome-brands-creative-commons-zero":"fontawesome/brands/creative-commons-zero.svg","fontawesome-brands-creative-commons":"fontawesome/brands/creative-commons.svg","fontawesome-brands-critical-role":"fontawesome/brands/critical-role.svg","fontawesome-brands-css3-alt":"fontawesome/brands/css3-alt.svg","fontawesome-brands-css3":"fontawesome/brands/css3.svg","fontawesome-brands-cuttlefish":"fontawesome/brands/cuttlefish.svg","fontawesome-brands-d-and-d-beyond":"fontawesome/brands/d-and-d-beyond.svg","fontawesome-brands-d-and-d":"fontawesome/brands/d-and-d.svg","fontawesome-brands-dailymotion":"fontawesome/brands/dailymotion.svg","fontawesome-brands-dashcube":"fontawesome/brands/dashcube.svg","fontawesome-brands-deezer":"fontawesome/brands/deezer.svg","fontawesome-brands-delicious":"fontawesome/brands/delicious.svg","fontawesome-brands-deploydog":"fontawesome/brands/deploydog.svg","fontawesome-brands-deskpro":"fontawesome/brands/deskpro.svg","fontawesome-brands-dev":"fontawesome/brands/dev.svg","fontawesome-brands-deviantart":"fontawesome/brands/deviantart.svg","fontawesome-brands-dhl":"fontawesome/brands/dhl.svg","fontawesome-brands-diaspora":"fontawesome/brands/diaspora.svg","fontawesome-brands-digg":"fontawesome/brands/digg.svg","fontawesome-brands-digital-ocean":"fontawesome/brands/digital-ocean.svg","fontawesome-brands-discord":"fontawesome/brands/discord.svg","fontawesome-brands-discourse":"fontawesome/brands/discourse.svg","fontawesome-brands-dochub":"fontawesome/brands/dochub.svg","fontawesome-brands-docker":"fontawesome/brands/docker.svg","fontawesome-brands-draft2digital":"fontawesome/brands/draft2digital.svg","fontawesome-brands-dribbble-square":"fontawesome/brands/dribbble-square.svg","fontawesome-brands-dribbble":"fontawesome/brands/dribbble.svg","fontawesome-brands-dropbox":"fontawesome/brands/dropbox.svg","fontawesome-brands-drupal":"fontawesome/brands/drupal.svg","fontawesome-brands-dyalog":"fontawesome/brands/dyalog.svg","fontawesome-brands-earlybirds":"fontawesome/brands/earlybirds.svg","fontawesome-brands-ebay":"fontawesome/brands/ebay.svg","fontawesome-brands-edge-legacy":"fontawesome/brands/edge-legacy.svg","fontawesome-brands-edge":"fontawesome/brands/edge.svg","fontawesome-brands-elementor":"fontawesome/brands/elementor.svg","fontawesome-brands-ello":"fontawesome/brands/ello.svg","fontawesome-brands-ember":"fontawesome/brands/ember.svg","fontawesome-brands-empire":"fontawesome/brands/empire.svg","fontawesome-brands-envira":"fontawesome/brands/envira.svg","fontawesome-brands-erlang":"fontawesome/brands/erlang.svg","fontawesome-brands-ethereum":"fontawesome/brands/ethereum.svg","fontawesome-brands-etsy":"fontawesome/brands/etsy.svg","fontawesome-brands-evernote":"fontawesome/brands/evernote.svg","fontawesome-brands-expeditedssl":"fontawesome/brands/expeditedssl.svg","fontawesome-brands-facebook-f":"fontawesome/brands/facebook-f.svg","fontawesome-brands-facebook-messenger":"fontawesome/brands/facebook-messenger.svg","fontawesome-brands-facebook-square":"fontawesome/brands/facebook-square.svg","fontawesome-brands-facebook":"fontawesome/brands/facebook.svg","fontawesome-brands-fantasy-flight-games":"fontawesome/brands/fantasy-flight-games.svg","fontawesome-brands-fedex":"fontawesome/brands/fedex.svg","fontawesome-brands-fedora":"fontawesome/brands/fedora.svg","fontawesome-brands-figma":"fontawesome/brands/figma.svg","fontawesome-brands-firefox-browser":"fontawesome/brands/firefox-browser.svg","fontawesome-brands-firefox":"fontawesome/brands/firefox.svg","fontawesome-brands-first-order-alt":"fontawesome/brands/first-order-alt.svg","fontawesome-brands-first-order":"fontawesome/brands/first-order.svg","fontawesome-brands-firstdraft":"fontawesome/brands/firstdraft.svg","fontawesome-brands-flickr":"fontawesome/brands/flickr.svg","fontawesome-brands-flipboard":"fontawesome/brands/flipboard.svg","fontawesome-brands-fly":"fontawesome/brands/fly.svg","fontawesome-brands-font-awesome-alt":"fontawesome/brands/font-awesome-alt.svg","fontawesome-brands-font-awesome-flag":"fontawesome/brands/font-awesome-flag.svg","fontawesome-brands-font-awesome-logo-full":"fontawesome/brands/font-awesome-logo-full.svg","fontawesome-brands-font-awesome":"fontawesome/brands/font-awesome.svg","fontawesome-brands-fonticons-fi":"fontawesome/brands/fonticons-fi.svg","fontawesome-brands-fonticons":"fontawesome/brands/fonticons.svg","fontawesome-brands-fort-awesome-alt":"fontawesome/brands/fort-awesome-alt.svg","fontawesome-brands-fort-awesome":"fontawesome/brands/fort-awesome.svg","fontawesome-brands-forumbee":"fontawesome/brands/forumbee.svg","fontawesome-brands-foursquare":"fontawesome/brands/foursquare.svg","fontawesome-brands-free-code-camp":"fontawesome/brands/free-code-camp.svg","fontawesome-brands-freebsd":"fontawesome/brands/freebsd.svg","fontawesome-brands-fulcrum":"fontawesome/brands/fulcrum.svg","fontawesome-brands-galactic-republic":"fontawesome/brands/galactic-republic.svg","fontawesome-brands-galactic-senate":"fontawesome/brands/galactic-senate.svg","fontawesome-brands-get-pocket":"fontawesome/brands/get-pocket.svg","fontawesome-brands-gg-circle":"fontawesome/brands/gg-circle.svg","fontawesome-brands-gg":"fontawesome/brands/gg.svg","fontawesome-brands-git-alt":"fontawesome/brands/git-alt.svg","fontawesome-brands-git-square":"fontawesome/brands/git-square.svg","fontawesome-brands-git":"fontawesome/brands/git.svg","fontawesome-brands-github-alt":"fontawesome/brands/github-alt.svg","fontawesome-brands-github-square":"fontawesome/brands/github-square.svg","fontawesome-brands-github":"fontawesome/brands/github.svg","fontawesome-brands-gitkraken":"fontawesome/brands/gitkraken.svg","fontawesome-brands-gitlab":"fontawesome/brands/gitlab.svg","fontawesome-brands-gitter":"fontawesome/brands/gitter.svg","fontawesome-brands-glide-g":"fontawesome/brands/glide-g.svg","fontawesome-brands-glide":"fontawesome/brands/glide.svg","fontawesome-brands-gofore":"fontawesome/brands/gofore.svg","fontawesome-brands-goodreads-g":"fontawesome/brands/goodreads-g.svg","fontawesome-brands-goodreads":"fontawesome/brands/goodreads.svg","fontawesome-brands-google-drive":"fontawesome/brands/google-drive.svg","fontawesome-brands-google-pay":"fontawesome/brands/google-pay.svg","fontawesome-brands-google-play":"fontawesome/brands/google-play.svg","fontawesome-brands-google-plus-g":"fontawesome/brands/google-plus-g.svg","fontawesome-brands-google-plus-square":"fontawesome/brands/google-plus-square.svg","fontawesome-brands-google-plus":"fontawesome/brands/google-plus.svg","fontawesome-brands-google-wallet":"fontawesome/brands/google-wallet.svg","fontawesome-brands-google":"fontawesome/brands/google.svg","fontawesome-brands-gratipay":"fontawesome/brands/gratipay.svg","fontawesome-brands-grav":"fontawesome/brands/grav.svg","fontawesome-brands-gripfire":"fontawesome/brands/gripfire.svg","fontawesome-brands-grunt":"fontawesome/brands/grunt.svg","fontawesome-brands-guilded":"fontawesome/brands/guilded.svg","fontawesome-brands-gulp":"fontawesome/brands/gulp.svg","fontawesome-brands-hacker-news-square":"fontawesome/brands/hacker-news-square.svg","fontawesome-brands-hacker-news":"fontawesome/brands/hacker-news.svg","fontawesome-brands-hackerrank":"fontawesome/brands/hackerrank.svg","fontawesome-brands-hips":"fontawesome/brands/hips.svg","fontawesome-brands-hire-a-helper":"fontawesome/brands/hire-a-helper.svg","fontawesome-brands-hive":"fontawesome/brands/hive.svg","fontawesome-brands-hooli":"fontawesome/brands/hooli.svg","fontawesome-brands-hornbill":"fontawesome/brands/hornbill.svg","fontawesome-brands-hotjar":"fontawesome/brands/hotjar.svg","fontawesome-brands-houzz":"fontawesome/brands/houzz.svg","fontawesome-brands-html5":"fontawesome/brands/html5.svg","fontawesome-brands-hubspot":"fontawesome/brands/hubspot.svg","fontawesome-brands-ideal":"fontawesome/brands/ideal.svg","fontawesome-brands-imdb":"fontawesome/brands/imdb.svg","fontawesome-brands-innosoft":"fontawesome/brands/innosoft.svg","fontawesome-brands-instagram-square":"fontawesome/brands/instagram-square.svg","fontawesome-brands-instagram":"fontawesome/brands/instagram.svg","fontawesome-brands-instalod":"fontawesome/brands/instalod.svg","fontawesome-brands-intercom":"fontawesome/brands/intercom.svg","fontawesome-brands-internet-explorer":"fontawesome/brands/internet-explorer.svg","fontawesome-brands-invision":"fontawesome/brands/invision.svg","fontawesome-brands-ioxhost":"fontawesome/brands/ioxhost.svg","fontawesome-brands-itch-io":"fontawesome/brands/itch-io.svg","fontawesome-brands-itunes-note":"fontawesome/brands/itunes-note.svg","fontawesome-brands-itunes":"fontawesome/brands/itunes.svg","fontawesome-brands-java":"fontawesome/brands/java.svg","fontawesome-brands-jedi-order":"fontawesome/brands/jedi-order.svg","fontawesome-brands-jenkins":"fontawesome/brands/jenkins.svg","fontawesome-brands-jira":"fontawesome/brands/jira.svg","fontawesome-brands-joget":"fontawesome/brands/joget.svg","fontawesome-brands-joomla":"fontawesome/brands/joomla.svg","fontawesome-brands-js-square":"fontawesome/brands/js-square.svg","fontawesome-brands-js":"fontawesome/brands/js.svg","fontawesome-brands-jsfiddle":"fontawesome/brands/jsfiddle.svg","fontawesome-brands-kaggle":"fontawesome/brands/kaggle.svg","fontawesome-brands-keybase":"fontawesome/brands/keybase.svg","fontawesome-brands-keycdn":"fontawesome/brands/keycdn.svg","fontawesome-brands-kickstarter-k":"fontawesome/brands/kickstarter-k.svg","fontawesome-brands-kickstarter":"fontawesome/brands/kickstarter.svg","fontawesome-brands-korvue":"fontawesome/brands/korvue.svg","fontawesome-brands-laravel":"fontawesome/brands/laravel.svg","fontawesome-brands-lastfm-square":"fontawesome/brands/lastfm-square.svg","fontawesome-brands-lastfm":"fontawesome/brands/lastfm.svg","fontawesome-brands-leanpub":"fontawesome/brands/leanpub.svg","fontawesome-brands-less":"fontawesome/brands/less.svg","fontawesome-brands-line":"fontawesome/brands/line.svg","fontawesome-brands-linkedin-in":"fontawesome/brands/linkedin-in.svg","fontawesome-brands-linkedin":"fontawesome/brands/linkedin.svg","fontawesome-brands-linode":"fontawesome/brands/linode.svg","fontawesome-brands-linux":"fontawesome/brands/linux.svg","fontawesome-brands-lyft":"fontawesome/brands/lyft.svg","fontawesome-brands-magento":"fontawesome/brands/magento.svg","fontawesome-brands-mailchimp":"fontawesome/brands/mailchimp.svg","fontawesome-brands-mandalorian":"fontawesome/brands/mandalorian.svg","fontawesome-brands-markdown":"fontawesome/brands/markdown.svg","fontawesome-brands-mastodon":"fontawesome/brands/mastodon.svg","fontawesome-brands-maxcdn":"fontawesome/brands/maxcdn.svg","fontawesome-brands-mdb":"fontawesome/brands/mdb.svg","fontawesome-brands-medapps":"fontawesome/brands/medapps.svg","fontawesome-brands-medium-m":"fontawesome/brands/medium-m.svg","fontawesome-brands-medium":"fontawesome/brands/medium.svg","fontawesome-brands-medrt":"fontawesome/brands/medrt.svg","fontawesome-brands-meetup":"fontawesome/brands/meetup.svg","fontawesome-brands-megaport":"fontawesome/brands/megaport.svg","fontawesome-brands-mendeley":"fontawesome/brands/mendeley.svg","fontawesome-brands-microblog":"fontawesome/brands/microblog.svg","fontawesome-brands-microsoft":"fontawesome/brands/microsoft.svg","fontawesome-brands-mix":"fontawesome/brands/mix.svg","fontawesome-brands-mixcloud":"fontawesome/brands/mixcloud.svg","fontawesome-brands-mixer":"fontawesome/brands/mixer.svg","fontawesome-brands-mizuni":"fontawesome/brands/mizuni.svg","fontawesome-brands-modx":"fontawesome/brands/modx.svg","fontawesome-brands-monero":"fontawesome/brands/monero.svg","fontawesome-brands-napster":"fontawesome/brands/napster.svg","fontawesome-brands-neos":"fontawesome/brands/neos.svg","fontawesome-brands-nimblr":"fontawesome/brands/nimblr.svg","fontawesome-brands-node-js":"fontawesome/brands/node-js.svg","fontawesome-brands-node":"fontawesome/brands/node.svg","fontawesome-brands-npm":"fontawesome/brands/npm.svg","fontawesome-brands-ns8":"fontawesome/brands/ns8.svg","fontawesome-brands-nutritionix":"fontawesome/brands/nutritionix.svg","fontawesome-brands-octopus-deploy":"fontawesome/brands/octopus-deploy.svg","fontawesome-brands-odnoklassniki-square":"fontawesome/brands/odnoklassniki-square.svg","fontawesome-brands-odnoklassniki":"fontawesome/brands/odnoklassniki.svg","fontawesome-brands-old-republic":"fontawesome/brands/old-republic.svg","fontawesome-brands-opencart":"fontawesome/brands/opencart.svg","fontawesome-brands-openid":"fontawesome/brands/openid.svg","fontawesome-brands-opera":"fontawesome/brands/opera.svg","fontawesome-brands-optin-monster":"fontawesome/brands/optin-monster.svg","fontawesome-brands-orcid":"fontawesome/brands/orcid.svg","fontawesome-brands-osi":"fontawesome/brands/osi.svg","fontawesome-brands-page4":"fontawesome/brands/page4.svg","fontawesome-brands-pagelines":"fontawesome/brands/pagelines.svg","fontawesome-brands-palfed":"fontawesome/brands/palfed.svg","fontawesome-brands-patreon":"fontawesome/brands/patreon.svg","fontawesome-brands-paypal":"fontawesome/brands/paypal.svg","fontawesome-brands-penny-arcade":"fontawesome/brands/penny-arcade.svg","fontawesome-brands-perbyte":"fontawesome/brands/perbyte.svg","fontawesome-brands-periscope":"fontawesome/brands/periscope.svg","fontawesome-brands-phabricator":"fontawesome/brands/phabricator.svg","fontawesome-brands-phoenix-framework":"fontawesome/brands/phoenix-framework.svg","fontawesome-brands-phoenix-squadron":"fontawesome/brands/phoenix-squadron.svg","fontawesome-brands-php":"fontawesome/brands/php.svg","fontawesome-brands-pied-piper-alt":"fontawesome/brands/pied-piper-alt.svg","fontawesome-brands-pied-piper-hat":"fontawesome/brands/pied-piper-hat.svg","fontawesome-brands-pied-piper-pp":"fontawesome/brands/pied-piper-pp.svg","fontawesome-brands-pied-piper-square":"fontawesome/brands/pied-piper-square.svg","fontawesome-brands-pied-piper":"fontawesome/brands/pied-piper.svg","fontawesome-brands-pinterest-p":"fontawesome/brands/pinterest-p.svg","fontawesome-brands-pinterest-square":"fontawesome/brands/pinterest-square.svg","fontawesome-brands-pinterest":"fontawesome/brands/pinterest.svg","fontawesome-brands-playstation":"fontawesome/brands/playstation.svg","fontawesome-brands-product-hunt":"fontawesome/brands/product-hunt.svg","fontawesome-brands-pushed":"fontawesome/brands/pushed.svg","fontawesome-brands-python":"fontawesome/brands/python.svg","fontawesome-brands-qq":"fontawesome/brands/qq.svg","fontawesome-brands-quinscape":"fontawesome/brands/quinscape.svg","fontawesome-brands-quora":"fontawesome/brands/quora.svg","fontawesome-brands-r-project":"fontawesome/brands/r-project.svg","fontawesome-brands-raspberry-pi":"fontawesome/brands/raspberry-pi.svg","fontawesome-brands-ravelry":"fontawesome/brands/ravelry.svg","fontawesome-brands-react":"fontawesome/brands/react.svg","fontawesome-brands-reacteurope":"fontawesome/brands/reacteurope.svg","fontawesome-brands-readme":"fontawesome/brands/readme.svg","fontawesome-brands-rebel":"fontawesome/brands/rebel.svg","fontawesome-brands-red-river":"fontawesome/brands/red-river.svg","fontawesome-brands-reddit-alien":"fontawesome/brands/reddit-alien.svg","fontawesome-brands-reddit-square":"fontawesome/brands/reddit-square.svg","fontawesome-brands-reddit":"fontawesome/brands/reddit.svg","fontawesome-brands-redhat":"fontawesome/brands/redhat.svg","fontawesome-brands-renren":"fontawesome/brands/renren.svg","fontawesome-brands-replyd":"fontawesome/brands/replyd.svg","fontawesome-brands-researchgate":"fontawesome/brands/researchgate.svg","fontawesome-brands-resolving":"fontawesome/brands/resolving.svg","fontawesome-brands-rev":"fontawesome/brands/rev.svg","fontawesome-brands-rocketchat":"fontawesome/brands/rocketchat.svg","fontawesome-brands-rockrms":"fontawesome/brands/rockrms.svg","fontawesome-brands-rust":"fontawesome/brands/rust.svg","fontawesome-brands-safari":"fontawesome/brands/safari.svg","fontawesome-brands-salesforce":"fontawesome/brands/salesforce.svg","fontawesome-brands-sass":"fontawesome/brands/sass.svg","fontawesome-brands-schlix":"fontawesome/brands/schlix.svg","fontawesome-brands-scribd":"fontawesome/brands/scribd.svg","fontawesome-brands-searchengin":"fontawesome/brands/searchengin.svg","fontawesome-brands-sellcast":"fontawesome/brands/sellcast.svg","fontawesome-brands-sellsy":"fontawesome/brands/sellsy.svg","fontawesome-brands-servicestack":"fontawesome/brands/servicestack.svg","fontawesome-brands-shirtsinbulk":"fontawesome/brands/shirtsinbulk.svg","fontawesome-brands-shopify":"fontawesome/brands/shopify.svg","fontawesome-brands-shopware":"fontawesome/brands/shopware.svg","fontawesome-brands-simplybuilt":"fontawesome/brands/simplybuilt.svg","fontawesome-brands-sistrix":"fontawesome/brands/sistrix.svg","fontawesome-brands-sith":"fontawesome/brands/sith.svg","fontawesome-brands-sketch":"fontawesome/brands/sketch.svg","fontawesome-brands-skyatlas":"fontawesome/brands/skyatlas.svg","fontawesome-brands-skype":"fontawesome/brands/skype.svg","fontawesome-brands-slack-hash":"fontawesome/brands/slack-hash.svg","fontawesome-brands-slack":"fontawesome/brands/slack.svg","fontawesome-brands-slideshare":"fontawesome/brands/slideshare.svg","fontawesome-brands-snapchat-ghost":"fontawesome/brands/snapchat-ghost.svg","fontawesome-brands-snapchat-square":"fontawesome/brands/snapchat-square.svg","fontawesome-brands-snapchat":"fontawesome/brands/snapchat.svg","fontawesome-brands-soundcloud":"fontawesome/brands/soundcloud.svg","fontawesome-brands-sourcetree":"fontawesome/brands/sourcetree.svg","fontawesome-brands-speakap":"fontawesome/brands/speakap.svg","fontawesome-brands-speaker-deck":"fontawesome/brands/speaker-deck.svg","fontawesome-brands-spotify":"fontawesome/brands/spotify.svg","fontawesome-brands-squarespace":"fontawesome/brands/squarespace.svg","fontawesome-brands-stack-exchange":"fontawesome/brands/stack-exchange.svg","fontawesome-brands-stack-overflow":"fontawesome/brands/stack-overflow.svg","fontawesome-brands-stackpath":"fontawesome/brands/stackpath.svg","fontawesome-brands-staylinked":"fontawesome/brands/staylinked.svg","fontawesome-brands-steam-square":"fontawesome/brands/steam-square.svg","fontawesome-brands-steam-symbol":"fontawesome/brands/steam-symbol.svg","fontawesome-brands-steam":"fontawesome/brands/steam.svg","fontawesome-brands-sticker-mule":"fontawesome/brands/sticker-mule.svg","fontawesome-brands-strava":"fontawesome/brands/strava.svg","fontawesome-brands-stripe-s":"fontawesome/brands/stripe-s.svg","fontawesome-brands-stripe":"fontawesome/brands/stripe.svg","fontawesome-brands-studiovinari":"fontawesome/brands/studiovinari.svg","fontawesome-brands-stumbleupon-circle":"fontawesome/brands/stumbleupon-circle.svg","fontawesome-brands-stumbleupon":"fontawesome/brands/stumbleupon.svg","fontawesome-brands-superpowers":"fontawesome/brands/superpowers.svg","fontawesome-brands-supple":"fontawesome/brands/supple.svg","fontawesome-brands-suse":"fontawesome/brands/suse.svg","fontawesome-brands-swift":"fontawesome/brands/swift.svg","fontawesome-brands-symfony":"fontawesome/brands/symfony.svg","fontawesome-brands-teamspeak":"fontawesome/brands/teamspeak.svg","fontawesome-brands-telegram-plane":"fontawesome/brands/telegram-plane.svg","fontawesome-brands-telegram":"fontawesome/brands/telegram.svg","fontawesome-brands-tencent-weibo":"fontawesome/brands/tencent-weibo.svg","fontawesome-brands-the-red-yeti":"fontawesome/brands/the-red-yeti.svg","fontawesome-brands-themeco":"fontawesome/brands/themeco.svg","fontawesome-brands-themeisle":"fontawesome/brands/themeisle.svg","fontawesome-brands-think-peaks":"fontawesome/brands/think-peaks.svg","fontawesome-brands-tiktok":"fontawesome/brands/tiktok.svg","fontawesome-brands-trade-federation":"fontawesome/brands/trade-federation.svg","fontawesome-brands-trello":"fontawesome/brands/trello.svg","fontawesome-brands-tripadvisor":"fontawesome/brands/tripadvisor.svg","fontawesome-brands-tumblr-square":"fontawesome/brands/tumblr-square.svg","fontawesome-brands-tumblr":"fontawesome/brands/tumblr.svg","fontawesome-brands-twitch":"fontawesome/brands/twitch.svg","fontawesome-brands-twitter-square":"fontawesome/brands/twitter-square.svg","fontawesome-brands-twitter":"fontawesome/brands/twitter.svg","fontawesome-brands-typo3":"fontawesome/brands/typo3.svg","fontawesome-brands-uber":"fontawesome/brands/uber.svg","fontawesome-brands-ubuntu":"fontawesome/brands/ubuntu.svg","fontawesome-brands-uikit":"fontawesome/brands/uikit.svg","fontawesome-brands-umbraco":"fontawesome/brands/umbraco.svg","fontawesome-brands-uncharted":"fontawesome/brands/uncharted.svg","fontawesome-brands-uniregistry":"fontawesome/brands/uniregistry.svg","fontawesome-brands-unity":"fontawesome/brands/unity.svg","fontawesome-brands-unsplash":"fontawesome/brands/unsplash.svg","fontawesome-brands-untappd":"fontawesome/brands/untappd.svg","fontawesome-brands-ups":"fontawesome/brands/ups.svg","fontawesome-brands-usb":"fontawesome/brands/usb.svg","fontawesome-brands-usps":"fontawesome/brands/usps.svg","fontawesome-brands-ussunnah":"fontawesome/brands/ussunnah.svg","fontawesome-brands-vaadin":"fontawesome/brands/vaadin.svg","fontawesome-brands-viacoin":"fontawesome/brands/viacoin.svg","fontawesome-brands-viadeo-square":"fontawesome/brands/viadeo-square.svg","fontawesome-brands-viadeo":"fontawesome/brands/viadeo.svg","fontawesome-brands-viber":"fontawesome/brands/viber.svg","fontawesome-brands-vimeo-square":"fontawesome/brands/vimeo-square.svg","fontawesome-brands-vimeo-v":"fontawesome/brands/vimeo-v.svg","fontawesome-brands-vimeo":"fontawesome/brands/vimeo.svg","fontawesome-brands-vine":"fontawesome/brands/vine.svg","fontawesome-brands-vk":"fontawesome/brands/vk.svg","fontawesome-brands-vnv":"fontawesome/brands/vnv.svg","fontawesome-brands-vuejs":"fontawesome/brands/vuejs.svg","fontawesome-brands-watchman-monitoring":"fontawesome/brands/watchman-monitoring.svg","fontawesome-brands-waze":"fontawesome/brands/waze.svg","fontawesome-brands-weebly":"fontawesome/brands/weebly.svg","fontawesome-brands-weibo":"fontawesome/brands/weibo.svg","fontawesome-brands-weixin":"fontawesome/brands/weixin.svg","fontawesome-brands-whatsapp-square":"fontawesome/brands/whatsapp-square.svg","fontawesome-brands-whatsapp":"fontawesome/brands/whatsapp.svg","fontawesome-brands-whmcs":"fontawesome/brands/whmcs.svg","fontawesome-brands-wikipedia-w":"fontawesome/brands/wikipedia-w.svg","fontawesome-brands-windows":"fontawesome/brands/windows.svg","fontawesome-brands-wix":"fontawesome/brands/wix.svg","fontawesome-brands-wizards-of-the-coast":"fontawesome/brands/wizards-of-the-coast.svg","fontawesome-brands-wodu":"fontawesome/brands/wodu.svg","fontawesome-brands-wolf-pack-battalion":"fontawesome/brands/wolf-pack-battalion.svg","fontawesome-brands-wordpress-simple":"fontawesome/brands/wordpress-simple.svg","fontawesome-brands-wordpress":"fontawesome/brands/wordpress.svg","fontawesome-brands-wpbeginner":"fontawesome/brands/wpbeginner.svg","fontawesome-brands-wpexplorer":"fontawesome/brands/wpexplorer.svg","fontawesome-brands-wpforms":"fontawesome/brands/wpforms.svg","fontawesome-brands-wpressr":"fontawesome/brands/wpressr.svg","fontawesome-brands-xbox":"fontawesome/brands/xbox.svg","fontawesome-brands-xing-square":"fontawesome/brands/xing-square.svg","fontawesome-brands-xing":"fontawesome/brands/xing.svg","fontawesome-brands-y-combinator":"fontawesome/brands/y-combinator.svg","fontawesome-brands-yahoo":"fontawesome/brands/yahoo.svg","fontawesome-brands-yammer":"fontawesome/brands/yammer.svg","fontawesome-brands-yandex-international":"fontawesome/brands/yandex-international.svg","fontawesome-brands-yandex":"fontawesome/brands/yandex.svg","fontawesome-brands-yarn":"fontawesome/brands/yarn.svg","fontawesome-brands-yelp":"fontawesome/brands/yelp.svg","fontawesome-brands-yoast":"fontawesome/brands/yoast.svg","fontawesome-brands-youtube-square":"fontawesome/brands/youtube-square.svg","fontawesome-brands-youtube":"fontawesome/brands/youtube.svg","fontawesome-brands-zhihu":"fontawesome/brands/zhihu.svg","fontawesome-regular-address-book":"fontawesome/regular/address-book.svg","fontawesome-regular-address-card":"fontawesome/regular/address-card.svg","fontawesome-regular-angry":"fontawesome/regular/angry.svg","fontawesome-regular-arrow-alt-circle-down":"fontawesome/regular/arrow-alt-circle-down.svg","fontawesome-regular-arrow-alt-circle-left":"fontawesome/regular/arrow-alt-circle-left.svg","fontawesome-regular-arrow-alt-circle-right":"fontawesome/regular/arrow-alt-circle-right.svg","fontawesome-regular-arrow-alt-circle-up":"fontawesome/regular/arrow-alt-circle-up.svg","fontawesome-regular-bell-slash":"fontawesome/regular/bell-slash.svg","fontawesome-regular-bell":"fontawesome/regular/bell.svg","fontawesome-regular-bookmark":"fontawesome/regular/bookmark.svg","fontawesome-regular-building":"fontawesome/regular/building.svg","fontawesome-regular-calendar-alt":"fontawesome/regular/calendar-alt.svg","fontawesome-regular-calendar-check":"fontawesome/regular/calendar-check.svg","fontawesome-regular-calendar-minus":"fontawesome/regular/calendar-minus.svg","fontawesome-regular-calendar-plus":"fontawesome/regular/calendar-plus.svg","fontawesome-regular-calendar-times":"fontawesome/regular/calendar-times.svg","fontawesome-regular-calendar":"fontawesome/regular/calendar.svg","fontawesome-regular-caret-square-down":"fontawesome/regular/caret-square-down.svg","fontawesome-regular-caret-square-left":"fontawesome/regular/caret-square-left.svg","fontawesome-regular-caret-square-right":"fontawesome/regular/caret-square-right.svg","fontawesome-regular-caret-square-up":"fontawesome/regular/caret-square-up.svg","fontawesome-regular-chart-bar":"fontawesome/regular/chart-bar.svg","fontawesome-regular-check-circle":"fontawesome/regular/check-circle.svg","fontawesome-regular-check-square":"fontawesome/regular/check-square.svg","fontawesome-regular-circle":"fontawesome/regular/circle.svg","fontawesome-regular-clipboard":"fontawesome/regular/clipboard.svg","fontawesome-regular-clock":"fontawesome/regular/clock.svg","fontawesome-regular-clone":"fontawesome/regular/clone.svg","fontawesome-regular-closed-captioning":"fontawesome/regular/closed-captioning.svg","fontawesome-regular-comment-alt":"fontawesome/regular/comment-alt.svg","fontawesome-regular-comment-dots":"fontawesome/regular/comment-dots.svg","fontawesome-regular-comment":"fontawesome/regular/comment.svg","fontawesome-regular-comments":"fontawesome/regular/comments.svg","fontawesome-regular-compass":"fontawesome/regular/compass.svg","fontawesome-regular-copy":"fontawesome/regular/copy.svg","fontawesome-regular-copyright":"fontawesome/regular/copyright.svg","fontawesome-regular-credit-card":"fontawesome/regular/credit-card.svg","fontawesome-regular-dizzy":"fontawesome/regular/dizzy.svg","fontawesome-regular-dot-circle":"fontawesome/regular/dot-circle.svg","fontawesome-regular-edit":"fontawesome/regular/edit.svg","fontawesome-regular-envelope-open":"fontawesome/regular/envelope-open.svg","fontawesome-regular-envelope":"fontawesome/regular/envelope.svg","fontawesome-regular-eye-slash":"fontawesome/regular/eye-slash.svg","fontawesome-regular-eye":"fontawesome/regular/eye.svg","fontawesome-regular-file-alt":"fontawesome/regular/file-alt.svg","fontawesome-regular-file-archive":"fontawesome/regular/file-archive.svg","fontawesome-regular-file-audio":"fontawesome/regular/file-audio.svg","fontawesome-regular-file-code":"fontawesome/regular/file-code.svg","fontawesome-regular-file-excel":"fontawesome/regular/file-excel.svg","fontawesome-regular-file-image":"fontawesome/regular/file-image.svg","fontawesome-regular-file-pdf":"fontawesome/regular/file-pdf.svg","fontawesome-regular-file-powerpoint":"fontawesome/regular/file-powerpoint.svg","fontawesome-regular-file-video":"fontawesome/regular/file-video.svg","fontawesome-regular-file-word":"fontawesome/regular/file-word.svg","fontawesome-regular-file":"fontawesome/regular/file.svg","fontawesome-regular-flag":"fontawesome/regular/flag.svg","fontawesome-regular-flushed":"fontawesome/regular/flushed.svg","fontawesome-regular-folder-open":"fontawesome/regular/folder-open.svg","fontawesome-regular-folder":"fontawesome/regular/folder.svg","fontawesome-regular-font-awesome-logo-full":"fontawesome/regular/font-awesome-logo-full.svg","fontawesome-regular-frown-open":"fontawesome/regular/frown-open.svg","fontawesome-regular-frown":"fontawesome/regular/frown.svg","fontawesome-regular-futbol":"fontawesome/regular/futbol.svg","fontawesome-regular-gem":"fontawesome/regular/gem.svg","fontawesome-regular-grimace":"fontawesome/regular/grimace.svg","fontawesome-regular-grin-alt":"fontawesome/regular/grin-alt.svg","fontawesome-regular-grin-beam-sweat":"fontawesome/regular/grin-beam-sweat.svg","fontawesome-regular-grin-beam":"fontawesome/regular/grin-beam.svg","fontawesome-regular-grin-hearts":"fontawesome/regular/grin-hearts.svg","fontawesome-regular-grin-squint-tears":"fontawesome/regular/grin-squint-tears.svg","fontawesome-regular-grin-squint":"fontawesome/regular/grin-squint.svg","fontawesome-regular-grin-stars":"fontawesome/regular/grin-stars.svg","fontawesome-regular-grin-tears":"fontawesome/regular/grin-tears.svg","fontawesome-regular-grin-tongue-squint":"fontawesome/regular/grin-tongue-squint.svg","fontawesome-regular-grin-tongue-wink":"fontawesome/regular/grin-tongue-wink.svg","fontawesome-regular-grin-tongue":"fontawesome/regular/grin-tongue.svg","fontawesome-regular-grin-wink":"fontawesome/regular/grin-wink.svg","fontawesome-regular-grin":"fontawesome/regular/grin.svg","fontawesome-regular-hand-lizard":"fontawesome/regular/hand-lizard.svg","fontawesome-regular-hand-paper":"fontawesome/regular/hand-paper.svg","fontawesome-regular-hand-peace":"fontawesome/regular/hand-peace.svg","fontawesome-regular-hand-point-down":"fontawesome/regular/hand-point-down.svg","fontawesome-regular-hand-point-left":"fontawesome/regular/hand-point-left.svg","fontawesome-regular-hand-point-right":"fontawesome/regular/hand-point-right.svg","fontawesome-regular-hand-point-up":"fontawesome/regular/hand-point-up.svg","fontawesome-regular-hand-pointer":"fontawesome/regular/hand-pointer.svg","fontawesome-regular-hand-rock":"fontawesome/regular/hand-rock.svg","fontawesome-regular-hand-scissors":"fontawesome/regular/hand-scissors.svg","fontawesome-regular-hand-spock":"fontawesome/regular/hand-spock.svg","fontawesome-regular-handshake":"fontawesome/regular/handshake.svg","fontawesome-regular-hdd":"fontawesome/regular/hdd.svg","fontawesome-regular-heart":"fontawesome/regular/heart.svg","fontawesome-regular-hospital":"fontawesome/regular/hospital.svg","fontawesome-regular-hourglass":"fontawesome/regular/hourglass.svg","fontawesome-regular-id-badge":"fontawesome/regular/id-badge.svg","fontawesome-regular-id-card":"fontawesome/regular/id-card.svg","fontawesome-regular-image":"fontawesome/regular/image.svg","fontawesome-regular-images":"fontawesome/regular/images.svg","fontawesome-regular-keyboard":"fontawesome/regular/keyboard.svg","fontawesome-regular-kiss-beam":"fontawesome/regular/kiss-beam.svg","fontawesome-regular-kiss-wink-heart":"fontawesome/regular/kiss-wink-heart.svg","fontawesome-regular-kiss":"fontawesome/regular/kiss.svg","fontawesome-regular-laugh-beam":"fontawesome/regular/laugh-beam.svg","fontawesome-regular-laugh-squint":"fontawesome/regular/laugh-squint.svg","fontawesome-regular-laugh-wink":"fontawesome/regular/laugh-wink.svg","fontawesome-regular-laugh":"fontawesome/regular/laugh.svg","fontawesome-regular-lemon":"fontawesome/regular/lemon.svg","fontawesome-regular-life-ring":"fontawesome/regular/life-ring.svg","fontawesome-regular-lightbulb":"fontawesome/regular/lightbulb.svg","fontawesome-regular-list-alt":"fontawesome/regular/list-alt.svg","fontawesome-regular-map":"fontawesome/regular/map.svg","fontawesome-regular-meh-blank":"fontawesome/regular/meh-blank.svg","fontawesome-regular-meh-rolling-eyes":"fontawesome/regular/meh-rolling-eyes.svg","fontawesome-regular-meh":"fontawesome/regular/meh.svg","fontawesome-regular-minus-square":"fontawesome/regular/minus-square.svg","fontawesome-regular-money-bill-alt":"fontawesome/regular/money-bill-alt.svg","fontawesome-regular-moon":"fontawesome/regular/moon.svg","fontawesome-regular-newspaper":"fontawesome/regular/newspaper.svg","fontawesome-regular-object-group":"fontawesome/regular/object-group.svg","fontawesome-regular-object-ungroup":"fontawesome/regular/object-ungroup.svg","fontawesome-regular-paper-plane":"fontawesome/regular/paper-plane.svg","fontawesome-regular-pause-circle":"fontawesome/regular/pause-circle.svg","fontawesome-regular-play-circle":"fontawesome/regular/play-circle.svg","fontawesome-regular-plus-square":"fontawesome/regular/plus-square.svg","fontawesome-regular-question-circle":"fontawesome/regular/question-circle.svg","fontawesome-regular-registered":"fontawesome/regular/registered.svg","fontawesome-regular-sad-cry":"fontawesome/regular/sad-cry.svg","fontawesome-regular-sad-tear":"fontawesome/regular/sad-tear.svg","fontawesome-regular-save":"fontawesome/regular/save.svg","fontawesome-regular-share-square":"fontawesome/regular/share-square.svg","fontawesome-regular-smile-beam":"fontawesome/regular/smile-beam.svg","fontawesome-regular-smile-wink":"fontawesome/regular/smile-wink.svg","fontawesome-regular-smile":"fontawesome/regular/smile.svg","fontawesome-regular-snowflake":"fontawesome/regular/snowflake.svg","fontawesome-regular-square":"fontawesome/regular/square.svg","fontawesome-regular-star-half":"fontawesome/regular/star-half.svg","fontawesome-regular-star":"fontawesome/regular/star.svg","fontawesome-regular-sticky-note":"fontawesome/regular/sticky-note.svg","fontawesome-regular-stop-circle":"fontawesome/regular/stop-circle.svg","fontawesome-regular-sun":"fontawesome/regular/sun.svg","fontawesome-regular-surprise":"fontawesome/regular/surprise.svg","fontawesome-regular-thumbs-down":"fontawesome/regular/thumbs-down.svg","fontawesome-regular-thumbs-up":"fontawesome/regular/thumbs-up.svg","fontawesome-regular-times-circle":"fontawesome/regular/times-circle.svg","fontawesome-regular-tired":"fontawesome/regular/tired.svg","fontawesome-regular-trash-alt":"fontawesome/regular/trash-alt.svg","fontawesome-regular-user-circle":"fontawesome/regular/user-circle.svg","fontawesome-regular-user":"fontawesome/regular/user.svg","fontawesome-regular-window-close":"fontawesome/regular/window-close.svg","fontawesome-regular-window-maximize":"fontawesome/regular/window-maximize.svg","fontawesome-regular-window-minimize":"fontawesome/regular/window-minimize.svg","fontawesome-regular-window-restore":"fontawesome/regular/window-restore.svg","fontawesome-solid-ad":"fontawesome/solid/ad.svg","fontawesome-solid-address-book":"fontawesome/solid/address-book.svg","fontawesome-solid-address-card":"fontawesome/solid/address-card.svg","fontawesome-solid-adjust":"fontawesome/solid/adjust.svg","fontawesome-solid-air-freshener":"fontawesome/solid/air-freshener.svg","fontawesome-solid-align-center":"fontawesome/solid/align-center.svg","fontawesome-solid-align-justify":"fontawesome/solid/align-justify.svg","fontawesome-solid-align-left":"fontawesome/solid/align-left.svg","fontawesome-solid-align-right":"fontawesome/solid/align-right.svg","fontawesome-solid-allergies":"fontawesome/solid/allergies.svg","fontawesome-solid-ambulance":"fontawesome/solid/ambulance.svg","fontawesome-solid-american-sign-language-interpreting":"fontawesome/solid/american-sign-language-interpreting.svg","fontawesome-solid-anchor":"fontawesome/solid/anchor.svg","fontawesome-solid-angle-double-down":"fontawesome/solid/angle-double-down.svg","fontawesome-solid-angle-double-left":"fontawesome/solid/angle-double-left.svg","fontawesome-solid-angle-double-right":"fontawesome/solid/angle-double-right.svg","fontawesome-solid-angle-double-up":"fontawesome/solid/angle-double-up.svg","fontawesome-solid-angle-down":"fontawesome/solid/angle-down.svg","fontawesome-solid-angle-left":"fontawesome/solid/angle-left.svg","fontawesome-solid-angle-right":"fontawesome/solid/angle-right.svg","fontawesome-solid-angle-up":"fontawesome/solid/angle-up.svg","fontawesome-solid-angry":"fontawesome/solid/angry.svg","fontawesome-solid-ankh":"fontawesome/solid/ankh.svg","fontawesome-solid-apple-alt":"fontawesome/solid/apple-alt.svg","fontawesome-solid-archive":"fontawesome/solid/archive.svg","fontawesome-solid-archway":"fontawesome/solid/archway.svg","fontawesome-solid-arrow-alt-circle-down":"fontawesome/solid/arrow-alt-circle-down.svg","fontawesome-solid-arrow-alt-circle-left":"fontawesome/solid/arrow-alt-circle-left.svg","fontawesome-solid-arrow-alt-circle-right":"fontawesome/solid/arrow-alt-circle-right.svg","fontawesome-solid-arrow-alt-circle-up":"fontawesome/solid/arrow-alt-circle-up.svg","fontawesome-solid-arrow-circle-down":"fontawesome/solid/arrow-circle-down.svg","fontawesome-solid-arrow-circle-left":"fontawesome/solid/arrow-circle-left.svg","fontawesome-solid-arrow-circle-right":"fontawesome/solid/arrow-circle-right.svg","fontawesome-solid-arrow-circle-up":"fontawesome/solid/arrow-circle-up.svg","fontawesome-solid-arrow-down":"fontawesome/solid/arrow-down.svg","fontawesome-solid-arrow-left":"fontawesome/solid/arrow-left.svg","fontawesome-solid-arrow-right":"fontawesome/solid/arrow-right.svg","fontawesome-solid-arrow-up":"fontawesome/solid/arrow-up.svg","fontawesome-solid-arrows-alt-h":"fontawesome/solid/arrows-alt-h.svg","fontawesome-solid-arrows-alt-v":"fontawesome/solid/arrows-alt-v.svg","fontawesome-solid-arrows-alt":"fontawesome/solid/arrows-alt.svg","fontawesome-solid-assistive-listening-systems":"fontawesome/solid/assistive-listening-systems.svg","fontawesome-solid-asterisk":"fontawesome/solid/asterisk.svg","fontawesome-solid-at":"fontawesome/solid/at.svg","fontawesome-solid-atlas":"fontawesome/solid/atlas.svg","fontawesome-solid-atom":"fontawesome/solid/atom.svg","fontawesome-solid-audio-description":"fontawesome/solid/audio-description.svg","fontawesome-solid-award":"fontawesome/solid/award.svg","fontawesome-solid-baby-carriage":"fontawesome/solid/baby-carriage.svg","fontawesome-solid-baby":"fontawesome/solid/baby.svg","fontawesome-solid-backspace":"fontawesome/solid/backspace.svg","fontawesome-solid-backward":"fontawesome/solid/backward.svg","fontawesome-solid-bacon":"fontawesome/solid/bacon.svg","fontawesome-solid-bacteria":"fontawesome/solid/bacteria.svg","fontawesome-solid-bacterium":"fontawesome/solid/bacterium.svg","fontawesome-solid-bahai":"fontawesome/solid/bahai.svg","fontawesome-solid-balance-scale-left":"fontawesome/solid/balance-scale-left.svg","fontawesome-solid-balance-scale-right":"fontawesome/solid/balance-scale-right.svg","fontawesome-solid-balance-scale":"fontawesome/solid/balance-scale.svg","fontawesome-solid-ban":"fontawesome/solid/ban.svg","fontawesome-solid-band-aid":"fontawesome/solid/band-aid.svg","fontawesome-solid-barcode":"fontawesome/solid/barcode.svg","fontawesome-solid-bars":"fontawesome/solid/bars.svg","fontawesome-solid-baseball-ball":"fontawesome/solid/baseball-ball.svg","fontawesome-solid-basketball-ball":"fontawesome/solid/basketball-ball.svg","fontawesome-solid-bath":"fontawesome/solid/bath.svg","fontawesome-solid-battery-empty":"fontawesome/solid/battery-empty.svg","fontawesome-solid-battery-full":"fontawesome/solid/battery-full.svg","fontawesome-solid-battery-half":"fontawesome/solid/battery-half.svg","fontawesome-solid-battery-quarter":"fontawesome/solid/battery-quarter.svg","fontawesome-solid-battery-three-quarters":"fontawesome/solid/battery-three-quarters.svg","fontawesome-solid-bed":"fontawesome/solid/bed.svg","fontawesome-solid-beer":"fontawesome/solid/beer.svg","fontawesome-solid-bell-slash":"fontawesome/solid/bell-slash.svg","fontawesome-solid-bell":"fontawesome/solid/bell.svg","fontawesome-solid-bezier-curve":"fontawesome/solid/bezier-curve.svg","fontawesome-solid-bible":"fontawesome/solid/bible.svg","fontawesome-solid-bicycle":"fontawesome/solid/bicycle.svg","fontawesome-solid-biking":"fontawesome/solid/biking.svg","fontawesome-solid-binoculars":"fontawesome/solid/binoculars.svg","fontawesome-solid-biohazard":"fontawesome/solid/biohazard.svg","fontawesome-solid-birthday-cake":"fontawesome/solid/birthday-cake.svg","fontawesome-solid-blender-phone":"fontawesome/solid/blender-phone.svg","fontawesome-solid-blender":"fontawesome/solid/blender.svg","fontawesome-solid-blind":"fontawesome/solid/blind.svg","fontawesome-solid-blog":"fontawesome/solid/blog.svg","fontawesome-solid-bold":"fontawesome/solid/bold.svg","fontawesome-solid-bolt":"fontawesome/solid/bolt.svg","fontawesome-solid-bomb":"fontawesome/solid/bomb.svg","fontawesome-solid-bone":"fontawesome/solid/bone.svg","fontawesome-solid-bong":"fontawesome/solid/bong.svg","fontawesome-solid-book-dead":"fontawesome/solid/book-dead.svg","fontawesome-solid-book-medical":"fontawesome/solid/book-medical.svg","fontawesome-solid-book-open":"fontawesome/solid/book-open.svg","fontawesome-solid-book-reader":"fontawesome/solid/book-reader.svg","fontawesome-solid-book":"fontawesome/solid/book.svg","fontawesome-solid-bookmark":"fontawesome/solid/bookmark.svg","fontawesome-solid-border-all":"fontawesome/solid/border-all.svg","fontawesome-solid-border-none":"fontawesome/solid/border-none.svg","fontawesome-solid-border-style":"fontawesome/solid/border-style.svg","fontawesome-solid-bowling-ball":"fontawesome/solid/bowling-ball.svg","fontawesome-solid-box-open":"fontawesome/solid/box-open.svg","fontawesome-solid-box-tissue":"fontawesome/solid/box-tissue.svg","fontawesome-solid-box":"fontawesome/solid/box.svg","fontawesome-solid-boxes":"fontawesome/solid/boxes.svg","fontawesome-solid-braille":"fontawesome/solid/braille.svg","fontawesome-solid-brain":"fontawesome/solid/brain.svg","fontawesome-solid-bread-slice":"fontawesome/solid/bread-slice.svg","fontawesome-solid-briefcase-medical":"fontawesome/solid/briefcase-medical.svg","fontawesome-solid-briefcase":"fontawesome/solid/briefcase.svg","fontawesome-solid-broadcast-tower":"fontawesome/solid/broadcast-tower.svg","fontawesome-solid-broom":"fontawesome/solid/broom.svg","fontawesome-solid-brush":"fontawesome/solid/brush.svg","fontawesome-solid-bug":"fontawesome/solid/bug.svg","fontawesome-solid-building":"fontawesome/solid/building.svg","fontawesome-solid-bullhorn":"fontawesome/solid/bullhorn.svg","fontawesome-solid-bullseye":"fontawesome/solid/bullseye.svg","fontawesome-solid-burn":"fontawesome/solid/burn.svg","fontawesome-solid-bus-alt":"fontawesome/solid/bus-alt.svg","fontawesome-solid-bus":"fontawesome/solid/bus.svg","fontawesome-solid-business-time":"fontawesome/solid/business-time.svg","fontawesome-solid-calculator":"fontawesome/solid/calculator.svg","fontawesome-solid-calendar-alt":"fontawesome/solid/calendar-alt.svg","fontawesome-solid-calendar-check":"fontawesome/solid/calendar-check.svg","fontawesome-solid-calendar-day":"fontawesome/solid/calendar-day.svg","fontawesome-solid-calendar-minus":"fontawesome/solid/calendar-minus.svg","fontawesome-solid-calendar-plus":"fontawesome/solid/calendar-plus.svg","fontawesome-solid-calendar-times":"fontawesome/solid/calendar-times.svg","fontawesome-solid-calendar-week":"fontawesome/solid/calendar-week.svg","fontawesome-solid-calendar":"fontawesome/solid/calendar.svg","fontawesome-solid-camera-retro":"fontawesome/solid/camera-retro.svg","fontawesome-solid-camera":"fontawesome/solid/camera.svg","fontawesome-solid-campground":"fontawesome/solid/campground.svg","fontawesome-solid-candy-cane":"fontawesome/solid/candy-cane.svg","fontawesome-solid-cannabis":"fontawesome/solid/cannabis.svg","fontawesome-solid-capsules":"fontawesome/solid/capsules.svg","fontawesome-solid-car-alt":"fontawesome/solid/car-alt.svg","fontawesome-solid-car-battery":"fontawesome/solid/car-battery.svg","fontawesome-solid-car-crash":"fontawesome/solid/car-crash.svg","fontawesome-solid-car-side":"fontawesome/solid/car-side.svg","fontawesome-solid-car":"fontawesome/solid/car.svg","fontawesome-solid-caravan":"fontawesome/solid/caravan.svg","fontawesome-solid-caret-down":"fontawesome/solid/caret-down.svg","fontawesome-solid-caret-left":"fontawesome/solid/caret-left.svg","fontawesome-solid-caret-right":"fontawesome/solid/caret-right.svg","fontawesome-solid-caret-square-down":"fontawesome/solid/caret-square-down.svg","fontawesome-solid-caret-square-left":"fontawesome/solid/caret-square-left.svg","fontawesome-solid-caret-square-right":"fontawesome/solid/caret-square-right.svg","fontawesome-solid-caret-square-up":"fontawesome/solid/caret-square-up.svg","fontawesome-solid-caret-up":"fontawesome/solid/caret-up.svg","fontawesome-solid-carrot":"fontawesome/solid/carrot.svg","fontawesome-solid-cart-arrow-down":"fontawesome/solid/cart-arrow-down.svg","fontawesome-solid-cart-plus":"fontawesome/solid/cart-plus.svg","fontawesome-solid-cash-register":"fontawesome/solid/cash-register.svg","fontawesome-solid-cat":"fontawesome/solid/cat.svg","fontawesome-solid-certificate":"fontawesome/solid/certificate.svg","fontawesome-solid-chair":"fontawesome/solid/chair.svg","fontawesome-solid-chalkboard-teacher":"fontawesome/solid/chalkboard-teacher.svg","fontawesome-solid-chalkboard":"fontawesome/solid/chalkboard.svg","fontawesome-solid-charging-station":"fontawesome/solid/charging-station.svg","fontawesome-solid-chart-area":"fontawesome/solid/chart-area.svg","fontawesome-solid-chart-bar":"fontawesome/solid/chart-bar.svg","fontawesome-solid-chart-line":"fontawesome/solid/chart-line.svg","fontawesome-solid-chart-pie":"fontawesome/solid/chart-pie.svg","fontawesome-solid-check-circle":"fontawesome/solid/check-circle.svg","fontawesome-solid-check-double":"fontawesome/solid/check-double.svg","fontawesome-solid-check-square":"fontawesome/solid/check-square.svg","fontawesome-solid-check":"fontawesome/solid/check.svg","fontawesome-solid-cheese":"fontawesome/solid/cheese.svg","fontawesome-solid-chess-bishop":"fontawesome/solid/chess-bishop.svg","fontawesome-solid-chess-board":"fontawesome/solid/chess-board.svg","fontawesome-solid-chess-king":"fontawesome/solid/chess-king.svg","fontawesome-solid-chess-knight":"fontawesome/solid/chess-knight.svg","fontawesome-solid-chess-pawn":"fontawesome/solid/chess-pawn.svg","fontawesome-solid-chess-queen":"fontawesome/solid/chess-queen.svg","fontawesome-solid-chess-rook":"fontawesome/solid/chess-rook.svg","fontawesome-solid-chess":"fontawesome/solid/chess.svg","fontawesome-solid-chevron-circle-down":"fontawesome/solid/chevron-circle-down.svg","fontawesome-solid-chevron-circle-left":"fontawesome/solid/chevron-circle-left.svg","fontawesome-solid-chevron-circle-right":"fontawesome/solid/chevron-circle-right.svg","fontawesome-solid-chevron-circle-up":"fontawesome/solid/chevron-circle-up.svg","fontawesome-solid-chevron-down":"fontawesome/solid/chevron-down.svg","fontawesome-solid-chevron-left":"fontawesome/solid/chevron-left.svg","fontawesome-solid-chevron-right":"fontawesome/solid/chevron-right.svg","fontawesome-solid-chevron-up":"fontawesome/solid/chevron-up.svg","fontawesome-solid-child":"fontawesome/solid/child.svg","fontawesome-solid-church":"fontawesome/solid/church.svg","fontawesome-solid-circle-notch":"fontawesome/solid/circle-notch.svg","fontawesome-solid-circle":"fontawesome/solid/circle.svg","fontawesome-solid-city":"fontawesome/solid/city.svg","fontawesome-solid-clinic-medical":"fontawesome/solid/clinic-medical.svg","fontawesome-solid-clipboard-check":"fontawesome/solid/clipboard-check.svg","fontawesome-solid-clipboard-list":"fontawesome/solid/clipboard-list.svg","fontawesome-solid-clipboard":"fontawesome/solid/clipboard.svg","fontawesome-solid-clock":"fontawesome/solid/clock.svg","fontawesome-solid-clone":"fontawesome/solid/clone.svg","fontawesome-solid-closed-captioning":"fontawesome/solid/closed-captioning.svg","fontawesome-solid-cloud-download-alt":"fontawesome/solid/cloud-download-alt.svg","fontawesome-solid-cloud-meatball":"fontawesome/solid/cloud-meatball.svg","fontawesome-solid-cloud-moon-rain":"fontawesome/solid/cloud-moon-rain.svg","fontawesome-solid-cloud-moon":"fontawesome/solid/cloud-moon.svg","fontawesome-solid-cloud-rain":"fontawesome/solid/cloud-rain.svg","fontawesome-solid-cloud-showers-heavy":"fontawesome/solid/cloud-showers-heavy.svg","fontawesome-solid-cloud-sun-rain":"fontawesome/solid/cloud-sun-rain.svg","fontawesome-solid-cloud-sun":"fontawesome/solid/cloud-sun.svg","fontawesome-solid-cloud-upload-alt":"fontawesome/solid/cloud-upload-alt.svg","fontawesome-solid-cloud":"fontawesome/solid/cloud.svg","fontawesome-solid-cocktail":"fontawesome/solid/cocktail.svg","fontawesome-solid-code-branch":"fontawesome/solid/code-branch.svg","fontawesome-solid-code":"fontawesome/solid/code.svg","fontawesome-solid-coffee":"fontawesome/solid/coffee.svg","fontawesome-solid-cog":"fontawesome/solid/cog.svg","fontawesome-solid-cogs":"fontawesome/solid/cogs.svg","fontawesome-solid-coins":"fontawesome/solid/coins.svg","fontawesome-solid-columns":"fontawesome/solid/columns.svg","fontawesome-solid-comment-alt":"fontawesome/solid/comment-alt.svg","fontawesome-solid-comment-dollar":"fontawesome/solid/comment-dollar.svg","fontawesome-solid-comment-dots":"fontawesome/solid/comment-dots.svg","fontawesome-solid-comment-medical":"fontawesome/solid/comment-medical.svg","fontawesome-solid-comment-slash":"fontawesome/solid/comment-slash.svg","fontawesome-solid-comment":"fontawesome/solid/comment.svg","fontawesome-solid-comments-dollar":"fontawesome/solid/comments-dollar.svg","fontawesome-solid-comments":"fontawesome/solid/comments.svg","fontawesome-solid-compact-disc":"fontawesome/solid/compact-disc.svg","fontawesome-solid-compass":"fontawesome/solid/compass.svg","fontawesome-solid-compress-alt":"fontawesome/solid/compress-alt.svg","fontawesome-solid-compress-arrows-alt":"fontawesome/solid/compress-arrows-alt.svg","fontawesome-solid-compress":"fontawesome/solid/compress.svg","fontawesome-solid-concierge-bell":"fontawesome/solid/concierge-bell.svg","fontawesome-solid-cookie-bite":"fontawesome/solid/cookie-bite.svg","fontawesome-solid-cookie":"fontawesome/solid/cookie.svg","fontawesome-solid-copy":"fontawesome/solid/copy.svg","fontawesome-solid-copyright":"fontawesome/solid/copyright.svg","fontawesome-solid-couch":"fontawesome/solid/couch.svg","fontawesome-solid-credit-card":"fontawesome/solid/credit-card.svg","fontawesome-solid-crop-alt":"fontawesome/solid/crop-alt.svg","fontawesome-solid-crop":"fontawesome/solid/crop.svg","fontawesome-solid-cross":"fontawesome/solid/cross.svg","fontawesome-solid-crosshairs":"fontawesome/solid/crosshairs.svg","fontawesome-solid-crow":"fontawesome/solid/crow.svg","fontawesome-solid-crown":"fontawesome/solid/crown.svg","fontawesome-solid-crutch":"fontawesome/solid/crutch.svg","fontawesome-solid-cube":"fontawesome/solid/cube.svg","fontawesome-solid-cubes":"fontawesome/solid/cubes.svg","fontawesome-solid-cut":"fontawesome/solid/cut.svg","fontawesome-solid-database":"fontawesome/solid/database.svg","fontawesome-solid-deaf":"fontawesome/solid/deaf.svg","fontawesome-solid-democrat":"fontawesome/solid/democrat.svg","fontawesome-solid-desktop":"fontawesome/solid/desktop.svg","fontawesome-solid-dharmachakra":"fontawesome/solid/dharmachakra.svg","fontawesome-solid-diagnoses":"fontawesome/solid/diagnoses.svg","fontawesome-solid-dice-d20":"fontawesome/solid/dice-d20.svg","fontawesome-solid-dice-d6":"fontawesome/solid/dice-d6.svg","fontawesome-solid-dice-five":"fontawesome/solid/dice-five.svg","fontawesome-solid-dice-four":"fontawesome/solid/dice-four.svg","fontawesome-solid-dice-one":"fontawesome/solid/dice-one.svg","fontawesome-solid-dice-six":"fontawesome/solid/dice-six.svg","fontawesome-solid-dice-three":"fontawesome/solid/dice-three.svg","fontawesome-solid-dice-two":"fontawesome/solid/dice-two.svg","fontawesome-solid-dice":"fontawesome/solid/dice.svg","fontawesome-solid-digital-tachograph":"fontawesome/solid/digital-tachograph.svg","fontawesome-solid-directions":"fontawesome/solid/directions.svg","fontawesome-solid-disease":"fontawesome/solid/disease.svg","fontawesome-solid-divide":"fontawesome/solid/divide.svg","fontawesome-solid-dizzy":"fontawesome/solid/dizzy.svg","fontawesome-solid-dna":"fontawesome/solid/dna.svg","fontawesome-solid-dog":"fontawesome/solid/dog.svg","fontawesome-solid-dollar-sign":"fontawesome/solid/dollar-sign.svg","fontawesome-solid-dolly-flatbed":"fontawesome/solid/dolly-flatbed.svg","fontawesome-solid-dolly":"fontawesome/solid/dolly.svg","fontawesome-solid-donate":"fontawesome/solid/donate.svg","fontawesome-solid-door-closed":"fontawesome/solid/door-closed.svg","fontawesome-solid-door-open":"fontawesome/solid/door-open.svg","fontawesome-solid-dot-circle":"fontawesome/solid/dot-circle.svg","fontawesome-solid-dove":"fontawesome/solid/dove.svg","fontawesome-solid-download":"fontawesome/solid/download.svg","fontawesome-solid-drafting-compass":"fontawesome/solid/drafting-compass.svg","fontawesome-solid-dragon":"fontawesome/solid/dragon.svg","fontawesome-solid-draw-polygon":"fontawesome/solid/draw-polygon.svg","fontawesome-solid-drum-steelpan":"fontawesome/solid/drum-steelpan.svg","fontawesome-solid-drum":"fontawesome/solid/drum.svg","fontawesome-solid-drumstick-bite":"fontawesome/solid/drumstick-bite.svg","fontawesome-solid-dumbbell":"fontawesome/solid/dumbbell.svg","fontawesome-solid-dumpster-fire":"fontawesome/solid/dumpster-fire.svg","fontawesome-solid-dumpster":"fontawesome/solid/dumpster.svg","fontawesome-solid-dungeon":"fontawesome/solid/dungeon.svg","fontawesome-solid-edit":"fontawesome/solid/edit.svg","fontawesome-solid-egg":"fontawesome/solid/egg.svg","fontawesome-solid-eject":"fontawesome/solid/eject.svg","fontawesome-solid-ellipsis-h":"fontawesome/solid/ellipsis-h.svg","fontawesome-solid-ellipsis-v":"fontawesome/solid/ellipsis-v.svg","fontawesome-solid-envelope-open-text":"fontawesome/solid/envelope-open-text.svg","fontawesome-solid-envelope-open":"fontawesome/solid/envelope-open.svg","fontawesome-solid-envelope-square":"fontawesome/solid/envelope-square.svg","fontawesome-solid-envelope":"fontawesome/solid/envelope.svg","fontawesome-solid-equals":"fontawesome/solid/equals.svg","fontawesome-solid-eraser":"fontawesome/solid/eraser.svg","fontawesome-solid-ethernet":"fontawesome/solid/ethernet.svg","fontawesome-solid-euro-sign":"fontawesome/solid/euro-sign.svg","fontawesome-solid-exchange-alt":"fontawesome/solid/exchange-alt.svg","fontawesome-solid-exclamation-circle":"fontawesome/solid/exclamation-circle.svg","fontawesome-solid-exclamation-triangle":"fontawesome/solid/exclamation-triangle.svg","fontawesome-solid-exclamation":"fontawesome/solid/exclamation.svg","fontawesome-solid-expand-alt":"fontawesome/solid/expand-alt.svg","fontawesome-solid-expand-arrows-alt":"fontawesome/solid/expand-arrows-alt.svg","fontawesome-solid-expand":"fontawesome/solid/expand.svg","fontawesome-solid-external-link-alt":"fontawesome/solid/external-link-alt.svg","fontawesome-solid-external-link-square-alt":"fontawesome/solid/external-link-square-alt.svg","fontawesome-solid-eye-dropper":"fontawesome/solid/eye-dropper.svg","fontawesome-solid-eye-slash":"fontawesome/solid/eye-slash.svg","fontawesome-solid-eye":"fontawesome/solid/eye.svg","fontawesome-solid-fan":"fontawesome/solid/fan.svg","fontawesome-solid-fast-backward":"fontawesome/solid/fast-backward.svg","fontawesome-solid-fast-forward":"fontawesome/solid/fast-forward.svg","fontawesome-solid-faucet":"fontawesome/solid/faucet.svg","fontawesome-solid-fax":"fontawesome/solid/fax.svg","fontawesome-solid-feather-alt":"fontawesome/solid/feather-alt.svg","fontawesome-solid-feather":"fontawesome/solid/feather.svg","fontawesome-solid-female":"fontawesome/solid/female.svg","fontawesome-solid-fighter-jet":"fontawesome/solid/fighter-jet.svg","fontawesome-solid-file-alt":"fontawesome/solid/file-alt.svg","fontawesome-solid-file-archive":"fontawesome/solid/file-archive.svg","fontawesome-solid-file-audio":"fontawesome/solid/file-audio.svg","fontawesome-solid-file-code":"fontawesome/solid/file-code.svg","fontawesome-solid-file-contract":"fontawesome/solid/file-contract.svg","fontawesome-solid-file-csv":"fontawesome/solid/file-csv.svg","fontawesome-solid-file-download":"fontawesome/solid/file-download.svg","fontawesome-solid-file-excel":"fontawesome/solid/file-excel.svg","fontawesome-solid-file-export":"fontawesome/solid/file-export.svg","fontawesome-solid-file-image":"fontawesome/solid/file-image.svg","fontawesome-solid-file-import":"fontawesome/solid/file-import.svg","fontawesome-solid-file-invoice-dollar":"fontawesome/solid/file-invoice-dollar.svg","fontawesome-solid-file-invoice":"fontawesome/solid/file-invoice.svg","fontawesome-solid-file-medical-alt":"fontawesome/solid/file-medical-alt.svg","fontawesome-solid-file-medical":"fontawesome/solid/file-medical.svg","fontawesome-solid-file-pdf":"fontawesome/solid/file-pdf.svg","fontawesome-solid-file-powerpoint":"fontawesome/solid/file-powerpoint.svg","fontawesome-solid-file-prescription":"fontawesome/solid/file-prescription.svg","fontawesome-solid-file-signature":"fontawesome/solid/file-signature.svg","fontawesome-solid-file-upload":"fontawesome/solid/file-upload.svg","fontawesome-solid-file-video":"fontawesome/solid/file-video.svg","fontawesome-solid-file-word":"fontawesome/solid/file-word.svg","fontawesome-solid-file":"fontawesome/solid/file.svg","fontawesome-solid-fill-drip":"fontawesome/solid/fill-drip.svg","fontawesome-solid-fill":"fontawesome/solid/fill.svg","fontawesome-solid-film":"fontawesome/solid/film.svg","fontawesome-solid-filter":"fontawesome/solid/filter.svg","fontawesome-solid-fingerprint":"fontawesome/solid/fingerprint.svg","fontawesome-solid-fire-alt":"fontawesome/solid/fire-alt.svg","fontawesome-solid-fire-extinguisher":"fontawesome/solid/fire-extinguisher.svg","fontawesome-solid-fire":"fontawesome/solid/fire.svg","fontawesome-solid-first-aid":"fontawesome/solid/first-aid.svg","fontawesome-solid-fish":"fontawesome/solid/fish.svg","fontawesome-solid-fist-raised":"fontawesome/solid/fist-raised.svg","fontawesome-solid-flag-checkered":"fontawesome/solid/flag-checkered.svg","fontawesome-solid-flag-usa":"fontawesome/solid/flag-usa.svg","fontawesome-solid-flag":"fontawesome/solid/flag.svg","fontawesome-solid-flask":"fontawesome/solid/flask.svg","fontawesome-solid-flushed":"fontawesome/solid/flushed.svg","fontawesome-solid-folder-minus":"fontawesome/solid/folder-minus.svg","fontawesome-solid-folder-open":"fontawesome/solid/folder-open.svg","fontawesome-solid-folder-plus":"fontawesome/solid/folder-plus.svg","fontawesome-solid-folder":"fontawesome/solid/folder.svg","fontawesome-solid-font-awesome-logo-full":"fontawesome/solid/font-awesome-logo-full.svg","fontawesome-solid-font":"fontawesome/solid/font.svg","fontawesome-solid-football-ball":"fontawesome/solid/football-ball.svg","fontawesome-solid-forward":"fontawesome/solid/forward.svg","fontawesome-solid-frog":"fontawesome/solid/frog.svg","fontawesome-solid-frown-open":"fontawesome/solid/frown-open.svg","fontawesome-solid-frown":"fontawesome/solid/frown.svg","fontawesome-solid-funnel-dollar":"fontawesome/solid/funnel-dollar.svg","fontawesome-solid-futbol":"fontawesome/solid/futbol.svg","fontawesome-solid-gamepad":"fontawesome/solid/gamepad.svg","fontawesome-solid-gas-pump":"fontawesome/solid/gas-pump.svg","fontawesome-solid-gavel":"fontawesome/solid/gavel.svg","fontawesome-solid-gem":"fontawesome/solid/gem.svg","fontawesome-solid-genderless":"fontawesome/solid/genderless.svg","fontawesome-solid-ghost":"fontawesome/solid/ghost.svg","fontawesome-solid-gift":"fontawesome/solid/gift.svg","fontawesome-solid-gifts":"fontawesome/solid/gifts.svg","fontawesome-solid-glass-cheers":"fontawesome/solid/glass-cheers.svg","fontawesome-solid-glass-martini-alt":"fontawesome/solid/glass-martini-alt.svg","fontawesome-solid-glass-martini":"fontawesome/solid/glass-martini.svg","fontawesome-solid-glass-whiskey":"fontawesome/solid/glass-whiskey.svg","fontawesome-solid-glasses":"fontawesome/solid/glasses.svg","fontawesome-solid-globe-africa":"fontawesome/solid/globe-africa.svg","fontawesome-solid-globe-americas":"fontawesome/solid/globe-americas.svg","fontawesome-solid-globe-asia":"fontawesome/solid/globe-asia.svg","fontawesome-solid-globe-europe":"fontawesome/solid/globe-europe.svg","fontawesome-solid-globe":"fontawesome/solid/globe.svg","fontawesome-solid-golf-ball":"fontawesome/solid/golf-ball.svg","fontawesome-solid-gopuram":"fontawesome/solid/gopuram.svg","fontawesome-solid-graduation-cap":"fontawesome/solid/graduation-cap.svg","fontawesome-solid-greater-than-equal":"fontawesome/solid/greater-than-equal.svg","fontawesome-solid-greater-than":"fontawesome/solid/greater-than.svg","fontawesome-solid-grimace":"fontawesome/solid/grimace.svg","fontawesome-solid-grin-alt":"fontawesome/solid/grin-alt.svg","fontawesome-solid-grin-beam-sweat":"fontawesome/solid/grin-beam-sweat.svg","fontawesome-solid-grin-beam":"fontawesome/solid/grin-beam.svg","fontawesome-solid-grin-hearts":"fontawesome/solid/grin-hearts.svg","fontawesome-solid-grin-squint-tears":"fontawesome/solid/grin-squint-tears.svg","fontawesome-solid-grin-squint":"fontawesome/solid/grin-squint.svg","fontawesome-solid-grin-stars":"fontawesome/solid/grin-stars.svg","fontawesome-solid-grin-tears":"fontawesome/solid/grin-tears.svg","fontawesome-solid-grin-tongue-squint":"fontawesome/solid/grin-tongue-squint.svg","fontawesome-solid-grin-tongue-wink":"fontawesome/solid/grin-tongue-wink.svg","fontawesome-solid-grin-tongue":"fontawesome/solid/grin-tongue.svg","fontawesome-solid-grin-wink":"fontawesome/solid/grin-wink.svg","fontawesome-solid-grin":"fontawesome/solid/grin.svg","fontawesome-solid-grip-horizontal":"fontawesome/solid/grip-horizontal.svg","fontawesome-solid-grip-lines-vertical":"fontawesome/solid/grip-lines-vertical.svg","fontawesome-solid-grip-lines":"fontawesome/solid/grip-lines.svg","fontawesome-solid-grip-vertical":"fontawesome/solid/grip-vertical.svg","fontawesome-solid-guitar":"fontawesome/solid/guitar.svg","fontawesome-solid-h-square":"fontawesome/solid/h-square.svg","fontawesome-solid-hamburger":"fontawesome/solid/hamburger.svg","fontawesome-solid-hammer":"fontawesome/solid/hammer.svg","fontawesome-solid-hamsa":"fontawesome/solid/hamsa.svg","fontawesome-solid-hand-holding-heart":"fontawesome/solid/hand-holding-heart.svg","fontawesome-solid-hand-holding-medical":"fontawesome/solid/hand-holding-medical.svg","fontawesome-solid-hand-holding-usd":"fontawesome/solid/hand-holding-usd.svg","fontawesome-solid-hand-holding-water":"fontawesome/solid/hand-holding-water.svg","fontawesome-solid-hand-holding":"fontawesome/solid/hand-holding.svg","fontawesome-solid-hand-lizard":"fontawesome/solid/hand-lizard.svg","fontawesome-solid-hand-middle-finger":"fontawesome/solid/hand-middle-finger.svg","fontawesome-solid-hand-paper":"fontawesome/solid/hand-paper.svg","fontawesome-solid-hand-peace":"fontawesome/solid/hand-peace.svg","fontawesome-solid-hand-point-down":"fontawesome/solid/hand-point-down.svg","fontawesome-solid-hand-point-left":"fontawesome/solid/hand-point-left.svg","fontawesome-solid-hand-point-right":"fontawesome/solid/hand-point-right.svg","fontawesome-solid-hand-point-up":"fontawesome/solid/hand-point-up.svg","fontawesome-solid-hand-pointer":"fontawesome/solid/hand-pointer.svg","fontawesome-solid-hand-rock":"fontawesome/solid/hand-rock.svg","fontawesome-solid-hand-scissors":"fontawesome/solid/hand-scissors.svg","fontawesome-solid-hand-sparkles":"fontawesome/solid/hand-sparkles.svg","fontawesome-solid-hand-spock":"fontawesome/solid/hand-spock.svg","fontawesome-solid-hands-helping":"fontawesome/solid/hands-helping.svg","fontawesome-solid-hands-wash":"fontawesome/solid/hands-wash.svg","fontawesome-solid-hands":"fontawesome/solid/hands.svg","fontawesome-solid-handshake-alt-slash":"fontawesome/solid/handshake-alt-slash.svg","fontawesome-solid-handshake-slash":"fontawesome/solid/handshake-slash.svg","fontawesome-solid-handshake":"fontawesome/solid/handshake.svg","fontawesome-solid-hanukiah":"fontawesome/solid/hanukiah.svg","fontawesome-solid-hard-hat":"fontawesome/solid/hard-hat.svg","fontawesome-solid-hashtag":"fontawesome/solid/hashtag.svg","fontawesome-solid-hat-cowboy-side":"fontawesome/solid/hat-cowboy-side.svg","fontawesome-solid-hat-cowboy":"fontawesome/solid/hat-cowboy.svg","fontawesome-solid-hat-wizard":"fontawesome/solid/hat-wizard.svg","fontawesome-solid-hdd":"fontawesome/solid/hdd.svg","fontawesome-solid-head-side-cough-slash":"fontawesome/solid/head-side-cough-slash.svg","fontawesome-solid-head-side-cough":"fontawesome/solid/head-side-cough.svg","fontawesome-solid-head-side-mask":"fontawesome/solid/head-side-mask.svg","fontawesome-solid-head-side-virus":"fontawesome/solid/head-side-virus.svg","fontawesome-solid-heading":"fontawesome/solid/heading.svg","fontawesome-solid-headphones-alt":"fontawesome/solid/headphones-alt.svg","fontawesome-solid-headphones":"fontawesome/solid/headphones.svg","fontawesome-solid-headset":"fontawesome/solid/headset.svg","fontawesome-solid-heart-broken":"fontawesome/solid/heart-broken.svg","fontawesome-solid-heart":"fontawesome/solid/heart.svg","fontawesome-solid-heartbeat":"fontawesome/solid/heartbeat.svg","fontawesome-solid-helicopter":"fontawesome/solid/helicopter.svg","fontawesome-solid-highlighter":"fontawesome/solid/highlighter.svg","fontawesome-solid-hiking":"fontawesome/solid/hiking.svg","fontawesome-solid-hippo":"fontawesome/solid/hippo.svg","fontawesome-solid-history":"fontawesome/solid/history.svg","fontawesome-solid-hockey-puck":"fontawesome/solid/hockey-puck.svg","fontawesome-solid-holly-berry":"fontawesome/solid/holly-berry.svg","fontawesome-solid-home":"fontawesome/solid/home.svg","fontawesome-solid-horse-head":"fontawesome/solid/horse-head.svg","fontawesome-solid-horse":"fontawesome/solid/horse.svg","fontawesome-solid-hospital-alt":"fontawesome/solid/hospital-alt.svg","fontawesome-solid-hospital-symbol":"fontawesome/solid/hospital-symbol.svg","fontawesome-solid-hospital-user":"fontawesome/solid/hospital-user.svg","fontawesome-solid-hospital":"fontawesome/solid/hospital.svg","fontawesome-solid-hot-tub":"fontawesome/solid/hot-tub.svg","fontawesome-solid-hotdog":"fontawesome/solid/hotdog.svg","fontawesome-solid-hotel":"fontawesome/solid/hotel.svg","fontawesome-solid-hourglass-end":"fontawesome/solid/hourglass-end.svg","fontawesome-solid-hourglass-half":"fontawesome/solid/hourglass-half.svg","fontawesome-solid-hourglass-start":"fontawesome/solid/hourglass-start.svg","fontawesome-solid-hourglass":"fontawesome/solid/hourglass.svg","fontawesome-solid-house-damage":"fontawesome/solid/house-damage.svg","fontawesome-solid-house-user":"fontawesome/solid/house-user.svg","fontawesome-solid-hryvnia":"fontawesome/solid/hryvnia.svg","fontawesome-solid-i-cursor":"fontawesome/solid/i-cursor.svg","fontawesome-solid-ice-cream":"fontawesome/solid/ice-cream.svg","fontawesome-solid-icicles":"fontawesome/solid/icicles.svg","fontawesome-solid-icons":"fontawesome/solid/icons.svg","fontawesome-solid-id-badge":"fontawesome/solid/id-badge.svg","fontawesome-solid-id-card-alt":"fontawesome/solid/id-card-alt.svg","fontawesome-solid-id-card":"fontawesome/solid/id-card.svg","fontawesome-solid-igloo":"fontawesome/solid/igloo.svg","fontawesome-solid-image":"fontawesome/solid/image.svg","fontawesome-solid-images":"fontawesome/solid/images.svg","fontawesome-solid-inbox":"fontawesome/solid/inbox.svg","fontawesome-solid-indent":"fontawesome/solid/indent.svg","fontawesome-solid-industry":"fontawesome/solid/industry.svg","fontawesome-solid-infinity":"fontawesome/solid/infinity.svg","fontawesome-solid-info-circle":"fontawesome/solid/info-circle.svg","fontawesome-solid-info":"fontawesome/solid/info.svg","fontawesome-solid-italic":"fontawesome/solid/italic.svg","fontawesome-solid-jedi":"fontawesome/solid/jedi.svg","fontawesome-solid-joint":"fontawesome/solid/joint.svg","fontawesome-solid-journal-whills":"fontawesome/solid/journal-whills.svg","fontawesome-solid-kaaba":"fontawesome/solid/kaaba.svg","fontawesome-solid-key":"fontawesome/solid/key.svg","fontawesome-solid-keyboard":"fontawesome/solid/keyboard.svg","fontawesome-solid-khanda":"fontawesome/solid/khanda.svg","fontawesome-solid-kiss-beam":"fontawesome/solid/kiss-beam.svg","fontawesome-solid-kiss-wink-heart":"fontawesome/solid/kiss-wink-heart.svg","fontawesome-solid-kiss":"fontawesome/solid/kiss.svg","fontawesome-solid-kiwi-bird":"fontawesome/solid/kiwi-bird.svg","fontawesome-solid-landmark":"fontawesome/solid/landmark.svg","fontawesome-solid-language":"fontawesome/solid/language.svg","fontawesome-solid-laptop-code":"fontawesome/solid/laptop-code.svg","fontawesome-solid-laptop-house":"fontawesome/solid/laptop-house.svg","fontawesome-solid-laptop-medical":"fontawesome/solid/laptop-medical.svg","fontawesome-solid-laptop":"fontawesome/solid/laptop.svg","fontawesome-solid-laugh-beam":"fontawesome/solid/laugh-beam.svg","fontawesome-solid-laugh-squint":"fontawesome/solid/laugh-squint.svg","fontawesome-solid-laugh-wink":"fontawesome/solid/laugh-wink.svg","fontawesome-solid-laugh":"fontawesome/solid/laugh.svg","fontawesome-solid-layer-group":"fontawesome/solid/layer-group.svg","fontawesome-solid-leaf":"fontawesome/solid/leaf.svg","fontawesome-solid-lemon":"fontawesome/solid/lemon.svg","fontawesome-solid-less-than-equal":"fontawesome/solid/less-than-equal.svg","fontawesome-solid-less-than":"fontawesome/solid/less-than.svg","fontawesome-solid-level-down-alt":"fontawesome/solid/level-down-alt.svg","fontawesome-solid-level-up-alt":"fontawesome/solid/level-up-alt.svg","fontawesome-solid-life-ring":"fontawesome/solid/life-ring.svg","fontawesome-solid-lightbulb":"fontawesome/solid/lightbulb.svg","fontawesome-solid-link":"fontawesome/solid/link.svg","fontawesome-solid-lira-sign":"fontawesome/solid/lira-sign.svg","fontawesome-solid-list-alt":"fontawesome/solid/list-alt.svg","fontawesome-solid-list-ol":"fontawesome/solid/list-ol.svg","fontawesome-solid-list-ul":"fontawesome/solid/list-ul.svg","fontawesome-solid-list":"fontawesome/solid/list.svg","fontawesome-solid-location-arrow":"fontawesome/solid/location-arrow.svg","fontawesome-solid-lock-open":"fontawesome/solid/lock-open.svg","fontawesome-solid-lock":"fontawesome/solid/lock.svg","fontawesome-solid-long-arrow-alt-down":"fontawesome/solid/long-arrow-alt-down.svg","fontawesome-solid-long-arrow-alt-left":"fontawesome/solid/long-arrow-alt-left.svg","fontawesome-solid-long-arrow-alt-right":"fontawesome/solid/long-arrow-alt-right.svg","fontawesome-solid-long-arrow-alt-up":"fontawesome/solid/long-arrow-alt-up.svg","fontawesome-solid-low-vision":"fontawesome/solid/low-vision.svg","fontawesome-solid-luggage-cart":"fontawesome/solid/luggage-cart.svg","fontawesome-solid-lungs-virus":"fontawesome/solid/lungs-virus.svg","fontawesome-solid-lungs":"fontawesome/solid/lungs.svg","fontawesome-solid-magic":"fontawesome/solid/magic.svg","fontawesome-solid-magnet":"fontawesome/solid/magnet.svg","fontawesome-solid-mail-bulk":"fontawesome/solid/mail-bulk.svg","fontawesome-solid-male":"fontawesome/solid/male.svg","fontawesome-solid-map-marked-alt":"fontawesome/solid/map-marked-alt.svg","fontawesome-solid-map-marked":"fontawesome/solid/map-marked.svg","fontawesome-solid-map-marker-alt":"fontawesome/solid/map-marker-alt.svg","fontawesome-solid-map-marker":"fontawesome/solid/map-marker.svg","fontawesome-solid-map-pin":"fontawesome/solid/map-pin.svg","fontawesome-solid-map-signs":"fontawesome/solid/map-signs.svg","fontawesome-solid-map":"fontawesome/solid/map.svg","fontawesome-solid-marker":"fontawesome/solid/marker.svg","fontawesome-solid-mars-double":"fontawesome/solid/mars-double.svg","fontawesome-solid-mars-stroke-h":"fontawesome/solid/mars-stroke-h.svg","fontawesome-solid-mars-stroke-v":"fontawesome/solid/mars-stroke-v.svg","fontawesome-solid-mars-stroke":"fontawesome/solid/mars-stroke.svg","fontawesome-solid-mars":"fontawesome/solid/mars.svg","fontawesome-solid-mask":"fontawesome/solid/mask.svg","fontawesome-solid-medal":"fontawesome/solid/medal.svg","fontawesome-solid-medkit":"fontawesome/solid/medkit.svg","fontawesome-solid-meh-blank":"fontawesome/solid/meh-blank.svg","fontawesome-solid-meh-rolling-eyes":"fontawesome/solid/meh-rolling-eyes.svg","fontawesome-solid-meh":"fontawesome/solid/meh.svg","fontawesome-solid-memory":"fontawesome/solid/memory.svg","fontawesome-solid-menorah":"fontawesome/solid/menorah.svg","fontawesome-solid-mercury":"fontawesome/solid/mercury.svg","fontawesome-solid-meteor":"fontawesome/solid/meteor.svg","fontawesome-solid-microchip":"fontawesome/solid/microchip.svg","fontawesome-solid-microphone-alt-slash":"fontawesome/solid/microphone-alt-slash.svg","fontawesome-solid-microphone-alt":"fontawesome/solid/microphone-alt.svg","fontawesome-solid-microphone-slash":"fontawesome/solid/microphone-slash.svg","fontawesome-solid-microphone":"fontawesome/solid/microphone.svg","fontawesome-solid-microscope":"fontawesome/solid/microscope.svg","fontawesome-solid-minus-circle":"fontawesome/solid/minus-circle.svg","fontawesome-solid-minus-square":"fontawesome/solid/minus-square.svg","fontawesome-solid-minus":"fontawesome/solid/minus.svg","fontawesome-solid-mitten":"fontawesome/solid/mitten.svg","fontawesome-solid-mobile-alt":"fontawesome/solid/mobile-alt.svg","fontawesome-solid-mobile":"fontawesome/solid/mobile.svg","fontawesome-solid-money-bill-alt":"fontawesome/solid/money-bill-alt.svg","fontawesome-solid-money-bill-wave-alt":"fontawesome/solid/money-bill-wave-alt.svg","fontawesome-solid-money-bill-wave":"fontawesome/solid/money-bill-wave.svg","fontawesome-solid-money-bill":"fontawesome/solid/money-bill.svg","fontawesome-solid-money-check-alt":"fontawesome/solid/money-check-alt.svg","fontawesome-solid-money-check":"fontawesome/solid/money-check.svg","fontawesome-solid-monument":"fontawesome/solid/monument.svg","fontawesome-solid-moon":"fontawesome/solid/moon.svg","fontawesome-solid-mortar-pestle":"fontawesome/solid/mortar-pestle.svg","fontawesome-solid-mosque":"fontawesome/solid/mosque.svg","fontawesome-solid-motorcycle":"fontawesome/solid/motorcycle.svg","fontawesome-solid-mountain":"fontawesome/solid/mountain.svg","fontawesome-solid-mouse-pointer":"fontawesome/solid/mouse-pointer.svg","fontawesome-solid-mouse":"fontawesome/solid/mouse.svg","fontawesome-solid-mug-hot":"fontawesome/solid/mug-hot.svg","fontawesome-solid-music":"fontawesome/solid/music.svg","fontawesome-solid-network-wired":"fontawesome/solid/network-wired.svg","fontawesome-solid-neuter":"fontawesome/solid/neuter.svg","fontawesome-solid-newspaper":"fontawesome/solid/newspaper.svg","fontawesome-solid-not-equal":"fontawesome/solid/not-equal.svg","fontawesome-solid-notes-medical":"fontawesome/solid/notes-medical.svg","fontawesome-solid-object-group":"fontawesome/solid/object-group.svg","fontawesome-solid-object-ungroup":"fontawesome/solid/object-ungroup.svg","fontawesome-solid-oil-can":"fontawesome/solid/oil-can.svg","fontawesome-solid-om":"fontawesome/solid/om.svg","fontawesome-solid-otter":"fontawesome/solid/otter.svg","fontawesome-solid-outdent":"fontawesome/solid/outdent.svg","fontawesome-solid-pager":"fontawesome/solid/pager.svg","fontawesome-solid-paint-brush":"fontawesome/solid/paint-brush.svg","fontawesome-solid-paint-roller":"fontawesome/solid/paint-roller.svg","fontawesome-solid-palette":"fontawesome/solid/palette.svg","fontawesome-solid-pallet":"fontawesome/solid/pallet.svg","fontawesome-solid-paper-plane":"fontawesome/solid/paper-plane.svg","fontawesome-solid-paperclip":"fontawesome/solid/paperclip.svg","fontawesome-solid-parachute-box":"fontawesome/solid/parachute-box.svg","fontawesome-solid-paragraph":"fontawesome/solid/paragraph.svg","fontawesome-solid-parking":"fontawesome/solid/parking.svg","fontawesome-solid-passport":"fontawesome/solid/passport.svg","fontawesome-solid-pastafarianism":"fontawesome/solid/pastafarianism.svg","fontawesome-solid-paste":"fontawesome/solid/paste.svg","fontawesome-solid-pause-circle":"fontawesome/solid/pause-circle.svg","fontawesome-solid-pause":"fontawesome/solid/pause.svg","fontawesome-solid-paw":"fontawesome/solid/paw.svg","fontawesome-solid-peace":"fontawesome/solid/peace.svg","fontawesome-solid-pen-alt":"fontawesome/solid/pen-alt.svg","fontawesome-solid-pen-fancy":"fontawesome/solid/pen-fancy.svg","fontawesome-solid-pen-nib":"fontawesome/solid/pen-nib.svg","fontawesome-solid-pen-square":"fontawesome/solid/pen-square.svg","fontawesome-solid-pen":"fontawesome/solid/pen.svg","fontawesome-solid-pencil-alt":"fontawesome/solid/pencil-alt.svg","fontawesome-solid-pencil-ruler":"fontawesome/solid/pencil-ruler.svg","fontawesome-solid-people-arrows":"fontawesome/solid/people-arrows.svg","fontawesome-solid-people-carry":"fontawesome/solid/people-carry.svg","fontawesome-solid-pepper-hot":"fontawesome/solid/pepper-hot.svg","fontawesome-solid-percent":"fontawesome/solid/percent.svg","fontawesome-solid-percentage":"fontawesome/solid/percentage.svg","fontawesome-solid-person-booth":"fontawesome/solid/person-booth.svg","fontawesome-solid-phone-alt":"fontawesome/solid/phone-alt.svg","fontawesome-solid-phone-slash":"fontawesome/solid/phone-slash.svg","fontawesome-solid-phone-square-alt":"fontawesome/solid/phone-square-alt.svg","fontawesome-solid-phone-square":"fontawesome/solid/phone-square.svg","fontawesome-solid-phone-volume":"fontawesome/solid/phone-volume.svg","fontawesome-solid-phone":"fontawesome/solid/phone.svg","fontawesome-solid-photo-video":"fontawesome/solid/photo-video.svg","fontawesome-solid-piggy-bank":"fontawesome/solid/piggy-bank.svg","fontawesome-solid-pills":"fontawesome/solid/pills.svg","fontawesome-solid-pizza-slice":"fontawesome/solid/pizza-slice.svg","fontawesome-solid-place-of-worship":"fontawesome/solid/place-of-worship.svg","fontawesome-solid-plane-arrival":"fontawesome/solid/plane-arrival.svg","fontawesome-solid-plane-departure":"fontawesome/solid/plane-departure.svg","fontawesome-solid-plane-slash":"fontawesome/solid/plane-slash.svg","fontawesome-solid-plane":"fontawesome/solid/plane.svg","fontawesome-solid-play-circle":"fontawesome/solid/play-circle.svg","fontawesome-solid-play":"fontawesome/solid/play.svg","fontawesome-solid-plug":"fontawesome/solid/plug.svg","fontawesome-solid-plus-circle":"fontawesome/solid/plus-circle.svg","fontawesome-solid-plus-square":"fontawesome/solid/plus-square.svg","fontawesome-solid-plus":"fontawesome/solid/plus.svg","fontawesome-solid-podcast":"fontawesome/solid/podcast.svg","fontawesome-solid-poll-h":"fontawesome/solid/poll-h.svg","fontawesome-solid-poll":"fontawesome/solid/poll.svg","fontawesome-solid-poo-storm":"fontawesome/solid/poo-storm.svg","fontawesome-solid-poo":"fontawesome/solid/poo.svg","fontawesome-solid-poop":"fontawesome/solid/poop.svg","fontawesome-solid-portrait":"fontawesome/solid/portrait.svg","fontawesome-solid-pound-sign":"fontawesome/solid/pound-sign.svg","fontawesome-solid-power-off":"fontawesome/solid/power-off.svg","fontawesome-solid-pray":"fontawesome/solid/pray.svg","fontawesome-solid-praying-hands":"fontawesome/solid/praying-hands.svg","fontawesome-solid-prescription-bottle-alt":"fontawesome/solid/prescription-bottle-alt.svg","fontawesome-solid-prescription-bottle":"fontawesome/solid/prescription-bottle.svg","fontawesome-solid-prescription":"fontawesome/solid/prescription.svg","fontawesome-solid-print":"fontawesome/solid/print.svg","fontawesome-solid-procedures":"fontawesome/solid/procedures.svg","fontawesome-solid-project-diagram":"fontawesome/solid/project-diagram.svg","fontawesome-solid-pump-medical":"fontawesome/solid/pump-medical.svg","fontawesome-solid-pump-soap":"fontawesome/solid/pump-soap.svg","fontawesome-solid-puzzle-piece":"fontawesome/solid/puzzle-piece.svg","fontawesome-solid-qrcode":"fontawesome/solid/qrcode.svg","fontawesome-solid-question-circle":"fontawesome/solid/question-circle.svg","fontawesome-solid-question":"fontawesome/solid/question.svg","fontawesome-solid-quidditch":"fontawesome/solid/quidditch.svg","fontawesome-solid-quote-left":"fontawesome/solid/quote-left.svg","fontawesome-solid-quote-right":"fontawesome/solid/quote-right.svg","fontawesome-solid-quran":"fontawesome/solid/quran.svg","fontawesome-solid-radiation-alt":"fontawesome/solid/radiation-alt.svg","fontawesome-solid-radiation":"fontawesome/solid/radiation.svg","fontawesome-solid-rainbow":"fontawesome/solid/rainbow.svg","fontawesome-solid-random":"fontawesome/solid/random.svg","fontawesome-solid-receipt":"fontawesome/solid/receipt.svg","fontawesome-solid-record-vinyl":"fontawesome/solid/record-vinyl.svg","fontawesome-solid-recycle":"fontawesome/solid/recycle.svg","fontawesome-solid-redo-alt":"fontawesome/solid/redo-alt.svg","fontawesome-solid-redo":"fontawesome/solid/redo.svg","fontawesome-solid-registered":"fontawesome/solid/registered.svg","fontawesome-solid-remove-format":"fontawesome/solid/remove-format.svg","fontawesome-solid-reply-all":"fontawesome/solid/reply-all.svg","fontawesome-solid-reply":"fontawesome/solid/reply.svg","fontawesome-solid-republican":"fontawesome/solid/republican.svg","fontawesome-solid-restroom":"fontawesome/solid/restroom.svg","fontawesome-solid-retweet":"fontawesome/solid/retweet.svg","fontawesome-solid-ribbon":"fontawesome/solid/ribbon.svg","fontawesome-solid-ring":"fontawesome/solid/ring.svg","fontawesome-solid-road":"fontawesome/solid/road.svg","fontawesome-solid-robot":"fontawesome/solid/robot.svg","fontawesome-solid-rocket":"fontawesome/solid/rocket.svg","fontawesome-solid-route":"fontawesome/solid/route.svg","fontawesome-solid-rss-square":"fontawesome/solid/rss-square.svg","fontawesome-solid-rss":"fontawesome/solid/rss.svg","fontawesome-solid-ruble-sign":"fontawesome/solid/ruble-sign.svg","fontawesome-solid-ruler-combined":"fontawesome/solid/ruler-combined.svg","fontawesome-solid-ruler-horizontal":"fontawesome/solid/ruler-horizontal.svg","fontawesome-solid-ruler-vertical":"fontawesome/solid/ruler-vertical.svg","fontawesome-solid-ruler":"fontawesome/solid/ruler.svg","fontawesome-solid-running":"fontawesome/solid/running.svg","fontawesome-solid-rupee-sign":"fontawesome/solid/rupee-sign.svg","fontawesome-solid-sad-cry":"fontawesome/solid/sad-cry.svg","fontawesome-solid-sad-tear":"fontawesome/solid/sad-tear.svg","fontawesome-solid-satellite-dish":"fontawesome/solid/satellite-dish.svg","fontawesome-solid-satellite":"fontawesome/solid/satellite.svg","fontawesome-solid-save":"fontawesome/solid/save.svg","fontawesome-solid-school":"fontawesome/solid/school.svg","fontawesome-solid-screwdriver":"fontawesome/solid/screwdriver.svg","fontawesome-solid-scroll":"fontawesome/solid/scroll.svg","fontawesome-solid-sd-card":"fontawesome/solid/sd-card.svg","fontawesome-solid-search-dollar":"fontawesome/solid/search-dollar.svg","fontawesome-solid-search-location":"fontawesome/solid/search-location.svg","fontawesome-solid-search-minus":"fontawesome/solid/search-minus.svg","fontawesome-solid-search-plus":"fontawesome/solid/search-plus.svg","fontawesome-solid-search":"fontawesome/solid/search.svg","fontawesome-solid-seedling":"fontawesome/solid/seedling.svg","fontawesome-solid-server":"fontawesome/solid/server.svg","fontawesome-solid-shapes":"fontawesome/solid/shapes.svg","fontawesome-solid-share-alt-square":"fontawesome/solid/share-alt-square.svg","fontawesome-solid-share-alt":"fontawesome/solid/share-alt.svg","fontawesome-solid-share-square":"fontawesome/solid/share-square.svg","fontawesome-solid-share":"fontawesome/solid/share.svg","fontawesome-solid-shekel-sign":"fontawesome/solid/shekel-sign.svg","fontawesome-solid-shield-alt":"fontawesome/solid/shield-alt.svg","fontawesome-solid-shield-virus":"fontawesome/solid/shield-virus.svg","fontawesome-solid-ship":"fontawesome/solid/ship.svg","fontawesome-solid-shipping-fast":"fontawesome/solid/shipping-fast.svg","fontawesome-solid-shoe-prints":"fontawesome/solid/shoe-prints.svg","fontawesome-solid-shopping-bag":"fontawesome/solid/shopping-bag.svg","fontawesome-solid-shopping-basket":"fontawesome/solid/shopping-basket.svg","fontawesome-solid-shopping-cart":"fontawesome/solid/shopping-cart.svg","fontawesome-solid-shower":"fontawesome/solid/shower.svg","fontawesome-solid-shuttle-van":"fontawesome/solid/shuttle-van.svg","fontawesome-solid-sign-in-alt":"fontawesome/solid/sign-in-alt.svg","fontawesome-solid-sign-language":"fontawesome/solid/sign-language.svg","fontawesome-solid-sign-out-alt":"fontawesome/solid/sign-out-alt.svg","fontawesome-solid-sign":"fontawesome/solid/sign.svg","fontawesome-solid-signal":"fontawesome/solid/signal.svg","fontawesome-solid-signature":"fontawesome/solid/signature.svg","fontawesome-solid-sim-card":"fontawesome/solid/sim-card.svg","fontawesome-solid-sink":"fontawesome/solid/sink.svg","fontawesome-solid-sitemap":"fontawesome/solid/sitemap.svg","fontawesome-solid-skating":"fontawesome/solid/skating.svg","fontawesome-solid-skiing-nordic":"fontawesome/solid/skiing-nordic.svg","fontawesome-solid-skiing":"fontawesome/solid/skiing.svg","fontawesome-solid-skull-crossbones":"fontawesome/solid/skull-crossbones.svg","fontawesome-solid-skull":"fontawesome/solid/skull.svg","fontawesome-solid-slash":"fontawesome/solid/slash.svg","fontawesome-solid-sleigh":"fontawesome/solid/sleigh.svg","fontawesome-solid-sliders-h":"fontawesome/solid/sliders-h.svg","fontawesome-solid-smile-beam":"fontawesome/solid/smile-beam.svg","fontawesome-solid-smile-wink":"fontawesome/solid/smile-wink.svg","fontawesome-solid-smile":"fontawesome/solid/smile.svg","fontawesome-solid-smog":"fontawesome/solid/smog.svg","fontawesome-solid-smoking-ban":"fontawesome/solid/smoking-ban.svg","fontawesome-solid-smoking":"fontawesome/solid/smoking.svg","fontawesome-solid-sms":"fontawesome/solid/sms.svg","fontawesome-solid-snowboarding":"fontawesome/solid/snowboarding.svg","fontawesome-solid-snowflake":"fontawesome/solid/snowflake.svg","fontawesome-solid-snowman":"fontawesome/solid/snowman.svg","fontawesome-solid-snowplow":"fontawesome/solid/snowplow.svg","fontawesome-solid-soap":"fontawesome/solid/soap.svg","fontawesome-solid-socks":"fontawesome/solid/socks.svg","fontawesome-solid-solar-panel":"fontawesome/solid/solar-panel.svg","fontawesome-solid-sort-alpha-down-alt":"fontawesome/solid/sort-alpha-down-alt.svg","fontawesome-solid-sort-alpha-down":"fontawesome/solid/sort-alpha-down.svg","fontawesome-solid-sort-alpha-up-alt":"fontawesome/solid/sort-alpha-up-alt.svg","fontawesome-solid-sort-alpha-up":"fontawesome/solid/sort-alpha-up.svg","fontawesome-solid-sort-amount-down-alt":"fontawesome/solid/sort-amount-down-alt.svg","fontawesome-solid-sort-amount-down":"fontawesome/solid/sort-amount-down.svg","fontawesome-solid-sort-amount-up-alt":"fontawesome/solid/sort-amount-up-alt.svg","fontawesome-solid-sort-amount-up":"fontawesome/solid/sort-amount-up.svg","fontawesome-solid-sort-down":"fontawesome/solid/sort-down.svg","fontawesome-solid-sort-numeric-down-alt":"fontawesome/solid/sort-numeric-down-alt.svg","fontawesome-solid-sort-numeric-down":"fontawesome/solid/sort-numeric-down.svg","fontawesome-solid-sort-numeric-up-alt":"fontawesome/solid/sort-numeric-up-alt.svg","fontawesome-solid-sort-numeric-up":"fontawesome/solid/sort-numeric-up.svg","fontawesome-solid-sort-up":"fontawesome/solid/sort-up.svg","fontawesome-solid-sort":"fontawesome/solid/sort.svg","fontawesome-solid-spa":"fontawesome/solid/spa.svg","fontawesome-solid-space-shuttle":"fontawesome/solid/space-shuttle.svg","fontawesome-solid-spell-check":"fontawesome/solid/spell-check.svg","fontawesome-solid-spider":"fontawesome/solid/spider.svg","fontawesome-solid-spinner":"fontawesome/solid/spinner.svg","fontawesome-solid-splotch":"fontawesome/solid/splotch.svg","fontawesome-solid-spray-can":"fontawesome/solid/spray-can.svg","fontawesome-solid-square-full":"fontawesome/solid/square-full.svg","fontawesome-solid-square-root-alt":"fontawesome/solid/square-root-alt.svg","fontawesome-solid-square":"fontawesome/solid/square.svg","fontawesome-solid-stamp":"fontawesome/solid/stamp.svg","fontawesome-solid-star-and-crescent":"fontawesome/solid/star-and-crescent.svg","fontawesome-solid-star-half-alt":"fontawesome/solid/star-half-alt.svg","fontawesome-solid-star-half":"fontawesome/solid/star-half.svg","fontawesome-solid-star-of-david":"fontawesome/solid/star-of-david.svg","fontawesome-solid-star-of-life":"fontawesome/solid/star-of-life.svg","fontawesome-solid-star":"fontawesome/solid/star.svg","fontawesome-solid-step-backward":"fontawesome/solid/step-backward.svg","fontawesome-solid-step-forward":"fontawesome/solid/step-forward.svg","fontawesome-solid-stethoscope":"fontawesome/solid/stethoscope.svg","fontawesome-solid-sticky-note":"fontawesome/solid/sticky-note.svg","fontawesome-solid-stop-circle":"fontawesome/solid/stop-circle.svg","fontawesome-solid-stop":"fontawesome/solid/stop.svg","fontawesome-solid-stopwatch-20":"fontawesome/solid/stopwatch-20.svg","fontawesome-solid-stopwatch":"fontawesome/solid/stopwatch.svg","fontawesome-solid-store-alt-slash":"fontawesome/solid/store-alt-slash.svg","fontawesome-solid-store-alt":"fontawesome/solid/store-alt.svg","fontawesome-solid-store-slash":"fontawesome/solid/store-slash.svg","fontawesome-solid-store":"fontawesome/solid/store.svg","fontawesome-solid-stream":"fontawesome/solid/stream.svg","fontawesome-solid-street-view":"fontawesome/solid/street-view.svg","fontawesome-solid-strikethrough":"fontawesome/solid/strikethrough.svg","fontawesome-solid-stroopwafel":"fontawesome/solid/stroopwafel.svg","fontawesome-solid-subscript":"fontawesome/solid/subscript.svg","fontawesome-solid-subway":"fontawesome/solid/subway.svg","fontawesome-solid-suitcase-rolling":"fontawesome/solid/suitcase-rolling.svg","fontawesome-solid-suitcase":"fontawesome/solid/suitcase.svg","fontawesome-solid-sun":"fontawesome/solid/sun.svg","fontawesome-solid-superscript":"fontawesome/solid/superscript.svg","fontawesome-solid-surprise":"fontawesome/solid/surprise.svg","fontawesome-solid-swatchbook":"fontawesome/solid/swatchbook.svg","fontawesome-solid-swimmer":"fontawesome/solid/swimmer.svg","fontawesome-solid-swimming-pool":"fontawesome/solid/swimming-pool.svg","fontawesome-solid-synagogue":"fontawesome/solid/synagogue.svg","fontawesome-solid-sync-alt":"fontawesome/solid/sync-alt.svg","fontawesome-solid-sync":"fontawesome/solid/sync.svg","fontawesome-solid-syringe":"fontawesome/solid/syringe.svg","fontawesome-solid-table-tennis":"fontawesome/solid/table-tennis.svg","fontawesome-solid-table":"fontawesome/solid/table.svg","fontawesome-solid-tablet-alt":"fontawesome/solid/tablet-alt.svg","fontawesome-solid-tablet":"fontawesome/solid/tablet.svg","fontawesome-solid-tablets":"fontawesome/solid/tablets.svg","fontawesome-solid-tachometer-alt":"fontawesome/solid/tachometer-alt.svg","fontawesome-solid-tag":"fontawesome/solid/tag.svg","fontawesome-solid-tags":"fontawesome/solid/tags.svg","fontawesome-solid-tape":"fontawesome/solid/tape.svg","fontawesome-solid-tasks":"fontawesome/solid/tasks.svg","fontawesome-solid-taxi":"fontawesome/solid/taxi.svg","fontawesome-solid-teeth-open":"fontawesome/solid/teeth-open.svg","fontawesome-solid-teeth":"fontawesome/solid/teeth.svg","fontawesome-solid-temperature-high":"fontawesome/solid/temperature-high.svg","fontawesome-solid-temperature-low":"fontawesome/solid/temperature-low.svg","fontawesome-solid-tenge":"fontawesome/solid/tenge.svg","fontawesome-solid-terminal":"fontawesome/solid/terminal.svg","fontawesome-solid-text-height":"fontawesome/solid/text-height.svg","fontawesome-solid-text-width":"fontawesome/solid/text-width.svg","fontawesome-solid-th-large":"fontawesome/solid/th-large.svg","fontawesome-solid-th-list":"fontawesome/solid/th-list.svg","fontawesome-solid-th":"fontawesome/solid/th.svg","fontawesome-solid-theater-masks":"fontawesome/solid/theater-masks.svg","fontawesome-solid-thermometer-empty":"fontawesome/solid/thermometer-empty.svg","fontawesome-solid-thermometer-full":"fontawesome/solid/thermometer-full.svg","fontawesome-solid-thermometer-half":"fontawesome/solid/thermometer-half.svg","fontawesome-solid-thermometer-quarter":"fontawesome/solid/thermometer-quarter.svg","fontawesome-solid-thermometer-three-quarters":"fontawesome/solid/thermometer-three-quarters.svg","fontawesome-solid-thermometer":"fontawesome/solid/thermometer.svg","fontawesome-solid-thumbs-down":"fontawesome/solid/thumbs-down.svg","fontawesome-solid-thumbs-up":"fontawesome/solid/thumbs-up.svg","fontawesome-solid-thumbtack":"fontawesome/solid/thumbtack.svg","fontawesome-solid-ticket-alt":"fontawesome/solid/ticket-alt.svg","fontawesome-solid-times-circle":"fontawesome/solid/times-circle.svg","fontawesome-solid-times":"fontawesome/solid/times.svg","fontawesome-solid-tint-slash":"fontawesome/solid/tint-slash.svg","fontawesome-solid-tint":"fontawesome/solid/tint.svg","fontawesome-solid-tired":"fontawesome/solid/tired.svg","fontawesome-solid-toggle-off":"fontawesome/solid/toggle-off.svg","fontawesome-solid-toggle-on":"fontawesome/solid/toggle-on.svg","fontawesome-solid-toilet-paper-slash":"fontawesome/solid/toilet-paper-slash.svg","fontawesome-solid-toilet-paper":"fontawesome/solid/toilet-paper.svg","fontawesome-solid-toilet":"fontawesome/solid/toilet.svg","fontawesome-solid-toolbox":"fontawesome/solid/toolbox.svg","fontawesome-solid-tools":"fontawesome/solid/tools.svg","fontawesome-solid-tooth":"fontawesome/solid/tooth.svg","fontawesome-solid-torah":"fontawesome/solid/torah.svg","fontawesome-solid-torii-gate":"fontawesome/solid/torii-gate.svg","fontawesome-solid-tractor":"fontawesome/solid/tractor.svg","fontawesome-solid-trademark":"fontawesome/solid/trademark.svg","fontawesome-solid-traffic-light":"fontawesome/solid/traffic-light.svg","fontawesome-solid-trailer":"fontawesome/solid/trailer.svg","fontawesome-solid-train":"fontawesome/solid/train.svg","fontawesome-solid-tram":"fontawesome/solid/tram.svg","fontawesome-solid-transgender-alt":"fontawesome/solid/transgender-alt.svg","fontawesome-solid-transgender":"fontawesome/solid/transgender.svg","fontawesome-solid-trash-alt":"fontawesome/solid/trash-alt.svg","fontawesome-solid-trash-restore-alt":"fontawesome/solid/trash-restore-alt.svg","fontawesome-solid-trash-restore":"fontawesome/solid/trash-restore.svg","fontawesome-solid-trash":"fontawesome/solid/trash.svg","fontawesome-solid-tree":"fontawesome/solid/tree.svg","fontawesome-solid-trophy":"fontawesome/solid/trophy.svg","fontawesome-solid-truck-loading":"fontawesome/solid/truck-loading.svg","fontawesome-solid-truck-monster":"fontawesome/solid/truck-monster.svg","fontawesome-solid-truck-moving":"fontawesome/solid/truck-moving.svg","fontawesome-solid-truck-pickup":"fontawesome/solid/truck-pickup.svg","fontawesome-solid-truck":"fontawesome/solid/truck.svg","fontawesome-solid-tshirt":"fontawesome/solid/tshirt.svg","fontawesome-solid-tty":"fontawesome/solid/tty.svg","fontawesome-solid-tv":"fontawesome/solid/tv.svg","fontawesome-solid-umbrella-beach":"fontawesome/solid/umbrella-beach.svg","fontawesome-solid-umbrella":"fontawesome/solid/umbrella.svg","fontawesome-solid-underline":"fontawesome/solid/underline.svg","fontawesome-solid-undo-alt":"fontawesome/solid/undo-alt.svg","fontawesome-solid-undo":"fontawesome/solid/undo.svg","fontawesome-solid-universal-access":"fontawesome/solid/universal-access.svg","fontawesome-solid-university":"fontawesome/solid/university.svg","fontawesome-solid-unlink":"fontawesome/solid/unlink.svg","fontawesome-solid-unlock-alt":"fontawesome/solid/unlock-alt.svg","fontawesome-solid-unlock":"fontawesome/solid/unlock.svg","fontawesome-solid-upload":"fontawesome/solid/upload.svg","fontawesome-solid-user-alt-slash":"fontawesome/solid/user-alt-slash.svg","fontawesome-solid-user-alt":"fontawesome/solid/user-alt.svg","fontawesome-solid-user-astronaut":"fontawesome/solid/user-astronaut.svg","fontawesome-solid-user-check":"fontawesome/solid/user-check.svg","fontawesome-solid-user-circle":"fontawesome/solid/user-circle.svg","fontawesome-solid-user-clock":"fontawesome/solid/user-clock.svg","fontawesome-solid-user-cog":"fontawesome/solid/user-cog.svg","fontawesome-solid-user-edit":"fontawesome/solid/user-edit.svg","fontawesome-solid-user-friends":"fontawesome/solid/user-friends.svg","fontawesome-solid-user-graduate":"fontawesome/solid/user-graduate.svg","fontawesome-solid-user-injured":"fontawesome/solid/user-injured.svg","fontawesome-solid-user-lock":"fontawesome/solid/user-lock.svg","fontawesome-solid-user-md":"fontawesome/solid/user-md.svg","fontawesome-solid-user-minus":"fontawesome/solid/user-minus.svg","fontawesome-solid-user-ninja":"fontawesome/solid/user-ninja.svg","fontawesome-solid-user-nurse":"fontawesome/solid/user-nurse.svg","fontawesome-solid-user-plus":"fontawesome/solid/user-plus.svg","fontawesome-solid-user-secret":"fontawesome/solid/user-secret.svg","fontawesome-solid-user-shield":"fontawesome/solid/user-shield.svg","fontawesome-solid-user-slash":"fontawesome/solid/user-slash.svg","fontawesome-solid-user-tag":"fontawesome/solid/user-tag.svg","fontawesome-solid-user-tie":"fontawesome/solid/user-tie.svg","fontawesome-solid-user-times":"fontawesome/solid/user-times.svg","fontawesome-solid-user":"fontawesome/solid/user.svg","fontawesome-solid-users-cog":"fontawesome/solid/users-cog.svg","fontawesome-solid-users-slash":"fontawesome/solid/users-slash.svg","fontawesome-solid-users":"fontawesome/solid/users.svg","fontawesome-solid-utensil-spoon":"fontawesome/solid/utensil-spoon.svg","fontawesome-solid-utensils":"fontawesome/solid/utensils.svg","fontawesome-solid-vector-square":"fontawesome/solid/vector-square.svg","fontawesome-solid-venus-double":"fontawesome/solid/venus-double.svg","fontawesome-solid-venus-mars":"fontawesome/solid/venus-mars.svg","fontawesome-solid-venus":"fontawesome/solid/venus.svg","fontawesome-solid-vest-patches":"fontawesome/solid/vest-patches.svg","fontawesome-solid-vest":"fontawesome/solid/vest.svg","fontawesome-solid-vial":"fontawesome/solid/vial.svg","fontawesome-solid-vials":"fontawesome/solid/vials.svg","fontawesome-solid-video-slash":"fontawesome/solid/video-slash.svg","fontawesome-solid-video":"fontawesome/solid/video.svg","fontawesome-solid-vihara":"fontawesome/solid/vihara.svg","fontawesome-solid-virus-slash":"fontawesome/solid/virus-slash.svg","fontawesome-solid-virus":"fontawesome/solid/virus.svg","fontawesome-solid-viruses":"fontawesome/solid/viruses.svg","fontawesome-solid-voicemail":"fontawesome/solid/voicemail.svg","fontawesome-solid-volleyball-ball":"fontawesome/solid/volleyball-ball.svg","fontawesome-solid-volume-down":"fontawesome/solid/volume-down.svg","fontawesome-solid-volume-mute":"fontawesome/solid/volume-mute.svg","fontawesome-solid-volume-off":"fontawesome/solid/volume-off.svg","fontawesome-solid-volume-up":"fontawesome/solid/volume-up.svg","fontawesome-solid-vote-yea":"fontawesome/solid/vote-yea.svg","fontawesome-solid-vr-cardboard":"fontawesome/solid/vr-cardboard.svg","fontawesome-solid-walking":"fontawesome/solid/walking.svg","fontawesome-solid-wallet":"fontawesome/solid/wallet.svg","fontawesome-solid-warehouse":"fontawesome/solid/warehouse.svg","fontawesome-solid-water":"fontawesome/solid/water.svg","fontawesome-solid-wave-square":"fontawesome/solid/wave-square.svg","fontawesome-solid-weight-hanging":"fontawesome/solid/weight-hanging.svg","fontawesome-solid-weight":"fontawesome/solid/weight.svg","fontawesome-solid-wheelchair":"fontawesome/solid/wheelchair.svg","fontawesome-solid-wifi":"fontawesome/solid/wifi.svg","fontawesome-solid-wind":"fontawesome/solid/wind.svg","fontawesome-solid-window-close":"fontawesome/solid/window-close.svg","fontawesome-solid-window-maximize":"fontawesome/solid/window-maximize.svg","fontawesome-solid-window-minimize":"fontawesome/solid/window-minimize.svg","fontawesome-solid-window-restore":"fontawesome/solid/window-restore.svg","fontawesome-solid-wine-bottle":"fontawesome/solid/wine-bottle.svg","fontawesome-solid-wine-glass-alt":"fontawesome/solid/wine-glass-alt.svg","fontawesome-solid-wine-glass":"fontawesome/solid/wine-glass.svg","fontawesome-solid-won-sign":"fontawesome/solid/won-sign.svg","fontawesome-solid-wrench":"fontawesome/solid/wrench.svg","fontawesome-solid-x-ray":"fontawesome/solid/x-ray.svg","fontawesome-solid-yen-sign":"fontawesome/solid/yen-sign.svg","fontawesome-solid-yin-yang":"fontawesome/solid/yin-yang.svg","logo":"logo.svg","material-ab-testing":"material/ab-testing.svg","material-abacus":"material/abacus.svg","material-abjad-arabic":"material/abjad-arabic.svg","material-abjad-hebrew":"material/abjad-hebrew.svg","material-abugida-devanagari":"material/abugida-devanagari.svg","material-abugida-thai":"material/abugida-thai.svg","material-access-point-check":"material/access-point-check.svg","material-access-point-minus":"material/access-point-minus.svg","material-access-point-network-off":"material/access-point-network-off.svg","material-access-point-network":"material/access-point-network.svg","material-access-point-off":"material/access-point-off.svg","material-access-point-plus":"material/access-point-plus.svg","material-access-point-remove":"material/access-point-remove.svg","material-access-point":"material/access-point.svg","material-account-alert-outline":"material/account-alert-outline.svg","material-account-alert":"material/account-alert.svg","material-account-arrow-left-outline":"material/account-arrow-left-outline.svg","material-account-arrow-left":"material/account-arrow-left.svg","material-account-arrow-right-outline":"material/account-arrow-right-outline.svg","material-account-arrow-right":"material/account-arrow-right.svg","material-account-box-multiple-outline":"material/account-box-multiple-outline.svg","material-account-box-multiple":"material/account-box-multiple.svg","material-account-box-outline":"material/account-box-outline.svg","material-account-box":"material/account-box.svg","material-account-cancel-outline":"material/account-cancel-outline.svg","material-account-cancel":"material/account-cancel.svg","material-account-cash-outline":"material/account-cash-outline.svg","material-account-cash":"material/account-cash.svg","material-account-check-outline":"material/account-check-outline.svg","material-account-check":"material/account-check.svg","material-account-child-circle":"material/account-child-circle.svg","material-account-child-outline":"material/account-child-outline.svg","material-account-child":"material/account-child.svg","material-account-circle-outline":"material/account-circle-outline.svg","material-account-circle":"material/account-circle.svg","material-account-clock-outline":"material/account-clock-outline.svg","material-account-clock":"material/account-clock.svg","material-account-cog-outline":"material/account-cog-outline.svg","material-account-cog":"material/account-cog.svg","material-account-convert-outline":"material/account-convert-outline.svg","material-account-convert":"material/account-convert.svg","material-account-cowboy-hat":"material/account-cowboy-hat.svg","material-account-details-outline":"material/account-details-outline.svg","material-account-details":"material/account-details.svg","material-account-edit-outline":"material/account-edit-outline.svg","material-account-edit":"material/account-edit.svg","material-account-group-outline":"material/account-group-outline.svg","material-account-group":"material/account-group.svg","material-account-hard-hat":"material/account-hard-hat.svg","material-account-heart-outline":"material/account-heart-outline.svg","material-account-heart":"material/account-heart.svg","material-account-key-outline":"material/account-key-outline.svg","material-account-key":"material/account-key.svg","material-account-lock-outline":"material/account-lock-outline.svg","material-account-lock":"material/account-lock.svg","material-account-minus-outline":"material/account-minus-outline.svg","material-account-minus":"material/account-minus.svg","material-account-multiple-check-outline":"material/account-multiple-check-outline.svg","material-account-multiple-check":"material/account-multiple-check.svg","material-account-multiple-minus-outline":"material/account-multiple-minus-outline.svg","material-account-multiple-minus":"material/account-multiple-minus.svg","material-account-multiple-outline":"material/account-multiple-outline.svg","material-account-multiple-plus-outline":"material/account-multiple-plus-outline.svg","material-account-multiple-plus":"material/account-multiple-plus.svg","material-account-multiple-remove-outline":"material/account-multiple-remove-outline.svg","material-account-multiple-remove":"material/account-multiple-remove.svg","material-account-multiple":"material/account-multiple.svg","material-account-music-outline":"material/account-music-outline.svg","material-account-music":"material/account-music.svg","material-account-network-outline":"material/account-network-outline.svg","material-account-network":"material/account-network.svg","material-account-off-outline":"material/account-off-outline.svg","material-account-off":"material/account-off.svg","material-account-outline":"material/account-outline.svg","material-account-plus-outline":"material/account-plus-outline.svg","material-account-plus":"material/account-plus.svg","material-account-question-outline":"material/account-question-outline.svg","material-account-question":"material/account-question.svg","material-account-reactivate-outline":"material/account-reactivate-outline.svg","material-account-reactivate":"material/account-reactivate.svg","material-account-remove-outline":"material/account-remove-outline.svg","material-account-remove":"material/account-remove.svg","material-account-search-outline":"material/account-search-outline.svg","material-account-search":"material/account-search.svg","material-account-settings-outline":"material/account-settings-outline.svg","material-account-settings":"material/account-settings.svg","material-account-star-outline":"material/account-star-outline.svg","material-account-star":"material/account-star.svg","material-account-supervisor-circle-outline":"material/account-supervisor-circle-outline.svg","material-account-supervisor-circle":"material/account-supervisor-circle.svg","material-account-supervisor-outline":"material/account-supervisor-outline.svg","material-account-supervisor":"material/account-supervisor.svg","material-account-switch-outline":"material/account-switch-outline.svg","material-account-switch":"material/account-switch.svg","material-account-tie-outline":"material/account-tie-outline.svg","material-account-tie-voice-off-outline":"material/account-tie-voice-off-outline.svg","material-account-tie-voice-off":"material/account-tie-voice-off.svg","material-account-tie-voice-outline":"material/account-tie-voice-outline.svg","material-account-tie-voice":"material/account-tie-voice.svg","material-account-tie":"material/account-tie.svg","material-account-voice":"material/account-voice.svg","material-account":"material/account.svg","material-adjust":"material/adjust.svg","material-adobe-acrobat":"material/adobe-acrobat.svg","material-adobe":"material/adobe.svg","material-air-conditioner":"material/air-conditioner.svg","material-air-filter":"material/air-filter.svg","material-air-horn":"material/air-horn.svg","material-air-humidifier-off":"material/air-humidifier-off.svg","material-air-humidifier":"material/air-humidifier.svg","material-air-purifier":"material/air-purifier.svg","material-airbag":"material/airbag.svg","material-airballoon-outline":"material/airballoon-outline.svg","material-airballoon":"material/airballoon.svg","material-airplane-landing":"material/airplane-landing.svg","material-airplane-off":"material/airplane-off.svg","material-airplane-takeoff":"material/airplane-takeoff.svg","material-airplane":"material/airplane.svg","material-airport":"material/airport.svg","material-alarm-bell":"material/alarm-bell.svg","material-alarm-check":"material/alarm-check.svg","material-alarm-light-off-outline":"material/alarm-light-off-outline.svg","material-alarm-light-off":"material/alarm-light-off.svg","material-alarm-light-outline":"material/alarm-light-outline.svg","material-alarm-light":"material/alarm-light.svg","material-alarm-multiple":"material/alarm-multiple.svg","material-alarm-note-off":"material/alarm-note-off.svg","material-alarm-note":"material/alarm-note.svg","material-alarm-off":"material/alarm-off.svg","material-alarm-panel-outline":"material/alarm-panel-outline.svg","material-alarm-panel":"material/alarm-panel.svg","material-alarm-plus":"material/alarm-plus.svg","material-alarm-snooze":"material/alarm-snooze.svg","material-alarm":"material/alarm.svg","material-album":"material/album.svg","material-alert-box-outline":"material/alert-box-outline.svg","material-alert-box":"material/alert-box.svg","material-alert-circle-check-outline":"material/alert-circle-check-outline.svg","material-alert-circle-check":"material/alert-circle-check.svg","material-alert-circle-outline":"material/alert-circle-outline.svg","material-alert-circle":"material/alert-circle.svg","material-alert-decagram-outline":"material/alert-decagram-outline.svg","material-alert-decagram":"material/alert-decagram.svg","material-alert-minus-outline":"material/alert-minus-outline.svg","material-alert-minus":"material/alert-minus.svg","material-alert-octagon-outline":"material/alert-octagon-outline.svg","material-alert-octagon":"material/alert-octagon.svg","material-alert-octagram-outline":"material/alert-octagram-outline.svg","material-alert-octagram":"material/alert-octagram.svg","material-alert-outline":"material/alert-outline.svg","material-alert-plus-outline":"material/alert-plus-outline.svg","material-alert-plus":"material/alert-plus.svg","material-alert-remove-outline":"material/alert-remove-outline.svg","material-alert-remove":"material/alert-remove.svg","material-alert-rhombus-outline":"material/alert-rhombus-outline.svg","material-alert-rhombus":"material/alert-rhombus.svg","material-alert":"material/alert.svg","material-alien-outline":"material/alien-outline.svg","material-alien":"material/alien.svg","material-align-horizontal-center":"material/align-horizontal-center.svg","material-align-horizontal-left":"material/align-horizontal-left.svg","material-align-horizontal-right":"material/align-horizontal-right.svg","material-align-vertical-bottom":"material/align-vertical-bottom.svg","material-align-vertical-center":"material/align-vertical-center.svg","material-align-vertical-top":"material/align-vertical-top.svg","material-all-inclusive":"material/all-inclusive.svg","material-allergy":"material/allergy.svg","material-alpha-a-box-outline":"material/alpha-a-box-outline.svg","material-alpha-a-box":"material/alpha-a-box.svg","material-alpha-a-circle-outline":"material/alpha-a-circle-outline.svg","material-alpha-a-circle":"material/alpha-a-circle.svg","material-alpha-a":"material/alpha-a.svg","material-alpha-b-box-outline":"material/alpha-b-box-outline.svg","material-alpha-b-box":"material/alpha-b-box.svg","material-alpha-b-circle-outline":"material/alpha-b-circle-outline.svg","material-alpha-b-circle":"material/alpha-b-circle.svg","material-alpha-b":"material/alpha-b.svg","material-alpha-c-box-outline":"material/alpha-c-box-outline.svg","material-alpha-c-box":"material/alpha-c-box.svg","material-alpha-c-circle-outline":"material/alpha-c-circle-outline.svg","material-alpha-c-circle":"material/alpha-c-circle.svg","material-alpha-c":"material/alpha-c.svg","material-alpha-d-box-outline":"material/alpha-d-box-outline.svg","material-alpha-d-box":"material/alpha-d-box.svg","material-alpha-d-circle-outline":"material/alpha-d-circle-outline.svg","material-alpha-d-circle":"material/alpha-d-circle.svg","material-alpha-d":"material/alpha-d.svg","material-alpha-e-box-outline":"material/alpha-e-box-outline.svg","material-alpha-e-box":"material/alpha-e-box.svg","material-alpha-e-circle-outline":"material/alpha-e-circle-outline.svg","material-alpha-e-circle":"material/alpha-e-circle.svg","material-alpha-e":"material/alpha-e.svg","material-alpha-f-box-outline":"material/alpha-f-box-outline.svg","material-alpha-f-box":"material/alpha-f-box.svg","material-alpha-f-circle-outline":"material/alpha-f-circle-outline.svg","material-alpha-f-circle":"material/alpha-f-circle.svg","material-alpha-f":"material/alpha-f.svg","material-alpha-g-box-outline":"material/alpha-g-box-outline.svg","material-alpha-g-box":"material/alpha-g-box.svg","material-alpha-g-circle-outline":"material/alpha-g-circle-outline.svg","material-alpha-g-circle":"material/alpha-g-circle.svg","material-alpha-g":"material/alpha-g.svg","material-alpha-h-box-outline":"material/alpha-h-box-outline.svg","material-alpha-h-box":"material/alpha-h-box.svg","material-alpha-h-circle-outline":"material/alpha-h-circle-outline.svg","material-alpha-h-circle":"material/alpha-h-circle.svg","material-alpha-h":"material/alpha-h.svg","material-alpha-i-box-outline":"material/alpha-i-box-outline.svg","material-alpha-i-box":"material/alpha-i-box.svg","material-alpha-i-circle-outline":"material/alpha-i-circle-outline.svg","material-alpha-i-circle":"material/alpha-i-circle.svg","material-alpha-i":"material/alpha-i.svg","material-alpha-j-box-outline":"material/alpha-j-box-outline.svg","material-alpha-j-box":"material/alpha-j-box.svg","material-alpha-j-circle-outline":"material/alpha-j-circle-outline.svg","material-alpha-j-circle":"material/alpha-j-circle.svg","material-alpha-j":"material/alpha-j.svg","material-alpha-k-box-outline":"material/alpha-k-box-outline.svg","material-alpha-k-box":"material/alpha-k-box.svg","material-alpha-k-circle-outline":"material/alpha-k-circle-outline.svg","material-alpha-k-circle":"material/alpha-k-circle.svg","material-alpha-k":"material/alpha-k.svg","material-alpha-l-box-outline":"material/alpha-l-box-outline.svg","material-alpha-l-box":"material/alpha-l-box.svg","material-alpha-l-circle-outline":"material/alpha-l-circle-outline.svg","material-alpha-l-circle":"material/alpha-l-circle.svg","material-alpha-l":"material/alpha-l.svg","material-alpha-m-box-outline":"material/alpha-m-box-outline.svg","material-alpha-m-box":"material/alpha-m-box.svg","material-alpha-m-circle-outline":"material/alpha-m-circle-outline.svg","material-alpha-m-circle":"material/alpha-m-circle.svg","material-alpha-m":"material/alpha-m.svg","material-alpha-n-box-outline":"material/alpha-n-box-outline.svg","material-alpha-n-box":"material/alpha-n-box.svg","material-alpha-n-circle-outline":"material/alpha-n-circle-outline.svg","material-alpha-n-circle":"material/alpha-n-circle.svg","material-alpha-n":"material/alpha-n.svg","material-alpha-o-box-outline":"material/alpha-o-box-outline.svg","material-alpha-o-box":"material/alpha-o-box.svg","material-alpha-o-circle-outline":"material/alpha-o-circle-outline.svg","material-alpha-o-circle":"material/alpha-o-circle.svg","material-alpha-o":"material/alpha-o.svg","material-alpha-p-box-outline":"material/alpha-p-box-outline.svg","material-alpha-p-box":"material/alpha-p-box.svg","material-alpha-p-circle-outline":"material/alpha-p-circle-outline.svg","material-alpha-p-circle":"material/alpha-p-circle.svg","material-alpha-p":"material/alpha-p.svg","material-alpha-q-box-outline":"material/alpha-q-box-outline.svg","material-alpha-q-box":"material/alpha-q-box.svg","material-alpha-q-circle-outline":"material/alpha-q-circle-outline.svg","material-alpha-q-circle":"material/alpha-q-circle.svg","material-alpha-q":"material/alpha-q.svg","material-alpha-r-box-outline":"material/alpha-r-box-outline.svg","material-alpha-r-box":"material/alpha-r-box.svg","material-alpha-r-circle-outline":"material/alpha-r-circle-outline.svg","material-alpha-r-circle":"material/alpha-r-circle.svg","material-alpha-r":"material/alpha-r.svg","material-alpha-s-box-outline":"material/alpha-s-box-outline.svg","material-alpha-s-box":"material/alpha-s-box.svg","material-alpha-s-circle-outline":"material/alpha-s-circle-outline.svg","material-alpha-s-circle":"material/alpha-s-circle.svg","material-alpha-s":"material/alpha-s.svg","material-alpha-t-box-outline":"material/alpha-t-box-outline.svg","material-alpha-t-box":"material/alpha-t-box.svg","material-alpha-t-circle-outline":"material/alpha-t-circle-outline.svg","material-alpha-t-circle":"material/alpha-t-circle.svg","material-alpha-t":"material/alpha-t.svg","material-alpha-u-box-outline":"material/alpha-u-box-outline.svg","material-alpha-u-box":"material/alpha-u-box.svg","material-alpha-u-circle-outline":"material/alpha-u-circle-outline.svg","material-alpha-u-circle":"material/alpha-u-circle.svg","material-alpha-u":"material/alpha-u.svg","material-alpha-v-box-outline":"material/alpha-v-box-outline.svg","material-alpha-v-box":"material/alpha-v-box.svg","material-alpha-v-circle-outline":"material/alpha-v-circle-outline.svg","material-alpha-v-circle":"material/alpha-v-circle.svg","material-alpha-v":"material/alpha-v.svg","material-alpha-w-box-outline":"material/alpha-w-box-outline.svg","material-alpha-w-box":"material/alpha-w-box.svg","material-alpha-w-circle-outline":"material/alpha-w-circle-outline.svg","material-alpha-w-circle":"material/alpha-w-circle.svg","material-alpha-w":"material/alpha-w.svg","material-alpha-x-box-outline":"material/alpha-x-box-outline.svg","material-alpha-x-box":"material/alpha-x-box.svg","material-alpha-x-circle-outline":"material/alpha-x-circle-outline.svg","material-alpha-x-circle":"material/alpha-x-circle.svg","material-alpha-x":"material/alpha-x.svg","material-alpha-y-box-outline":"material/alpha-y-box-outline.svg","material-alpha-y-box":"material/alpha-y-box.svg","material-alpha-y-circle-outline":"material/alpha-y-circle-outline.svg","material-alpha-y-circle":"material/alpha-y-circle.svg","material-alpha-y":"material/alpha-y.svg","material-alpha-z-box-outline":"material/alpha-z-box-outline.svg","material-alpha-z-box":"material/alpha-z-box.svg","material-alpha-z-circle-outline":"material/alpha-z-circle-outline.svg","material-alpha-z-circle":"material/alpha-z-circle.svg","material-alpha-z":"material/alpha-z.svg","material-alpha":"material/alpha.svg","material-alphabet-aurebesh":"material/alphabet-aurebesh.svg","material-alphabet-cyrillic":"material/alphabet-cyrillic.svg","material-alphabet-greek":"material/alphabet-greek.svg","material-alphabet-latin":"material/alphabet-latin.svg","material-alphabet-piqad":"material/alphabet-piqad.svg","material-alphabet-tengwar":"material/alphabet-tengwar.svg","material-alphabetical-off":"material/alphabetical-off.svg","material-alphabetical-variant-off":"material/alphabetical-variant-off.svg","material-alphabetical-variant":"material/alphabetical-variant.svg","material-alphabetical":"material/alphabetical.svg","material-altimeter":"material/altimeter.svg","material-amazon-alexa":"material/amazon-alexa.svg","material-amazon":"material/amazon.svg","material-ambulance":"material/ambulance.svg","material-ammunition":"material/ammunition.svg","material-ampersand":"material/ampersand.svg","material-amplifier-off":"material/amplifier-off.svg","material-amplifier":"material/amplifier.svg","material-anchor":"material/anchor.svg","material-android-auto":"material/android-auto.svg","material-android-debug-bridge":"material/android-debug-bridge.svg","material-android-messages":"material/android-messages.svg","material-android-studio":"material/android-studio.svg","material-android":"material/android.svg","material-angle-acute":"material/angle-acute.svg","material-angle-obtuse":"material/angle-obtuse.svg","material-angle-right":"material/angle-right.svg","material-angular":"material/angular.svg","material-angularjs":"material/angularjs.svg","material-animation-outline":"material/animation-outline.svg","material-animation-play-outline":"material/animation-play-outline.svg","material-animation-play":"material/animation-play.svg","material-animation":"material/animation.svg","material-ansible":"material/ansible.svg","material-antenna":"material/antenna.svg","material-anvil":"material/anvil.svg","material-apache-kafka":"material/apache-kafka.svg","material-api-off":"material/api-off.svg","material-api":"material/api.svg","material-apple-airplay":"material/apple-airplay.svg","material-apple-finder":"material/apple-finder.svg","material-apple-icloud":"material/apple-icloud.svg","material-apple-ios":"material/apple-ios.svg","material-apple-keyboard-caps":"material/apple-keyboard-caps.svg","material-apple-keyboard-command":"material/apple-keyboard-command.svg","material-apple-keyboard-control":"material/apple-keyboard-control.svg","material-apple-keyboard-option":"material/apple-keyboard-option.svg","material-apple-keyboard-shift":"material/apple-keyboard-shift.svg","material-apple-safari":"material/apple-safari.svg","material-apple":"material/apple.svg","material-application-cog":"material/application-cog.svg","material-application-export":"material/application-export.svg","material-application-import":"material/application-import.svg","material-application-settings":"material/application-settings.svg","material-application":"material/application.svg","material-approximately-equal-box":"material/approximately-equal-box.svg","material-approximately-equal":"material/approximately-equal.svg","material-apps-box":"material/apps-box.svg","material-apps":"material/apps.svg","material-arch":"material/arch.svg","material-archive-alert-outline":"material/archive-alert-outline.svg","material-archive-alert":"material/archive-alert.svg","material-archive-arrow-down-outline":"material/archive-arrow-down-outline.svg","material-archive-arrow-down":"material/archive-arrow-down.svg","material-archive-arrow-up-outline":"material/archive-arrow-up-outline.svg","material-archive-arrow-up":"material/archive-arrow-up.svg","material-archive-outline":"material/archive-outline.svg","material-archive":"material/archive.svg","material-arm-flex-outline":"material/arm-flex-outline.svg","material-arm-flex":"material/arm-flex.svg","material-arrange-bring-forward":"material/arrange-bring-forward.svg","material-arrange-bring-to-front":"material/arrange-bring-to-front.svg","material-arrange-send-backward":"material/arrange-send-backward.svg","material-arrange-send-to-back":"material/arrange-send-to-back.svg","material-arrow-all":"material/arrow-all.svg","material-arrow-bottom-left-bold-outline":"material/arrow-bottom-left-bold-outline.svg","material-arrow-bottom-left-thick":"material/arrow-bottom-left-thick.svg","material-arrow-bottom-left-thin-circle-outline":"material/arrow-bottom-left-thin-circle-outline.svg","material-arrow-bottom-left":"material/arrow-bottom-left.svg","material-arrow-bottom-right-bold-outline":"material/arrow-bottom-right-bold-outline.svg","material-arrow-bottom-right-thick":"material/arrow-bottom-right-thick.svg","material-arrow-bottom-right-thin-circle-outline":"material/arrow-bottom-right-thin-circle-outline.svg","material-arrow-bottom-right":"material/arrow-bottom-right.svg","material-arrow-collapse-all":"material/arrow-collapse-all.svg","material-arrow-collapse-down":"material/arrow-collapse-down.svg","material-arrow-collapse-horizontal":"material/arrow-collapse-horizontal.svg","material-arrow-collapse-left":"material/arrow-collapse-left.svg","material-arrow-collapse-right":"material/arrow-collapse-right.svg","material-arrow-collapse-up":"material/arrow-collapse-up.svg","material-arrow-collapse-vertical":"material/arrow-collapse-vertical.svg","material-arrow-collapse":"material/arrow-collapse.svg","material-arrow-decision-auto-outline":"material/arrow-decision-auto-outline.svg","material-arrow-decision-auto":"material/arrow-decision-auto.svg","material-arrow-decision-outline":"material/arrow-decision-outline.svg","material-arrow-decision":"material/arrow-decision.svg","material-arrow-down-bold-box-outline":"material/arrow-down-bold-box-outline.svg","material-arrow-down-bold-box":"material/arrow-down-bold-box.svg","material-arrow-down-bold-circle-outline":"material/arrow-down-bold-circle-outline.svg","material-arrow-down-bold-circle":"material/arrow-down-bold-circle.svg","material-arrow-down-bold-hexagon-outline":"material/arrow-down-bold-hexagon-outline.svg","material-arrow-down-bold-outline":"material/arrow-down-bold-outline.svg","material-arrow-down-bold":"material/arrow-down-bold.svg","material-arrow-down-box":"material/arrow-down-box.svg","material-arrow-down-circle-outline":"material/arrow-down-circle-outline.svg","material-arrow-down-circle":"material/arrow-down-circle.svg","material-arrow-down-drop-circle-outline":"material/arrow-down-drop-circle-outline.svg","material-arrow-down-drop-circle":"material/arrow-down-drop-circle.svg","material-arrow-down-thick":"material/arrow-down-thick.svg","material-arrow-down-thin-circle-outline":"material/arrow-down-thin-circle-outline.svg","material-arrow-down":"material/arrow-down.svg","material-arrow-expand-all":"material/arrow-expand-all.svg","material-arrow-expand-down":"material/arrow-expand-down.svg","material-arrow-expand-horizontal":"material/arrow-expand-horizontal.svg","material-arrow-expand-left":"material/arrow-expand-left.svg","material-arrow-expand-right":"material/arrow-expand-right.svg","material-arrow-expand-up":"material/arrow-expand-up.svg","material-arrow-expand-vertical":"material/arrow-expand-vertical.svg","material-arrow-expand":"material/arrow-expand.svg","material-arrow-horizontal-lock":"material/arrow-horizontal-lock.svg","material-arrow-left-bold-box-outline":"material/arrow-left-bold-box-outline.svg","material-arrow-left-bold-box":"material/arrow-left-bold-box.svg","material-arrow-left-bold-circle-outline":"material/arrow-left-bold-circle-outline.svg","material-arrow-left-bold-circle":"material/arrow-left-bold-circle.svg","material-arrow-left-bold-hexagon-outline":"material/arrow-left-bold-hexagon-outline.svg","material-arrow-left-bold-outline":"material/arrow-left-bold-outline.svg","material-arrow-left-bold":"material/arrow-left-bold.svg","material-arrow-left-box":"material/arrow-left-box.svg","material-arrow-left-circle-outline":"material/arrow-left-circle-outline.svg","material-arrow-left-circle":"material/arrow-left-circle.svg","material-arrow-left-drop-circle-outline":"material/arrow-left-drop-circle-outline.svg","material-arrow-left-drop-circle":"material/arrow-left-drop-circle.svg","material-arrow-left-right-bold-outline":"material/arrow-left-right-bold-outline.svg","material-arrow-left-right-bold":"material/arrow-left-right-bold.svg","material-arrow-left-right":"material/arrow-left-right.svg","material-arrow-left-thick":"material/arrow-left-thick.svg","material-arrow-left-thin-circle-outline":"material/arrow-left-thin-circle-outline.svg","material-arrow-left":"material/arrow-left.svg","material-arrow-right-bold-box-outline":"material/arrow-right-bold-box-outline.svg","material-arrow-right-bold-box":"material/arrow-right-bold-box.svg","material-arrow-right-bold-circle-outline":"material/arrow-right-bold-circle-outline.svg","material-arrow-right-bold-circle":"material/arrow-right-bold-circle.svg","material-arrow-right-bold-hexagon-outline":"material/arrow-right-bold-hexagon-outline.svg","material-arrow-right-bold-outline":"material/arrow-right-bold-outline.svg","material-arrow-right-bold":"material/arrow-right-bold.svg","material-arrow-right-box":"material/arrow-right-box.svg","material-arrow-right-circle-outline":"material/arrow-right-circle-outline.svg","material-arrow-right-circle":"material/arrow-right-circle.svg","material-arrow-right-drop-circle-outline":"material/arrow-right-drop-circle-outline.svg","material-arrow-right-drop-circle":"material/arrow-right-drop-circle.svg","material-arrow-right-thick":"material/arrow-right-thick.svg","material-arrow-right-thin-circle-outline":"material/arrow-right-thin-circle-outline.svg","material-arrow-right":"material/arrow-right.svg","material-arrow-split-horizontal":"material/arrow-split-horizontal.svg","material-arrow-split-vertical":"material/arrow-split-vertical.svg","material-arrow-top-left-bold-outline":"material/arrow-top-left-bold-outline.svg","material-arrow-top-left-bottom-right-bold":"material/arrow-top-left-bottom-right-bold.svg","material-arrow-top-left-bottom-right":"material/arrow-top-left-bottom-right.svg","material-arrow-top-left-thick":"material/arrow-top-left-thick.svg","material-arrow-top-left-thin-circle-outline":"material/arrow-top-left-thin-circle-outline.svg","material-arrow-top-left":"material/arrow-top-left.svg","material-arrow-top-right-bold-outline":"material/arrow-top-right-bold-outline.svg","material-arrow-top-right-bottom-left-bold":"material/arrow-top-right-bottom-left-bold.svg","material-arrow-top-right-bottom-left":"material/arrow-top-right-bottom-left.svg","material-arrow-top-right-thick":"material/arrow-top-right-thick.svg","material-arrow-top-right-thin-circle-outline":"material/arrow-top-right-thin-circle-outline.svg","material-arrow-top-right":"material/arrow-top-right.svg","material-arrow-up-bold-box-outline":"material/arrow-up-bold-box-outline.svg","material-arrow-up-bold-box":"material/arrow-up-bold-box.svg","material-arrow-up-bold-circle-outline":"material/arrow-up-bold-circle-outline.svg","material-arrow-up-bold-circle":"material/arrow-up-bold-circle.svg","material-arrow-up-bold-hexagon-outline":"material/arrow-up-bold-hexagon-outline.svg","material-arrow-up-bold-outline":"material/arrow-up-bold-outline.svg","material-arrow-up-bold":"material/arrow-up-bold.svg","material-arrow-up-box":"material/arrow-up-box.svg","material-arrow-up-circle-outline":"material/arrow-up-circle-outline.svg","material-arrow-up-circle":"material/arrow-up-circle.svg","material-arrow-up-down-bold-outline":"material/arrow-up-down-bold-outline.svg","material-arrow-up-down-bold":"material/arrow-up-down-bold.svg","material-arrow-up-down":"material/arrow-up-down.svg","material-arrow-up-drop-circle-outline":"material/arrow-up-drop-circle-outline.svg","material-arrow-up-drop-circle":"material/arrow-up-drop-circle.svg","material-arrow-up-thick":"material/arrow-up-thick.svg","material-arrow-up-thin-circle-outline":"material/arrow-up-thin-circle-outline.svg","material-arrow-up":"material/arrow-up.svg","material-arrow-vertical-lock":"material/arrow-vertical-lock.svg","material-artstation":"material/artstation.svg","material-aspect-ratio":"material/aspect-ratio.svg","material-assistant":"material/assistant.svg","material-asterisk":"material/asterisk.svg","material-at":"material/at.svg","material-atlassian":"material/atlassian.svg","material-atm":"material/atm.svg","material-atom-variant":"material/atom-variant.svg","material-atom":"material/atom.svg","material-attachment":"material/attachment.svg","material-audio-video-off":"material/audio-video-off.svg","material-audio-video":"material/audio-video.svg","material-augmented-reality":"material/augmented-reality.svg","material-auto-download":"material/auto-download.svg","material-auto-fix":"material/auto-fix.svg","material-auto-upload":"material/auto-upload.svg","material-autorenew":"material/autorenew.svg","material-av-timer":"material/av-timer.svg","material-aws":"material/aws.svg","material-axe":"material/axe.svg","material-axis-arrow-info":"material/axis-arrow-info.svg","material-axis-arrow-lock":"material/axis-arrow-lock.svg","material-axis-arrow":"material/axis-arrow.svg","material-axis-lock":"material/axis-lock.svg","material-axis-x-arrow-lock":"material/axis-x-arrow-lock.svg","material-axis-x-arrow":"material/axis-x-arrow.svg","material-axis-x-rotate-clockwise":"material/axis-x-rotate-clockwise.svg","material-axis-x-rotate-counterclockwise":"material/axis-x-rotate-counterclockwise.svg","material-axis-x-y-arrow-lock":"material/axis-x-y-arrow-lock.svg","material-axis-y-arrow-lock":"material/axis-y-arrow-lock.svg","material-axis-y-arrow":"material/axis-y-arrow.svg","material-axis-y-rotate-clockwise":"material/axis-y-rotate-clockwise.svg","material-axis-y-rotate-counterclockwise":"material/axis-y-rotate-counterclockwise.svg","material-axis-z-arrow-lock":"material/axis-z-arrow-lock.svg","material-axis-z-arrow":"material/axis-z-arrow.svg","material-axis-z-rotate-clockwise":"material/axis-z-rotate-clockwise.svg","material-axis-z-rotate-counterclockwise":"material/axis-z-rotate-counterclockwise.svg","material-axis":"material/axis.svg","material-babel":"material/babel.svg","material-baby-bottle-outline":"material/baby-bottle-outline.svg","material-baby-bottle":"material/baby-bottle.svg","material-baby-buggy":"material/baby-buggy.svg","material-baby-carriage-off":"material/baby-carriage-off.svg","material-baby-carriage":"material/baby-carriage.svg","material-baby-face-outline":"material/baby-face-outline.svg","material-baby-face":"material/baby-face.svg","material-baby":"material/baby.svg","material-backburger":"material/backburger.svg","material-backspace-outline":"material/backspace-outline.svg","material-backspace-reverse-outline":"material/backspace-reverse-outline.svg","material-backspace-reverse":"material/backspace-reverse.svg","material-backspace":"material/backspace.svg","material-backup-restore":"material/backup-restore.svg","material-bacteria-outline":"material/bacteria-outline.svg","material-bacteria":"material/bacteria.svg","material-badge-account-alert-outline":"material/badge-account-alert-outline.svg","material-badge-account-alert":"material/badge-account-alert.svg","material-badge-account-horizontal-outline":"material/badge-account-horizontal-outline.svg","material-badge-account-horizontal":"material/badge-account-horizontal.svg","material-badge-account-outline":"material/badge-account-outline.svg","material-badge-account":"material/badge-account.svg","material-badminton":"material/badminton.svg","material-bag-carry-on-check":"material/bag-carry-on-check.svg","material-bag-carry-on-off":"material/bag-carry-on-off.svg","material-bag-carry-on":"material/bag-carry-on.svg","material-bag-checked":"material/bag-checked.svg","material-bag-personal-off-outline":"material/bag-personal-off-outline.svg","material-bag-personal-off":"material/bag-personal-off.svg","material-bag-personal-outline":"material/bag-personal-outline.svg","material-bag-personal":"material/bag-personal.svg","material-bag-suitcase-off-outline":"material/bag-suitcase-off-outline.svg","material-bag-suitcase-off":"material/bag-suitcase-off.svg","material-bag-suitcase-outline":"material/bag-suitcase-outline.svg","material-bag-suitcase":"material/bag-suitcase.svg","material-baguette":"material/baguette.svg","material-balloon":"material/balloon.svg","material-ballot-outline":"material/ballot-outline.svg","material-ballot-recount-outline":"material/ballot-recount-outline.svg","material-ballot-recount":"material/ballot-recount.svg","material-ballot":"material/ballot.svg","material-bandage":"material/bandage.svg","material-bandcamp":"material/bandcamp.svg","material-bank-check":"material/bank-check.svg","material-bank-minus":"material/bank-minus.svg","material-bank-off-outline":"material/bank-off-outline.svg","material-bank-off":"material/bank-off.svg","material-bank-outline":"material/bank-outline.svg","material-bank-plus":"material/bank-plus.svg","material-bank-remove":"material/bank-remove.svg","material-bank-transfer-in":"material/bank-transfer-in.svg","material-bank-transfer-out":"material/bank-transfer-out.svg","material-bank-transfer":"material/bank-transfer.svg","material-bank":"material/bank.svg","material-barcode-off":"material/barcode-off.svg","material-barcode-scan":"material/barcode-scan.svg","material-barcode":"material/barcode.svg","material-barley-off":"material/barley-off.svg","material-barley":"material/barley.svg","material-barn":"material/barn.svg","material-barrel":"material/barrel.svg","material-baseball-bat":"material/baseball-bat.svg","material-baseball-diamond-outline":"material/baseball-diamond-outline.svg","material-baseball-diamond":"material/baseball-diamond.svg","material-baseball":"material/baseball.svg","material-bash":"material/bash.svg","material-basket-fill":"material/basket-fill.svg","material-basket-minus-outline":"material/basket-minus-outline.svg","material-basket-minus":"material/basket-minus.svg","material-basket-off-outline":"material/basket-off-outline.svg","material-basket-off":"material/basket-off.svg","material-basket-outline":"material/basket-outline.svg","material-basket-plus-outline":"material/basket-plus-outline.svg","material-basket-plus":"material/basket-plus.svg","material-basket-remove-outline":"material/basket-remove-outline.svg","material-basket-remove":"material/basket-remove.svg","material-basket-unfill":"material/basket-unfill.svg","material-basket":"material/basket.svg","material-basketball-hoop-outline":"material/basketball-hoop-outline.svg","material-basketball-hoop":"material/basketball-hoop.svg","material-basketball":"material/basketball.svg","material-bat":"material/bat.svg","material-battery-10-bluetooth":"material/battery-10-bluetooth.svg","material-battery-10":"material/battery-10.svg","material-battery-20-bluetooth":"material/battery-20-bluetooth.svg","material-battery-20":"material/battery-20.svg","material-battery-30-bluetooth":"material/battery-30-bluetooth.svg","material-battery-30":"material/battery-30.svg","material-battery-40-bluetooth":"material/battery-40-bluetooth.svg","material-battery-40":"material/battery-40.svg","material-battery-50-bluetooth":"material/battery-50-bluetooth.svg","material-battery-50":"material/battery-50.svg","material-battery-60-bluetooth":"material/battery-60-bluetooth.svg","material-battery-60":"material/battery-60.svg","material-battery-70-bluetooth":"material/battery-70-bluetooth.svg","material-battery-70":"material/battery-70.svg","material-battery-80-bluetooth":"material/battery-80-bluetooth.svg","material-battery-80":"material/battery-80.svg","material-battery-90-bluetooth":"material/battery-90-bluetooth.svg","material-battery-90":"material/battery-90.svg","material-battery-alert-bluetooth":"material/battery-alert-bluetooth.svg","material-battery-alert-variant-outline":"material/battery-alert-variant-outline.svg","material-battery-alert-variant":"material/battery-alert-variant.svg","material-battery-alert":"material/battery-alert.svg","material-battery-bluetooth-variant":"material/battery-bluetooth-variant.svg","material-battery-bluetooth":"material/battery-bluetooth.svg","material-battery-charging-10":"material/battery-charging-10.svg","material-battery-charging-100":"material/battery-charging-100.svg","material-battery-charging-20":"material/battery-charging-20.svg","material-battery-charging-30":"material/battery-charging-30.svg","material-battery-charging-40":"material/battery-charging-40.svg","material-battery-charging-50":"material/battery-charging-50.svg","material-battery-charging-60":"material/battery-charging-60.svg","material-battery-charging-70":"material/battery-charging-70.svg","material-battery-charging-80":"material/battery-charging-80.svg","material-battery-charging-90":"material/battery-charging-90.svg","material-battery-charging-high":"material/battery-charging-high.svg","material-battery-charging-low":"material/battery-charging-low.svg","material-battery-charging-medium":"material/battery-charging-medium.svg","material-battery-charging-outline":"material/battery-charging-outline.svg","material-battery-charging-wireless-10":"material/battery-charging-wireless-10.svg","material-battery-charging-wireless-20":"material/battery-charging-wireless-20.svg","material-battery-charging-wireless-30":"material/battery-charging-wireless-30.svg","material-battery-charging-wireless-40":"material/battery-charging-wireless-40.svg","material-battery-charging-wireless-50":"material/battery-charging-wireless-50.svg","material-battery-charging-wireless-60":"material/battery-charging-wireless-60.svg","material-battery-charging-wireless-70":"material/battery-charging-wireless-70.svg","material-battery-charging-wireless-80":"material/battery-charging-wireless-80.svg","material-battery-charging-wireless-90":"material/battery-charging-wireless-90.svg","material-battery-charging-wireless-alert":"material/battery-charging-wireless-alert.svg","material-battery-charging-wireless-outline":"material/battery-charging-wireless-outline.svg","material-battery-charging-wireless":"material/battery-charging-wireless.svg","material-battery-charging":"material/battery-charging.svg","material-battery-heart-outline":"material/battery-heart-outline.svg","material-battery-heart-variant":"material/battery-heart-variant.svg","material-battery-heart":"material/battery-heart.svg","material-battery-high":"material/battery-high.svg","material-battery-low":"material/battery-low.svg","material-battery-medium":"material/battery-medium.svg","material-battery-minus":"material/battery-minus.svg","material-battery-negative":"material/battery-negative.svg","material-battery-off-outline":"material/battery-off-outline.svg","material-battery-off":"material/battery-off.svg","material-battery-outline":"material/battery-outline.svg","material-battery-plus":"material/battery-plus.svg","material-battery-positive":"material/battery-positive.svg","material-battery-unknown-bluetooth":"material/battery-unknown-bluetooth.svg","material-battery-unknown":"material/battery-unknown.svg","material-battery":"material/battery.svg","material-battlenet":"material/battlenet.svg","material-beach":"material/beach.svg","material-beaker-alert-outline":"material/beaker-alert-outline.svg","material-beaker-alert":"material/beaker-alert.svg","material-beaker-check-outline":"material/beaker-check-outline.svg","material-beaker-check":"material/beaker-check.svg","material-beaker-minus-outline":"material/beaker-minus-outline.svg","material-beaker-minus":"material/beaker-minus.svg","material-beaker-outline":"material/beaker-outline.svg","material-beaker-plus-outline":"material/beaker-plus-outline.svg","material-beaker-plus":"material/beaker-plus.svg","material-beaker-question-outline":"material/beaker-question-outline.svg","material-beaker-question":"material/beaker-question.svg","material-beaker-remove-outline":"material/beaker-remove-outline.svg","material-beaker-remove":"material/beaker-remove.svg","material-beaker":"material/beaker.svg","material-bed-double-outline":"material/bed-double-outline.svg","material-bed-double":"material/bed-double.svg","material-bed-empty":"material/bed-empty.svg","material-bed-king-outline":"material/bed-king-outline.svg","material-bed-king":"material/bed-king.svg","material-bed-outline":"material/bed-outline.svg","material-bed-queen-outline":"material/bed-queen-outline.svg","material-bed-queen":"material/bed-queen.svg","material-bed-single-outline":"material/bed-single-outline.svg","material-bed-single":"material/bed-single.svg","material-bed":"material/bed.svg","material-bee-flower":"material/bee-flower.svg","material-bee":"material/bee.svg","material-beehive-off-outline":"material/beehive-off-outline.svg","material-beehive-outline":"material/beehive-outline.svg","material-beekeeper":"material/beekeeper.svg","material-beer-outline":"material/beer-outline.svg","material-beer":"material/beer.svg","material-bell-alert-outline":"material/bell-alert-outline.svg","material-bell-alert":"material/bell-alert.svg","material-bell-cancel-outline":"material/bell-cancel-outline.svg","material-bell-cancel":"material/bell-cancel.svg","material-bell-check-outline":"material/bell-check-outline.svg","material-bell-check":"material/bell-check.svg","material-bell-circle-outline":"material/bell-circle-outline.svg","material-bell-circle":"material/bell-circle.svg","material-bell-minus-outline":"material/bell-minus-outline.svg","material-bell-minus":"material/bell-minus.svg","material-bell-off-outline":"material/bell-off-outline.svg","material-bell-off":"material/bell-off.svg","material-bell-outline":"material/bell-outline.svg","material-bell-plus-outline":"material/bell-plus-outline.svg","material-bell-plus":"material/bell-plus.svg","material-bell-remove-outline":"material/bell-remove-outline.svg","material-bell-remove":"material/bell-remove.svg","material-bell-ring-outline":"material/bell-ring-outline.svg","material-bell-ring":"material/bell-ring.svg","material-bell-sleep-outline":"material/bell-sleep-outline.svg","material-bell-sleep":"material/bell-sleep.svg","material-bell":"material/bell.svg","material-beta":"material/beta.svg","material-betamax":"material/betamax.svg","material-biathlon":"material/biathlon.svg","material-bicycle-basket":"material/bicycle-basket.svg","material-bicycle-electric":"material/bicycle-electric.svg","material-bicycle-penny-farthing":"material/bicycle-penny-farthing.svg","material-bicycle":"material/bicycle.svg","material-bike-fast":"material/bike-fast.svg","material-bike":"material/bike.svg","material-billboard":"material/billboard.svg","material-billiards-rack":"material/billiards-rack.svg","material-billiards":"material/billiards.svg","material-binoculars":"material/binoculars.svg","material-bio":"material/bio.svg","material-biohazard":"material/biohazard.svg","material-bird":"material/bird.svg","material-bitbucket":"material/bitbucket.svg","material-bitcoin":"material/bitcoin.svg","material-black-mesa":"material/black-mesa.svg","material-blender-software":"material/blender-software.svg","material-blender":"material/blender.svg","material-blinds-open":"material/blinds-open.svg","material-blinds":"material/blinds.svg","material-block-helper":"material/block-helper.svg","material-blogger":"material/blogger.svg","material-blood-bag":"material/blood-bag.svg","material-bluetooth-audio":"material/bluetooth-audio.svg","material-bluetooth-connect":"material/bluetooth-connect.svg","material-bluetooth-off":"material/bluetooth-off.svg","material-bluetooth-settings":"material/bluetooth-settings.svg","material-bluetooth-transfer":"material/bluetooth-transfer.svg","material-bluetooth":"material/bluetooth.svg","material-blur-linear":"material/blur-linear.svg","material-blur-off":"material/blur-off.svg","material-blur-radial":"material/blur-radial.svg","material-blur":"material/blur.svg","material-bolnisi-cross":"material/bolnisi-cross.svg","material-bolt":"material/bolt.svg","material-bomb-off":"material/bomb-off.svg","material-bomb":"material/bomb.svg","material-bone":"material/bone.svg","material-book-account-outline":"material/book-account-outline.svg","material-book-account":"material/book-account.svg","material-book-alert-outline":"material/book-alert-outline.svg","material-book-alert":"material/book-alert.svg","material-book-alphabet":"material/book-alphabet.svg","material-book-arrow-down-outline":"material/book-arrow-down-outline.svg","material-book-arrow-down":"material/book-arrow-down.svg","material-book-arrow-left-outline":"material/book-arrow-left-outline.svg","material-book-arrow-left":"material/book-arrow-left.svg","material-book-arrow-right-outline":"material/book-arrow-right-outline.svg","material-book-arrow-right":"material/book-arrow-right.svg","material-book-arrow-up-outline":"material/book-arrow-up-outline.svg","material-book-arrow-up":"material/book-arrow-up.svg","material-book-cancel-outline":"material/book-cancel-outline.svg","material-book-cancel":"material/book-cancel.svg","material-book-check-outline":"material/book-check-outline.svg","material-book-check":"material/book-check.svg","material-book-clock-outline":"material/book-clock-outline.svg","material-book-clock":"material/book-clock.svg","material-book-cog-outline":"material/book-cog-outline.svg","material-book-cog":"material/book-cog.svg","material-book-cross":"material/book-cross.svg","material-book-edit-outline":"material/book-edit-outline.svg","material-book-edit":"material/book-edit.svg","material-book-education-outline":"material/book-education-outline.svg","material-book-education":"material/book-education.svg","material-book-information-variant":"material/book-information-variant.svg","material-book-lock-open-outline":"material/book-lock-open-outline.svg","material-book-lock-open":"material/book-lock-open.svg","material-book-lock-outline":"material/book-lock-outline.svg","material-book-lock":"material/book-lock.svg","material-book-marker-outline":"material/book-marker-outline.svg","material-book-marker":"material/book-marker.svg","material-book-minus-multiple-outline":"material/book-minus-multiple-outline.svg","material-book-minus-multiple":"material/book-minus-multiple.svg","material-book-minus-outline":"material/book-minus-outline.svg","material-book-minus":"material/book-minus.svg","material-book-multiple-outline":"material/book-multiple-outline.svg","material-book-multiple":"material/book-multiple.svg","material-book-music-outline":"material/book-music-outline.svg","material-book-music":"material/book-music.svg","material-book-off-outline":"material/book-off-outline.svg","material-book-off":"material/book-off.svg","material-book-open-blank-variant":"material/book-open-blank-variant.svg","material-book-open-outline":"material/book-open-outline.svg","material-book-open-page-variant-outline":"material/book-open-page-variant-outline.svg","material-book-open-page-variant":"material/book-open-page-variant.svg","material-book-open-variant":"material/book-open-variant.svg","material-book-open":"material/book-open.svg","material-book-outline":"material/book-outline.svg","material-book-play-outline":"material/book-play-outline.svg","material-book-play":"material/book-play.svg","material-book-plus-multiple-outline":"material/book-plus-multiple-outline.svg","material-book-plus-multiple":"material/book-plus-multiple.svg","material-book-plus-outline":"material/book-plus-outline.svg","material-book-plus":"material/book-plus.svg","material-book-refresh-outline":"material/book-refresh-outline.svg","material-book-refresh":"material/book-refresh.svg","material-book-remove-multiple-outline":"material/book-remove-multiple-outline.svg","material-book-remove-multiple":"material/book-remove-multiple.svg","material-book-remove-outline":"material/book-remove-outline.svg","material-book-remove":"material/book-remove.svg","material-book-search-outline":"material/book-search-outline.svg","material-book-search":"material/book-search.svg","material-book-settings-outline":"material/book-settings-outline.svg","material-book-settings":"material/book-settings.svg","material-book-sync-outline":"material/book-sync-outline.svg","material-book-sync":"material/book-sync.svg","material-book-variant-multiple":"material/book-variant-multiple.svg","material-book-variant":"material/book-variant.svg","material-book":"material/book.svg","material-bookmark-check-outline":"material/bookmark-check-outline.svg","material-bookmark-check":"material/bookmark-check.svg","material-bookmark-minus-outline":"material/bookmark-minus-outline.svg","material-bookmark-minus":"material/bookmark-minus.svg","material-bookmark-multiple-outline":"material/bookmark-multiple-outline.svg","material-bookmark-multiple":"material/bookmark-multiple.svg","material-bookmark-music-outline":"material/bookmark-music-outline.svg","material-bookmark-music":"material/bookmark-music.svg","material-bookmark-off-outline":"material/bookmark-off-outline.svg","material-bookmark-off":"material/bookmark-off.svg","material-bookmark-outline":"material/bookmark-outline.svg","material-bookmark-plus-outline":"material/bookmark-plus-outline.svg","material-bookmark-plus":"material/bookmark-plus.svg","material-bookmark-remove-outline":"material/bookmark-remove-outline.svg","material-bookmark-remove":"material/bookmark-remove.svg","material-bookmark":"material/bookmark.svg","material-bookshelf":"material/bookshelf.svg","material-boom-gate-alert-outline":"material/boom-gate-alert-outline.svg","material-boom-gate-alert":"material/boom-gate-alert.svg","material-boom-gate-down-outline":"material/boom-gate-down-outline.svg","material-boom-gate-down":"material/boom-gate-down.svg","material-boom-gate-outline":"material/boom-gate-outline.svg","material-boom-gate-up-outline":"material/boom-gate-up-outline.svg","material-boom-gate-up":"material/boom-gate-up.svg","material-boom-gate":"material/boom-gate.svg","material-boombox":"material/boombox.svg","material-boomerang":"material/boomerang.svg","material-bootstrap":"material/bootstrap.svg","material-border-all-variant":"material/border-all-variant.svg","material-border-all":"material/border-all.svg","material-border-bottom-variant":"material/border-bottom-variant.svg","material-border-bottom":"material/border-bottom.svg","material-border-color":"material/border-color.svg","material-border-horizontal":"material/border-horizontal.svg","material-border-inside":"material/border-inside.svg","material-border-left-variant":"material/border-left-variant.svg","material-border-left":"material/border-left.svg","material-border-none-variant":"material/border-none-variant.svg","material-border-none":"material/border-none.svg","material-border-outside":"material/border-outside.svg","material-border-right-variant":"material/border-right-variant.svg","material-border-right":"material/border-right.svg","material-border-style":"material/border-style.svg","material-border-top-variant":"material/border-top-variant.svg","material-border-top":"material/border-top.svg","material-border-vertical":"material/border-vertical.svg","material-bottle-soda-classic-outline":"material/bottle-soda-classic-outline.svg","material-bottle-soda-classic":"material/bottle-soda-classic.svg","material-bottle-soda-outline":"material/bottle-soda-outline.svg","material-bottle-soda":"material/bottle-soda.svg","material-bottle-tonic-outline":"material/bottle-tonic-outline.svg","material-bottle-tonic-plus-outline":"material/bottle-tonic-plus-outline.svg","material-bottle-tonic-plus":"material/bottle-tonic-plus.svg","material-bottle-tonic-skull-outline":"material/bottle-tonic-skull-outline.svg","material-bottle-tonic-skull":"material/bottle-tonic-skull.svg","material-bottle-tonic":"material/bottle-tonic.svg","material-bottle-wine-outline":"material/bottle-wine-outline.svg","material-bottle-wine":"material/bottle-wine.svg","material-bow-tie":"material/bow-tie.svg","material-bowl-mix-outline":"material/bowl-mix-outline.svg","material-bowl-mix":"material/bowl-mix.svg","material-bowl-outline":"material/bowl-outline.svg","material-bowl":"material/bowl.svg","material-bowling":"material/bowling.svg","material-box-cutter-off":"material/box-cutter-off.svg","material-box-cutter":"material/box-cutter.svg","material-box-shadow":"material/box-shadow.svg","material-box":"material/box.svg","material-boxing-glove":"material/boxing-glove.svg","material-braille":"material/braille.svg","material-brain":"material/brain.svg","material-bread-slice-outline":"material/bread-slice-outline.svg","material-bread-slice":"material/bread-slice.svg","material-bridge":"material/bridge.svg","material-briefcase-account-outline":"material/briefcase-account-outline.svg","material-briefcase-account":"material/briefcase-account.svg","material-briefcase-check-outline":"material/briefcase-check-outline.svg","material-briefcase-check":"material/briefcase-check.svg","material-briefcase-clock-outline":"material/briefcase-clock-outline.svg","material-briefcase-clock":"material/briefcase-clock.svg","material-briefcase-download-outline":"material/briefcase-download-outline.svg","material-briefcase-download":"material/briefcase-download.svg","material-briefcase-edit-outline":"material/briefcase-edit-outline.svg","material-briefcase-edit":"material/briefcase-edit.svg","material-briefcase-minus-outline":"material/briefcase-minus-outline.svg","material-briefcase-minus":"material/briefcase-minus.svg","material-briefcase-off-outline":"material/briefcase-off-outline.svg","material-briefcase-off":"material/briefcase-off.svg","material-briefcase-outline":"material/briefcase-outline.svg","material-briefcase-plus-outline":"material/briefcase-plus-outline.svg","material-briefcase-plus":"material/briefcase-plus.svg","material-briefcase-remove-outline":"material/briefcase-remove-outline.svg","material-briefcase-remove":"material/briefcase-remove.svg","material-briefcase-search-outline":"material/briefcase-search-outline.svg","material-briefcase-search":"material/briefcase-search.svg","material-briefcase-upload-outline":"material/briefcase-upload-outline.svg","material-briefcase-upload":"material/briefcase-upload.svg","material-briefcase-variant-off-outline":"material/briefcase-variant-off-outline.svg","material-briefcase-variant-off":"material/briefcase-variant-off.svg","material-briefcase-variant-outline":"material/briefcase-variant-outline.svg","material-briefcase-variant":"material/briefcase-variant.svg","material-briefcase":"material/briefcase.svg","material-brightness-1":"material/brightness-1.svg","material-brightness-2":"material/brightness-2.svg","material-brightness-3":"material/brightness-3.svg","material-brightness-4":"material/brightness-4.svg","material-brightness-5":"material/brightness-5.svg","material-brightness-6":"material/brightness-6.svg","material-brightness-7":"material/brightness-7.svg","material-brightness-auto":"material/brightness-auto.svg","material-brightness-percent":"material/brightness-percent.svg","material-broadcast-off":"material/broadcast-off.svg","material-broadcast":"material/broadcast.svg","material-broom":"material/broom.svg","material-brush":"material/brush.svg","material-bucket-outline":"material/bucket-outline.svg","material-bucket":"material/bucket.svg","material-buddhism":"material/buddhism.svg","material-buffer":"material/buffer.svg","material-buffet":"material/buffet.svg","material-bug-check-outline":"material/bug-check-outline.svg","material-bug-check":"material/bug-check.svg","material-bug-outline":"material/bug-outline.svg","material-bug":"material/bug.svg","material-bugle":"material/bugle.svg","material-bulldozer":"material/bulldozer.svg","material-bullet":"material/bullet.svg","material-bulletin-board":"material/bulletin-board.svg","material-bullhorn-outline":"material/bullhorn-outline.svg","material-bullhorn":"material/bullhorn.svg","material-bullseye-arrow":"material/bullseye-arrow.svg","material-bullseye":"material/bullseye.svg","material-bulma":"material/bulma.svg","material-bunk-bed-outline":"material/bunk-bed-outline.svg","material-bunk-bed":"material/bunk-bed.svg","material-bus-alert":"material/bus-alert.svg","material-bus-articulated-end":"material/bus-articulated-end.svg","material-bus-articulated-front":"material/bus-articulated-front.svg","material-bus-clock":"material/bus-clock.svg","material-bus-double-decker":"material/bus-double-decker.svg","material-bus-marker":"material/bus-marker.svg","material-bus-multiple":"material/bus-multiple.svg","material-bus-school":"material/bus-school.svg","material-bus-side":"material/bus-side.svg","material-bus-stop-covered":"material/bus-stop-covered.svg","material-bus-stop-uncovered":"material/bus-stop-uncovered.svg","material-bus-stop":"material/bus-stop.svg","material-bus":"material/bus.svg","material-butterfly-outline":"material/butterfly-outline.svg","material-butterfly":"material/butterfly.svg","material-cable-data":"material/cable-data.svg","material-cached":"material/cached.svg","material-cactus":"material/cactus.svg","material-cake-layered":"material/cake-layered.svg","material-cake-variant":"material/cake-variant.svg","material-cake":"material/cake.svg","material-calculator-variant-outline":"material/calculator-variant-outline.svg","material-calculator-variant":"material/calculator-variant.svg","material-calculator":"material/calculator.svg","material-calendar-account-outline":"material/calendar-account-outline.svg","material-calendar-account":"material/calendar-account.svg","material-calendar-alert":"material/calendar-alert.svg","material-calendar-arrow-left":"material/calendar-arrow-left.svg","material-calendar-arrow-right":"material/calendar-arrow-right.svg","material-calendar-blank-multiple":"material/calendar-blank-multiple.svg","material-calendar-blank-outline":"material/calendar-blank-outline.svg","material-calendar-blank":"material/calendar-blank.svg","material-calendar-check-outline":"material/calendar-check-outline.svg","material-calendar-check":"material/calendar-check.svg","material-calendar-clock-outline":"material/calendar-clock-outline.svg","material-calendar-clock":"material/calendar-clock.svg","material-calendar-cursor":"material/calendar-cursor.svg","material-calendar-edit":"material/calendar-edit.svg","material-calendar-end":"material/calendar-end.svg","material-calendar-export":"material/calendar-export.svg","material-calendar-heart":"material/calendar-heart.svg","material-calendar-import":"material/calendar-import.svg","material-calendar-lock-outline":"material/calendar-lock-outline.svg","material-calendar-lock":"material/calendar-lock.svg","material-calendar-minus":"material/calendar-minus.svg","material-calendar-month-outline":"material/calendar-month-outline.svg","material-calendar-month":"material/calendar-month.svg","material-calendar-multiple-check":"material/calendar-multiple-check.svg","material-calendar-multiple":"material/calendar-multiple.svg","material-calendar-multiselect":"material/calendar-multiselect.svg","material-calendar-outline":"material/calendar-outline.svg","material-calendar-plus":"material/calendar-plus.svg","material-calendar-question":"material/calendar-question.svg","material-calendar-range-outline":"material/calendar-range-outline.svg","material-calendar-range":"material/calendar-range.svg","material-calendar-refresh-outline":"material/calendar-refresh-outline.svg","material-calendar-refresh":"material/calendar-refresh.svg","material-calendar-remove-outline":"material/calendar-remove-outline.svg","material-calendar-remove":"material/calendar-remove.svg","material-calendar-search":"material/calendar-search.svg","material-calendar-star":"material/calendar-star.svg","material-calendar-start":"material/calendar-start.svg","material-calendar-sync-outline":"material/calendar-sync-outline.svg","material-calendar-sync":"material/calendar-sync.svg","material-calendar-text-outline":"material/calendar-text-outline.svg","material-calendar-text":"material/calendar-text.svg","material-calendar-today":"material/calendar-today.svg","material-calendar-week-begin":"material/calendar-week-begin.svg","material-calendar-week":"material/calendar-week.svg","material-calendar-weekend-outline":"material/calendar-weekend-outline.svg","material-calendar-weekend":"material/calendar-weekend.svg","material-calendar":"material/calendar.svg","material-call-made":"material/call-made.svg","material-call-merge":"material/call-merge.svg","material-call-missed":"material/call-missed.svg","material-call-received":"material/call-received.svg","material-call-split":"material/call-split.svg","material-camcorder-off":"material/camcorder-off.svg","material-camcorder":"material/camcorder.svg","material-camera-account":"material/camera-account.svg","material-camera-burst":"material/camera-burst.svg","material-camera-control":"material/camera-control.svg","material-camera-enhance-outline":"material/camera-enhance-outline.svg","material-camera-enhance":"material/camera-enhance.svg","material-camera-flip-outline":"material/camera-flip-outline.svg","material-camera-flip":"material/camera-flip.svg","material-camera-front-variant":"material/camera-front-variant.svg","material-camera-front":"material/camera-front.svg","material-camera-gopro":"material/camera-gopro.svg","material-camera-image":"material/camera-image.svg","material-camera-iris":"material/camera-iris.svg","material-camera-metering-center":"material/camera-metering-center.svg","material-camera-metering-matrix":"material/camera-metering-matrix.svg","material-camera-metering-partial":"material/camera-metering-partial.svg","material-camera-metering-spot":"material/camera-metering-spot.svg","material-camera-off":"material/camera-off.svg","material-camera-outline":"material/camera-outline.svg","material-camera-party-mode":"material/camera-party-mode.svg","material-camera-plus-outline":"material/camera-plus-outline.svg","material-camera-plus":"material/camera-plus.svg","material-camera-rear-variant":"material/camera-rear-variant.svg","material-camera-rear":"material/camera-rear.svg","material-camera-retake-outline":"material/camera-retake-outline.svg","material-camera-retake":"material/camera-retake.svg","material-camera-switch-outline":"material/camera-switch-outline.svg","material-camera-switch":"material/camera-switch.svg","material-camera-timer":"material/camera-timer.svg","material-camera-wireless-outline":"material/camera-wireless-outline.svg","material-camera-wireless":"material/camera-wireless.svg","material-camera":"material/camera.svg","material-campfire":"material/campfire.svg","material-cancel":"material/cancel.svg","material-candle":"material/candle.svg","material-candycane":"material/candycane.svg","material-cannabis-off":"material/cannabis-off.svg","material-cannabis":"material/cannabis.svg","material-caps-lock":"material/caps-lock.svg","material-car-2-plus":"material/car-2-plus.svg","material-car-3-plus":"material/car-3-plus.svg","material-car-arrow-left":"material/car-arrow-left.svg","material-car-arrow-right":"material/car-arrow-right.svg","material-car-back":"material/car-back.svg","material-car-battery":"material/car-battery.svg","material-car-brake-abs":"material/car-brake-abs.svg","material-car-brake-alert":"material/car-brake-alert.svg","material-car-brake-hold":"material/car-brake-hold.svg","material-car-brake-parking":"material/car-brake-parking.svg","material-car-brake-retarder":"material/car-brake-retarder.svg","material-car-child-seat":"material/car-child-seat.svg","material-car-clutch":"material/car-clutch.svg","material-car-cog":"material/car-cog.svg","material-car-connected":"material/car-connected.svg","material-car-convertible":"material/car-convertible.svg","material-car-coolant-level":"material/car-coolant-level.svg","material-car-cruise-control":"material/car-cruise-control.svg","material-car-defrost-front":"material/car-defrost-front.svg","material-car-defrost-rear":"material/car-defrost-rear.svg","material-car-door-lock":"material/car-door-lock.svg","material-car-door":"material/car-door.svg","material-car-electric-outline":"material/car-electric-outline.svg","material-car-electric":"material/car-electric.svg","material-car-emergency":"material/car-emergency.svg","material-car-esp":"material/car-esp.svg","material-car-estate":"material/car-estate.svg","material-car-hatchback":"material/car-hatchback.svg","material-car-info":"material/car-info.svg","material-car-key":"material/car-key.svg","material-car-lifted-pickup":"material/car-lifted-pickup.svg","material-car-light-dimmed":"material/car-light-dimmed.svg","material-car-light-fog":"material/car-light-fog.svg","material-car-light-high":"material/car-light-high.svg","material-car-limousine":"material/car-limousine.svg","material-car-multiple":"material/car-multiple.svg","material-car-off":"material/car-off.svg","material-car-outline":"material/car-outline.svg","material-car-parking-lights":"material/car-parking-lights.svg","material-car-pickup":"material/car-pickup.svg","material-car-seat-cooler":"material/car-seat-cooler.svg","material-car-seat-heater":"material/car-seat-heater.svg","material-car-seat":"material/car-seat.svg","material-car-settings":"material/car-settings.svg","material-car-shift-pattern":"material/car-shift-pattern.svg","material-car-side":"material/car-side.svg","material-car-sports":"material/car-sports.svg","material-car-tire-alert":"material/car-tire-alert.svg","material-car-traction-control":"material/car-traction-control.svg","material-car-turbocharger":"material/car-turbocharger.svg","material-car-wash":"material/car-wash.svg","material-car-windshield-outline":"material/car-windshield-outline.svg","material-car-windshield":"material/car-windshield.svg","material-car":"material/car.svg","material-carabiner":"material/carabiner.svg","material-caravan":"material/caravan.svg","material-card-account-details-outline":"material/card-account-details-outline.svg","material-card-account-details-star-outline":"material/card-account-details-star-outline.svg","material-card-account-details-star":"material/card-account-details-star.svg","material-card-account-details":"material/card-account-details.svg","material-card-account-mail-outline":"material/card-account-mail-outline.svg","material-card-account-mail":"material/card-account-mail.svg","material-card-account-phone-outline":"material/card-account-phone-outline.svg","material-card-account-phone":"material/card-account-phone.svg","material-card-bulleted-off-outline":"material/card-bulleted-off-outline.svg","material-card-bulleted-off":"material/card-bulleted-off.svg","material-card-bulleted-outline":"material/card-bulleted-outline.svg","material-card-bulleted-settings-outline":"material/card-bulleted-settings-outline.svg","material-card-bulleted-settings":"material/card-bulleted-settings.svg","material-card-bulleted":"material/card-bulleted.svg","material-card-minus-outline":"material/card-minus-outline.svg","material-card-minus":"material/card-minus.svg","material-card-off-outline":"material/card-off-outline.svg","material-card-off":"material/card-off.svg","material-card-outline":"material/card-outline.svg","material-card-plus-outline":"material/card-plus-outline.svg","material-card-plus":"material/card-plus.svg","material-card-remove-outline":"material/card-remove-outline.svg","material-card-remove":"material/card-remove.svg","material-card-search-outline":"material/card-search-outline.svg","material-card-search":"material/card-search.svg","material-card-text-outline":"material/card-text-outline.svg","material-card-text":"material/card-text.svg","material-card":"material/card.svg","material-cards-club":"material/cards-club.svg","material-cards-diamond-outline":"material/cards-diamond-outline.svg","material-cards-diamond":"material/cards-diamond.svg","material-cards-heart":"material/cards-heart.svg","material-cards-outline":"material/cards-outline.svg","material-cards-playing-outline":"material/cards-playing-outline.svg","material-cards-spade":"material/cards-spade.svg","material-cards-variant":"material/cards-variant.svg","material-cards":"material/cards.svg","material-carrot":"material/carrot.svg","material-cart-arrow-down":"material/cart-arrow-down.svg","material-cart-arrow-right":"material/cart-arrow-right.svg","material-cart-arrow-up":"material/cart-arrow-up.svg","material-cart-check":"material/cart-check.svg","material-cart-minus":"material/cart-minus.svg","material-cart-off":"material/cart-off.svg","material-cart-outline":"material/cart-outline.svg","material-cart-plus":"material/cart-plus.svg","material-cart-remove":"material/cart-remove.svg","material-cart-variant":"material/cart-variant.svg","material-cart":"material/cart.svg","material-case-sensitive-alt":"material/case-sensitive-alt.svg","material-cash-100":"material/cash-100.svg","material-cash-check":"material/cash-check.svg","material-cash-lock-open":"material/cash-lock-open.svg","material-cash-lock":"material/cash-lock.svg","material-cash-marker":"material/cash-marker.svg","material-cash-minus":"material/cash-minus.svg","material-cash-multiple":"material/cash-multiple.svg","material-cash-plus":"material/cash-plus.svg","material-cash-refund":"material/cash-refund.svg","material-cash-register":"material/cash-register.svg","material-cash-remove":"material/cash-remove.svg","material-cash-usd-outline":"material/cash-usd-outline.svg","material-cash-usd":"material/cash-usd.svg","material-cash":"material/cash.svg","material-cassette":"material/cassette.svg","material-cast-audio":"material/cast-audio.svg","material-cast-connected":"material/cast-connected.svg","material-cast-education":"material/cast-education.svg","material-cast-off":"material/cast-off.svg","material-cast":"material/cast.svg","material-castle":"material/castle.svg","material-cat":"material/cat.svg","material-cctv":"material/cctv.svg","material-ceiling-light":"material/ceiling-light.svg","material-cellphone-android":"material/cellphone-android.svg","material-cellphone-arrow-down":"material/cellphone-arrow-down.svg","material-cellphone-basic":"material/cellphone-basic.svg","material-cellphone-charging":"material/cellphone-charging.svg","material-cellphone-cog":"material/cellphone-cog.svg","material-cellphone-dock":"material/cellphone-dock.svg","material-cellphone-erase":"material/cellphone-erase.svg","material-cellphone-information":"material/cellphone-information.svg","material-cellphone-iphone":"material/cellphone-iphone.svg","material-cellphone-key":"material/cellphone-key.svg","material-cellphone-link-off":"material/cellphone-link-off.svg","material-cellphone-link":"material/cellphone-link.svg","material-cellphone-lock":"material/cellphone-lock.svg","material-cellphone-message-off":"material/cellphone-message-off.svg","material-cellphone-message":"material/cellphone-message.svg","material-cellphone-nfc-off":"material/cellphone-nfc-off.svg","material-cellphone-nfc":"material/cellphone-nfc.svg","material-cellphone-off":"material/cellphone-off.svg","material-cellphone-play":"material/cellphone-play.svg","material-cellphone-screenshot":"material/cellphone-screenshot.svg","material-cellphone-settings":"material/cellphone-settings.svg","material-cellphone-sound":"material/cellphone-sound.svg","material-cellphone-text":"material/cellphone-text.svg","material-cellphone-wireless":"material/cellphone-wireless.svg","material-cellphone":"material/cellphone.svg","material-celtic-cross":"material/celtic-cross.svg","material-centos":"material/centos.svg","material-certificate-outline":"material/certificate-outline.svg","material-certificate":"material/certificate.svg","material-chair-rolling":"material/chair-rolling.svg","material-chair-school":"material/chair-school.svg","material-charity":"material/charity.svg","material-chart-arc":"material/chart-arc.svg","material-chart-areaspline-variant":"material/chart-areaspline-variant.svg","material-chart-areaspline":"material/chart-areaspline.svg","material-chart-bar-stacked":"material/chart-bar-stacked.svg","material-chart-bar":"material/chart-bar.svg","material-chart-bell-curve-cumulative":"material/chart-bell-curve-cumulative.svg","material-chart-bell-curve":"material/chart-bell-curve.svg","material-chart-box-outline":"material/chart-box-outline.svg","material-chart-box-plus-outline":"material/chart-box-plus-outline.svg","material-chart-box":"material/chart-box.svg","material-chart-bubble":"material/chart-bubble.svg","material-chart-donut-variant":"material/chart-donut-variant.svg","material-chart-donut":"material/chart-donut.svg","material-chart-gantt":"material/chart-gantt.svg","material-chart-histogram":"material/chart-histogram.svg","material-chart-line-stacked":"material/chart-line-stacked.svg","material-chart-line-variant":"material/chart-line-variant.svg","material-chart-line":"material/chart-line.svg","material-chart-multiline":"material/chart-multiline.svg","material-chart-multiple":"material/chart-multiple.svg","material-chart-pie":"material/chart-pie.svg","material-chart-ppf":"material/chart-ppf.svg","material-chart-sankey-variant":"material/chart-sankey-variant.svg","material-chart-sankey":"material/chart-sankey.svg","material-chart-scatter-plot-hexbin":"material/chart-scatter-plot-hexbin.svg","material-chart-scatter-plot":"material/chart-scatter-plot.svg","material-chart-timeline-variant-shimmer":"material/chart-timeline-variant-shimmer.svg","material-chart-timeline-variant":"material/chart-timeline-variant.svg","material-chart-timeline":"material/chart-timeline.svg","material-chart-tree":"material/chart-tree.svg","material-chat-alert-outline":"material/chat-alert-outline.svg","material-chat-alert":"material/chat-alert.svg","material-chat-minus-outline":"material/chat-minus-outline.svg","material-chat-minus":"material/chat-minus.svg","material-chat-outline":"material/chat-outline.svg","material-chat-plus-outline":"material/chat-plus-outline.svg","material-chat-plus":"material/chat-plus.svg","material-chat-processing-outline":"material/chat-processing-outline.svg","material-chat-processing":"material/chat-processing.svg","material-chat-question-outline":"material/chat-question-outline.svg","material-chat-question":"material/chat-question.svg","material-chat-remove-outline":"material/chat-remove-outline.svg","material-chat-remove":"material/chat-remove.svg","material-chat-sleep-outline":"material/chat-sleep-outline.svg","material-chat-sleep":"material/chat-sleep.svg","material-chat":"material/chat.svg","material-check-all":"material/check-all.svg","material-check-bold":"material/check-bold.svg","material-check-box-multiple-outline":"material/check-box-multiple-outline.svg","material-check-box-outline":"material/check-box-outline.svg","material-check-circle-outline":"material/check-circle-outline.svg","material-check-circle":"material/check-circle.svg","material-check-decagram-outline":"material/check-decagram-outline.svg","material-check-decagram":"material/check-decagram.svg","material-check-network-outline":"material/check-network-outline.svg","material-check-network":"material/check-network.svg","material-check-outline":"material/check-outline.svg","material-check-underline-circle-outline":"material/check-underline-circle-outline.svg","material-check-underline-circle":"material/check-underline-circle.svg","material-check-underline":"material/check-underline.svg","material-check":"material/check.svg","material-checkbook":"material/checkbook.svg","material-checkbox-blank-circle-outline":"material/checkbox-blank-circle-outline.svg","material-checkbox-blank-circle":"material/checkbox-blank-circle.svg","material-checkbox-blank-off-outline":"material/checkbox-blank-off-outline.svg","material-checkbox-blank-off":"material/checkbox-blank-off.svg","material-checkbox-blank-outline":"material/checkbox-blank-outline.svg","material-checkbox-blank":"material/checkbox-blank.svg","material-checkbox-intermediate":"material/checkbox-intermediate.svg","material-checkbox-marked-circle-outline":"material/checkbox-marked-circle-outline.svg","material-checkbox-marked-circle":"material/checkbox-marked-circle.svg","material-checkbox-marked-outline":"material/checkbox-marked-outline.svg","material-checkbox-marked":"material/checkbox-marked.svg","material-checkbox-multiple-blank-circle-outline":"material/checkbox-multiple-blank-circle-outline.svg","material-checkbox-multiple-blank-circle":"material/checkbox-multiple-blank-circle.svg","material-checkbox-multiple-blank-outline":"material/checkbox-multiple-blank-outline.svg","material-checkbox-multiple-blank":"material/checkbox-multiple-blank.svg","material-checkbox-multiple-marked-circle-outline":"material/checkbox-multiple-marked-circle-outline.svg","material-checkbox-multiple-marked-circle":"material/checkbox-multiple-marked-circle.svg","material-checkbox-multiple-marked-outline":"material/checkbox-multiple-marked-outline.svg","material-checkbox-multiple-marked":"material/checkbox-multiple-marked.svg","material-checkerboard-minus":"material/checkerboard-minus.svg","material-checkerboard-plus":"material/checkerboard-plus.svg","material-checkerboard-remove":"material/checkerboard-remove.svg","material-checkerboard":"material/checkerboard.svg","material-cheese-off":"material/cheese-off.svg","material-cheese":"material/cheese.svg","material-chef-hat":"material/chef-hat.svg","material-chemical-weapon":"material/chemical-weapon.svg","material-chess-bishop":"material/chess-bishop.svg","material-chess-king":"material/chess-king.svg","material-chess-knight":"material/chess-knight.svg","material-chess-pawn":"material/chess-pawn.svg","material-chess-queen":"material/chess-queen.svg","material-chess-rook":"material/chess-rook.svg","material-chevron-double-down":"material/chevron-double-down.svg","material-chevron-double-left":"material/chevron-double-left.svg","material-chevron-double-right":"material/chevron-double-right.svg","material-chevron-double-up":"material/chevron-double-up.svg","material-chevron-down-box-outline":"material/chevron-down-box-outline.svg","material-chevron-down-box":"material/chevron-down-box.svg","material-chevron-down-circle-outline":"material/chevron-down-circle-outline.svg","material-chevron-down-circle":"material/chevron-down-circle.svg","material-chevron-down":"material/chevron-down.svg","material-chevron-left-box-outline":"material/chevron-left-box-outline.svg","material-chevron-left-box":"material/chevron-left-box.svg","material-chevron-left-circle-outline":"material/chevron-left-circle-outline.svg","material-chevron-left-circle":"material/chevron-left-circle.svg","material-chevron-left":"material/chevron-left.svg","material-chevron-right-box-outline":"material/chevron-right-box-outline.svg","material-chevron-right-box":"material/chevron-right-box.svg","material-chevron-right-circle-outline":"material/chevron-right-circle-outline.svg","material-chevron-right-circle":"material/chevron-right-circle.svg","material-chevron-right":"material/chevron-right.svg","material-chevron-triple-down":"material/chevron-triple-down.svg","material-chevron-triple-left":"material/chevron-triple-left.svg","material-chevron-triple-right":"material/chevron-triple-right.svg","material-chevron-triple-up":"material/chevron-triple-up.svg","material-chevron-up-box-outline":"material/chevron-up-box-outline.svg","material-chevron-up-box":"material/chevron-up-box.svg","material-chevron-up-circle-outline":"material/chevron-up-circle-outline.svg","material-chevron-up-circle":"material/chevron-up-circle.svg","material-chevron-up":"material/chevron-up.svg","material-chili-hot":"material/chili-hot.svg","material-chili-medium":"material/chili-medium.svg","material-chili-mild":"material/chili-mild.svg","material-chili-off":"material/chili-off.svg","material-chip":"material/chip.svg","material-christianity-outline":"material/christianity-outline.svg","material-christianity":"material/christianity.svg","material-church":"material/church.svg","material-cigar-off":"material/cigar-off.svg","material-cigar":"material/cigar.svg","material-circle-box-outline":"material/circle-box-outline.svg","material-circle-box":"material/circle-box.svg","material-circle-double":"material/circle-double.svg","material-circle-edit-outline":"material/circle-edit-outline.svg","material-circle-expand":"material/circle-expand.svg","material-circle-half-full":"material/circle-half-full.svg","material-circle-half":"material/circle-half.svg","material-circle-medium":"material/circle-medium.svg","material-circle-multiple-outline":"material/circle-multiple-outline.svg","material-circle-multiple":"material/circle-multiple.svg","material-circle-off-outline":"material/circle-off-outline.svg","material-circle-outline":"material/circle-outline.svg","material-circle-slice-1":"material/circle-slice-1.svg","material-circle-slice-2":"material/circle-slice-2.svg","material-circle-slice-3":"material/circle-slice-3.svg","material-circle-slice-4":"material/circle-slice-4.svg","material-circle-slice-5":"material/circle-slice-5.svg","material-circle-slice-6":"material/circle-slice-6.svg","material-circle-slice-7":"material/circle-slice-7.svg","material-circle-slice-8":"material/circle-slice-8.svg","material-circle-small":"material/circle-small.svg","material-circle":"material/circle.svg","material-circular-saw":"material/circular-saw.svg","material-city-variant-outline":"material/city-variant-outline.svg","material-city-variant":"material/city-variant.svg","material-city":"material/city.svg","material-clipboard-account-outline":"material/clipboard-account-outline.svg","material-clipboard-account":"material/clipboard-account.svg","material-clipboard-alert-outline":"material/clipboard-alert-outline.svg","material-clipboard-alert":"material/clipboard-alert.svg","material-clipboard-arrow-down-outline":"material/clipboard-arrow-down-outline.svg","material-clipboard-arrow-down":"material/clipboard-arrow-down.svg","material-clipboard-arrow-left-outline":"material/clipboard-arrow-left-outline.svg","material-clipboard-arrow-left":"material/clipboard-arrow-left.svg","material-clipboard-arrow-right-outline":"material/clipboard-arrow-right-outline.svg","material-clipboard-arrow-right":"material/clipboard-arrow-right.svg","material-clipboard-arrow-up-outline":"material/clipboard-arrow-up-outline.svg","material-clipboard-arrow-up":"material/clipboard-arrow-up.svg","material-clipboard-check-multiple-outline":"material/clipboard-check-multiple-outline.svg","material-clipboard-check-multiple":"material/clipboard-check-multiple.svg","material-clipboard-check-outline":"material/clipboard-check-outline.svg","material-clipboard-check":"material/clipboard-check.svg","material-clipboard-clock-outline":"material/clipboard-clock-outline.svg","material-clipboard-clock":"material/clipboard-clock.svg","material-clipboard-edit-outline":"material/clipboard-edit-outline.svg","material-clipboard-edit":"material/clipboard-edit.svg","material-clipboard-file-outline":"material/clipboard-file-outline.svg","material-clipboard-file":"material/clipboard-file.svg","material-clipboard-flow-outline":"material/clipboard-flow-outline.svg","material-clipboard-flow":"material/clipboard-flow.svg","material-clipboard-list-outline":"material/clipboard-list-outline.svg","material-clipboard-list":"material/clipboard-list.svg","material-clipboard-minus-outline":"material/clipboard-minus-outline.svg","material-clipboard-minus":"material/clipboard-minus.svg","material-clipboard-multiple-outline":"material/clipboard-multiple-outline.svg","material-clipboard-multiple":"material/clipboard-multiple.svg","material-clipboard-off-outline":"material/clipboard-off-outline.svg","material-clipboard-off":"material/clipboard-off.svg","material-clipboard-outline":"material/clipboard-outline.svg","material-clipboard-play-multiple-outline":"material/clipboard-play-multiple-outline.svg","material-clipboard-play-multiple":"material/clipboard-play-multiple.svg","material-clipboard-play-outline":"material/clipboard-play-outline.svg","material-clipboard-play":"material/clipboard-play.svg","material-clipboard-plus-outline":"material/clipboard-plus-outline.svg","material-clipboard-plus":"material/clipboard-plus.svg","material-clipboard-pulse-outline":"material/clipboard-pulse-outline.svg","material-clipboard-pulse":"material/clipboard-pulse.svg","material-clipboard-remove-outline":"material/clipboard-remove-outline.svg","material-clipboard-remove":"material/clipboard-remove.svg","material-clipboard-search-outline":"material/clipboard-search-outline.svg","material-clipboard-search":"material/clipboard-search.svg","material-clipboard-text-multiple-outline":"material/clipboard-text-multiple-outline.svg","material-clipboard-text-multiple":"material/clipboard-text-multiple.svg","material-clipboard-text-off-outline":"material/clipboard-text-off-outline.svg","material-clipboard-text-off":"material/clipboard-text-off.svg","material-clipboard-text-outline":"material/clipboard-text-outline.svg","material-clipboard-text-play-outline":"material/clipboard-text-play-outline.svg","material-clipboard-text-play":"material/clipboard-text-play.svg","material-clipboard-text-search-outline":"material/clipboard-text-search-outline.svg","material-clipboard-text-search":"material/clipboard-text-search.svg","material-clipboard-text":"material/clipboard-text.svg","material-clipboard":"material/clipboard.svg","material-clippy":"material/clippy.svg","material-clock-alert-outline":"material/clock-alert-outline.svg","material-clock-alert":"material/clock-alert.svg","material-clock-check-outline":"material/clock-check-outline.svg","material-clock-check":"material/clock-check.svg","material-clock-digital":"material/clock-digital.svg","material-clock-end":"material/clock-end.svg","material-clock-fast":"material/clock-fast.svg","material-clock-in":"material/clock-in.svg","material-clock-out":"material/clock-out.svg","material-clock-outline":"material/clock-outline.svg","material-clock-start":"material/clock-start.svg","material-clock-time-eight-outline":"material/clock-time-eight-outline.svg","material-clock-time-eight":"material/clock-time-eight.svg","material-clock-time-eleven-outline":"material/clock-time-eleven-outline.svg","material-clock-time-eleven":"material/clock-time-eleven.svg","material-clock-time-five-outline":"material/clock-time-five-outline.svg","material-clock-time-five":"material/clock-time-five.svg","material-clock-time-four-outline":"material/clock-time-four-outline.svg","material-clock-time-four":"material/clock-time-four.svg","material-clock-time-nine-outline":"material/clock-time-nine-outline.svg","material-clock-time-nine":"material/clock-time-nine.svg","material-clock-time-one-outline":"material/clock-time-one-outline.svg","material-clock-time-one":"material/clock-time-one.svg","material-clock-time-seven-outline":"material/clock-time-seven-outline.svg","material-clock-time-seven":"material/clock-time-seven.svg","material-clock-time-six-outline":"material/clock-time-six-outline.svg","material-clock-time-six":"material/clock-time-six.svg","material-clock-time-ten-outline":"material/clock-time-ten-outline.svg","material-clock-time-ten":"material/clock-time-ten.svg","material-clock-time-three-outline":"material/clock-time-three-outline.svg","material-clock-time-three":"material/clock-time-three.svg","material-clock-time-twelve-outline":"material/clock-time-twelve-outline.svg","material-clock-time-twelve":"material/clock-time-twelve.svg","material-clock-time-two-outline":"material/clock-time-two-outline.svg","material-clock-time-two":"material/clock-time-two.svg","material-clock":"material/clock.svg","material-close-box-multiple-outline":"material/close-box-multiple-outline.svg","material-close-box-multiple":"material/close-box-multiple.svg","material-close-box-outline":"material/close-box-outline.svg","material-close-box":"material/close-box.svg","material-close-circle-multiple-outline":"material/close-circle-multiple-outline.svg","material-close-circle-multiple":"material/close-circle-multiple.svg","material-close-circle-outline":"material/close-circle-outline.svg","material-close-circle":"material/close-circle.svg","material-close-network-outline":"material/close-network-outline.svg","material-close-network":"material/close-network.svg","material-close-octagon-outline":"material/close-octagon-outline.svg","material-close-octagon":"material/close-octagon.svg","material-close-outline":"material/close-outline.svg","material-close-thick":"material/close-thick.svg","material-close":"material/close.svg","material-closed-caption-outline":"material/closed-caption-outline.svg","material-closed-caption":"material/closed-caption.svg","material-cloud-alert":"material/cloud-alert.svg","material-cloud-braces":"material/cloud-braces.svg","material-cloud-check-outline":"material/cloud-check-outline.svg","material-cloud-check":"material/cloud-check.svg","material-cloud-circle":"material/cloud-circle.svg","material-cloud-download-outline":"material/cloud-download-outline.svg","material-cloud-download":"material/cloud-download.svg","material-cloud-lock-outline":"material/cloud-lock-outline.svg","material-cloud-lock":"material/cloud-lock.svg","material-cloud-off-outline":"material/cloud-off-outline.svg","material-cloud-outline":"material/cloud-outline.svg","material-cloud-print-outline":"material/cloud-print-outline.svg","material-cloud-print":"material/cloud-print.svg","material-cloud-question":"material/cloud-question.svg","material-cloud-refresh":"material/cloud-refresh.svg","material-cloud-search-outline":"material/cloud-search-outline.svg","material-cloud-search":"material/cloud-search.svg","material-cloud-sync-outline":"material/cloud-sync-outline.svg","material-cloud-sync":"material/cloud-sync.svg","material-cloud-tags":"material/cloud-tags.svg","material-cloud-upload-outline":"material/cloud-upload-outline.svg","material-cloud-upload":"material/cloud-upload.svg","material-cloud":"material/cloud.svg","material-clover":"material/clover.svg","material-coach-lamp":"material/coach-lamp.svg","material-coat-rack":"material/coat-rack.svg","material-code-array":"material/code-array.svg","material-code-braces-box":"material/code-braces-box.svg","material-code-braces":"material/code-braces.svg","material-code-brackets":"material/code-brackets.svg","material-code-equal":"material/code-equal.svg","material-code-greater-than-or-equal":"material/code-greater-than-or-equal.svg","material-code-greater-than":"material/code-greater-than.svg","material-code-json":"material/code-json.svg","material-code-less-than-or-equal":"material/code-less-than-or-equal.svg","material-code-less-than":"material/code-less-than.svg","material-code-not-equal-variant":"material/code-not-equal-variant.svg","material-code-not-equal":"material/code-not-equal.svg","material-code-parentheses-box":"material/code-parentheses-box.svg","material-code-parentheses":"material/code-parentheses.svg","material-code-string":"material/code-string.svg","material-code-tags-check":"material/code-tags-check.svg","material-code-tags":"material/code-tags.svg","material-codepen":"material/codepen.svg","material-coffee-maker":"material/coffee-maker.svg","material-coffee-off-outline":"material/coffee-off-outline.svg","material-coffee-off":"material/coffee-off.svg","material-coffee-outline":"material/coffee-outline.svg","material-coffee-to-go-outline":"material/coffee-to-go-outline.svg","material-coffee-to-go":"material/coffee-to-go.svg","material-coffee":"material/coffee.svg","material-coffin":"material/coffin.svg","material-cog-box":"material/cog-box.svg","material-cog-clockwise":"material/cog-clockwise.svg","material-cog-counterclockwise":"material/cog-counterclockwise.svg","material-cog-off-outline":"material/cog-off-outline.svg","material-cog-off":"material/cog-off.svg","material-cog-outline":"material/cog-outline.svg","material-cog-refresh-outline":"material/cog-refresh-outline.svg","material-cog-refresh":"material/cog-refresh.svg","material-cog-sync-outline":"material/cog-sync-outline.svg","material-cog-sync":"material/cog-sync.svg","material-cog-transfer-outline":"material/cog-transfer-outline.svg","material-cog-transfer":"material/cog-transfer.svg","material-cog":"material/cog.svg","material-cogs":"material/cogs.svg","material-collage":"material/collage.svg","material-collapse-all-outline":"material/collapse-all-outline.svg","material-collapse-all":"material/collapse-all.svg","material-color-helper":"material/color-helper.svg","material-comma-box-outline":"material/comma-box-outline.svg","material-comma-box":"material/comma-box.svg","material-comma-circle-outline":"material/comma-circle-outline.svg","material-comma-circle":"material/comma-circle.svg","material-comma":"material/comma.svg","material-comment-account-outline":"material/comment-account-outline.svg","material-comment-account":"material/comment-account.svg","material-comment-alert-outline":"material/comment-alert-outline.svg","material-comment-alert":"material/comment-alert.svg","material-comment-arrow-left-outline":"material/comment-arrow-left-outline.svg","material-comment-arrow-left":"material/comment-arrow-left.svg","material-comment-arrow-right-outline":"material/comment-arrow-right-outline.svg","material-comment-arrow-right":"material/comment-arrow-right.svg","material-comment-bookmark-outline":"material/comment-bookmark-outline.svg","material-comment-bookmark":"material/comment-bookmark.svg","material-comment-check-outline":"material/comment-check-outline.svg","material-comment-check":"material/comment-check.svg","material-comment-edit-outline":"material/comment-edit-outline.svg","material-comment-edit":"material/comment-edit.svg","material-comment-eye-outline":"material/comment-eye-outline.svg","material-comment-eye":"material/comment-eye.svg","material-comment-flash-outline":"material/comment-flash-outline.svg","material-comment-flash":"material/comment-flash.svg","material-comment-minus-outline":"material/comment-minus-outline.svg","material-comment-minus":"material/comment-minus.svg","material-comment-multiple-outline":"material/comment-multiple-outline.svg","material-comment-multiple":"material/comment-multiple.svg","material-comment-off-outline":"material/comment-off-outline.svg","material-comment-off":"material/comment-off.svg","material-comment-outline":"material/comment-outline.svg","material-comment-plus-outline":"material/comment-plus-outline.svg","material-comment-plus":"material/comment-plus.svg","material-comment-processing-outline":"material/comment-processing-outline.svg","material-comment-processing":"material/comment-processing.svg","material-comment-question-outline":"material/comment-question-outline.svg","material-comment-question":"material/comment-question.svg","material-comment-quote-outline":"material/comment-quote-outline.svg","material-comment-quote":"material/comment-quote.svg","material-comment-remove-outline":"material/comment-remove-outline.svg","material-comment-remove":"material/comment-remove.svg","material-comment-search-outline":"material/comment-search-outline.svg","material-comment-search":"material/comment-search.svg","material-comment-text-multiple-outline":"material/comment-text-multiple-outline.svg","material-comment-text-multiple":"material/comment-text-multiple.svg","material-comment-text-outline":"material/comment-text-outline.svg","material-comment-text":"material/comment-text.svg","material-comment":"material/comment.svg","material-compare-horizontal":"material/compare-horizontal.svg","material-compare-vertical":"material/compare-vertical.svg","material-compare":"material/compare.svg","material-compass-off-outline":"material/compass-off-outline.svg","material-compass-off":"material/compass-off.svg","material-compass-outline":"material/compass-outline.svg","material-compass-rose":"material/compass-rose.svg","material-compass":"material/compass.svg","material-concourse-ci":"material/concourse-ci.svg","material-connection":"material/connection.svg","material-console-line":"material/console-line.svg","material-console-network-outline":"material/console-network-outline.svg","material-console-network":"material/console-network.svg","material-console":"material/console.svg","material-consolidate":"material/consolidate.svg","material-contactless-payment-circle-outline":"material/contactless-payment-circle-outline.svg","material-contactless-payment-circle":"material/contactless-payment-circle.svg","material-contactless-payment":"material/contactless-payment.svg","material-contacts-outline":"material/contacts-outline.svg","material-contacts":"material/contacts.svg","material-contain-end":"material/contain-end.svg","material-contain-start":"material/contain-start.svg","material-contain":"material/contain.svg","material-content-copy":"material/content-copy.svg","material-content-cut":"material/content-cut.svg","material-content-duplicate":"material/content-duplicate.svg","material-content-paste":"material/content-paste.svg","material-content-save-alert-outline":"material/content-save-alert-outline.svg","material-content-save-alert":"material/content-save-alert.svg","material-content-save-all-outline":"material/content-save-all-outline.svg","material-content-save-all":"material/content-save-all.svg","material-content-save-cog-outline":"material/content-save-cog-outline.svg","material-content-save-cog":"material/content-save-cog.svg","material-content-save-edit-outline":"material/content-save-edit-outline.svg","material-content-save-edit":"material/content-save-edit.svg","material-content-save-move-outline":"material/content-save-move-outline.svg","material-content-save-move":"material/content-save-move.svg","material-content-save-off-outline":"material/content-save-off-outline.svg","material-content-save-off":"material/content-save-off.svg","material-content-save-outline":"material/content-save-outline.svg","material-content-save-settings-outline":"material/content-save-settings-outline.svg","material-content-save-settings":"material/content-save-settings.svg","material-content-save":"material/content-save.svg","material-contrast-box":"material/contrast-box.svg","material-contrast-circle":"material/contrast-circle.svg","material-contrast":"material/contrast.svg","material-controller-classic-outline":"material/controller-classic-outline.svg","material-controller-classic":"material/controller-classic.svg","material-cookie-alert-outline":"material/cookie-alert-outline.svg","material-cookie-alert":"material/cookie-alert.svg","material-cookie-check-outline":"material/cookie-check-outline.svg","material-cookie-check":"material/cookie-check.svg","material-cookie-clock-outline":"material/cookie-clock-outline.svg","material-cookie-clock":"material/cookie-clock.svg","material-cookie-cog-outline":"material/cookie-cog-outline.svg","material-cookie-cog":"material/cookie-cog.svg","material-cookie-edit-outline":"material/cookie-edit-outline.svg","material-cookie-edit":"material/cookie-edit.svg","material-cookie-lock-outline":"material/cookie-lock-outline.svg","material-cookie-lock":"material/cookie-lock.svg","material-cookie-minus-outline":"material/cookie-minus-outline.svg","material-cookie-minus":"material/cookie-minus.svg","material-cookie-off-outline":"material/cookie-off-outline.svg","material-cookie-off":"material/cookie-off.svg","material-cookie-outline":"material/cookie-outline.svg","material-cookie-plus-outline":"material/cookie-plus-outline.svg","material-cookie-plus":"material/cookie-plus.svg","material-cookie-refresh-outline":"material/cookie-refresh-outline.svg","material-cookie-refresh":"material/cookie-refresh.svg","material-cookie-remove-outline":"material/cookie-remove-outline.svg","material-cookie-remove":"material/cookie-remove.svg","material-cookie-settings-outline":"material/cookie-settings-outline.svg","material-cookie-settings":"material/cookie-settings.svg","material-cookie":"material/cookie.svg","material-coolant-temperature":"material/coolant-temperature.svg","material-copyright":"material/copyright.svg","material-cordova":"material/cordova.svg","material-corn-off":"material/corn-off.svg","material-corn":"material/corn.svg","material-cosine-wave":"material/cosine-wave.svg","material-counter":"material/counter.svg","material-cow":"material/cow.svg","material-cpu-32-bit":"material/cpu-32-bit.svg","material-cpu-64-bit":"material/cpu-64-bit.svg","material-crane":"material/crane.svg","material-creation":"material/creation.svg","material-creative-commons":"material/creative-commons.svg","material-credit-card-check-outline":"material/credit-card-check-outline.svg","material-credit-card-check":"material/credit-card-check.svg","material-credit-card-clock-outline":"material/credit-card-clock-outline.svg","material-credit-card-clock":"material/credit-card-clock.svg","material-credit-card-marker-outline":"material/credit-card-marker-outline.svg","material-credit-card-marker":"material/credit-card-marker.svg","material-credit-card-minus-outline":"material/credit-card-minus-outline.svg","material-credit-card-minus":"material/credit-card-minus.svg","material-credit-card-multiple-outline":"material/credit-card-multiple-outline.svg","material-credit-card-multiple":"material/credit-card-multiple.svg","material-credit-card-off-outline":"material/credit-card-off-outline.svg","material-credit-card-off":"material/credit-card-off.svg","material-credit-card-outline":"material/credit-card-outline.svg","material-credit-card-plus-outline":"material/credit-card-plus-outline.svg","material-credit-card-plus":"material/credit-card-plus.svg","material-credit-card-refresh-outline":"material/credit-card-refresh-outline.svg","material-credit-card-refresh":"material/credit-card-refresh.svg","material-credit-card-refund-outline":"material/credit-card-refund-outline.svg","material-credit-card-refund":"material/credit-card-refund.svg","material-credit-card-remove-outline":"material/credit-card-remove-outline.svg","material-credit-card-remove":"material/credit-card-remove.svg","material-credit-card-scan-outline":"material/credit-card-scan-outline.svg","material-credit-card-scan":"material/credit-card-scan.svg","material-credit-card-search-outline":"material/credit-card-search-outline.svg","material-credit-card-search":"material/credit-card-search.svg","material-credit-card-settings-outline":"material/credit-card-settings-outline.svg","material-credit-card-settings":"material/credit-card-settings.svg","material-credit-card-sync-outline":"material/credit-card-sync-outline.svg","material-credit-card-sync":"material/credit-card-sync.svg","material-credit-card-wireless-off-outline":"material/credit-card-wireless-off-outline.svg","material-credit-card-wireless-off":"material/credit-card-wireless-off.svg","material-credit-card-wireless-outline":"material/credit-card-wireless-outline.svg","material-credit-card-wireless":"material/credit-card-wireless.svg","material-credit-card":"material/credit-card.svg","material-cricket":"material/cricket.svg","material-crop-free":"material/crop-free.svg","material-crop-landscape":"material/crop-landscape.svg","material-crop-portrait":"material/crop-portrait.svg","material-crop-rotate":"material/crop-rotate.svg","material-crop-square":"material/crop-square.svg","material-crop":"material/crop.svg","material-crosshairs-gps":"material/crosshairs-gps.svg","material-crosshairs-off":"material/crosshairs-off.svg","material-crosshairs-question":"material/crosshairs-question.svg","material-crosshairs":"material/crosshairs.svg","material-crown-outline":"material/crown-outline.svg","material-crown":"material/crown.svg","material-cryengine":"material/cryengine.svg","material-crystal-ball":"material/crystal-ball.svg","material-cube-off-outline":"material/cube-off-outline.svg","material-cube-off":"material/cube-off.svg","material-cube-outline":"material/cube-outline.svg","material-cube-scan":"material/cube-scan.svg","material-cube-send":"material/cube-send.svg","material-cube-unfolded":"material/cube-unfolded.svg","material-cube":"material/cube.svg","material-cup-off-outline":"material/cup-off-outline.svg","material-cup-off":"material/cup-off.svg","material-cup-outline":"material/cup-outline.svg","material-cup-water":"material/cup-water.svg","material-cup":"material/cup.svg","material-cupboard-outline":"material/cupboard-outline.svg","material-cupboard":"material/cupboard.svg","material-cupcake":"material/cupcake.svg","material-curling":"material/curling.svg","material-currency-bdt":"material/currency-bdt.svg","material-currency-brl":"material/currency-brl.svg","material-currency-btc":"material/currency-btc.svg","material-currency-cny":"material/currency-cny.svg","material-currency-eth":"material/currency-eth.svg","material-currency-eur-off":"material/currency-eur-off.svg","material-currency-eur":"material/currency-eur.svg","material-currency-gbp":"material/currency-gbp.svg","material-currency-ils":"material/currency-ils.svg","material-currency-inr":"material/currency-inr.svg","material-currency-jpy":"material/currency-jpy.svg","material-currency-krw":"material/currency-krw.svg","material-currency-kzt":"material/currency-kzt.svg","material-currency-mnt":"material/currency-mnt.svg","material-currency-ngn":"material/currency-ngn.svg","material-currency-php":"material/currency-php.svg","material-currency-rial":"material/currency-rial.svg","material-currency-rub":"material/currency-rub.svg","material-currency-sign":"material/currency-sign.svg","material-currency-try":"material/currency-try.svg","material-currency-twd":"material/currency-twd.svg","material-currency-usd-circle-outline":"material/currency-usd-circle-outline.svg","material-currency-usd-circle":"material/currency-usd-circle.svg","material-currency-usd-off":"material/currency-usd-off.svg","material-currency-usd":"material/currency-usd.svg","material-current-ac":"material/current-ac.svg","material-current-dc":"material/current-dc.svg","material-cursor-default-click-outline":"material/cursor-default-click-outline.svg","material-cursor-default-click":"material/cursor-default-click.svg","material-cursor-default-gesture-outline":"material/cursor-default-gesture-outline.svg","material-cursor-default-gesture":"material/cursor-default-gesture.svg","material-cursor-default-outline":"material/cursor-default-outline.svg","material-cursor-default":"material/cursor-default.svg","material-cursor-move":"material/cursor-move.svg","material-cursor-pointer":"material/cursor-pointer.svg","material-cursor-text":"material/cursor-text.svg","material-dance-ballroom":"material/dance-ballroom.svg","material-dance-pole":"material/dance-pole.svg","material-data-matrix-edit":"material/data-matrix-edit.svg","material-data-matrix-minus":"material/data-matrix-minus.svg","material-data-matrix-plus":"material/data-matrix-plus.svg","material-data-matrix-remove":"material/data-matrix-remove.svg","material-data-matrix-scan":"material/data-matrix-scan.svg","material-data-matrix":"material/data-matrix.svg","material-database-alert-outline":"material/database-alert-outline.svg","material-database-alert":"material/database-alert.svg","material-database-arrow-down-outline":"material/database-arrow-down-outline.svg","material-database-arrow-down":"material/database-arrow-down.svg","material-database-arrow-left-outline":"material/database-arrow-left-outline.svg","material-database-arrow-left":"material/database-arrow-left.svg","material-database-arrow-right-outline":"material/database-arrow-right-outline.svg","material-database-arrow-right":"material/database-arrow-right.svg","material-database-arrow-up-outline":"material/database-arrow-up-outline.svg","material-database-arrow-up":"material/database-arrow-up.svg","material-database-check-outline":"material/database-check-outline.svg","material-database-check":"material/database-check.svg","material-database-clock-outline":"material/database-clock-outline.svg","material-database-clock":"material/database-clock.svg","material-database-cog-outline":"material/database-cog-outline.svg","material-database-cog":"material/database-cog.svg","material-database-edit-outline":"material/database-edit-outline.svg","material-database-edit":"material/database-edit.svg","material-database-export-outline":"material/database-export-outline.svg","material-database-export":"material/database-export.svg","material-database-import-outline":"material/database-import-outline.svg","material-database-import":"material/database-import.svg","material-database-lock-outline":"material/database-lock-outline.svg","material-database-lock":"material/database-lock.svg","material-database-marker-outline":"material/database-marker-outline.svg","material-database-marker":"material/database-marker.svg","material-database-minus-outline":"material/database-minus-outline.svg","material-database-minus":"material/database-minus.svg","material-database-off-outline":"material/database-off-outline.svg","material-database-off":"material/database-off.svg","material-database-outline":"material/database-outline.svg","material-database-plus-outline":"material/database-plus-outline.svg","material-database-plus":"material/database-plus.svg","material-database-refresh-outline":"material/database-refresh-outline.svg","material-database-refresh":"material/database-refresh.svg","material-database-remove-outline":"material/database-remove-outline.svg","material-database-remove":"material/database-remove.svg","material-database-search-outline":"material/database-search-outline.svg","material-database-search":"material/database-search.svg","material-database-settings-outline":"material/database-settings-outline.svg","material-database-settings":"material/database-settings.svg","material-database-sync-outline":"material/database-sync-outline.svg","material-database-sync":"material/database-sync.svg","material-database":"material/database.svg","material-death-star-variant":"material/death-star-variant.svg","material-death-star":"material/death-star.svg","material-deathly-hallows":"material/deathly-hallows.svg","material-debian":"material/debian.svg","material-debug-step-into":"material/debug-step-into.svg","material-debug-step-out":"material/debug-step-out.svg","material-debug-step-over":"material/debug-step-over.svg","material-decagram-outline":"material/decagram-outline.svg","material-decagram":"material/decagram.svg","material-decimal-comma-decrease":"material/decimal-comma-decrease.svg","material-decimal-comma-increase":"material/decimal-comma-increase.svg","material-decimal-comma":"material/decimal-comma.svg","material-decimal-decrease":"material/decimal-decrease.svg","material-decimal-increase":"material/decimal-increase.svg","material-decimal":"material/decimal.svg","material-delete-alert-outline":"material/delete-alert-outline.svg","material-delete-alert":"material/delete-alert.svg","material-delete-circle-outline":"material/delete-circle-outline.svg","material-delete-circle":"material/delete-circle.svg","material-delete-clock-outline":"material/delete-clock-outline.svg","material-delete-clock":"material/delete-clock.svg","material-delete-empty-outline":"material/delete-empty-outline.svg","material-delete-empty":"material/delete-empty.svg","material-delete-forever-outline":"material/delete-forever-outline.svg","material-delete-forever":"material/delete-forever.svg","material-delete-off-outline":"material/delete-off-outline.svg","material-delete-off":"material/delete-off.svg","material-delete-outline":"material/delete-outline.svg","material-delete-restore":"material/delete-restore.svg","material-delete-sweep-outline":"material/delete-sweep-outline.svg","material-delete-sweep":"material/delete-sweep.svg","material-delete-variant":"material/delete-variant.svg","material-delete":"material/delete.svg","material-delta":"material/delta.svg","material-desk-lamp":"material/desk-lamp.svg","material-desk":"material/desk.svg","material-deskphone":"material/deskphone.svg","material-desktop-classic":"material/desktop-classic.svg","material-desktop-mac-dashboard":"material/desktop-mac-dashboard.svg","material-desktop-mac":"material/desktop-mac.svg","material-desktop-tower-monitor":"material/desktop-tower-monitor.svg","material-desktop-tower":"material/desktop-tower.svg","material-details":"material/details.svg","material-dev-to":"material/dev-to.svg","material-developer-board":"material/developer-board.svg","material-deviantart":"material/deviantart.svg","material-devices":"material/devices.svg","material-diabetes":"material/diabetes.svg","material-dialpad":"material/dialpad.svg","material-diameter-outline":"material/diameter-outline.svg","material-diameter-variant":"material/diameter-variant.svg","material-diameter":"material/diameter.svg","material-diamond-outline":"material/diamond-outline.svg","material-diamond-stone":"material/diamond-stone.svg","material-diamond":"material/diamond.svg","material-dice-1-outline":"material/dice-1-outline.svg","material-dice-1":"material/dice-1.svg","material-dice-2-outline":"material/dice-2-outline.svg","material-dice-2":"material/dice-2.svg","material-dice-3-outline":"material/dice-3-outline.svg","material-dice-3":"material/dice-3.svg","material-dice-4-outline":"material/dice-4-outline.svg","material-dice-4":"material/dice-4.svg","material-dice-5-outline":"material/dice-5-outline.svg","material-dice-5":"material/dice-5.svg","material-dice-6-outline":"material/dice-6-outline.svg","material-dice-6":"material/dice-6.svg","material-dice-d10-outline":"material/dice-d10-outline.svg","material-dice-d10":"material/dice-d10.svg","material-dice-d12-outline":"material/dice-d12-outline.svg","material-dice-d12":"material/dice-d12.svg","material-dice-d20-outline":"material/dice-d20-outline.svg","material-dice-d20":"material/dice-d20.svg","material-dice-d4-outline":"material/dice-d4-outline.svg","material-dice-d4":"material/dice-d4.svg","material-dice-d6-outline":"material/dice-d6-outline.svg","material-dice-d6":"material/dice-d6.svg","material-dice-d8-outline":"material/dice-d8-outline.svg","material-dice-d8":"material/dice-d8.svg","material-dice-multiple-outline":"material/dice-multiple-outline.svg","material-dice-multiple":"material/dice-multiple.svg","material-digital-ocean":"material/digital-ocean.svg","material-dip-switch":"material/dip-switch.svg","material-directions-fork":"material/directions-fork.svg","material-directions":"material/directions.svg","material-disc-alert":"material/disc-alert.svg","material-disc-player":"material/disc-player.svg","material-disc":"material/disc.svg","material-discord":"material/discord.svg","material-dishwasher-alert":"material/dishwasher-alert.svg","material-dishwasher-off":"material/dishwasher-off.svg","material-dishwasher":"material/dishwasher.svg","material-disqus":"material/disqus.svg","material-distribute-horizontal-center":"material/distribute-horizontal-center.svg","material-distribute-horizontal-left":"material/distribute-horizontal-left.svg","material-distribute-horizontal-right":"material/distribute-horizontal-right.svg","material-distribute-vertical-bottom":"material/distribute-vertical-bottom.svg","material-distribute-vertical-center":"material/distribute-vertical-center.svg","material-distribute-vertical-top":"material/distribute-vertical-top.svg","material-diving-flippers":"material/diving-flippers.svg","material-diving-helmet":"material/diving-helmet.svg","material-diving-scuba-flag":"material/diving-scuba-flag.svg","material-diving-scuba-tank-multiple":"material/diving-scuba-tank-multiple.svg","material-diving-scuba-tank":"material/diving-scuba-tank.svg","material-diving-scuba":"material/diving-scuba.svg","material-diving-snorkel":"material/diving-snorkel.svg","material-division-box":"material/division-box.svg","material-division":"material/division.svg","material-dlna":"material/dlna.svg","material-dna":"material/dna.svg","material-dns-outline":"material/dns-outline.svg","material-dns":"material/dns.svg","material-do-not-disturb-off":"material/do-not-disturb-off.svg","material-do-not-disturb":"material/do-not-disturb.svg","material-dock-bottom":"material/dock-bottom.svg","material-dock-left":"material/dock-left.svg","material-dock-right":"material/dock-right.svg","material-dock-top":"material/dock-top.svg","material-dock-window":"material/dock-window.svg","material-docker":"material/docker.svg","material-doctor":"material/doctor.svg","material-dog-service":"material/dog-service.svg","material-dog-side-off":"material/dog-side-off.svg","material-dog-side":"material/dog-side.svg","material-dog":"material/dog.svg","material-dolby":"material/dolby.svg","material-dolly":"material/dolly.svg","material-domain-off":"material/domain-off.svg","material-domain-plus":"material/domain-plus.svg","material-domain-remove":"material/domain-remove.svg","material-domain":"material/domain.svg","material-dome-light":"material/dome-light.svg","material-domino-mask":"material/domino-mask.svg","material-donkey":"material/donkey.svg","material-door-closed-lock":"material/door-closed-lock.svg","material-door-closed":"material/door-closed.svg","material-door-open":"material/door-open.svg","material-door":"material/door.svg","material-doorbell-video":"material/doorbell-video.svg","material-doorbell":"material/doorbell.svg","material-dot-net":"material/dot-net.svg","material-dots-grid":"material/dots-grid.svg","material-dots-hexagon":"material/dots-hexagon.svg","material-dots-horizontal-circle-outline":"material/dots-horizontal-circle-outline.svg","material-dots-horizontal-circle":"material/dots-horizontal-circle.svg","material-dots-horizontal":"material/dots-horizontal.svg","material-dots-square":"material/dots-square.svg","material-dots-triangle":"material/dots-triangle.svg","material-dots-vertical-circle-outline":"material/dots-vertical-circle-outline.svg","material-dots-vertical-circle":"material/dots-vertical-circle.svg","material-dots-vertical":"material/dots-vertical.svg","material-douban":"material/douban.svg","material-download-box-outline":"material/download-box-outline.svg","material-download-box":"material/download-box.svg","material-download-circle-outline":"material/download-circle-outline.svg","material-download-circle":"material/download-circle.svg","material-download-lock-outline":"material/download-lock-outline.svg","material-download-lock":"material/download-lock.svg","material-download-multiple":"material/download-multiple.svg","material-download-network-outline":"material/download-network-outline.svg","material-download-network":"material/download-network.svg","material-download-off-outline":"material/download-off-outline.svg","material-download-off":"material/download-off.svg","material-download-outline":"material/download-outline.svg","material-download":"material/download.svg","material-drag-horizontal-variant":"material/drag-horizontal-variant.svg","material-drag-horizontal":"material/drag-horizontal.svg","material-drag-variant":"material/drag-variant.svg","material-drag-vertical-variant":"material/drag-vertical-variant.svg","material-drag-vertical":"material/drag-vertical.svg","material-drag":"material/drag.svg","material-drama-masks":"material/drama-masks.svg","material-draw":"material/draw.svg","material-drawing-box":"material/drawing-box.svg","material-drawing":"material/drawing.svg","material-dresser-outline":"material/dresser-outline.svg","material-dresser":"material/dresser.svg","material-drone":"material/drone.svg","material-dropbox":"material/dropbox.svg","material-drupal":"material/drupal.svg","material-duck":"material/duck.svg","material-dumbbell":"material/dumbbell.svg","material-dump-truck":"material/dump-truck.svg","material-ear-hearing-off":"material/ear-hearing-off.svg","material-ear-hearing":"material/ear-hearing.svg","material-earth-arrow-right":"material/earth-arrow-right.svg","material-earth-box-minus":"material/earth-box-minus.svg","material-earth-box-off":"material/earth-box-off.svg","material-earth-box-plus":"material/earth-box-plus.svg","material-earth-box-remove":"material/earth-box-remove.svg","material-earth-box":"material/earth-box.svg","material-earth-minus":"material/earth-minus.svg","material-earth-off":"material/earth-off.svg","material-earth-plus":"material/earth-plus.svg","material-earth-remove":"material/earth-remove.svg","material-earth":"material/earth.svg","material-egg-easter":"material/egg-easter.svg","material-egg-off-outline":"material/egg-off-outline.svg","material-egg-off":"material/egg-off.svg","material-egg-outline":"material/egg-outline.svg","material-egg":"material/egg.svg","material-eiffel-tower":"material/eiffel-tower.svg","material-eight-track":"material/eight-track.svg","material-eject-outline":"material/eject-outline.svg","material-eject":"material/eject.svg","material-electric-switch-closed":"material/electric-switch-closed.svg","material-electric-switch":"material/electric-switch.svg","material-electron-framework":"material/electron-framework.svg","material-elephant":"material/elephant.svg","material-elevation-decline":"material/elevation-decline.svg","material-elevation-rise":"material/elevation-rise.svg","material-elevator-down":"material/elevator-down.svg","material-elevator-passenger":"material/elevator-passenger.svg","material-elevator-up":"material/elevator-up.svg","material-elevator":"material/elevator.svg","material-ellipse-outline":"material/ellipse-outline.svg","material-ellipse":"material/ellipse.svg","material-email-alert-outline":"material/email-alert-outline.svg","material-email-alert":"material/email-alert.svg","material-email-box":"material/email-box.svg","material-email-check-outline":"material/email-check-outline.svg","material-email-check":"material/email-check.svg","material-email-edit-outline":"material/email-edit-outline.svg","material-email-edit":"material/email-edit.svg","material-email-lock":"material/email-lock.svg","material-email-mark-as-unread":"material/email-mark-as-unread.svg","material-email-minus-outline":"material/email-minus-outline.svg","material-email-minus":"material/email-minus.svg","material-email-multiple-outline":"material/email-multiple-outline.svg","material-email-multiple":"material/email-multiple.svg","material-email-newsletter":"material/email-newsletter.svg","material-email-off-outline":"material/email-off-outline.svg","material-email-off":"material/email-off.svg","material-email-open-multiple-outline":"material/email-open-multiple-outline.svg","material-email-open-multiple":"material/email-open-multiple.svg","material-email-open-outline":"material/email-open-outline.svg","material-email-open":"material/email-open.svg","material-email-outline":"material/email-outline.svg","material-email-plus-outline":"material/email-plus-outline.svg","material-email-plus":"material/email-plus.svg","material-email-receive-outline":"material/email-receive-outline.svg","material-email-receive":"material/email-receive.svg","material-email-remove-outline":"material/email-remove-outline.svg","material-email-remove":"material/email-remove.svg","material-email-search-outline":"material/email-search-outline.svg","material-email-search":"material/email-search.svg","material-email-send-outline":"material/email-send-outline.svg","material-email-send":"material/email-send.svg","material-email-sync-outline":"material/email-sync-outline.svg","material-email-sync":"material/email-sync.svg","material-email-variant":"material/email-variant.svg","material-email":"material/email.svg","material-ember":"material/ember.svg","material-emby":"material/emby.svg","material-emoticon-angry-outline":"material/emoticon-angry-outline.svg","material-emoticon-angry":"material/emoticon-angry.svg","material-emoticon-confused-outline":"material/emoticon-confused-outline.svg","material-emoticon-confused":"material/emoticon-confused.svg","material-emoticon-cool-outline":"material/emoticon-cool-outline.svg","material-emoticon-cool":"material/emoticon-cool.svg","material-emoticon-cry-outline":"material/emoticon-cry-outline.svg","material-emoticon-cry":"material/emoticon-cry.svg","material-emoticon-dead-outline":"material/emoticon-dead-outline.svg","material-emoticon-dead":"material/emoticon-dead.svg","material-emoticon-devil-outline":"material/emoticon-devil-outline.svg","material-emoticon-devil":"material/emoticon-devil.svg","material-emoticon-excited-outline":"material/emoticon-excited-outline.svg","material-emoticon-excited":"material/emoticon-excited.svg","material-emoticon-frown-outline":"material/emoticon-frown-outline.svg","material-emoticon-frown":"material/emoticon-frown.svg","material-emoticon-happy-outline":"material/emoticon-happy-outline.svg","material-emoticon-happy":"material/emoticon-happy.svg","material-emoticon-kiss-outline":"material/emoticon-kiss-outline.svg","material-emoticon-kiss":"material/emoticon-kiss.svg","material-emoticon-lol-outline":"material/emoticon-lol-outline.svg","material-emoticon-lol":"material/emoticon-lol.svg","material-emoticon-neutral-outline":"material/emoticon-neutral-outline.svg","material-emoticon-neutral":"material/emoticon-neutral.svg","material-emoticon-outline":"material/emoticon-outline.svg","material-emoticon-poop-outline":"material/emoticon-poop-outline.svg","material-emoticon-poop":"material/emoticon-poop.svg","material-emoticon-sad-outline":"material/emoticon-sad-outline.svg","material-emoticon-sad":"material/emoticon-sad.svg","material-emoticon-sick-outline":"material/emoticon-sick-outline.svg","material-emoticon-sick":"material/emoticon-sick.svg","material-emoticon-tongue-outline":"material/emoticon-tongue-outline.svg","material-emoticon-tongue":"material/emoticon-tongue.svg","material-emoticon-wink-outline":"material/emoticon-wink-outline.svg","material-emoticon-wink":"material/emoticon-wink.svg","material-emoticon":"material/emoticon.svg","material-engine-off-outline":"material/engine-off-outline.svg","material-engine-off":"material/engine-off.svg","material-engine-outline":"material/engine-outline.svg","material-engine":"material/engine.svg","material-epsilon":"material/epsilon.svg","material-equal-box":"material/equal-box.svg","material-equal":"material/equal.svg","material-equalizer-outline":"material/equalizer-outline.svg","material-equalizer":"material/equalizer.svg","material-eraser-variant":"material/eraser-variant.svg","material-eraser":"material/eraser.svg","material-escalator-box":"material/escalator-box.svg","material-escalator-down":"material/escalator-down.svg","material-escalator-up":"material/escalator-up.svg","material-escalator":"material/escalator.svg","material-eslint":"material/eslint.svg","material-et":"material/et.svg","material-ethereum":"material/ethereum.svg","material-ethernet-cable-off":"material/ethernet-cable-off.svg","material-ethernet-cable":"material/ethernet-cable.svg","material-ethernet":"material/ethernet.svg","material-ev-plug-ccs1":"material/ev-plug-ccs1.svg","material-ev-plug-ccs2":"material/ev-plug-ccs2.svg","material-ev-plug-chademo":"material/ev-plug-chademo.svg","material-ev-plug-tesla":"material/ev-plug-tesla.svg","material-ev-plug-type1":"material/ev-plug-type1.svg","material-ev-plug-type2":"material/ev-plug-type2.svg","material-ev-station":"material/ev-station.svg","material-evernote":"material/evernote.svg","material-excavator":"material/excavator.svg","material-exclamation-thick":"material/exclamation-thick.svg","material-exclamation":"material/exclamation.svg","material-exit-run":"material/exit-run.svg","material-exit-to-app":"material/exit-to-app.svg","material-expand-all-outline":"material/expand-all-outline.svg","material-expand-all":"material/expand-all.svg","material-expansion-card-variant":"material/expansion-card-variant.svg","material-expansion-card":"material/expansion-card.svg","material-exponent-box":"material/exponent-box.svg","material-exponent":"material/exponent.svg","material-export-variant":"material/export-variant.svg","material-export":"material/export.svg","material-eye-check-outline":"material/eye-check-outline.svg","material-eye-check":"material/eye-check.svg","material-eye-circle-outline":"material/eye-circle-outline.svg","material-eye-circle":"material/eye-circle.svg","material-eye-minus-outline":"material/eye-minus-outline.svg","material-eye-minus":"material/eye-minus.svg","material-eye-off-outline":"material/eye-off-outline.svg","material-eye-off":"material/eye-off.svg","material-eye-outline":"material/eye-outline.svg","material-eye-plus-outline":"material/eye-plus-outline.svg","material-eye-plus":"material/eye-plus.svg","material-eye-remove-outline":"material/eye-remove-outline.svg","material-eye-remove":"material/eye-remove.svg","material-eye-settings-outline":"material/eye-settings-outline.svg","material-eye-settings":"material/eye-settings.svg","material-eye":"material/eye.svg","material-eyedropper-minus":"material/eyedropper-minus.svg","material-eyedropper-off":"material/eyedropper-off.svg","material-eyedropper-plus":"material/eyedropper-plus.svg","material-eyedropper-remove":"material/eyedropper-remove.svg","material-eyedropper-variant":"material/eyedropper-variant.svg","material-eyedropper":"material/eyedropper.svg","material-face-agent":"material/face-agent.svg","material-face-mask-outline":"material/face-mask-outline.svg","material-face-mask":"material/face-mask.svg","material-face-outline":"material/face-outline.svg","material-face-profile-woman":"material/face-profile-woman.svg","material-face-profile":"material/face-profile.svg","material-face-recognition":"material/face-recognition.svg","material-face-shimmer-outline":"material/face-shimmer-outline.svg","material-face-shimmer":"material/face-shimmer.svg","material-face-woman-outline":"material/face-woman-outline.svg","material-face-woman-shimmer-outline":"material/face-woman-shimmer-outline.svg","material-face-woman-shimmer":"material/face-woman-shimmer.svg","material-face-woman":"material/face-woman.svg","material-face":"material/face.svg","material-facebook-gaming":"material/facebook-gaming.svg","material-facebook-messenger":"material/facebook-messenger.svg","material-facebook-workplace":"material/facebook-workplace.svg","material-facebook":"material/facebook.svg","material-factory":"material/factory.svg","material-family-tree":"material/family-tree.svg","material-fan-alert":"material/fan-alert.svg","material-fan-auto":"material/fan-auto.svg","material-fan-chevron-down":"material/fan-chevron-down.svg","material-fan-chevron-up":"material/fan-chevron-up.svg","material-fan-minus":"material/fan-minus.svg","material-fan-off":"material/fan-off.svg","material-fan-plus":"material/fan-plus.svg","material-fan-remove":"material/fan-remove.svg","material-fan-speed-1":"material/fan-speed-1.svg","material-fan-speed-2":"material/fan-speed-2.svg","material-fan-speed-3":"material/fan-speed-3.svg","material-fan":"material/fan.svg","material-fast-forward-10":"material/fast-forward-10.svg","material-fast-forward-30":"material/fast-forward-30.svg","material-fast-forward-5":"material/fast-forward-5.svg","material-fast-forward-60":"material/fast-forward-60.svg","material-fast-forward-outline":"material/fast-forward-outline.svg","material-fast-forward":"material/fast-forward.svg","material-fax":"material/fax.svg","material-feather":"material/feather.svg","material-feature-search-outline":"material/feature-search-outline.svg","material-feature-search":"material/feature-search.svg","material-fedora":"material/fedora.svg","material-fencing":"material/fencing.svg","material-ferris-wheel":"material/ferris-wheel.svg","material-ferry":"material/ferry.svg","material-file-account-outline":"material/file-account-outline.svg","material-file-account":"material/file-account.svg","material-file-alert-outline":"material/file-alert-outline.svg","material-file-alert":"material/file-alert.svg","material-file-cabinet":"material/file-cabinet.svg","material-file-cad-box":"material/file-cad-box.svg","material-file-cad":"material/file-cad.svg","material-file-cancel-outline":"material/file-cancel-outline.svg","material-file-cancel":"material/file-cancel.svg","material-file-certificate-outline":"material/file-certificate-outline.svg","material-file-certificate":"material/file-certificate.svg","material-file-chart-outline":"material/file-chart-outline.svg","material-file-chart":"material/file-chart.svg","material-file-check-outline":"material/file-check-outline.svg","material-file-check":"material/file-check.svg","material-file-clock-outline":"material/file-clock-outline.svg","material-file-clock":"material/file-clock.svg","material-file-cloud-outline":"material/file-cloud-outline.svg","material-file-cloud":"material/file-cloud.svg","material-file-code-outline":"material/file-code-outline.svg","material-file-code":"material/file-code.svg","material-file-cog-outline":"material/file-cog-outline.svg","material-file-cog":"material/file-cog.svg","material-file-compare":"material/file-compare.svg","material-file-delimited-outline":"material/file-delimited-outline.svg","material-file-delimited":"material/file-delimited.svg","material-file-document-edit-outline":"material/file-document-edit-outline.svg","material-file-document-edit":"material/file-document-edit.svg","material-file-document-multiple-outline":"material/file-document-multiple-outline.svg","material-file-document-multiple":"material/file-document-multiple.svg","material-file-document-outline":"material/file-document-outline.svg","material-file-document":"material/file-document.svg","material-file-download-outline":"material/file-download-outline.svg","material-file-download":"material/file-download.svg","material-file-edit-outline":"material/file-edit-outline.svg","material-file-edit":"material/file-edit.svg","material-file-excel-box-outline":"material/file-excel-box-outline.svg","material-file-excel-box":"material/file-excel-box.svg","material-file-excel-outline":"material/file-excel-outline.svg","material-file-excel":"material/file-excel.svg","material-file-export-outline":"material/file-export-outline.svg","material-file-export":"material/file-export.svg","material-file-eye-outline":"material/file-eye-outline.svg","material-file-eye":"material/file-eye.svg","material-file-find-outline":"material/file-find-outline.svg","material-file-find":"material/file-find.svg","material-file-hidden":"material/file-hidden.svg","material-file-image-outline":"material/file-image-outline.svg","material-file-image":"material/file-image.svg","material-file-import-outline":"material/file-import-outline.svg","material-file-import":"material/file-import.svg","material-file-key-outline":"material/file-key-outline.svg","material-file-key":"material/file-key.svg","material-file-link-outline":"material/file-link-outline.svg","material-file-link":"material/file-link.svg","material-file-lock-outline":"material/file-lock-outline.svg","material-file-lock":"material/file-lock.svg","material-file-move-outline":"material/file-move-outline.svg","material-file-move":"material/file-move.svg","material-file-multiple-outline":"material/file-multiple-outline.svg","material-file-multiple":"material/file-multiple.svg","material-file-music-outline":"material/file-music-outline.svg","material-file-music":"material/file-music.svg","material-file-outline":"material/file-outline.svg","material-file-pdf-box-outline":"material/file-pdf-box-outline.svg","material-file-pdf-box":"material/file-pdf-box.svg","material-file-pdf-outline":"material/file-pdf-outline.svg","material-file-pdf":"material/file-pdf.svg","material-file-percent-outline":"material/file-percent-outline.svg","material-file-percent":"material/file-percent.svg","material-file-phone-outline":"material/file-phone-outline.svg","material-file-phone":"material/file-phone.svg","material-file-plus-outline":"material/file-plus-outline.svg","material-file-plus":"material/file-plus.svg","material-file-powerpoint-box-outline":"material/file-powerpoint-box-outline.svg","material-file-powerpoint-box":"material/file-powerpoint-box.svg","material-file-powerpoint-outline":"material/file-powerpoint-outline.svg","material-file-powerpoint":"material/file-powerpoint.svg","material-file-presentation-box":"material/file-presentation-box.svg","material-file-question-outline":"material/file-question-outline.svg","material-file-question":"material/file-question.svg","material-file-refresh-outline":"material/file-refresh-outline.svg","material-file-refresh":"material/file-refresh.svg","material-file-remove-outline":"material/file-remove-outline.svg","material-file-remove":"material/file-remove.svg","material-file-replace-outline":"material/file-replace-outline.svg","material-file-replace":"material/file-replace.svg","material-file-restore-outline":"material/file-restore-outline.svg","material-file-restore":"material/file-restore.svg","material-file-search-outline":"material/file-search-outline.svg","material-file-search":"material/file-search.svg","material-file-send-outline":"material/file-send-outline.svg","material-file-send":"material/file-send.svg","material-file-settings-outline":"material/file-settings-outline.svg","material-file-settings":"material/file-settings.svg","material-file-star-outline":"material/file-star-outline.svg","material-file-star":"material/file-star.svg","material-file-swap-outline":"material/file-swap-outline.svg","material-file-swap":"material/file-swap.svg","material-file-sync-outline":"material/file-sync-outline.svg","material-file-sync":"material/file-sync.svg","material-file-table-box-multiple-outline":"material/file-table-box-multiple-outline.svg","material-file-table-box-multiple":"material/file-table-box-multiple.svg","material-file-table-box-outline":"material/file-table-box-outline.svg","material-file-table-box":"material/file-table-box.svg","material-file-table-outline":"material/file-table-outline.svg","material-file-table":"material/file-table.svg","material-file-tree-outline":"material/file-tree-outline.svg","material-file-tree":"material/file-tree.svg","material-file-undo-outline":"material/file-undo-outline.svg","material-file-undo":"material/file-undo.svg","material-file-upload-outline":"material/file-upload-outline.svg","material-file-upload":"material/file-upload.svg","material-file-video-outline":"material/file-video-outline.svg","material-file-video":"material/file-video.svg","material-file-word-box-outline":"material/file-word-box-outline.svg","material-file-word-box":"material/file-word-box.svg","material-file-word-outline":"material/file-word-outline.svg","material-file-word":"material/file-word.svg","material-file":"material/file.svg","material-film":"material/film.svg","material-filmstrip-box-multiple":"material/filmstrip-box-multiple.svg","material-filmstrip-box":"material/filmstrip-box.svg","material-filmstrip-off":"material/filmstrip-off.svg","material-filmstrip":"material/filmstrip.svg","material-filter-menu-outline":"material/filter-menu-outline.svg","material-filter-menu":"material/filter-menu.svg","material-filter-minus-outline":"material/filter-minus-outline.svg","material-filter-minus":"material/filter-minus.svg","material-filter-off-outline":"material/filter-off-outline.svg","material-filter-off":"material/filter-off.svg","material-filter-outline":"material/filter-outline.svg","material-filter-plus-outline":"material/filter-plus-outline.svg","material-filter-plus":"material/filter-plus.svg","material-filter-remove-outline":"material/filter-remove-outline.svg","material-filter-remove":"material/filter-remove.svg","material-filter-variant-minus":"material/filter-variant-minus.svg","material-filter-variant-plus":"material/filter-variant-plus.svg","material-filter-variant-remove":"material/filter-variant-remove.svg","material-filter-variant":"material/filter-variant.svg","material-filter":"material/filter.svg","material-finance":"material/finance.svg","material-find-replace":"material/find-replace.svg","material-fingerprint-off":"material/fingerprint-off.svg","material-fingerprint":"material/fingerprint.svg","material-fire-alert":"material/fire-alert.svg","material-fire-extinguisher":"material/fire-extinguisher.svg","material-fire-hydrant-alert":"material/fire-hydrant-alert.svg","material-fire-hydrant-off":"material/fire-hydrant-off.svg","material-fire-hydrant":"material/fire-hydrant.svg","material-fire-off":"material/fire-off.svg","material-fire-truck":"material/fire-truck.svg","material-fire":"material/fire.svg","material-firebase":"material/firebase.svg","material-firefox":"material/firefox.svg","material-fireplace-off":"material/fireplace-off.svg","material-fireplace":"material/fireplace.svg","material-firework-off":"material/firework-off.svg","material-firework":"material/firework.svg","material-fish-off":"material/fish-off.svg","material-fish":"material/fish.svg","material-fishbowl-outline":"material/fishbowl-outline.svg","material-fishbowl":"material/fishbowl.svg","material-fit-to-page-outline":"material/fit-to-page-outline.svg","material-fit-to-page":"material/fit-to-page.svg","material-flag-checkered":"material/flag-checkered.svg","material-flag-minus-outline":"material/flag-minus-outline.svg","material-flag-minus":"material/flag-minus.svg","material-flag-outline":"material/flag-outline.svg","material-flag-plus-outline":"material/flag-plus-outline.svg","material-flag-plus":"material/flag-plus.svg","material-flag-remove-outline":"material/flag-remove-outline.svg","material-flag-remove":"material/flag-remove.svg","material-flag-triangle":"material/flag-triangle.svg","material-flag-variant-outline":"material/flag-variant-outline.svg","material-flag-variant":"material/flag-variant.svg","material-flag":"material/flag.svg","material-flare":"material/flare.svg","material-flash-alert-outline":"material/flash-alert-outline.svg","material-flash-alert":"material/flash-alert.svg","material-flash-auto":"material/flash-auto.svg","material-flash-circle":"material/flash-circle.svg","material-flash-off":"material/flash-off.svg","material-flash-outline":"material/flash-outline.svg","material-flash-red-eye":"material/flash-red-eye.svg","material-flash":"material/flash.svg","material-flashlight-off":"material/flashlight-off.svg","material-flashlight":"material/flashlight.svg","material-flask-empty-minus-outline":"material/flask-empty-minus-outline.svg","material-flask-empty-minus":"material/flask-empty-minus.svg","material-flask-empty-off-outline":"material/flask-empty-off-outline.svg","material-flask-empty-off":"material/flask-empty-off.svg","material-flask-empty-outline":"material/flask-empty-outline.svg","material-flask-empty-plus-outline":"material/flask-empty-plus-outline.svg","material-flask-empty-plus":"material/flask-empty-plus.svg","material-flask-empty-remove-outline":"material/flask-empty-remove-outline.svg","material-flask-empty-remove":"material/flask-empty-remove.svg","material-flask-empty":"material/flask-empty.svg","material-flask-minus-outline":"material/flask-minus-outline.svg","material-flask-minus":"material/flask-minus.svg","material-flask-off-outline":"material/flask-off-outline.svg","material-flask-off":"material/flask-off.svg","material-flask-outline":"material/flask-outline.svg","material-flask-plus-outline":"material/flask-plus-outline.svg","material-flask-plus":"material/flask-plus.svg","material-flask-remove-outline":"material/flask-remove-outline.svg","material-flask-remove":"material/flask-remove.svg","material-flask-round-bottom-empty-outline":"material/flask-round-bottom-empty-outline.svg","material-flask-round-bottom-empty":"material/flask-round-bottom-empty.svg","material-flask-round-bottom-outline":"material/flask-round-bottom-outline.svg","material-flask-round-bottom":"material/flask-round-bottom.svg","material-flask":"material/flask.svg","material-fleur-de-lis":"material/fleur-de-lis.svg","material-flip-horizontal":"material/flip-horizontal.svg","material-flip-to-back":"material/flip-to-back.svg","material-flip-to-front":"material/flip-to-front.svg","material-flip-vertical":"material/flip-vertical.svg","material-floor-lamp-dual":"material/floor-lamp-dual.svg","material-floor-lamp-variant":"material/floor-lamp-variant.svg","material-floor-lamp":"material/floor-lamp.svg","material-floor-plan":"material/floor-plan.svg","material-floppy-variant":"material/floppy-variant.svg","material-floppy":"material/floppy.svg","material-flower-outline":"material/flower-outline.svg","material-flower-poppy":"material/flower-poppy.svg","material-flower-tulip-outline":"material/flower-tulip-outline.svg","material-flower-tulip":"material/flower-tulip.svg","material-flower":"material/flower.svg","material-focus-auto":"material/focus-auto.svg","material-focus-field-horizontal":"material/focus-field-horizontal.svg","material-focus-field-vertical":"material/focus-field-vertical.svg","material-focus-field":"material/focus-field.svg","material-folder-account-outline":"material/folder-account-outline.svg","material-folder-account":"material/folder-account.svg","material-folder-alert-outline":"material/folder-alert-outline.svg","material-folder-alert":"material/folder-alert.svg","material-folder-clock-outline":"material/folder-clock-outline.svg","material-folder-clock":"material/folder-clock.svg","material-folder-cog-outline":"material/folder-cog-outline.svg","material-folder-cog":"material/folder-cog.svg","material-folder-download-outline":"material/folder-download-outline.svg","material-folder-download":"material/folder-download.svg","material-folder-edit-outline":"material/folder-edit-outline.svg","material-folder-edit":"material/folder-edit.svg","material-folder-google-drive":"material/folder-google-drive.svg","material-folder-heart-outline":"material/folder-heart-outline.svg","material-folder-heart":"material/folder-heart.svg","material-folder-home-outline":"material/folder-home-outline.svg","material-folder-home":"material/folder-home.svg","material-folder-image":"material/folder-image.svg","material-folder-information-outline":"material/folder-information-outline.svg","material-folder-information":"material/folder-information.svg","material-folder-key-network-outline":"material/folder-key-network-outline.svg","material-folder-key-network":"material/folder-key-network.svg","material-folder-key-outline":"material/folder-key-outline.svg","material-folder-key":"material/folder-key.svg","material-folder-lock-open":"material/folder-lock-open.svg","material-folder-lock":"material/folder-lock.svg","material-folder-marker-outline":"material/folder-marker-outline.svg","material-folder-marker":"material/folder-marker.svg","material-folder-move-outline":"material/folder-move-outline.svg","material-folder-move":"material/folder-move.svg","material-folder-multiple-image":"material/folder-multiple-image.svg","material-folder-multiple-outline":"material/folder-multiple-outline.svg","material-folder-multiple-plus-outline":"material/folder-multiple-plus-outline.svg","material-folder-multiple-plus":"material/folder-multiple-plus.svg","material-folder-multiple":"material/folder-multiple.svg","material-folder-music-outline":"material/folder-music-outline.svg","material-folder-music":"material/folder-music.svg","material-folder-network-outline":"material/folder-network-outline.svg","material-folder-network":"material/folder-network.svg","material-folder-open-outline":"material/folder-open-outline.svg","material-folder-open":"material/folder-open.svg","material-folder-outline":"material/folder-outline.svg","material-folder-plus-outline":"material/folder-plus-outline.svg","material-folder-plus":"material/folder-plus.svg","material-folder-pound-outline":"material/folder-pound-outline.svg","material-folder-pound":"material/folder-pound.svg","material-folder-refresh-outline":"material/folder-refresh-outline.svg","material-folder-refresh":"material/folder-refresh.svg","material-folder-remove-outline":"material/folder-remove-outline.svg","material-folder-remove":"material/folder-remove.svg","material-folder-search-outline":"material/folder-search-outline.svg","material-folder-search":"material/folder-search.svg","material-folder-settings-outline":"material/folder-settings-outline.svg","material-folder-settings":"material/folder-settings.svg","material-folder-star-multiple-outline":"material/folder-star-multiple-outline.svg","material-folder-star-multiple":"material/folder-star-multiple.svg","material-folder-star-outline":"material/folder-star-outline.svg","material-folder-star":"material/folder-star.svg","material-folder-swap-outline":"material/folder-swap-outline.svg","material-folder-swap":"material/folder-swap.svg","material-folder-sync-outline":"material/folder-sync-outline.svg","material-folder-sync":"material/folder-sync.svg","material-folder-table-outline":"material/folder-table-outline.svg","material-folder-table":"material/folder-table.svg","material-folder-text-outline":"material/folder-text-outline.svg","material-folder-text":"material/folder-text.svg","material-folder-upload-outline":"material/folder-upload-outline.svg","material-folder-upload":"material/folder-upload.svg","material-folder-zip-outline":"material/folder-zip-outline.svg","material-folder-zip":"material/folder-zip.svg","material-folder":"material/folder.svg","material-font-awesome":"material/font-awesome.svg","material-food-apple-outline":"material/food-apple-outline.svg","material-food-apple":"material/food-apple.svg","material-food-croissant":"material/food-croissant.svg","material-food-drumstick-off-outline":"material/food-drumstick-off-outline.svg","material-food-drumstick-off":"material/food-drumstick-off.svg","material-food-drumstick-outline":"material/food-drumstick-outline.svg","material-food-drumstick":"material/food-drumstick.svg","material-food-fork-drink":"material/food-fork-drink.svg","material-food-halal":"material/food-halal.svg","material-food-kosher":"material/food-kosher.svg","material-food-off":"material/food-off.svg","material-food-steak-off":"material/food-steak-off.svg","material-food-steak":"material/food-steak.svg","material-food-turkey":"material/food-turkey.svg","material-food-variant-off":"material/food-variant-off.svg","material-food-variant":"material/food-variant.svg","material-food":"material/food.svg","material-foot-print":"material/foot-print.svg","material-football-australian":"material/football-australian.svg","material-football-helmet":"material/football-helmet.svg","material-football":"material/football.svg","material-forklift":"material/forklift.svg","material-form-dropdown":"material/form-dropdown.svg","material-form-select":"material/form-select.svg","material-form-textarea":"material/form-textarea.svg","material-form-textbox-lock":"material/form-textbox-lock.svg","material-form-textbox-password":"material/form-textbox-password.svg","material-form-textbox":"material/form-textbox.svg","material-format-align-bottom":"material/format-align-bottom.svg","material-format-align-center":"material/format-align-center.svg","material-format-align-justify":"material/format-align-justify.svg","material-format-align-left":"material/format-align-left.svg","material-format-align-middle":"material/format-align-middle.svg","material-format-align-right":"material/format-align-right.svg","material-format-align-top":"material/format-align-top.svg","material-format-annotation-minus":"material/format-annotation-minus.svg","material-format-annotation-plus":"material/format-annotation-plus.svg","material-format-bold":"material/format-bold.svg","material-format-clear":"material/format-clear.svg","material-format-color-fill":"material/format-color-fill.svg","material-format-color-highlight":"material/format-color-highlight.svg","material-format-color-marker-cancel":"material/format-color-marker-cancel.svg","material-format-color-text":"material/format-color-text.svg","material-format-columns":"material/format-columns.svg","material-format-float-center":"material/format-float-center.svg","material-format-float-left":"material/format-float-left.svg","material-format-float-none":"material/format-float-none.svg","material-format-float-right":"material/format-float-right.svg","material-format-font-size-decrease":"material/format-font-size-decrease.svg","material-format-font-size-increase":"material/format-font-size-increase.svg","material-format-font":"material/format-font.svg","material-format-header-1":"material/format-header-1.svg","material-format-header-2":"material/format-header-2.svg","material-format-header-3":"material/format-header-3.svg","material-format-header-4":"material/format-header-4.svg","material-format-header-5":"material/format-header-5.svg","material-format-header-6":"material/format-header-6.svg","material-format-header-decrease":"material/format-header-decrease.svg","material-format-header-equal":"material/format-header-equal.svg","material-format-header-increase":"material/format-header-increase.svg","material-format-header-pound":"material/format-header-pound.svg","material-format-horizontal-align-center":"material/format-horizontal-align-center.svg","material-format-horizontal-align-left":"material/format-horizontal-align-left.svg","material-format-horizontal-align-right":"material/format-horizontal-align-right.svg","material-format-indent-decrease":"material/format-indent-decrease.svg","material-format-indent-increase":"material/format-indent-increase.svg","material-format-italic":"material/format-italic.svg","material-format-letter-case-lower":"material/format-letter-case-lower.svg","material-format-letter-case-upper":"material/format-letter-case-upper.svg","material-format-letter-case":"material/format-letter-case.svg","material-format-letter-ends-with":"material/format-letter-ends-with.svg","material-format-letter-matches":"material/format-letter-matches.svg","material-format-letter-starts-with":"material/format-letter-starts-with.svg","material-format-line-spacing":"material/format-line-spacing.svg","material-format-line-style":"material/format-line-style.svg","material-format-line-weight":"material/format-line-weight.svg","material-format-list-bulleted-square":"material/format-list-bulleted-square.svg","material-format-list-bulleted-triangle":"material/format-list-bulleted-triangle.svg","material-format-list-bulleted-type":"material/format-list-bulleted-type.svg","material-format-list-bulleted":"material/format-list-bulleted.svg","material-format-list-checkbox":"material/format-list-checkbox.svg","material-format-list-checks":"material/format-list-checks.svg","material-format-list-numbered-rtl":"material/format-list-numbered-rtl.svg","material-format-list-numbered":"material/format-list-numbered.svg","material-format-list-text":"material/format-list-text.svg","material-format-overline":"material/format-overline.svg","material-format-page-break":"material/format-page-break.svg","material-format-paint":"material/format-paint.svg","material-format-paragraph":"material/format-paragraph.svg","material-format-pilcrow":"material/format-pilcrow.svg","material-format-quote-close-outline":"material/format-quote-close-outline.svg","material-format-quote-close":"material/format-quote-close.svg","material-format-quote-open-outline":"material/format-quote-open-outline.svg","material-format-quote-open":"material/format-quote-open.svg","material-format-rotate-90":"material/format-rotate-90.svg","material-format-section":"material/format-section.svg","material-format-size":"material/format-size.svg","material-format-strikethrough-variant":"material/format-strikethrough-variant.svg","material-format-strikethrough":"material/format-strikethrough.svg","material-format-subscript":"material/format-subscript.svg","material-format-superscript":"material/format-superscript.svg","material-format-text-rotation-angle-down":"material/format-text-rotation-angle-down.svg","material-format-text-rotation-angle-up":"material/format-text-rotation-angle-up.svg","material-format-text-rotation-down-vertical":"material/format-text-rotation-down-vertical.svg","material-format-text-rotation-down":"material/format-text-rotation-down.svg","material-format-text-rotation-none":"material/format-text-rotation-none.svg","material-format-text-rotation-up":"material/format-text-rotation-up.svg","material-format-text-rotation-vertical":"material/format-text-rotation-vertical.svg","material-format-text-variant-outline":"material/format-text-variant-outline.svg","material-format-text-variant":"material/format-text-variant.svg","material-format-text-wrapping-clip":"material/format-text-wrapping-clip.svg","material-format-text-wrapping-overflow":"material/format-text-wrapping-overflow.svg","material-format-text-wrapping-wrap":"material/format-text-wrapping-wrap.svg","material-format-text":"material/format-text.svg","material-format-textbox":"material/format-textbox.svg","material-format-textdirection-l-to-r":"material/format-textdirection-l-to-r.svg","material-format-textdirection-r-to-l":"material/format-textdirection-r-to-l.svg","material-format-title":"material/format-title.svg","material-format-underline":"material/format-underline.svg","material-format-vertical-align-bottom":"material/format-vertical-align-bottom.svg","material-format-vertical-align-center":"material/format-vertical-align-center.svg","material-format-vertical-align-top":"material/format-vertical-align-top.svg","material-format-wrap-inline":"material/format-wrap-inline.svg","material-format-wrap-square":"material/format-wrap-square.svg","material-format-wrap-tight":"material/format-wrap-tight.svg","material-format-wrap-top-bottom":"material/format-wrap-top-bottom.svg","material-forum-outline":"material/forum-outline.svg","material-forum":"material/forum.svg","material-forward":"material/forward.svg","material-forwardburger":"material/forwardburger.svg","material-fountain-pen-tip":"material/fountain-pen-tip.svg","material-fountain-pen":"material/fountain-pen.svg","material-fountain":"material/fountain.svg","material-freebsd":"material/freebsd.svg","material-frequently-asked-questions":"material/frequently-asked-questions.svg","material-fridge-alert-outline":"material/fridge-alert-outline.svg","material-fridge-alert":"material/fridge-alert.svg","material-fridge-bottom":"material/fridge-bottom.svg","material-fridge-industrial-alert-outline":"material/fridge-industrial-alert-outline.svg","material-fridge-industrial-alert":"material/fridge-industrial-alert.svg","material-fridge-industrial-off-outline":"material/fridge-industrial-off-outline.svg","material-fridge-industrial-off":"material/fridge-industrial-off.svg","material-fridge-industrial-outline":"material/fridge-industrial-outline.svg","material-fridge-industrial":"material/fridge-industrial.svg","material-fridge-off-outline":"material/fridge-off-outline.svg","material-fridge-off":"material/fridge-off.svg","material-fridge-outline":"material/fridge-outline.svg","material-fridge-top":"material/fridge-top.svg","material-fridge-variant-alert-outline":"material/fridge-variant-alert-outline.svg","material-fridge-variant-alert":"material/fridge-variant-alert.svg","material-fridge-variant-off-outline":"material/fridge-variant-off-outline.svg","material-fridge-variant-off":"material/fridge-variant-off.svg","material-fridge-variant-outline":"material/fridge-variant-outline.svg","material-fridge-variant":"material/fridge-variant.svg","material-fridge":"material/fridge.svg","material-fruit-cherries-off":"material/fruit-cherries-off.svg","material-fruit-cherries":"material/fruit-cherries.svg","material-fruit-citrus-off":"material/fruit-citrus-off.svg","material-fruit-citrus":"material/fruit-citrus.svg","material-fruit-grapes-outline":"material/fruit-grapes-outline.svg","material-fruit-grapes":"material/fruit-grapes.svg","material-fruit-pineapple":"material/fruit-pineapple.svg","material-fruit-watermelon":"material/fruit-watermelon.svg","material-fuel":"material/fuel.svg","material-fullscreen-exit":"material/fullscreen-exit.svg","material-fullscreen":"material/fullscreen.svg","material-function-variant":"material/function-variant.svg","material-function":"material/function.svg","material-furigana-horizontal":"material/furigana-horizontal.svg","material-furigana-vertical":"material/furigana-vertical.svg","material-fuse-alert":"material/fuse-alert.svg","material-fuse-blade":"material/fuse-blade.svg","material-fuse-off":"material/fuse-off.svg","material-fuse":"material/fuse.svg","material-gamepad-circle-down":"material/gamepad-circle-down.svg","material-gamepad-circle-left":"material/gamepad-circle-left.svg","material-gamepad-circle-outline":"material/gamepad-circle-outline.svg","material-gamepad-circle-right":"material/gamepad-circle-right.svg","material-gamepad-circle-up":"material/gamepad-circle-up.svg","material-gamepad-circle":"material/gamepad-circle.svg","material-gamepad-down":"material/gamepad-down.svg","material-gamepad-left":"material/gamepad-left.svg","material-gamepad-right":"material/gamepad-right.svg","material-gamepad-round-down":"material/gamepad-round-down.svg","material-gamepad-round-left":"material/gamepad-round-left.svg","material-gamepad-round-outline":"material/gamepad-round-outline.svg","material-gamepad-round-right":"material/gamepad-round-right.svg","material-gamepad-round-up":"material/gamepad-round-up.svg","material-gamepad-round":"material/gamepad-round.svg","material-gamepad-square-outline":"material/gamepad-square-outline.svg","material-gamepad-square":"material/gamepad-square.svg","material-gamepad-up":"material/gamepad-up.svg","material-gamepad-variant-outline":"material/gamepad-variant-outline.svg","material-gamepad-variant":"material/gamepad-variant.svg","material-gamepad":"material/gamepad.svg","material-gamma":"material/gamma.svg","material-gantry-crane":"material/gantry-crane.svg","material-garage-alert-variant":"material/garage-alert-variant.svg","material-garage-alert":"material/garage-alert.svg","material-garage-open-variant":"material/garage-open-variant.svg","material-garage-open":"material/garage-open.svg","material-garage-variant":"material/garage-variant.svg","material-garage":"material/garage.svg","material-gas-cylinder":"material/gas-cylinder.svg","material-gas-station-off-outline":"material/gas-station-off-outline.svg","material-gas-station-off":"material/gas-station-off.svg","material-gas-station-outline":"material/gas-station-outline.svg","material-gas-station":"material/gas-station.svg","material-gate-and":"material/gate-and.svg","material-gate-arrow-right":"material/gate-arrow-right.svg","material-gate-nand":"material/gate-nand.svg","material-gate-nor":"material/gate-nor.svg","material-gate-not":"material/gate-not.svg","material-gate-open":"material/gate-open.svg","material-gate-or":"material/gate-or.svg","material-gate-xnor":"material/gate-xnor.svg","material-gate-xor":"material/gate-xor.svg","material-gate":"material/gate.svg","material-gatsby":"material/gatsby.svg","material-gauge-empty":"material/gauge-empty.svg","material-gauge-full":"material/gauge-full.svg","material-gauge-low":"material/gauge-low.svg","material-gauge":"material/gauge.svg","material-gavel":"material/gavel.svg","material-gender-female":"material/gender-female.svg","material-gender-male-female-variant":"material/gender-male-female-variant.svg","material-gender-male-female":"material/gender-male-female.svg","material-gender-male":"material/gender-male.svg","material-gender-non-binary":"material/gender-non-binary.svg","material-gender-transgender":"material/gender-transgender.svg","material-gentoo":"material/gentoo.svg","material-gesture-double-tap":"material/gesture-double-tap.svg","material-gesture-pinch":"material/gesture-pinch.svg","material-gesture-spread":"material/gesture-spread.svg","material-gesture-swipe-down":"material/gesture-swipe-down.svg","material-gesture-swipe-horizontal":"material/gesture-swipe-horizontal.svg","material-gesture-swipe-left":"material/gesture-swipe-left.svg","material-gesture-swipe-right":"material/gesture-swipe-right.svg","material-gesture-swipe-up":"material/gesture-swipe-up.svg","material-gesture-swipe-vertical":"material/gesture-swipe-vertical.svg","material-gesture-swipe":"material/gesture-swipe.svg","material-gesture-tap-box":"material/gesture-tap-box.svg","material-gesture-tap-button":"material/gesture-tap-button.svg","material-gesture-tap-hold":"material/gesture-tap-hold.svg","material-gesture-tap":"material/gesture-tap.svg","material-gesture-two-double-tap":"material/gesture-two-double-tap.svg","material-gesture-two-tap":"material/gesture-two-tap.svg","material-gesture":"material/gesture.svg","material-ghost-off-outline":"material/ghost-off-outline.svg","material-ghost-off":"material/ghost-off.svg","material-ghost-outline":"material/ghost-outline.svg","material-ghost":"material/ghost.svg","material-gif":"material/gif.svg","material-gift-off-outline":"material/gift-off-outline.svg","material-gift-off":"material/gift-off.svg","material-gift-open-outline":"material/gift-open-outline.svg","material-gift-open":"material/gift-open.svg","material-gift-outline":"material/gift-outline.svg","material-gift":"material/gift.svg","material-git":"material/git.svg","material-github":"material/github.svg","material-gitlab":"material/gitlab.svg","material-glass-cocktail-off":"material/glass-cocktail-off.svg","material-glass-cocktail":"material/glass-cocktail.svg","material-glass-flute":"material/glass-flute.svg","material-glass-mug-off":"material/glass-mug-off.svg","material-glass-mug-variant-off":"material/glass-mug-variant-off.svg","material-glass-mug-variant":"material/glass-mug-variant.svg","material-glass-mug":"material/glass-mug.svg","material-glass-pint-outline":"material/glass-pint-outline.svg","material-glass-stange":"material/glass-stange.svg","material-glass-tulip":"material/glass-tulip.svg","material-glass-wine":"material/glass-wine.svg","material-glasses":"material/glasses.svg","material-globe-light":"material/globe-light.svg","material-globe-model":"material/globe-model.svg","material-gmail":"material/gmail.svg","material-gnome":"material/gnome.svg","material-go-kart-track":"material/go-kart-track.svg","material-go-kart":"material/go-kart.svg","material-gog":"material/gog.svg","material-gold":"material/gold.svg","material-golf-cart":"material/golf-cart.svg","material-golf-tee":"material/golf-tee.svg","material-golf":"material/golf.svg","material-gondola":"material/gondola.svg","material-goodreads":"material/goodreads.svg","material-google-ads":"material/google-ads.svg","material-google-analytics":"material/google-analytics.svg","material-google-assistant":"material/google-assistant.svg","material-google-cardboard":"material/google-cardboard.svg","material-google-chrome":"material/google-chrome.svg","material-google-circles-communities":"material/google-circles-communities.svg","material-google-circles-extended":"material/google-circles-extended.svg","material-google-circles-group":"material/google-circles-group.svg","material-google-circles":"material/google-circles.svg","material-google-classroom":"material/google-classroom.svg","material-google-cloud":"material/google-cloud.svg","material-google-controller-off":"material/google-controller-off.svg","material-google-controller":"material/google-controller.svg","material-google-downasaur":"material/google-downasaur.svg","material-google-drive":"material/google-drive.svg","material-google-earth":"material/google-earth.svg","material-google-fit":"material/google-fit.svg","material-google-glass":"material/google-glass.svg","material-google-hangouts":"material/google-hangouts.svg","material-google-home":"material/google-home.svg","material-google-keep":"material/google-keep.svg","material-google-lens":"material/google-lens.svg","material-google-maps":"material/google-maps.svg","material-google-my-business":"material/google-my-business.svg","material-google-nearby":"material/google-nearby.svg","material-google-photos":"material/google-photos.svg","material-google-play":"material/google-play.svg","material-google-plus":"material/google-plus.svg","material-google-podcast":"material/google-podcast.svg","material-google-spreadsheet":"material/google-spreadsheet.svg","material-google-street-view":"material/google-street-view.svg","material-google-translate":"material/google-translate.svg","material-google":"material/google.svg","material-gradient":"material/gradient.svg","material-grain":"material/grain.svg","material-graph-outline":"material/graph-outline.svg","material-graph":"material/graph.svg","material-graphql":"material/graphql.svg","material-grass":"material/grass.svg","material-grave-stone":"material/grave-stone.svg","material-grease-pencil":"material/grease-pencil.svg","material-greater-than-or-equal":"material/greater-than-or-equal.svg","material-greater-than":"material/greater-than.svg","material-grid-large":"material/grid-large.svg","material-grid-off":"material/grid-off.svg","material-grid":"material/grid.svg","material-grill-outline":"material/grill-outline.svg","material-grill":"material/grill.svg","material-group":"material/group.svg","material-guitar-acoustic":"material/guitar-acoustic.svg","material-guitar-electric":"material/guitar-electric.svg","material-guitar-pick-outline":"material/guitar-pick-outline.svg","material-guitar-pick":"material/guitar-pick.svg","material-guy-fawkes-mask":"material/guy-fawkes-mask.svg","material-hail":"material/hail.svg","material-hair-dryer-outline":"material/hair-dryer-outline.svg","material-hair-dryer":"material/hair-dryer.svg","material-halloween":"material/halloween.svg","material-hamburger":"material/hamburger.svg","material-hammer-screwdriver":"material/hammer-screwdriver.svg","material-hammer-wrench":"material/hammer-wrench.svg","material-hammer":"material/hammer.svg","material-hand-heart-outline":"material/hand-heart-outline.svg","material-hand-heart":"material/hand-heart.svg","material-hand-left":"material/hand-left.svg","material-hand-okay":"material/hand-okay.svg","material-hand-peace-variant":"material/hand-peace-variant.svg","material-hand-peace":"material/hand-peace.svg","material-hand-pointing-down":"material/hand-pointing-down.svg","material-hand-pointing-left":"material/hand-pointing-left.svg","material-hand-pointing-right":"material/hand-pointing-right.svg","material-hand-pointing-up":"material/hand-pointing-up.svg","material-hand-right":"material/hand-right.svg","material-hand-saw":"material/hand-saw.svg","material-hand-wash-outline":"material/hand-wash-outline.svg","material-hand-wash":"material/hand-wash.svg","material-hand-water":"material/hand-water.svg","material-hand":"material/hand.svg","material-handball":"material/handball.svg","material-handcuffs":"material/handcuffs.svg","material-handshake-outline":"material/handshake-outline.svg","material-handshake":"material/handshake.svg","material-hanger":"material/hanger.svg","material-hard-hat":"material/hard-hat.svg","material-harddisk-plus":"material/harddisk-plus.svg","material-harddisk-remove":"material/harddisk-remove.svg","material-harddisk":"material/harddisk.svg","material-hat-fedora":"material/hat-fedora.svg","material-hazard-lights":"material/hazard-lights.svg","material-hdr-off":"material/hdr-off.svg","material-hdr":"material/hdr.svg","material-head-alert-outline":"material/head-alert-outline.svg","material-head-alert":"material/head-alert.svg","material-head-check-outline":"material/head-check-outline.svg","material-head-check":"material/head-check.svg","material-head-cog-outline":"material/head-cog-outline.svg","material-head-cog":"material/head-cog.svg","material-head-dots-horizontal-outline":"material/head-dots-horizontal-outline.svg","material-head-dots-horizontal":"material/head-dots-horizontal.svg","material-head-flash-outline":"material/head-flash-outline.svg","material-head-flash":"material/head-flash.svg","material-head-heart-outline":"material/head-heart-outline.svg","material-head-heart":"material/head-heart.svg","material-head-lightbulb-outline":"material/head-lightbulb-outline.svg","material-head-lightbulb":"material/head-lightbulb.svg","material-head-minus-outline":"material/head-minus-outline.svg","material-head-minus":"material/head-minus.svg","material-head-outline":"material/head-outline.svg","material-head-plus-outline":"material/head-plus-outline.svg","material-head-plus":"material/head-plus.svg","material-head-question-outline":"material/head-question-outline.svg","material-head-question":"material/head-question.svg","material-head-remove-outline":"material/head-remove-outline.svg","material-head-remove":"material/head-remove.svg","material-head-snowflake-outline":"material/head-snowflake-outline.svg","material-head-snowflake":"material/head-snowflake.svg","material-head-sync-outline":"material/head-sync-outline.svg","material-head-sync":"material/head-sync.svg","material-head":"material/head.svg","material-headphones-bluetooth":"material/headphones-bluetooth.svg","material-headphones-box":"material/headphones-box.svg","material-headphones-off":"material/headphones-off.svg","material-headphones-settings":"material/headphones-settings.svg","material-headphones":"material/headphones.svg","material-headset-dock":"material/headset-dock.svg","material-headset-off":"material/headset-off.svg","material-headset":"material/headset.svg","material-heart-box-outline":"material/heart-box-outline.svg","material-heart-box":"material/heart-box.svg","material-heart-broken-outline":"material/heart-broken-outline.svg","material-heart-broken":"material/heart-broken.svg","material-heart-circle-outline":"material/heart-circle-outline.svg","material-heart-circle":"material/heart-circle.svg","material-heart-cog-outline":"material/heart-cog-outline.svg","material-heart-cog":"material/heart-cog.svg","material-heart-flash":"material/heart-flash.svg","material-heart-half-full":"material/heart-half-full.svg","material-heart-half-outline":"material/heart-half-outline.svg","material-heart-half":"material/heart-half.svg","material-heart-minus-outline":"material/heart-minus-outline.svg","material-heart-minus":"material/heart-minus.svg","material-heart-multiple-outline":"material/heart-multiple-outline.svg","material-heart-multiple":"material/heart-multiple.svg","material-heart-off-outline":"material/heart-off-outline.svg","material-heart-off":"material/heart-off.svg","material-heart-outline":"material/heart-outline.svg","material-heart-plus-outline":"material/heart-plus-outline.svg","material-heart-plus":"material/heart-plus.svg","material-heart-pulse":"material/heart-pulse.svg","material-heart-remove-outline":"material/heart-remove-outline.svg","material-heart-remove":"material/heart-remove.svg","material-heart-settings-outline":"material/heart-settings-outline.svg","material-heart-settings":"material/heart-settings.svg","material-heart":"material/heart.svg","material-helicopter":"material/helicopter.svg","material-help-box":"material/help-box.svg","material-help-circle-outline":"material/help-circle-outline.svg","material-help-circle":"material/help-circle.svg","material-help-network-outline":"material/help-network-outline.svg","material-help-network":"material/help-network.svg","material-help-rhombus-outline":"material/help-rhombus-outline.svg","material-help-rhombus":"material/help-rhombus.svg","material-help":"material/help.svg","material-hexadecimal":"material/hexadecimal.svg","material-hexagon-multiple-outline":"material/hexagon-multiple-outline.svg","material-hexagon-multiple":"material/hexagon-multiple.svg","material-hexagon-outline":"material/hexagon-outline.svg","material-hexagon-slice-1":"material/hexagon-slice-1.svg","material-hexagon-slice-2":"material/hexagon-slice-2.svg","material-hexagon-slice-3":"material/hexagon-slice-3.svg","material-hexagon-slice-4":"material/hexagon-slice-4.svg","material-hexagon-slice-5":"material/hexagon-slice-5.svg","material-hexagon-slice-6":"material/hexagon-slice-6.svg","material-hexagon":"material/hexagon.svg","material-hexagram-outline":"material/hexagram-outline.svg","material-hexagram":"material/hexagram.svg","material-high-definition-box":"material/high-definition-box.svg","material-high-definition":"material/high-definition.svg","material-highway":"material/highway.svg","material-hiking":"material/hiking.svg","material-hinduism":"material/hinduism.svg","material-history":"material/history.svg","material-hockey-puck":"material/hockey-puck.svg","material-hockey-sticks":"material/hockey-sticks.svg","material-hololens":"material/hololens.svg","material-home-account":"material/home-account.svg","material-home-alert-outline":"material/home-alert-outline.svg","material-home-alert":"material/home-alert.svg","material-home-analytics":"material/home-analytics.svg","material-home-assistant":"material/home-assistant.svg","material-home-automation":"material/home-automation.svg","material-home-circle-outline":"material/home-circle-outline.svg","material-home-circle":"material/home-circle.svg","material-home-city-outline":"material/home-city-outline.svg","material-home-city":"material/home-city.svg","material-home-currency-usd":"material/home-currency-usd.svg","material-home-edit-outline":"material/home-edit-outline.svg","material-home-edit":"material/home-edit.svg","material-home-export-outline":"material/home-export-outline.svg","material-home-flood":"material/home-flood.svg","material-home-floor-0":"material/home-floor-0.svg","material-home-floor-1":"material/home-floor-1.svg","material-home-floor-2":"material/home-floor-2.svg","material-home-floor-3":"material/home-floor-3.svg","material-home-floor-a":"material/home-floor-a.svg","material-home-floor-b":"material/home-floor-b.svg","material-home-floor-g":"material/home-floor-g.svg","material-home-floor-l":"material/home-floor-l.svg","material-home-floor-negative-1":"material/home-floor-negative-1.svg","material-home-group":"material/home-group.svg","material-home-heart":"material/home-heart.svg","material-home-import-outline":"material/home-import-outline.svg","material-home-lightbulb-outline":"material/home-lightbulb-outline.svg","material-home-lightbulb":"material/home-lightbulb.svg","material-home-lock-open":"material/home-lock-open.svg","material-home-lock":"material/home-lock.svg","material-home-map-marker":"material/home-map-marker.svg","material-home-minus-outline":"material/home-minus-outline.svg","material-home-minus":"material/home-minus.svg","material-home-modern":"material/home-modern.svg","material-home-outline":"material/home-outline.svg","material-home-plus-outline":"material/home-plus-outline.svg","material-home-plus":"material/home-plus.svg","material-home-remove-outline":"material/home-remove-outline.svg","material-home-remove":"material/home-remove.svg","material-home-roof":"material/home-roof.svg","material-home-search-outline":"material/home-search-outline.svg","material-home-search":"material/home-search.svg","material-home-thermometer-outline":"material/home-thermometer-outline.svg","material-home-thermometer":"material/home-thermometer.svg","material-home-variant-outline":"material/home-variant-outline.svg","material-home-variant":"material/home-variant.svg","material-home":"material/home.svg","material-hook-off":"material/hook-off.svg","material-hook":"material/hook.svg","material-hops":"material/hops.svg","material-horizontal-rotate-clockwise":"material/horizontal-rotate-clockwise.svg","material-horizontal-rotate-counterclockwise":"material/horizontal-rotate-counterclockwise.svg","material-horse-human":"material/horse-human.svg","material-horse-variant":"material/horse-variant.svg","material-horse":"material/horse.svg","material-horseshoe":"material/horseshoe.svg","material-hospital-box-outline":"material/hospital-box-outline.svg","material-hospital-box":"material/hospital-box.svg","material-hospital-building":"material/hospital-building.svg","material-hospital-marker":"material/hospital-marker.svg","material-hospital":"material/hospital.svg","material-hot-tub":"material/hot-tub.svg","material-hours-24":"material/hours-24.svg","material-hubspot":"material/hubspot.svg","material-hulu":"material/hulu.svg","material-human-baby-changing-table":"material/human-baby-changing-table.svg","material-human-cane":"material/human-cane.svg","material-human-capacity-decrease":"material/human-capacity-decrease.svg","material-human-capacity-increase":"material/human-capacity-increase.svg","material-human-child":"material/human-child.svg","material-human-edit":"material/human-edit.svg","material-human-female-boy":"material/human-female-boy.svg","material-human-female-dance":"material/human-female-dance.svg","material-human-female-female":"material/human-female-female.svg","material-human-female-girl":"material/human-female-girl.svg","material-human-female":"material/human-female.svg","material-human-greeting-proximity":"material/human-greeting-proximity.svg","material-human-greeting":"material/human-greeting.svg","material-human-handsdown":"material/human-handsdown.svg","material-human-handsup":"material/human-handsup.svg","material-human-male-boy":"material/human-male-boy.svg","material-human-male-child":"material/human-male-child.svg","material-human-male-female":"material/human-male-female.svg","material-human-male-girl":"material/human-male-girl.svg","material-human-male-height-variant":"material/human-male-height-variant.svg","material-human-male-height":"material/human-male-height.svg","material-human-male-male":"material/human-male-male.svg","material-human-male":"material/human-male.svg","material-human-pregnant":"material/human-pregnant.svg","material-human-queue":"material/human-queue.svg","material-human-scooter":"material/human-scooter.svg","material-human-wheelchair":"material/human-wheelchair.svg","material-human":"material/human.svg","material-humble-bundle":"material/humble-bundle.svg","material-hvac-off":"material/hvac-off.svg","material-hvac":"material/hvac.svg","material-hydraulic-oil-level":"material/hydraulic-oil-level.svg","material-hydraulic-oil-temperature":"material/hydraulic-oil-temperature.svg","material-hydro-power":"material/hydro-power.svg","material-ice-cream-off":"material/ice-cream-off.svg","material-ice-cream":"material/ice-cream.svg","material-ice-pop":"material/ice-pop.svg","material-id-card":"material/id-card.svg","material-identifier":"material/identifier.svg","material-ideogram-cjk-variant":"material/ideogram-cjk-variant.svg","material-ideogram-cjk":"material/ideogram-cjk.svg","material-iframe-array-outline":"material/iframe-array-outline.svg","material-iframe-array":"material/iframe-array.svg","material-iframe-braces-outline":"material/iframe-braces-outline.svg","material-iframe-braces":"material/iframe-braces.svg","material-iframe-outline":"material/iframe-outline.svg","material-iframe-parentheses-outline":"material/iframe-parentheses-outline.svg","material-iframe-parentheses":"material/iframe-parentheses.svg","material-iframe-variable-outline":"material/iframe-variable-outline.svg","material-iframe-variable":"material/iframe-variable.svg","material-iframe":"material/iframe.svg","material-image-album":"material/image-album.svg","material-image-area-close":"material/image-area-close.svg","material-image-area":"material/image-area.svg","material-image-auto-adjust":"material/image-auto-adjust.svg","material-image-broken-variant":"material/image-broken-variant.svg","material-image-broken":"material/image-broken.svg","material-image-edit-outline":"material/image-edit-outline.svg","material-image-edit":"material/image-edit.svg","material-image-filter-black-white":"material/image-filter-black-white.svg","material-image-filter-center-focus-strong-outline":"material/image-filter-center-focus-strong-outline.svg","material-image-filter-center-focus-strong":"material/image-filter-center-focus-strong.svg","material-image-filter-center-focus-weak":"material/image-filter-center-focus-weak.svg","material-image-filter-center-focus":"material/image-filter-center-focus.svg","material-image-filter-drama":"material/image-filter-drama.svg","material-image-filter-frames":"material/image-filter-frames.svg","material-image-filter-hdr":"material/image-filter-hdr.svg","material-image-filter-none":"material/image-filter-none.svg","material-image-filter-tilt-shift":"material/image-filter-tilt-shift.svg","material-image-filter-vintage":"material/image-filter-vintage.svg","material-image-frame":"material/image-frame.svg","material-image-minus":"material/image-minus.svg","material-image-move":"material/image-move.svg","material-image-multiple-outline":"material/image-multiple-outline.svg","material-image-multiple":"material/image-multiple.svg","material-image-off-outline":"material/image-off-outline.svg","material-image-off":"material/image-off.svg","material-image-outline":"material/image-outline.svg","material-image-plus":"material/image-plus.svg","material-image-remove":"material/image-remove.svg","material-image-search-outline":"material/image-search-outline.svg","material-image-search":"material/image-search.svg","material-image-size-select-actual":"material/image-size-select-actual.svg","material-image-size-select-large":"material/image-size-select-large.svg","material-image-size-select-small":"material/image-size-select-small.svg","material-image-text":"material/image-text.svg","material-image":"material/image.svg","material-import":"material/import.svg","material-inbox-arrow-down-outline":"material/inbox-arrow-down-outline.svg","material-inbox-arrow-down":"material/inbox-arrow-down.svg","material-inbox-arrow-up-outline":"material/inbox-arrow-up-outline.svg","material-inbox-arrow-up":"material/inbox-arrow-up.svg","material-inbox-full-outline":"material/inbox-full-outline.svg","material-inbox-full":"material/inbox-full.svg","material-inbox-multiple-outline":"material/inbox-multiple-outline.svg","material-inbox-multiple":"material/inbox-multiple.svg","material-inbox-outline":"material/inbox-outline.svg","material-inbox-remove-outline":"material/inbox-remove-outline.svg","material-inbox-remove":"material/inbox-remove.svg","material-inbox":"material/inbox.svg","material-incognito-circle-off":"material/incognito-circle-off.svg","material-incognito-circle":"material/incognito-circle.svg","material-incognito-off":"material/incognito-off.svg","material-incognito":"material/incognito.svg","material-infinity":"material/infinity.svg","material-information-outline":"material/information-outline.svg","material-information-variant":"material/information-variant.svg","material-information":"material/information.svg","material-instagram":"material/instagram.svg","material-instrument-triangle":"material/instrument-triangle.svg","material-invert-colors-off":"material/invert-colors-off.svg","material-invert-colors":"material/invert-colors.svg","material-iobroker":"material/iobroker.svg","material-ip-network-outline":"material/ip-network-outline.svg","material-ip-network":"material/ip-network.svg","material-ip":"material/ip.svg","material-ipod":"material/ipod.svg","material-islam":"material/islam.svg","material-island":"material/island.svg","material-iv-bag":"material/iv-bag.svg","material-jabber":"material/jabber.svg","material-jeepney":"material/jeepney.svg","material-jellyfish-outline":"material/jellyfish-outline.svg","material-jellyfish":"material/jellyfish.svg","material-jira":"material/jira.svg","material-jquery":"material/jquery.svg","material-jsfiddle":"material/jsfiddle.svg","material-judaism":"material/judaism.svg","material-jump-rope":"material/jump-rope.svg","material-kabaddi":"material/kabaddi.svg","material-kangaroo":"material/kangaroo.svg","material-karate":"material/karate.svg","material-keg":"material/keg.svg","material-kettle-alert-outline":"material/kettle-alert-outline.svg","material-kettle-alert":"material/kettle-alert.svg","material-kettle-off-outline":"material/kettle-off-outline.svg","material-kettle-off":"material/kettle-off.svg","material-kettle-outline":"material/kettle-outline.svg","material-kettle-pour-over":"material/kettle-pour-over.svg","material-kettle-steam-outline":"material/kettle-steam-outline.svg","material-kettle-steam":"material/kettle-steam.svg","material-kettle":"material/kettle.svg","material-kettlebell":"material/kettlebell.svg","material-key-arrow-right":"material/key-arrow-right.svg","material-key-chain-variant":"material/key-chain-variant.svg","material-key-chain":"material/key-chain.svg","material-key-change":"material/key-change.svg","material-key-link":"material/key-link.svg","material-key-minus":"material/key-minus.svg","material-key-outline":"material/key-outline.svg","material-key-plus":"material/key-plus.svg","material-key-remove":"material/key-remove.svg","material-key-star":"material/key-star.svg","material-key-variant":"material/key-variant.svg","material-key-wireless":"material/key-wireless.svg","material-key":"material/key.svg","material-keyboard-backspace":"material/keyboard-backspace.svg","material-keyboard-caps":"material/keyboard-caps.svg","material-keyboard-close":"material/keyboard-close.svg","material-keyboard-esc":"material/keyboard-esc.svg","material-keyboard-f1":"material/keyboard-f1.svg","material-keyboard-f10":"material/keyboard-f10.svg","material-keyboard-f11":"material/keyboard-f11.svg","material-keyboard-f12":"material/keyboard-f12.svg","material-keyboard-f2":"material/keyboard-f2.svg","material-keyboard-f3":"material/keyboard-f3.svg","material-keyboard-f4":"material/keyboard-f4.svg","material-keyboard-f5":"material/keyboard-f5.svg","material-keyboard-f6":"material/keyboard-f6.svg","material-keyboard-f7":"material/keyboard-f7.svg","material-keyboard-f8":"material/keyboard-f8.svg","material-keyboard-f9":"material/keyboard-f9.svg","material-keyboard-off-outline":"material/keyboard-off-outline.svg","material-keyboard-off":"material/keyboard-off.svg","material-keyboard-outline":"material/keyboard-outline.svg","material-keyboard-return":"material/keyboard-return.svg","material-keyboard-settings-outline":"material/keyboard-settings-outline.svg","material-keyboard-settings":"material/keyboard-settings.svg","material-keyboard-space":"material/keyboard-space.svg","material-keyboard-tab":"material/keyboard-tab.svg","material-keyboard-variant":"material/keyboard-variant.svg","material-keyboard":"material/keyboard.svg","material-khanda":"material/khanda.svg","material-kickstarter":"material/kickstarter.svg","material-klingon":"material/klingon.svg","material-knife-military":"material/knife-military.svg","material-knife":"material/knife.svg","material-koala":"material/koala.svg","material-kodi":"material/kodi.svg","material-kubernetes":"material/kubernetes.svg","material-label-multiple-outline":"material/label-multiple-outline.svg","material-label-multiple":"material/label-multiple.svg","material-label-off-outline":"material/label-off-outline.svg","material-label-off":"material/label-off.svg","material-label-outline":"material/label-outline.svg","material-label-percent-outline":"material/label-percent-outline.svg","material-label-percent":"material/label-percent.svg","material-label-variant-outline":"material/label-variant-outline.svg","material-label-variant":"material/label-variant.svg","material-label":"material/label.svg","material-ladder":"material/ladder.svg","material-ladybug":"material/ladybug.svg","material-lambda":"material/lambda.svg","material-lamp":"material/lamp.svg","material-lamps":"material/lamps.svg","material-lan-check":"material/lan-check.svg","material-lan-connect":"material/lan-connect.svg","material-lan-disconnect":"material/lan-disconnect.svg","material-lan-pending":"material/lan-pending.svg","material-lan":"material/lan.svg","material-language-c":"material/language-c.svg","material-language-cpp":"material/language-cpp.svg","material-language-csharp":"material/language-csharp.svg","material-language-css3":"material/language-css3.svg","material-language-fortran":"material/language-fortran.svg","material-language-go":"material/language-go.svg","material-language-haskell":"material/language-haskell.svg","material-language-html5":"material/language-html5.svg","material-language-java":"material/language-java.svg","material-language-javascript":"material/language-javascript.svg","material-language-kotlin":"material/language-kotlin.svg","material-language-lua":"material/language-lua.svg","material-language-markdown-outline":"material/language-markdown-outline.svg","material-language-markdown":"material/language-markdown.svg","material-language-php":"material/language-php.svg","material-language-python":"material/language-python.svg","material-language-r":"material/language-r.svg","material-language-ruby-on-rails":"material/language-ruby-on-rails.svg","material-language-ruby":"material/language-ruby.svg","material-language-rust":"material/language-rust.svg","material-language-swift":"material/language-swift.svg","material-language-typescript":"material/language-typescript.svg","material-language-xaml":"material/language-xaml.svg","material-laptop-chromebook":"material/laptop-chromebook.svg","material-laptop-mac":"material/laptop-mac.svg","material-laptop-off":"material/laptop-off.svg","material-laptop-windows":"material/laptop-windows.svg","material-laptop":"material/laptop.svg","material-laravel":"material/laravel.svg","material-laser-pointer":"material/laser-pointer.svg","material-lasso":"material/lasso.svg","material-lastpass":"material/lastpass.svg","material-latitude":"material/latitude.svg","material-launch":"material/launch.svg","material-lava-lamp":"material/lava-lamp.svg","material-layers-minus":"material/layers-minus.svg","material-layers-off-outline":"material/layers-off-outline.svg","material-layers-off":"material/layers-off.svg","material-layers-outline":"material/layers-outline.svg","material-layers-plus":"material/layers-plus.svg","material-layers-remove":"material/layers-remove.svg","material-layers-search-outline":"material/layers-search-outline.svg","material-layers-search":"material/layers-search.svg","material-layers-triple-outline":"material/layers-triple-outline.svg","material-layers-triple":"material/layers-triple.svg","material-layers":"material/layers.svg","material-lead-pencil":"material/lead-pencil.svg","material-leaf-maple-off":"material/leaf-maple-off.svg","material-leaf-maple":"material/leaf-maple.svg","material-leaf-off":"material/leaf-off.svg","material-leaf":"material/leaf.svg","material-leak-off":"material/leak-off.svg","material-leak":"material/leak.svg","material-led-off":"material/led-off.svg","material-led-on":"material/led-on.svg","material-led-outline":"material/led-outline.svg","material-led-strip-variant":"material/led-strip-variant.svg","material-led-strip":"material/led-strip.svg","material-led-variant-off":"material/led-variant-off.svg","material-led-variant-on":"material/led-variant-on.svg","material-led-variant-outline":"material/led-variant-outline.svg","material-leek":"material/leek.svg","material-less-than-or-equal":"material/less-than-or-equal.svg","material-less-than":"material/less-than.svg","material-library-shelves":"material/library-shelves.svg","material-library":"material/library.svg","material-license":"material/license.svg","material-lifebuoy":"material/lifebuoy.svg","material-light-switch":"material/light-switch.svg","material-lightbulb-cfl-off":"material/lightbulb-cfl-off.svg","material-lightbulb-cfl-spiral-off":"material/lightbulb-cfl-spiral-off.svg","material-lightbulb-cfl-spiral":"material/lightbulb-cfl-spiral.svg","material-lightbulb-cfl":"material/lightbulb-cfl.svg","material-lightbulb-group-off-outline":"material/lightbulb-group-off-outline.svg","material-lightbulb-group-off":"material/lightbulb-group-off.svg","material-lightbulb-group-outline":"material/lightbulb-group-outline.svg","material-lightbulb-group":"material/lightbulb-group.svg","material-lightbulb-multiple-off-outline":"material/lightbulb-multiple-off-outline.svg","material-lightbulb-multiple-off":"material/lightbulb-multiple-off.svg","material-lightbulb-multiple-outline":"material/lightbulb-multiple-outline.svg","material-lightbulb-multiple":"material/lightbulb-multiple.svg","material-lightbulb-off-outline":"material/lightbulb-off-outline.svg","material-lightbulb-off":"material/lightbulb-off.svg","material-lightbulb-on-outline":"material/lightbulb-on-outline.svg","material-lightbulb-on":"material/lightbulb-on.svg","material-lightbulb-outline":"material/lightbulb-outline.svg","material-lightbulb":"material/lightbulb.svg","material-lighthouse-on":"material/lighthouse-on.svg","material-lighthouse":"material/lighthouse.svg","material-lightning-bolt-outline":"material/lightning-bolt-outline.svg","material-lightning-bolt":"material/lightning-bolt.svg","material-lingerie":"material/lingerie.svg","material-link-box-outline":"material/link-box-outline.svg","material-link-box-variant-outline":"material/link-box-variant-outline.svg","material-link-box-variant":"material/link-box-variant.svg","material-link-box":"material/link-box.svg","material-link-lock":"material/link-lock.svg","material-link-off":"material/link-off.svg","material-link-plus":"material/link-plus.svg","material-link-variant-minus":"material/link-variant-minus.svg","material-link-variant-off":"material/link-variant-off.svg","material-link-variant-plus":"material/link-variant-plus.svg","material-link-variant-remove":"material/link-variant-remove.svg","material-link-variant":"material/link-variant.svg","material-link":"material/link.svg","material-linkedin":"material/linkedin.svg","material-linux-mint":"material/linux-mint.svg","material-linux":"material/linux.svg","material-lipstick":"material/lipstick.svg","material-list-status":"material/list-status.svg","material-litecoin":"material/litecoin.svg","material-loading":"material/loading.svg","material-location-enter":"material/location-enter.svg","material-location-exit":"material/location-exit.svg","material-lock-alert-outline":"material/lock-alert-outline.svg","material-lock-alert":"material/lock-alert.svg","material-lock-check-outline":"material/lock-check-outline.svg","material-lock-check":"material/lock-check.svg","material-lock-clock":"material/lock-clock.svg","material-lock-minus-outline":"material/lock-minus-outline.svg","material-lock-minus":"material/lock-minus.svg","material-lock-off-outline":"material/lock-off-outline.svg","material-lock-off":"material/lock-off.svg","material-lock-open-alert-outline":"material/lock-open-alert-outline.svg","material-lock-open-alert":"material/lock-open-alert.svg","material-lock-open-check-outline":"material/lock-open-check-outline.svg","material-lock-open-check":"material/lock-open-check.svg","material-lock-open-minus-outline":"material/lock-open-minus-outline.svg","material-lock-open-minus":"material/lock-open-minus.svg","material-lock-open-outline":"material/lock-open-outline.svg","material-lock-open-plus-outline":"material/lock-open-plus-outline.svg","material-lock-open-plus":"material/lock-open-plus.svg","material-lock-open-remove-outline":"material/lock-open-remove-outline.svg","material-lock-open-remove":"material/lock-open-remove.svg","material-lock-open-variant-outline":"material/lock-open-variant-outline.svg","material-lock-open-variant":"material/lock-open-variant.svg","material-lock-open":"material/lock-open.svg","material-lock-outline":"material/lock-outline.svg","material-lock-pattern":"material/lock-pattern.svg","material-lock-plus-outline":"material/lock-plus-outline.svg","material-lock-plus":"material/lock-plus.svg","material-lock-question":"material/lock-question.svg","material-lock-remove-outline":"material/lock-remove-outline.svg","material-lock-remove":"material/lock-remove.svg","material-lock-reset":"material/lock-reset.svg","material-lock-smart":"material/lock-smart.svg","material-lock":"material/lock.svg","material-locker-multiple":"material/locker-multiple.svg","material-locker":"material/locker.svg","material-login-variant":"material/login-variant.svg","material-login":"material/login.svg","material-logout-variant":"material/logout-variant.svg","material-logout":"material/logout.svg","material-longitude":"material/longitude.svg","material-looks":"material/looks.svg","material-lotion-outline":"material/lotion-outline.svg","material-lotion-plus-outline":"material/lotion-plus-outline.svg","material-lotion-plus":"material/lotion-plus.svg","material-lotion":"material/lotion.svg","material-loupe":"material/loupe.svg","material-lumx":"material/lumx.svg","material-lungs":"material/lungs.svg","material-magnet-on":"material/magnet-on.svg","material-magnet":"material/magnet.svg","material-magnify-close":"material/magnify-close.svg","material-magnify-minus-cursor":"material/magnify-minus-cursor.svg","material-magnify-minus-outline":"material/magnify-minus-outline.svg","material-magnify-minus":"material/magnify-minus.svg","material-magnify-plus-cursor":"material/magnify-plus-cursor.svg","material-magnify-plus-outline":"material/magnify-plus-outline.svg","material-magnify-plus":"material/magnify-plus.svg","material-magnify-remove-cursor":"material/magnify-remove-cursor.svg","material-magnify-remove-outline":"material/magnify-remove-outline.svg","material-magnify-scan":"material/magnify-scan.svg","material-magnify":"material/magnify.svg","material-mail":"material/mail.svg","material-mailbox-open-outline":"material/mailbox-open-outline.svg","material-mailbox-open-up-outline":"material/mailbox-open-up-outline.svg","material-mailbox-open-up":"material/mailbox-open-up.svg","material-mailbox-open":"material/mailbox-open.svg","material-mailbox-outline":"material/mailbox-outline.svg","material-mailbox-up-outline":"material/mailbox-up-outline.svg","material-mailbox-up":"material/mailbox-up.svg","material-mailbox":"material/mailbox.svg","material-manjaro":"material/manjaro.svg","material-map-check-outline":"material/map-check-outline.svg","material-map-check":"material/map-check.svg","material-map-clock-outline":"material/map-clock-outline.svg","material-map-clock":"material/map-clock.svg","material-map-legend":"material/map-legend.svg","material-map-marker-alert-outline":"material/map-marker-alert-outline.svg","material-map-marker-alert":"material/map-marker-alert.svg","material-map-marker-check-outline":"material/map-marker-check-outline.svg","material-map-marker-check":"material/map-marker-check.svg","material-map-marker-circle":"material/map-marker-circle.svg","material-map-marker-distance":"material/map-marker-distance.svg","material-map-marker-down":"material/map-marker-down.svg","material-map-marker-left-outline":"material/map-marker-left-outline.svg","material-map-marker-left":"material/map-marker-left.svg","material-map-marker-minus-outline":"material/map-marker-minus-outline.svg","material-map-marker-minus":"material/map-marker-minus.svg","material-map-marker-multiple-outline":"material/map-marker-multiple-outline.svg","material-map-marker-multiple":"material/map-marker-multiple.svg","material-map-marker-off-outline":"material/map-marker-off-outline.svg","material-map-marker-off":"material/map-marker-off.svg","material-map-marker-outline":"material/map-marker-outline.svg","material-map-marker-path":"material/map-marker-path.svg","material-map-marker-plus-outline":"material/map-marker-plus-outline.svg","material-map-marker-plus":"material/map-marker-plus.svg","material-map-marker-question-outline":"material/map-marker-question-outline.svg","material-map-marker-question":"material/map-marker-question.svg","material-map-marker-radius-outline":"material/map-marker-radius-outline.svg","material-map-marker-radius":"material/map-marker-radius.svg","material-map-marker-remove-outline":"material/map-marker-remove-outline.svg","material-map-marker-remove-variant":"material/map-marker-remove-variant.svg","material-map-marker-remove":"material/map-marker-remove.svg","material-map-marker-right-outline":"material/map-marker-right-outline.svg","material-map-marker-right":"material/map-marker-right.svg","material-map-marker-star-outline":"material/map-marker-star-outline.svg","material-map-marker-star":"material/map-marker-star.svg","material-map-marker-up":"material/map-marker-up.svg","material-map-marker":"material/map-marker.svg","material-map-minus":"material/map-minus.svg","material-map-outline":"material/map-outline.svg","material-map-plus":"material/map-plus.svg","material-map-search-outline":"material/map-search-outline.svg","material-map-search":"material/map-search.svg","material-map":"material/map.svg","material-mapbox":"material/mapbox.svg","material-margin":"material/margin.svg","material-marker-cancel":"material/marker-cancel.svg","material-marker-check":"material/marker-check.svg","material-marker":"material/marker.svg","material-mastodon":"material/mastodon.svg","material-material-design":"material/material-design.svg","material-material-ui":"material/material-ui.svg","material-math-compass":"material/math-compass.svg","material-math-cos":"material/math-cos.svg","material-math-integral-box":"material/math-integral-box.svg","material-math-integral":"material/math-integral.svg","material-math-log":"material/math-log.svg","material-math-norm-box":"material/math-norm-box.svg","material-math-norm":"material/math-norm.svg","material-math-sin":"material/math-sin.svg","material-math-tan":"material/math-tan.svg","material-matrix":"material/matrix.svg","material-medal-outline":"material/medal-outline.svg","material-medal":"material/medal.svg","material-medical-bag":"material/medical-bag.svg","material-meditation":"material/meditation.svg","material-memory":"material/memory.svg","material-menu-down-outline":"material/menu-down-outline.svg","material-menu-down":"material/menu-down.svg","material-menu-left-outline":"material/menu-left-outline.svg","material-menu-left":"material/menu-left.svg","material-menu-open":"material/menu-open.svg","material-menu-right-outline":"material/menu-right-outline.svg","material-menu-right":"material/menu-right.svg","material-menu-swap-outline":"material/menu-swap-outline.svg","material-menu-swap":"material/menu-swap.svg","material-menu-up-outline":"material/menu-up-outline.svg","material-menu-up":"material/menu-up.svg","material-menu":"material/menu.svg","material-merge":"material/merge.svg","material-message-alert-outline":"material/message-alert-outline.svg","material-message-alert":"material/message-alert.svg","material-message-arrow-left-outline":"material/message-arrow-left-outline.svg","material-message-arrow-left":"material/message-arrow-left.svg","material-message-arrow-right-outline":"material/message-arrow-right-outline.svg","material-message-arrow-right":"material/message-arrow-right.svg","material-message-bookmark-outline":"material/message-bookmark-outline.svg","material-message-bookmark":"material/message-bookmark.svg","material-message-bulleted-off":"material/message-bulleted-off.svg","material-message-bulleted":"material/message-bulleted.svg","material-message-cog-outline":"material/message-cog-outline.svg","material-message-cog":"material/message-cog.svg","material-message-draw":"material/message-draw.svg","material-message-flash-outline":"material/message-flash-outline.svg","material-message-flash":"material/message-flash.svg","material-message-image-outline":"material/message-image-outline.svg","material-message-image":"material/message-image.svg","material-message-lock-outline":"material/message-lock-outline.svg","material-message-lock":"material/message-lock.svg","material-message-minus-outline":"material/message-minus-outline.svg","material-message-minus":"material/message-minus.svg","material-message-off-outline":"material/message-off-outline.svg","material-message-off":"material/message-off.svg","material-message-outline":"material/message-outline.svg","material-message-plus-outline":"material/message-plus-outline.svg","material-message-plus":"material/message-plus.svg","material-message-processing-outline":"material/message-processing-outline.svg","material-message-processing":"material/message-processing.svg","material-message-question-outline":"material/message-question-outline.svg","material-message-question":"material/message-question.svg","material-message-reply-outline":"material/message-reply-outline.svg","material-message-reply-text-outline":"material/message-reply-text-outline.svg","material-message-reply-text":"material/message-reply-text.svg","material-message-reply":"material/message-reply.svg","material-message-settings-outline":"material/message-settings-outline.svg","material-message-settings":"material/message-settings.svg","material-message-text-clock-outline":"material/message-text-clock-outline.svg","material-message-text-clock":"material/message-text-clock.svg","material-message-text-lock-outline":"material/message-text-lock-outline.svg","material-message-text-lock":"material/message-text-lock.svg","material-message-text-outline":"material/message-text-outline.svg","material-message-text":"material/message-text.svg","material-message-video":"material/message-video.svg","material-message":"material/message.svg","material-meteor":"material/meteor.svg","material-metronome-tick":"material/metronome-tick.svg","material-metronome":"material/metronome.svg","material-micro-sd":"material/micro-sd.svg","material-microphone-minus":"material/microphone-minus.svg","material-microphone-off":"material/microphone-off.svg","material-microphone-outline":"material/microphone-outline.svg","material-microphone-plus":"material/microphone-plus.svg","material-microphone-settings":"material/microphone-settings.svg","material-microphone-variant-off":"material/microphone-variant-off.svg","material-microphone-variant":"material/microphone-variant.svg","material-microphone":"material/microphone.svg","material-microscope":"material/microscope.svg","material-microsoft-access":"material/microsoft-access.svg","material-microsoft-azure-devops":"material/microsoft-azure-devops.svg","material-microsoft-azure":"material/microsoft-azure.svg","material-microsoft-bing":"material/microsoft-bing.svg","material-microsoft-dynamics-365":"material/microsoft-dynamics-365.svg","material-microsoft-edge-legacy":"material/microsoft-edge-legacy.svg","material-microsoft-edge":"material/microsoft-edge.svg","material-microsoft-excel":"material/microsoft-excel.svg","material-microsoft-internet-explorer":"material/microsoft-internet-explorer.svg","material-microsoft-office":"material/microsoft-office.svg","material-microsoft-onedrive":"material/microsoft-onedrive.svg","material-microsoft-onenote":"material/microsoft-onenote.svg","material-microsoft-outlook":"material/microsoft-outlook.svg","material-microsoft-powerpoint":"material/microsoft-powerpoint.svg","material-microsoft-sharepoint":"material/microsoft-sharepoint.svg","material-microsoft-teams":"material/microsoft-teams.svg","material-microsoft-visual-studio-code":"material/microsoft-visual-studio-code.svg","material-microsoft-visual-studio":"material/microsoft-visual-studio.svg","material-microsoft-windows-classic":"material/microsoft-windows-classic.svg","material-microsoft-windows":"material/microsoft-windows.svg","material-microsoft-word":"material/microsoft-word.svg","material-microsoft-xbox-controller-battery-alert":"material/microsoft-xbox-controller-battery-alert.svg","material-microsoft-xbox-controller-battery-charging":"material/microsoft-xbox-controller-battery-charging.svg","material-microsoft-xbox-controller-battery-empty":"material/microsoft-xbox-controller-battery-empty.svg","material-microsoft-xbox-controller-battery-full":"material/microsoft-xbox-controller-battery-full.svg","material-microsoft-xbox-controller-battery-low":"material/microsoft-xbox-controller-battery-low.svg","material-microsoft-xbox-controller-battery-medium":"material/microsoft-xbox-controller-battery-medium.svg","material-microsoft-xbox-controller-battery-unknown":"material/microsoft-xbox-controller-battery-unknown.svg","material-microsoft-xbox-controller-menu":"material/microsoft-xbox-controller-menu.svg","material-microsoft-xbox-controller-off":"material/microsoft-xbox-controller-off.svg","material-microsoft-xbox-controller-view":"material/microsoft-xbox-controller-view.svg","material-microsoft-xbox-controller":"material/microsoft-xbox-controller.svg","material-microsoft-xbox":"material/microsoft-xbox.svg","material-microsoft-yammer":"material/microsoft-yammer.svg","material-microsoft":"material/microsoft.svg","material-microwave-off":"material/microwave-off.svg","material-microwave":"material/microwave.svg","material-middleware-outline":"material/middleware-outline.svg","material-middleware":"material/middleware.svg","material-midi-port":"material/midi-port.svg","material-midi":"material/midi.svg","material-mine":"material/mine.svg","material-minecraft":"material/minecraft.svg","material-mini-sd":"material/mini-sd.svg","material-minidisc":"material/minidisc.svg","material-minus-box-multiple-outline":"material/minus-box-multiple-outline.svg","material-minus-box-multiple":"material/minus-box-multiple.svg","material-minus-box-outline":"material/minus-box-outline.svg","material-minus-box":"material/minus-box.svg","material-minus-circle-multiple-outline":"material/minus-circle-multiple-outline.svg","material-minus-circle-multiple":"material/minus-circle-multiple.svg","material-minus-circle-off-outline":"material/minus-circle-off-outline.svg","material-minus-circle-off":"material/minus-circle-off.svg","material-minus-circle-outline":"material/minus-circle-outline.svg","material-minus-circle":"material/minus-circle.svg","material-minus-network-outline":"material/minus-network-outline.svg","material-minus-network":"material/minus-network.svg","material-minus-thick":"material/minus-thick.svg","material-minus":"material/minus.svg","material-mirror":"material/mirror.svg","material-mixed-martial-arts":"material/mixed-martial-arts.svg","material-mixed-reality":"material/mixed-reality.svg","material-molecule-co":"material/molecule-co.svg","material-molecule-co2":"material/molecule-co2.svg","material-molecule":"material/molecule.svg","material-monitor-cellphone-star":"material/monitor-cellphone-star.svg","material-monitor-cellphone":"material/monitor-cellphone.svg","material-monitor-clean":"material/monitor-clean.svg","material-monitor-dashboard":"material/monitor-dashboard.svg","material-monitor-edit":"material/monitor-edit.svg","material-monitor-eye":"material/monitor-eye.svg","material-monitor-lock":"material/monitor-lock.svg","material-monitor-multiple":"material/monitor-multiple.svg","material-monitor-off":"material/monitor-off.svg","material-monitor-screenshot":"material/monitor-screenshot.svg","material-monitor-share":"material/monitor-share.svg","material-monitor-speaker-off":"material/monitor-speaker-off.svg","material-monitor-speaker":"material/monitor-speaker.svg","material-monitor-star":"material/monitor-star.svg","material-monitor":"material/monitor.svg","material-moon-first-quarter":"material/moon-first-quarter.svg","material-moon-full":"material/moon-full.svg","material-moon-last-quarter":"material/moon-last-quarter.svg","material-moon-new":"material/moon-new.svg","material-moon-waning-crescent":"material/moon-waning-crescent.svg","material-moon-waning-gibbous":"material/moon-waning-gibbous.svg","material-moon-waxing-crescent":"material/moon-waxing-crescent.svg","material-moon-waxing-gibbous":"material/moon-waxing-gibbous.svg","material-moped-electric-outline":"material/moped-electric-outline.svg","material-moped-electric":"material/moped-electric.svg","material-moped-outline":"material/moped-outline.svg","material-moped":"material/moped.svg","material-more":"material/more.svg","material-mother-heart":"material/mother-heart.svg","material-mother-nurse":"material/mother-nurse.svg","material-motion-outline":"material/motion-outline.svg","material-motion-pause-outline":"material/motion-pause-outline.svg","material-motion-pause":"material/motion-pause.svg","material-motion-play-outline":"material/motion-play-outline.svg","material-motion-play":"material/motion-play.svg","material-motion-sensor-off":"material/motion-sensor-off.svg","material-motion-sensor":"material/motion-sensor.svg","material-motion":"material/motion.svg","material-motorbike-electric":"material/motorbike-electric.svg","material-motorbike":"material/motorbike.svg","material-mouse-bluetooth":"material/mouse-bluetooth.svg","material-mouse-move-down":"material/mouse-move-down.svg","material-mouse-move-up":"material/mouse-move-up.svg","material-mouse-move-vertical":"material/mouse-move-vertical.svg","material-mouse-off":"material/mouse-off.svg","material-mouse-variant-off":"material/mouse-variant-off.svg","material-mouse-variant":"material/mouse-variant.svg","material-mouse":"material/mouse.svg","material-move-resize-variant":"material/move-resize-variant.svg","material-move-resize":"material/move-resize.svg","material-movie-check-outline":"material/movie-check-outline.svg","material-movie-check":"material/movie-check.svg","material-movie-cog-outline":"material/movie-cog-outline.svg","material-movie-cog":"material/movie-cog.svg","material-movie-edit-outline":"material/movie-edit-outline.svg","material-movie-edit":"material/movie-edit.svg","material-movie-filter-outline":"material/movie-filter-outline.svg","material-movie-filter":"material/movie-filter.svg","material-movie-minus-outline":"material/movie-minus-outline.svg","material-movie-minus":"material/movie-minus.svg","material-movie-off-outline":"material/movie-off-outline.svg","material-movie-off":"material/movie-off.svg","material-movie-open-check-outline":"material/movie-open-check-outline.svg","material-movie-open-check":"material/movie-open-check.svg","material-movie-open-cog-outline":"material/movie-open-cog-outline.svg","material-movie-open-cog":"material/movie-open-cog.svg","material-movie-open-edit-outline":"material/movie-open-edit-outline.svg","material-movie-open-edit":"material/movie-open-edit.svg","material-movie-open-minus-outline":"material/movie-open-minus-outline.svg","material-movie-open-minus":"material/movie-open-minus.svg","material-movie-open-off-outline":"material/movie-open-off-outline.svg","material-movie-open-off":"material/movie-open-off.svg","material-movie-open-outline":"material/movie-open-outline.svg","material-movie-open-play-outline":"material/movie-open-play-outline.svg","material-movie-open-play":"material/movie-open-play.svg","material-movie-open-plus-outline":"material/movie-open-plus-outline.svg","material-movie-open-plus":"material/movie-open-plus.svg","material-movie-open-remove-outline":"material/movie-open-remove-outline.svg","material-movie-open-remove":"material/movie-open-remove.svg","material-movie-open-settings-outline":"material/movie-open-settings-outline.svg","material-movie-open-settings":"material/movie-open-settings.svg","material-movie-open-star-outline":"material/movie-open-star-outline.svg","material-movie-open-star":"material/movie-open-star.svg","material-movie-open":"material/movie-open.svg","material-movie-outline":"material/movie-outline.svg","material-movie-play-outline":"material/movie-play-outline.svg","material-movie-play":"material/movie-play.svg","material-movie-plus-outline":"material/movie-plus-outline.svg","material-movie-plus":"material/movie-plus.svg","material-movie-remove-outline":"material/movie-remove-outline.svg","material-movie-remove":"material/movie-remove.svg","material-movie-roll":"material/movie-roll.svg","material-movie-search-outline":"material/movie-search-outline.svg","material-movie-search":"material/movie-search.svg","material-movie-settings-outline":"material/movie-settings-outline.svg","material-movie-settings":"material/movie-settings.svg","material-movie-star-outline":"material/movie-star-outline.svg","material-movie-star":"material/movie-star.svg","material-movie":"material/movie.svg","material-mower-bag":"material/mower-bag.svg","material-mower":"material/mower.svg","material-muffin":"material/muffin.svg","material-multiplication-box":"material/multiplication-box.svg","material-multiplication":"material/multiplication.svg","material-mushroom-off-outline":"material/mushroom-off-outline.svg","material-mushroom-off":"material/mushroom-off.svg","material-mushroom-outline":"material/mushroom-outline.svg","material-mushroom":"material/mushroom.svg","material-music-accidental-double-flat":"material/music-accidental-double-flat.svg","material-music-accidental-double-sharp":"material/music-accidental-double-sharp.svg","material-music-accidental-flat":"material/music-accidental-flat.svg","material-music-accidental-natural":"material/music-accidental-natural.svg","material-music-accidental-sharp":"material/music-accidental-sharp.svg","material-music-box-multiple-outline":"material/music-box-multiple-outline.svg","material-music-box-multiple":"material/music-box-multiple.svg","material-music-box-outline":"material/music-box-outline.svg","material-music-box":"material/music-box.svg","material-music-circle-outline":"material/music-circle-outline.svg","material-music-circle":"material/music-circle.svg","material-music-clef-alto":"material/music-clef-alto.svg","material-music-clef-bass":"material/music-clef-bass.svg","material-music-clef-treble":"material/music-clef-treble.svg","material-music-note-bluetooth-off":"material/music-note-bluetooth-off.svg","material-music-note-bluetooth":"material/music-note-bluetooth.svg","material-music-note-eighth-dotted":"material/music-note-eighth-dotted.svg","material-music-note-eighth":"material/music-note-eighth.svg","material-music-note-half-dotted":"material/music-note-half-dotted.svg","material-music-note-half":"material/music-note-half.svg","material-music-note-off-outline":"material/music-note-off-outline.svg","material-music-note-off":"material/music-note-off.svg","material-music-note-outline":"material/music-note-outline.svg","material-music-note-plus":"material/music-note-plus.svg","material-music-note-quarter-dotted":"material/music-note-quarter-dotted.svg","material-music-note-quarter":"material/music-note-quarter.svg","material-music-note-sixteenth-dotted":"material/music-note-sixteenth-dotted.svg","material-music-note-sixteenth":"material/music-note-sixteenth.svg","material-music-note-whole-dotted":"material/music-note-whole-dotted.svg","material-music-note-whole":"material/music-note-whole.svg","material-music-note":"material/music-note.svg","material-music-off":"material/music-off.svg","material-music-rest-eighth":"material/music-rest-eighth.svg","material-music-rest-half":"material/music-rest-half.svg","material-music-rest-quarter":"material/music-rest-quarter.svg","material-music-rest-sixteenth":"material/music-rest-sixteenth.svg","material-music-rest-whole":"material/music-rest-whole.svg","material-music":"material/music.svg","material-mustache":"material/mustache.svg","material-nail":"material/nail.svg","material-nas":"material/nas.svg","material-nativescript":"material/nativescript.svg","material-nature-people":"material/nature-people.svg","material-nature":"material/nature.svg","material-navigation-outline":"material/navigation-outline.svg","material-navigation":"material/navigation.svg","material-near-me":"material/near-me.svg","material-necklace":"material/necklace.svg","material-needle":"material/needle.svg","material-netflix":"material/netflix.svg","material-network-off-outline":"material/network-off-outline.svg","material-network-off":"material/network-off.svg","material-network-outline":"material/network-outline.svg","material-network-strength-1-alert":"material/network-strength-1-alert.svg","material-network-strength-1":"material/network-strength-1.svg","material-network-strength-2-alert":"material/network-strength-2-alert.svg","material-network-strength-2":"material/network-strength-2.svg","material-network-strength-3-alert":"material/network-strength-3-alert.svg","material-network-strength-3":"material/network-strength-3.svg","material-network-strength-4-alert":"material/network-strength-4-alert.svg","material-network-strength-4":"material/network-strength-4.svg","material-network-strength-off-outline":"material/network-strength-off-outline.svg","material-network-strength-off":"material/network-strength-off.svg","material-network-strength-outline":"material/network-strength-outline.svg","material-network":"material/network.svg","material-new-box":"material/new-box.svg","material-newspaper-minus":"material/newspaper-minus.svg","material-newspaper-plus":"material/newspaper-plus.svg","material-newspaper-variant-multiple-outline":"material/newspaper-variant-multiple-outline.svg","material-newspaper-variant-multiple":"material/newspaper-variant-multiple.svg","material-newspaper-variant-outline":"material/newspaper-variant-outline.svg","material-newspaper-variant":"material/newspaper-variant.svg","material-newspaper":"material/newspaper.svg","material-nfc-search-variant":"material/nfc-search-variant.svg","material-nfc-tap":"material/nfc-tap.svg","material-nfc-variant-off":"material/nfc-variant-off.svg","material-nfc-variant":"material/nfc-variant.svg","material-nfc":"material/nfc.svg","material-ninja":"material/ninja.svg","material-nintendo-game-boy":"material/nintendo-game-boy.svg","material-nintendo-switch":"material/nintendo-switch.svg","material-nintendo-wii":"material/nintendo-wii.svg","material-nintendo-wiiu":"material/nintendo-wiiu.svg","material-nix":"material/nix.svg","material-nodejs":"material/nodejs.svg","material-noodles":"material/noodles.svg","material-not-equal-variant":"material/not-equal-variant.svg","material-not-equal":"material/not-equal.svg","material-note-minus-outline":"material/note-minus-outline.svg","material-note-minus":"material/note-minus.svg","material-note-multiple-outline":"material/note-multiple-outline.svg","material-note-multiple":"material/note-multiple.svg","material-note-outline":"material/note-outline.svg","material-note-plus-outline":"material/note-plus-outline.svg","material-note-plus":"material/note-plus.svg","material-note-remove-outline":"material/note-remove-outline.svg","material-note-remove":"material/note-remove.svg","material-note-search-outline":"material/note-search-outline.svg","material-note-search":"material/note-search.svg","material-note-text-outline":"material/note-text-outline.svg","material-note-text":"material/note-text.svg","material-note":"material/note.svg","material-notebook-check-outline":"material/notebook-check-outline.svg","material-notebook-check":"material/notebook-check.svg","material-notebook-edit-outline":"material/notebook-edit-outline.svg","material-notebook-edit":"material/notebook-edit.svg","material-notebook-minus-outline":"material/notebook-minus-outline.svg","material-notebook-minus":"material/notebook-minus.svg","material-notebook-multiple":"material/notebook-multiple.svg","material-notebook-outline":"material/notebook-outline.svg","material-notebook-plus-outline":"material/notebook-plus-outline.svg","material-notebook-plus":"material/notebook-plus.svg","material-notebook-remove-outline":"material/notebook-remove-outline.svg","material-notebook-remove":"material/notebook-remove.svg","material-notebook":"material/notebook.svg","material-notification-clear-all":"material/notification-clear-all.svg","material-npm":"material/npm.svg","material-nuke":"material/nuke.svg","material-null":"material/null.svg","material-numeric-0-box-multiple-outline":"material/numeric-0-box-multiple-outline.svg","material-numeric-0-box-multiple":"material/numeric-0-box-multiple.svg","material-numeric-0-box-outline":"material/numeric-0-box-outline.svg","material-numeric-0-box":"material/numeric-0-box.svg","material-numeric-0-circle-outline":"material/numeric-0-circle-outline.svg","material-numeric-0-circle":"material/numeric-0-circle.svg","material-numeric-0":"material/numeric-0.svg","material-numeric-1-box-multiple-outline":"material/numeric-1-box-multiple-outline.svg","material-numeric-1-box-multiple":"material/numeric-1-box-multiple.svg","material-numeric-1-box-outline":"material/numeric-1-box-outline.svg","material-numeric-1-box":"material/numeric-1-box.svg","material-numeric-1-circle-outline":"material/numeric-1-circle-outline.svg","material-numeric-1-circle":"material/numeric-1-circle.svg","material-numeric-1":"material/numeric-1.svg","material-numeric-10-box-multiple-outline":"material/numeric-10-box-multiple-outline.svg","material-numeric-10-box-multiple":"material/numeric-10-box-multiple.svg","material-numeric-10-box-outline":"material/numeric-10-box-outline.svg","material-numeric-10-box":"material/numeric-10-box.svg","material-numeric-10-circle-outline":"material/numeric-10-circle-outline.svg","material-numeric-10-circle":"material/numeric-10-circle.svg","material-numeric-10":"material/numeric-10.svg","material-numeric-2-box-multiple-outline":"material/numeric-2-box-multiple-outline.svg","material-numeric-2-box-multiple":"material/numeric-2-box-multiple.svg","material-numeric-2-box-outline":"material/numeric-2-box-outline.svg","material-numeric-2-box":"material/numeric-2-box.svg","material-numeric-2-circle-outline":"material/numeric-2-circle-outline.svg","material-numeric-2-circle":"material/numeric-2-circle.svg","material-numeric-2":"material/numeric-2.svg","material-numeric-3-box-multiple-outline":"material/numeric-3-box-multiple-outline.svg","material-numeric-3-box-multiple":"material/numeric-3-box-multiple.svg","material-numeric-3-box-outline":"material/numeric-3-box-outline.svg","material-numeric-3-box":"material/numeric-3-box.svg","material-numeric-3-circle-outline":"material/numeric-3-circle-outline.svg","material-numeric-3-circle":"material/numeric-3-circle.svg","material-numeric-3":"material/numeric-3.svg","material-numeric-4-box-multiple-outline":"material/numeric-4-box-multiple-outline.svg","material-numeric-4-box-multiple":"material/numeric-4-box-multiple.svg","material-numeric-4-box-outline":"material/numeric-4-box-outline.svg","material-numeric-4-box":"material/numeric-4-box.svg","material-numeric-4-circle-outline":"material/numeric-4-circle-outline.svg","material-numeric-4-circle":"material/numeric-4-circle.svg","material-numeric-4":"material/numeric-4.svg","material-numeric-5-box-multiple-outline":"material/numeric-5-box-multiple-outline.svg","material-numeric-5-box-multiple":"material/numeric-5-box-multiple.svg","material-numeric-5-box-outline":"material/numeric-5-box-outline.svg","material-numeric-5-box":"material/numeric-5-box.svg","material-numeric-5-circle-outline":"material/numeric-5-circle-outline.svg","material-numeric-5-circle":"material/numeric-5-circle.svg","material-numeric-5":"material/numeric-5.svg","material-numeric-6-box-multiple-outline":"material/numeric-6-box-multiple-outline.svg","material-numeric-6-box-multiple":"material/numeric-6-box-multiple.svg","material-numeric-6-box-outline":"material/numeric-6-box-outline.svg","material-numeric-6-box":"material/numeric-6-box.svg","material-numeric-6-circle-outline":"material/numeric-6-circle-outline.svg","material-numeric-6-circle":"material/numeric-6-circle.svg","material-numeric-6":"material/numeric-6.svg","material-numeric-7-box-multiple-outline":"material/numeric-7-box-multiple-outline.svg","material-numeric-7-box-multiple":"material/numeric-7-box-multiple.svg","material-numeric-7-box-outline":"material/numeric-7-box-outline.svg","material-numeric-7-box":"material/numeric-7-box.svg","material-numeric-7-circle-outline":"material/numeric-7-circle-outline.svg","material-numeric-7-circle":"material/numeric-7-circle.svg","material-numeric-7":"material/numeric-7.svg","material-numeric-8-box-multiple-outline":"material/numeric-8-box-multiple-outline.svg","material-numeric-8-box-multiple":"material/numeric-8-box-multiple.svg","material-numeric-8-box-outline":"material/numeric-8-box-outline.svg","material-numeric-8-box":"material/numeric-8-box.svg","material-numeric-8-circle-outline":"material/numeric-8-circle-outline.svg","material-numeric-8-circle":"material/numeric-8-circle.svg","material-numeric-8":"material/numeric-8.svg","material-numeric-9-box-multiple-outline":"material/numeric-9-box-multiple-outline.svg","material-numeric-9-box-multiple":"material/numeric-9-box-multiple.svg","material-numeric-9-box-outline":"material/numeric-9-box-outline.svg","material-numeric-9-box":"material/numeric-9-box.svg","material-numeric-9-circle-outline":"material/numeric-9-circle-outline.svg","material-numeric-9-circle":"material/numeric-9-circle.svg","material-numeric-9-plus-box-multiple-outline":"material/numeric-9-plus-box-multiple-outline.svg","material-numeric-9-plus-box-multiple":"material/numeric-9-plus-box-multiple.svg","material-numeric-9-plus-box-outline":"material/numeric-9-plus-box-outline.svg","material-numeric-9-plus-box":"material/numeric-9-plus-box.svg","material-numeric-9-plus-circle-outline":"material/numeric-9-plus-circle-outline.svg","material-numeric-9-plus-circle":"material/numeric-9-plus-circle.svg","material-numeric-9-plus":"material/numeric-9-plus.svg","material-numeric-9":"material/numeric-9.svg","material-numeric-negative-1":"material/numeric-negative-1.svg","material-numeric-positive-1":"material/numeric-positive-1.svg","material-numeric":"material/numeric.svg","material-nut":"material/nut.svg","material-nutrition":"material/nutrition.svg","material-nuxt":"material/nuxt.svg","material-oar":"material/oar.svg","material-ocarina":"material/ocarina.svg","material-oci":"material/oci.svg","material-ocr":"material/ocr.svg","material-octagon-outline":"material/octagon-outline.svg","material-octagon":"material/octagon.svg","material-octagram-outline":"material/octagram-outline.svg","material-octagram":"material/octagram.svg","material-odnoklassniki":"material/odnoklassniki.svg","material-offer":"material/offer.svg","material-office-building-marker-outline":"material/office-building-marker-outline.svg","material-office-building-marker":"material/office-building-marker.svg","material-office-building-outline":"material/office-building-outline.svg","material-office-building":"material/office-building.svg","material-oil-lamp":"material/oil-lamp.svg","material-oil-level":"material/oil-level.svg","material-oil-temperature":"material/oil-temperature.svg","material-oil":"material/oil.svg","material-omega":"material/omega.svg","material-one-up":"material/one-up.svg","material-onepassword":"material/onepassword.svg","material-opacity":"material/opacity.svg","material-open-in-app":"material/open-in-app.svg","material-open-in-new":"material/open-in-new.svg","material-open-source-initiative":"material/open-source-initiative.svg","material-openid":"material/openid.svg","material-opera":"material/opera.svg","material-orbit-variant":"material/orbit-variant.svg","material-orbit":"material/orbit.svg","material-order-alphabetical-ascending":"material/order-alphabetical-ascending.svg","material-order-alphabetical-descending":"material/order-alphabetical-descending.svg","material-order-bool-ascending-variant":"material/order-bool-ascending-variant.svg","material-order-bool-ascending":"material/order-bool-ascending.svg","material-order-bool-descending-variant":"material/order-bool-descending-variant.svg","material-order-bool-descending":"material/order-bool-descending.svg","material-order-numeric-ascending":"material/order-numeric-ascending.svg","material-order-numeric-descending":"material/order-numeric-descending.svg","material-origin":"material/origin.svg","material-ornament-variant":"material/ornament-variant.svg","material-ornament":"material/ornament.svg","material-outdoor-lamp":"material/outdoor-lamp.svg","material-overscan":"material/overscan.svg","material-owl":"material/owl.svg","material-pac-man":"material/pac-man.svg","material-package-down":"material/package-down.svg","material-package-up":"material/package-up.svg","material-package-variant-closed":"material/package-variant-closed.svg","material-package-variant":"material/package-variant.svg","material-package":"material/package.svg","material-page-first":"material/page-first.svg","material-page-last":"material/page-last.svg","material-page-layout-body":"material/page-layout-body.svg","material-page-layout-footer":"material/page-layout-footer.svg","material-page-layout-header-footer":"material/page-layout-header-footer.svg","material-page-layout-header":"material/page-layout-header.svg","material-page-layout-sidebar-left":"material/page-layout-sidebar-left.svg","material-page-layout-sidebar-right":"material/page-layout-sidebar-right.svg","material-page-next-outline":"material/page-next-outline.svg","material-page-next":"material/page-next.svg","material-page-previous-outline":"material/page-previous-outline.svg","material-page-previous":"material/page-previous.svg","material-pail-minus-outline":"material/pail-minus-outline.svg","material-pail-minus":"material/pail-minus.svg","material-pail-off-outline":"material/pail-off-outline.svg","material-pail-off":"material/pail-off.svg","material-pail-outline":"material/pail-outline.svg","material-pail-plus-outline":"material/pail-plus-outline.svg","material-pail-plus":"material/pail-plus.svg","material-pail-remove-outline":"material/pail-remove-outline.svg","material-pail-remove":"material/pail-remove.svg","material-pail":"material/pail.svg","material-palette-advanced":"material/palette-advanced.svg","material-palette-outline":"material/palette-outline.svg","material-palette-swatch-outline":"material/palette-swatch-outline.svg","material-palette-swatch":"material/palette-swatch.svg","material-palette":"material/palette.svg","material-palm-tree":"material/palm-tree.svg","material-pan-bottom-left":"material/pan-bottom-left.svg","material-pan-bottom-right":"material/pan-bottom-right.svg","material-pan-down":"material/pan-down.svg","material-pan-horizontal":"material/pan-horizontal.svg","material-pan-left":"material/pan-left.svg","material-pan-right":"material/pan-right.svg","material-pan-top-left":"material/pan-top-left.svg","material-pan-top-right":"material/pan-top-right.svg","material-pan-up":"material/pan-up.svg","material-pan-vertical":"material/pan-vertical.svg","material-pan":"material/pan.svg","material-panda":"material/panda.svg","material-pandora":"material/pandora.svg","material-panorama-fisheye":"material/panorama-fisheye.svg","material-panorama-horizontal":"material/panorama-horizontal.svg","material-panorama-vertical":"material/panorama-vertical.svg","material-panorama-wide-angle":"material/panorama-wide-angle.svg","material-panorama":"material/panorama.svg","material-paper-cut-vertical":"material/paper-cut-vertical.svg","material-paper-roll-outline":"material/paper-roll-outline.svg","material-paper-roll":"material/paper-roll.svg","material-paperclip":"material/paperclip.svg","material-parachute-outline":"material/parachute-outline.svg","material-parachute":"material/parachute.svg","material-parking":"material/parking.svg","material-party-popper":"material/party-popper.svg","material-passport-biometric":"material/passport-biometric.svg","material-passport":"material/passport.svg","material-pasta":"material/pasta.svg","material-patio-heater":"material/patio-heater.svg","material-patreon":"material/patreon.svg","material-pause-circle-outline":"material/pause-circle-outline.svg","material-pause-circle":"material/pause-circle.svg","material-pause-octagon-outline":"material/pause-octagon-outline.svg","material-pause-octagon":"material/pause-octagon.svg","material-pause":"material/pause.svg","material-paw-off-outline":"material/paw-off-outline.svg","material-paw-off":"material/paw-off.svg","material-paw-outline":"material/paw-outline.svg","material-paw":"material/paw.svg","material-pdf-box":"material/pdf-box.svg","material-peace":"material/peace.svg","material-peanut-off-outline":"material/peanut-off-outline.svg","material-peanut-off":"material/peanut-off.svg","material-peanut-outline":"material/peanut-outline.svg","material-peanut":"material/peanut.svg","material-pen-lock":"material/pen-lock.svg","material-pen-minus":"material/pen-minus.svg","material-pen-off":"material/pen-off.svg","material-pen-plus":"material/pen-plus.svg","material-pen-remove":"material/pen-remove.svg","material-pen":"material/pen.svg","material-pencil-box-multiple-outline":"material/pencil-box-multiple-outline.svg","material-pencil-box-multiple":"material/pencil-box-multiple.svg","material-pencil-box-outline":"material/pencil-box-outline.svg","material-pencil-box":"material/pencil-box.svg","material-pencil-circle-outline":"material/pencil-circle-outline.svg","material-pencil-circle":"material/pencil-circle.svg","material-pencil-lock-outline":"material/pencil-lock-outline.svg","material-pencil-lock":"material/pencil-lock.svg","material-pencil-minus-outline":"material/pencil-minus-outline.svg","material-pencil-minus":"material/pencil-minus.svg","material-pencil-off-outline":"material/pencil-off-outline.svg","material-pencil-off":"material/pencil-off.svg","material-pencil-outline":"material/pencil-outline.svg","material-pencil-plus-outline":"material/pencil-plus-outline.svg","material-pencil-plus":"material/pencil-plus.svg","material-pencil-remove-outline":"material/pencil-remove-outline.svg","material-pencil-remove":"material/pencil-remove.svg","material-pencil-ruler":"material/pencil-ruler.svg","material-pencil":"material/pencil.svg","material-penguin":"material/penguin.svg","material-pentagon-outline":"material/pentagon-outline.svg","material-pentagon":"material/pentagon.svg","material-pentagram":"material/pentagram.svg","material-percent-outline":"material/percent-outline.svg","material-percent":"material/percent.svg","material-periodic-table":"material/periodic-table.svg","material-perspective-less":"material/perspective-less.svg","material-perspective-more":"material/perspective-more.svg","material-pharmacy":"material/pharmacy.svg","material-phone-alert-outline":"material/phone-alert-outline.svg","material-phone-alert":"material/phone-alert.svg","material-phone-bluetooth-outline":"material/phone-bluetooth-outline.svg","material-phone-bluetooth":"material/phone-bluetooth.svg","material-phone-cancel-outline":"material/phone-cancel-outline.svg","material-phone-cancel":"material/phone-cancel.svg","material-phone-check-outline":"material/phone-check-outline.svg","material-phone-check":"material/phone-check.svg","material-phone-classic-off":"material/phone-classic-off.svg","material-phone-classic":"material/phone-classic.svg","material-phone-dial-outline":"material/phone-dial-outline.svg","material-phone-dial":"material/phone-dial.svg","material-phone-forward-outline":"material/phone-forward-outline.svg","material-phone-forward":"material/phone-forward.svg","material-phone-hangup-outline":"material/phone-hangup-outline.svg","material-phone-hangup":"material/phone-hangup.svg","material-phone-in-talk-outline":"material/phone-in-talk-outline.svg","material-phone-in-talk":"material/phone-in-talk.svg","material-phone-incoming-outline":"material/phone-incoming-outline.svg","material-phone-incoming":"material/phone-incoming.svg","material-phone-lock-outline":"material/phone-lock-outline.svg","material-phone-lock":"material/phone-lock.svg","material-phone-log-outline":"material/phone-log-outline.svg","material-phone-log":"material/phone-log.svg","material-phone-message-outline":"material/phone-message-outline.svg","material-phone-message":"material/phone-message.svg","material-phone-minus-outline":"material/phone-minus-outline.svg","material-phone-minus":"material/phone-minus.svg","material-phone-missed-outline":"material/phone-missed-outline.svg","material-phone-missed":"material/phone-missed.svg","material-phone-off-outline":"material/phone-off-outline.svg","material-phone-off":"material/phone-off.svg","material-phone-outgoing-outline":"material/phone-outgoing-outline.svg","material-phone-outgoing":"material/phone-outgoing.svg","material-phone-outline":"material/phone-outline.svg","material-phone-paused-outline":"material/phone-paused-outline.svg","material-phone-paused":"material/phone-paused.svg","material-phone-plus-outline":"material/phone-plus-outline.svg","material-phone-plus":"material/phone-plus.svg","material-phone-remove-outline":"material/phone-remove-outline.svg","material-phone-remove":"material/phone-remove.svg","material-phone-return-outline":"material/phone-return-outline.svg","material-phone-return":"material/phone-return.svg","material-phone-ring-outline":"material/phone-ring-outline.svg","material-phone-ring":"material/phone-ring.svg","material-phone-rotate-landscape":"material/phone-rotate-landscape.svg","material-phone-rotate-portrait":"material/phone-rotate-portrait.svg","material-phone-settings-outline":"material/phone-settings-outline.svg","material-phone-settings":"material/phone-settings.svg","material-phone-voip":"material/phone-voip.svg","material-phone":"material/phone.svg","material-pi-box":"material/pi-box.svg","material-pi-hole":"material/pi-hole.svg","material-pi":"material/pi.svg","material-piano":"material/piano.svg","material-pickaxe":"material/pickaxe.svg","material-picture-in-picture-bottom-right-outline":"material/picture-in-picture-bottom-right-outline.svg","material-picture-in-picture-bottom-right":"material/picture-in-picture-bottom-right.svg","material-picture-in-picture-top-right-outline":"material/picture-in-picture-top-right-outline.svg","material-picture-in-picture-top-right":"material/picture-in-picture-top-right.svg","material-pier-crane":"material/pier-crane.svg","material-pier":"material/pier.svg","material-pig-variant-outline":"material/pig-variant-outline.svg","material-pig-variant":"material/pig-variant.svg","material-pig":"material/pig.svg","material-piggy-bank-outline":"material/piggy-bank-outline.svg","material-piggy-bank":"material/piggy-bank.svg","material-pill":"material/pill.svg","material-pillar":"material/pillar.svg","material-pin-off-outline":"material/pin-off-outline.svg","material-pin-off":"material/pin-off.svg","material-pin-outline":"material/pin-outline.svg","material-pin":"material/pin.svg","material-pine-tree-box":"material/pine-tree-box.svg","material-pine-tree-fire":"material/pine-tree-fire.svg","material-pine-tree":"material/pine-tree.svg","material-pinterest":"material/pinterest.svg","material-pinwheel-outline":"material/pinwheel-outline.svg","material-pinwheel":"material/pinwheel.svg","material-pipe-disconnected":"material/pipe-disconnected.svg","material-pipe-leak":"material/pipe-leak.svg","material-pipe-wrench":"material/pipe-wrench.svg","material-pipe":"material/pipe.svg","material-pirate":"material/pirate.svg","material-pistol":"material/pistol.svg","material-piston":"material/piston.svg","material-pitchfork":"material/pitchfork.svg","material-pizza":"material/pizza.svg","material-play-box-multiple-outline":"material/play-box-multiple-outline.svg","material-play-box-multiple":"material/play-box-multiple.svg","material-play-box-outline":"material/play-box-outline.svg","material-play-box":"material/play-box.svg","material-play-circle-outline":"material/play-circle-outline.svg","material-play-circle":"material/play-circle.svg","material-play-network-outline":"material/play-network-outline.svg","material-play-network":"material/play-network.svg","material-play-outline":"material/play-outline.svg","material-play-pause":"material/play-pause.svg","material-play-protected-content":"material/play-protected-content.svg","material-play-speed":"material/play-speed.svg","material-play":"material/play.svg","material-playlist-check":"material/playlist-check.svg","material-playlist-edit":"material/playlist-edit.svg","material-playlist-minus":"material/playlist-minus.svg","material-playlist-music-outline":"material/playlist-music-outline.svg","material-playlist-music":"material/playlist-music.svg","material-playlist-play":"material/playlist-play.svg","material-playlist-plus":"material/playlist-plus.svg","material-playlist-remove":"material/playlist-remove.svg","material-playlist-star":"material/playlist-star.svg","material-plex":"material/plex.svg","material-plus-box-multiple-outline":"material/plus-box-multiple-outline.svg","material-plus-box-multiple":"material/plus-box-multiple.svg","material-plus-box-outline":"material/plus-box-outline.svg","material-plus-box":"material/plus-box.svg","material-plus-circle-multiple-outline":"material/plus-circle-multiple-outline.svg","material-plus-circle-multiple":"material/plus-circle-multiple.svg","material-plus-circle-outline":"material/plus-circle-outline.svg","material-plus-circle":"material/plus-circle.svg","material-plus-minus-box":"material/plus-minus-box.svg","material-plus-minus-variant":"material/plus-minus-variant.svg","material-plus-minus":"material/plus-minus.svg","material-plus-network-outline":"material/plus-network-outline.svg","material-plus-network":"material/plus-network.svg","material-plus-one":"material/plus-one.svg","material-plus-outline":"material/plus-outline.svg","material-plus-thick":"material/plus-thick.svg","material-plus":"material/plus.svg","material-podcast":"material/podcast.svg","material-podium-bronze":"material/podium-bronze.svg","material-podium-gold":"material/podium-gold.svg","material-podium-silver":"material/podium-silver.svg","material-podium":"material/podium.svg","material-point-of-sale":"material/point-of-sale.svg","material-pokeball":"material/pokeball.svg","material-pokemon-go":"material/pokemon-go.svg","material-poker-chip":"material/poker-chip.svg","material-polaroid":"material/polaroid.svg","material-police-badge-outline":"material/police-badge-outline.svg","material-police-badge":"material/police-badge.svg","material-poll-box-outline":"material/poll-box-outline.svg","material-poll-box":"material/poll-box.svg","material-poll":"material/poll.svg","material-polo":"material/polo.svg","material-polymer":"material/polymer.svg","material-pool":"material/pool.svg","material-popcorn":"material/popcorn.svg","material-post-outline":"material/post-outline.svg","material-post":"material/post.svg","material-postage-stamp":"material/postage-stamp.svg","material-pot-mix-outline":"material/pot-mix-outline.svg","material-pot-mix":"material/pot-mix.svg","material-pot-outline":"material/pot-outline.svg","material-pot-steam-outline":"material/pot-steam-outline.svg","material-pot-steam":"material/pot-steam.svg","material-pot":"material/pot.svg","material-pound-box-outline":"material/pound-box-outline.svg","material-pound-box":"material/pound-box.svg","material-pound":"material/pound.svg","material-power-cycle":"material/power-cycle.svg","material-power-off":"material/power-off.svg","material-power-on":"material/power-on.svg","material-power-plug-off-outline":"material/power-plug-off-outline.svg","material-power-plug-off":"material/power-plug-off.svg","material-power-plug-outline":"material/power-plug-outline.svg","material-power-plug":"material/power-plug.svg","material-power-settings":"material/power-settings.svg","material-power-sleep":"material/power-sleep.svg","material-power-socket-au":"material/power-socket-au.svg","material-power-socket-de":"material/power-socket-de.svg","material-power-socket-eu":"material/power-socket-eu.svg","material-power-socket-fr":"material/power-socket-fr.svg","material-power-socket-it":"material/power-socket-it.svg","material-power-socket-jp":"material/power-socket-jp.svg","material-power-socket-uk":"material/power-socket-uk.svg","material-power-socket-us":"material/power-socket-us.svg","material-power-socket":"material/power-socket.svg","material-power-standby":"material/power-standby.svg","material-power":"material/power.svg","material-powershell":"material/powershell.svg","material-prescription":"material/prescription.svg","material-presentation-play":"material/presentation-play.svg","material-presentation":"material/presentation.svg","material-pretzel":"material/pretzel.svg","material-printer-3d-nozzle-alert-outline":"material/printer-3d-nozzle-alert-outline.svg","material-printer-3d-nozzle-alert":"material/printer-3d-nozzle-alert.svg","material-printer-3d-nozzle-outline":"material/printer-3d-nozzle-outline.svg","material-printer-3d-nozzle":"material/printer-3d-nozzle.svg","material-printer-3d":"material/printer-3d.svg","material-printer-alert":"material/printer-alert.svg","material-printer-check":"material/printer-check.svg","material-printer-eye":"material/printer-eye.svg","material-printer-off":"material/printer-off.svg","material-printer-pos":"material/printer-pos.svg","material-printer-search":"material/printer-search.svg","material-printer-settings":"material/printer-settings.svg","material-printer-wireless":"material/printer-wireless.svg","material-printer":"material/printer.svg","material-priority-high":"material/priority-high.svg","material-priority-low":"material/priority-low.svg","material-professional-hexagon":"material/professional-hexagon.svg","material-progress-alert":"material/progress-alert.svg","material-progress-check":"material/progress-check.svg","material-progress-clock":"material/progress-clock.svg","material-progress-close":"material/progress-close.svg","material-progress-download":"material/progress-download.svg","material-progress-question":"material/progress-question.svg","material-progress-upload":"material/progress-upload.svg","material-progress-wrench":"material/progress-wrench.svg","material-projector-screen-outline":"material/projector-screen-outline.svg","material-projector-screen":"material/projector-screen.svg","material-projector":"material/projector.svg","material-propane-tank-outline":"material/propane-tank-outline.svg","material-propane-tank":"material/propane-tank.svg","material-protocol":"material/protocol.svg","material-publish":"material/publish.svg","material-pulse":"material/pulse.svg","material-pump":"material/pump.svg","material-pumpkin":"material/pumpkin.svg","material-purse-outline":"material/purse-outline.svg","material-purse":"material/purse.svg","material-puzzle-check-outline":"material/puzzle-check-outline.svg","material-puzzle-check":"material/puzzle-check.svg","material-puzzle-edit-outline":"material/puzzle-edit-outline.svg","material-puzzle-edit":"material/puzzle-edit.svg","material-puzzle-heart-outline":"material/puzzle-heart-outline.svg","material-puzzle-heart":"material/puzzle-heart.svg","material-puzzle-minus-outline":"material/puzzle-minus-outline.svg","material-puzzle-minus":"material/puzzle-minus.svg","material-puzzle-outline":"material/puzzle-outline.svg","material-puzzle-plus-outline":"material/puzzle-plus-outline.svg","material-puzzle-plus":"material/puzzle-plus.svg","material-puzzle-remove-outline":"material/puzzle-remove-outline.svg","material-puzzle-remove":"material/puzzle-remove.svg","material-puzzle-star-outline":"material/puzzle-star-outline.svg","material-puzzle-star":"material/puzzle-star.svg","material-puzzle":"material/puzzle.svg","material-qi":"material/qi.svg","material-qqchat":"material/qqchat.svg","material-qrcode-edit":"material/qrcode-edit.svg","material-qrcode-minus":"material/qrcode-minus.svg","material-qrcode-plus":"material/qrcode-plus.svg","material-qrcode-remove":"material/qrcode-remove.svg","material-qrcode-scan":"material/qrcode-scan.svg","material-qrcode":"material/qrcode.svg","material-quadcopter":"material/quadcopter.svg","material-quality-high":"material/quality-high.svg","material-quality-low":"material/quality-low.svg","material-quality-medium":"material/quality-medium.svg","material-quora":"material/quora.svg","material-rabbit":"material/rabbit.svg","material-racing-helmet":"material/racing-helmet.svg","material-racquetball":"material/racquetball.svg","material-radar":"material/radar.svg","material-radiator-disabled":"material/radiator-disabled.svg","material-radiator-off":"material/radiator-off.svg","material-radiator":"material/radiator.svg","material-radio-am":"material/radio-am.svg","material-radio-fm":"material/radio-fm.svg","material-radio-handheld":"material/radio-handheld.svg","material-radio-off":"material/radio-off.svg","material-radio-tower":"material/radio-tower.svg","material-radio":"material/radio.svg","material-radioactive-off":"material/radioactive-off.svg","material-radioactive":"material/radioactive.svg","material-radiobox-blank":"material/radiobox-blank.svg","material-radiobox-marked":"material/radiobox-marked.svg","material-radiology-box-outline":"material/radiology-box-outline.svg","material-radiology-box":"material/radiology-box.svg","material-radius-outline":"material/radius-outline.svg","material-radius":"material/radius.svg","material-railroad-light":"material/railroad-light.svg","material-rake":"material/rake.svg","material-raspberry-pi":"material/raspberry-pi.svg","material-ray-end-arrow":"material/ray-end-arrow.svg","material-ray-end":"material/ray-end.svg","material-ray-start-arrow":"material/ray-start-arrow.svg","material-ray-start-end":"material/ray-start-end.svg","material-ray-start-vertex-end":"material/ray-start-vertex-end.svg","material-ray-start":"material/ray-start.svg","material-ray-vertex":"material/ray-vertex.svg","material-react":"material/react.svg","material-read":"material/read.svg","material-receipt":"material/receipt.svg","material-record-circle-outline":"material/record-circle-outline.svg","material-record-circle":"material/record-circle.svg","material-record-player":"material/record-player.svg","material-record-rec":"material/record-rec.svg","material-record":"material/record.svg","material-rectangle-outline":"material/rectangle-outline.svg","material-rectangle":"material/rectangle.svg","material-recycle-variant":"material/recycle-variant.svg","material-recycle":"material/recycle.svg","material-reddit":"material/reddit.svg","material-redhat":"material/redhat.svg","material-redo-variant":"material/redo-variant.svg","material-redo":"material/redo.svg","material-reflect-horizontal":"material/reflect-horizontal.svg","material-reflect-vertical":"material/reflect-vertical.svg","material-refresh-circle":"material/refresh-circle.svg","material-refresh":"material/refresh.svg","material-regex":"material/regex.svg","material-registered-trademark":"material/registered-trademark.svg","material-reiterate":"material/reiterate.svg","material-relation-many-to-many":"material/relation-many-to-many.svg","material-relation-many-to-one-or-many":"material/relation-many-to-one-or-many.svg","material-relation-many-to-one":"material/relation-many-to-one.svg","material-relation-many-to-only-one":"material/relation-many-to-only-one.svg","material-relation-many-to-zero-or-many":"material/relation-many-to-zero-or-many.svg","material-relation-many-to-zero-or-one":"material/relation-many-to-zero-or-one.svg","material-relation-one-or-many-to-many":"material/relation-one-or-many-to-many.svg","material-relation-one-or-many-to-one-or-many":"material/relation-one-or-many-to-one-or-many.svg","material-relation-one-or-many-to-one":"material/relation-one-or-many-to-one.svg","material-relation-one-or-many-to-only-one":"material/relation-one-or-many-to-only-one.svg","material-relation-one-or-many-to-zero-or-many":"material/relation-one-or-many-to-zero-or-many.svg","material-relation-one-or-many-to-zero-or-one":"material/relation-one-or-many-to-zero-or-one.svg","material-relation-one-to-many":"material/relation-one-to-many.svg","material-relation-one-to-one-or-many":"material/relation-one-to-one-or-many.svg","material-relation-one-to-one":"material/relation-one-to-one.svg","material-relation-one-to-only-one":"material/relation-one-to-only-one.svg","material-relation-one-to-zero-or-many":"material/relation-one-to-zero-or-many.svg","material-relation-one-to-zero-or-one":"material/relation-one-to-zero-or-one.svg","material-relation-only-one-to-many":"material/relation-only-one-to-many.svg","material-relation-only-one-to-one-or-many":"material/relation-only-one-to-one-or-many.svg","material-relation-only-one-to-one":"material/relation-only-one-to-one.svg","material-relation-only-one-to-only-one":"material/relation-only-one-to-only-one.svg","material-relation-only-one-to-zero-or-many":"material/relation-only-one-to-zero-or-many.svg","material-relation-only-one-to-zero-or-one":"material/relation-only-one-to-zero-or-one.svg","material-relation-zero-or-many-to-many":"material/relation-zero-or-many-to-many.svg","material-relation-zero-or-many-to-one-or-many":"material/relation-zero-or-many-to-one-or-many.svg","material-relation-zero-or-many-to-one":"material/relation-zero-or-many-to-one.svg","material-relation-zero-or-many-to-only-one":"material/relation-zero-or-many-to-only-one.svg","material-relation-zero-or-many-to-zero-or-many":"material/relation-zero-or-many-to-zero-or-many.svg","material-relation-zero-or-many-to-zero-or-one":"material/relation-zero-or-many-to-zero-or-one.svg","material-relation-zero-or-one-to-many":"material/relation-zero-or-one-to-many.svg","material-relation-zero-or-one-to-one-or-many":"material/relation-zero-or-one-to-one-or-many.svg","material-relation-zero-or-one-to-one":"material/relation-zero-or-one-to-one.svg","material-relation-zero-or-one-to-only-one":"material/relation-zero-or-one-to-only-one.svg","material-relation-zero-or-one-to-zero-or-many":"material/relation-zero-or-one-to-zero-or-many.svg","material-relation-zero-or-one-to-zero-or-one":"material/relation-zero-or-one-to-zero-or-one.svg","material-relative-scale":"material/relative-scale.svg","material-reload-alert":"material/reload-alert.svg","material-reload":"material/reload.svg","material-reminder":"material/reminder.svg","material-remote-desktop":"material/remote-desktop.svg","material-remote-off":"material/remote-off.svg","material-remote-tv-off":"material/remote-tv-off.svg","material-remote-tv":"material/remote-tv.svg","material-remote":"material/remote.svg","material-rename-box":"material/rename-box.svg","material-reorder-horizontal":"material/reorder-horizontal.svg","material-reorder-vertical":"material/reorder-vertical.svg","material-repeat-off":"material/repeat-off.svg","material-repeat-once":"material/repeat-once.svg","material-repeat":"material/repeat.svg","material-replay":"material/replay.svg","material-reply-all-outline":"material/reply-all-outline.svg","material-reply-all":"material/reply-all.svg","material-reply-circle":"material/reply-circle.svg","material-reply-outline":"material/reply-outline.svg","material-reply":"material/reply.svg","material-reproduction":"material/reproduction.svg","material-resistor-nodes":"material/resistor-nodes.svg","material-resistor":"material/resistor.svg","material-resize-bottom-right":"material/resize-bottom-right.svg","material-resize":"material/resize.svg","material-responsive":"material/responsive.svg","material-restart-alert":"material/restart-alert.svg","material-restart-off":"material/restart-off.svg","material-restart":"material/restart.svg","material-restore-alert":"material/restore-alert.svg","material-restore":"material/restore.svg","material-rewind-10":"material/rewind-10.svg","material-rewind-30":"material/rewind-30.svg","material-rewind-5":"material/rewind-5.svg","material-rewind-60":"material/rewind-60.svg","material-rewind-outline":"material/rewind-outline.svg","material-rewind":"material/rewind.svg","material-rhombus-medium-outline":"material/rhombus-medium-outline.svg","material-rhombus-medium":"material/rhombus-medium.svg","material-rhombus-outline":"material/rhombus-outline.svg","material-rhombus-split-outline":"material/rhombus-split-outline.svg","material-rhombus-split":"material/rhombus-split.svg","material-rhombus":"material/rhombus.svg","material-ribbon":"material/ribbon.svg","material-rice":"material/rice.svg","material-rickshaw-electric":"material/rickshaw-electric.svg","material-rickshaw":"material/rickshaw.svg","material-ring":"material/ring.svg","material-rivet":"material/rivet.svg","material-road-variant":"material/road-variant.svg","material-road":"material/road.svg","material-robber":"material/robber.svg","material-robot-angry-outline":"material/robot-angry-outline.svg","material-robot-angry":"material/robot-angry.svg","material-robot-confused-outline":"material/robot-confused-outline.svg","material-robot-confused":"material/robot-confused.svg","material-robot-dead-outline":"material/robot-dead-outline.svg","material-robot-dead":"material/robot-dead.svg","material-robot-excited-outline":"material/robot-excited-outline.svg","material-robot-excited":"material/robot-excited.svg","material-robot-happy-outline":"material/robot-happy-outline.svg","material-robot-happy":"material/robot-happy.svg","material-robot-industrial":"material/robot-industrial.svg","material-robot-love-outline":"material/robot-love-outline.svg","material-robot-love":"material/robot-love.svg","material-robot-mower-outline":"material/robot-mower-outline.svg","material-robot-mower":"material/robot-mower.svg","material-robot-off-outline":"material/robot-off-outline.svg","material-robot-off":"material/robot-off.svg","material-robot-outline":"material/robot-outline.svg","material-robot-vacuum-variant":"material/robot-vacuum-variant.svg","material-robot-vacuum":"material/robot-vacuum.svg","material-robot":"material/robot.svg","material-rocket-launch-outline":"material/rocket-launch-outline.svg","material-rocket-launch":"material/rocket-launch.svg","material-rocket-outline":"material/rocket-outline.svg","material-rocket":"material/rocket.svg","material-rodent":"material/rodent.svg","material-roller-skate-off":"material/roller-skate-off.svg","material-roller-skate":"material/roller-skate.svg","material-rollerblade-off":"material/rollerblade-off.svg","material-rollerblade":"material/rollerblade.svg","material-rollupjs":"material/rollupjs.svg","material-roman-numeral-1":"material/roman-numeral-1.svg","material-roman-numeral-10":"material/roman-numeral-10.svg","material-roman-numeral-2":"material/roman-numeral-2.svg","material-roman-numeral-3":"material/roman-numeral-3.svg","material-roman-numeral-4":"material/roman-numeral-4.svg","material-roman-numeral-5":"material/roman-numeral-5.svg","material-roman-numeral-6":"material/roman-numeral-6.svg","material-roman-numeral-7":"material/roman-numeral-7.svg","material-roman-numeral-8":"material/roman-numeral-8.svg","material-roman-numeral-9":"material/roman-numeral-9.svg","material-room-service-outline":"material/room-service-outline.svg","material-room-service":"material/room-service.svg","material-rotate-3d-variant":"material/rotate-3d-variant.svg","material-rotate-3d":"material/rotate-3d.svg","material-rotate-left-variant":"material/rotate-left-variant.svg","material-rotate-left":"material/rotate-left.svg","material-rotate-orbit":"material/rotate-orbit.svg","material-rotate-right-variant":"material/rotate-right-variant.svg","material-rotate-right":"material/rotate-right.svg","material-rounded-corner":"material/rounded-corner.svg","material-router-network":"material/router-network.svg","material-router-wireless-off":"material/router-wireless-off.svg","material-router-wireless-settings":"material/router-wireless-settings.svg","material-router-wireless":"material/router-wireless.svg","material-router":"material/router.svg","material-routes-clock":"material/routes-clock.svg","material-routes":"material/routes.svg","material-rowing":"material/rowing.svg","material-rss-box":"material/rss-box.svg","material-rss-off":"material/rss-off.svg","material-rss":"material/rss.svg","material-rug":"material/rug.svg","material-rugby":"material/rugby.svg","material-ruler-square-compass":"material/ruler-square-compass.svg","material-ruler-square":"material/ruler-square.svg","material-ruler":"material/ruler.svg","material-run-fast":"material/run-fast.svg","material-run":"material/run.svg","material-rv-truck":"material/rv-truck.svg","material-sack-percent":"material/sack-percent.svg","material-sack":"material/sack.svg","material-safe-square-outline":"material/safe-square-outline.svg","material-safe-square":"material/safe-square.svg","material-safe":"material/safe.svg","material-safety-goggles":"material/safety-goggles.svg","material-sail-boat":"material/sail-boat.svg","material-sale":"material/sale.svg","material-salesforce":"material/salesforce.svg","material-sass":"material/sass.svg","material-satellite-uplink":"material/satellite-uplink.svg","material-satellite-variant":"material/satellite-variant.svg","material-satellite":"material/satellite.svg","material-sausage":"material/sausage.svg","material-saw-blade":"material/saw-blade.svg","material-sawtooth-wave":"material/sawtooth-wave.svg","material-saxophone":"material/saxophone.svg","material-scale-balance":"material/scale-balance.svg","material-scale-bathroom":"material/scale-bathroom.svg","material-scale-off":"material/scale-off.svg","material-scale":"material/scale.svg","material-scan-helper":"material/scan-helper.svg","material-scanner-off":"material/scanner-off.svg","material-scanner":"material/scanner.svg","material-scatter-plot-outline":"material/scatter-plot-outline.svg","material-scatter-plot":"material/scatter-plot.svg","material-school-outline":"material/school-outline.svg","material-school":"material/school.svg","material-scissors-cutting":"material/scissors-cutting.svg","material-scooter-electric":"material/scooter-electric.svg","material-scooter":"material/scooter.svg","material-scoreboard-outline":"material/scoreboard-outline.svg","material-scoreboard":"material/scoreboard.svg","material-screen-rotation-lock":"material/screen-rotation-lock.svg","material-screen-rotation":"material/screen-rotation.svg","material-screw-flat-top":"material/screw-flat-top.svg","material-screw-lag":"material/screw-lag.svg","material-screw-machine-flat-top":"material/screw-machine-flat-top.svg","material-screw-machine-round-top":"material/screw-machine-round-top.svg","material-screw-round-top":"material/screw-round-top.svg","material-screwdriver":"material/screwdriver.svg","material-script-outline":"material/script-outline.svg","material-script-text-key-outline":"material/script-text-key-outline.svg","material-script-text-key":"material/script-text-key.svg","material-script-text-outline":"material/script-text-outline.svg","material-script-text-play-outline":"material/script-text-play-outline.svg","material-script-text-play":"material/script-text-play.svg","material-script-text":"material/script-text.svg","material-script":"material/script.svg","material-sd":"material/sd.svg","material-seal-variant":"material/seal-variant.svg","material-seal":"material/seal.svg","material-search-web":"material/search-web.svg","material-seat-flat-angled":"material/seat-flat-angled.svg","material-seat-flat":"material/seat-flat.svg","material-seat-individual-suite":"material/seat-individual-suite.svg","material-seat-legroom-extra":"material/seat-legroom-extra.svg","material-seat-legroom-normal":"material/seat-legroom-normal.svg","material-seat-legroom-reduced":"material/seat-legroom-reduced.svg","material-seat-outline":"material/seat-outline.svg","material-seat-passenger":"material/seat-passenger.svg","material-seat-recline-extra":"material/seat-recline-extra.svg","material-seat-recline-normal":"material/seat-recline-normal.svg","material-seat":"material/seat.svg","material-seatbelt":"material/seatbelt.svg","material-security-network":"material/security-network.svg","material-security":"material/security.svg","material-seed-off-outline":"material/seed-off-outline.svg","material-seed-off":"material/seed-off.svg","material-seed-outline":"material/seed-outline.svg","material-seed":"material/seed.svg","material-seesaw":"material/seesaw.svg","material-segment":"material/segment.svg","material-select-all":"material/select-all.svg","material-select-color":"material/select-color.svg","material-select-compare":"material/select-compare.svg","material-select-drag":"material/select-drag.svg","material-select-group":"material/select-group.svg","material-select-inverse":"material/select-inverse.svg","material-select-marker":"material/select-marker.svg","material-select-multiple-marker":"material/select-multiple-marker.svg","material-select-multiple":"material/select-multiple.svg","material-select-off":"material/select-off.svg","material-select-place":"material/select-place.svg","material-select-search":"material/select-search.svg","material-select":"material/select.svg","material-selection-drag":"material/selection-drag.svg","material-selection-ellipse-arrow-inside":"material/selection-ellipse-arrow-inside.svg","material-selection-ellipse":"material/selection-ellipse.svg","material-selection-marker":"material/selection-marker.svg","material-selection-multiple-marker":"material/selection-multiple-marker.svg","material-selection-multiple":"material/selection-multiple.svg","material-selection-off":"material/selection-off.svg","material-selection-search":"material/selection-search.svg","material-selection":"material/selection.svg","material-semantic-web":"material/semantic-web.svg","material-send-check-outline":"material/send-check-outline.svg","material-send-check":"material/send-check.svg","material-send-circle-outline":"material/send-circle-outline.svg","material-send-circle":"material/send-circle.svg","material-send-clock-outline":"material/send-clock-outline.svg","material-send-clock":"material/send-clock.svg","material-send-lock-outline":"material/send-lock-outline.svg","material-send-lock":"material/send-lock.svg","material-send-outline":"material/send-outline.svg","material-send":"material/send.svg","material-serial-port":"material/serial-port.svg","material-server-minus":"material/server-minus.svg","material-server-network-off":"material/server-network-off.svg","material-server-network":"material/server-network.svg","material-server-off":"material/server-off.svg","material-server-plus":"material/server-plus.svg","material-server-remove":"material/server-remove.svg","material-server-security":"material/server-security.svg","material-server":"material/server.svg","material-set-all":"material/set-all.svg","material-set-center-right":"material/set-center-right.svg","material-set-center":"material/set-center.svg","material-set-left-center":"material/set-left-center.svg","material-set-left-right":"material/set-left-right.svg","material-set-left":"material/set-left.svg","material-set-merge":"material/set-merge.svg","material-set-none":"material/set-none.svg","material-set-right":"material/set-right.svg","material-set-split":"material/set-split.svg","material-set-square":"material/set-square.svg","material-set-top-box":"material/set-top-box.svg","material-settings-helper":"material/settings-helper.svg","material-shaker-outline":"material/shaker-outline.svg","material-shaker":"material/shaker.svg","material-shape-circle-plus":"material/shape-circle-plus.svg","material-shape-outline":"material/shape-outline.svg","material-shape-oval-plus":"material/shape-oval-plus.svg","material-shape-plus":"material/shape-plus.svg","material-shape-polygon-plus":"material/shape-polygon-plus.svg","material-shape-rectangle-plus":"material/shape-rectangle-plus.svg","material-shape-square-plus":"material/shape-square-plus.svg","material-shape-square-rounded-plus":"material/shape-square-rounded-plus.svg","material-shape":"material/shape.svg","material-share-all-outline":"material/share-all-outline.svg","material-share-all":"material/share-all.svg","material-share-circle":"material/share-circle.svg","material-share-off-outline":"material/share-off-outline.svg","material-share-off":"material/share-off.svg","material-share-outline":"material/share-outline.svg","material-share-variant-outline":"material/share-variant-outline.svg","material-share-variant":"material/share-variant.svg","material-share":"material/share.svg","material-shark-fin-outline":"material/shark-fin-outline.svg","material-shark-fin":"material/shark-fin.svg","material-sheep":"material/sheep.svg","material-shield-account-outline":"material/shield-account-outline.svg","material-shield-account-variant-outline":"material/shield-account-variant-outline.svg","material-shield-account-variant":"material/shield-account-variant.svg","material-shield-account":"material/shield-account.svg","material-shield-airplane-outline":"material/shield-airplane-outline.svg","material-shield-airplane":"material/shield-airplane.svg","material-shield-alert-outline":"material/shield-alert-outline.svg","material-shield-alert":"material/shield-alert.svg","material-shield-bug-outline":"material/shield-bug-outline.svg","material-shield-bug":"material/shield-bug.svg","material-shield-car":"material/shield-car.svg","material-shield-check-outline":"material/shield-check-outline.svg","material-shield-check":"material/shield-check.svg","material-shield-cross-outline":"material/shield-cross-outline.svg","material-shield-cross":"material/shield-cross.svg","material-shield-edit-outline":"material/shield-edit-outline.svg","material-shield-edit":"material/shield-edit.svg","material-shield-half-full":"material/shield-half-full.svg","material-shield-half":"material/shield-half.svg","material-shield-home-outline":"material/shield-home-outline.svg","material-shield-home":"material/shield-home.svg","material-shield-key-outline":"material/shield-key-outline.svg","material-shield-key":"material/shield-key.svg","material-shield-link-variant-outline":"material/shield-link-variant-outline.svg","material-shield-link-variant":"material/shield-link-variant.svg","material-shield-lock-outline":"material/shield-lock-outline.svg","material-shield-lock":"material/shield-lock.svg","material-shield-off-outline":"material/shield-off-outline.svg","material-shield-off":"material/shield-off.svg","material-shield-outline":"material/shield-outline.svg","material-shield-plus-outline":"material/shield-plus-outline.svg","material-shield-plus":"material/shield-plus.svg","material-shield-refresh-outline":"material/shield-refresh-outline.svg","material-shield-refresh":"material/shield-refresh.svg","material-shield-remove-outline":"material/shield-remove-outline.svg","material-shield-remove":"material/shield-remove.svg","material-shield-search":"material/shield-search.svg","material-shield-star-outline":"material/shield-star-outline.svg","material-shield-star":"material/shield-star.svg","material-shield-sun-outline":"material/shield-sun-outline.svg","material-shield-sun":"material/shield-sun.svg","material-shield-sync-outline":"material/shield-sync-outline.svg","material-shield-sync":"material/shield-sync.svg","material-shield":"material/shield.svg","material-ship-wheel":"material/ship-wheel.svg","material-shoe-ballet":"material/shoe-ballet.svg","material-shoe-cleat":"material/shoe-cleat.svg","material-shoe-formal":"material/shoe-formal.svg","material-shoe-heel":"material/shoe-heel.svg","material-shoe-print":"material/shoe-print.svg","material-shoe-sneaker":"material/shoe-sneaker.svg","material-shopping-music":"material/shopping-music.svg","material-shopping-outline":"material/shopping-outline.svg","material-shopping-search":"material/shopping-search.svg","material-shopping":"material/shopping.svg","material-shore":"material/shore.svg","material-shovel-off":"material/shovel-off.svg","material-shovel":"material/shovel.svg","material-shower-head":"material/shower-head.svg","material-shower":"material/shower.svg","material-shredder":"material/shredder.svg","material-shuffle-disabled":"material/shuffle-disabled.svg","material-shuffle-variant":"material/shuffle-variant.svg","material-shuffle":"material/shuffle.svg","material-shuriken":"material/shuriken.svg","material-sigma-lower":"material/sigma-lower.svg","material-sigma":"material/sigma.svg","material-sign-caution":"material/sign-caution.svg","material-sign-direction-minus":"material/sign-direction-minus.svg","material-sign-direction-plus":"material/sign-direction-plus.svg","material-sign-direction-remove":"material/sign-direction-remove.svg","material-sign-direction":"material/sign-direction.svg","material-sign-pole":"material/sign-pole.svg","material-sign-real-estate":"material/sign-real-estate.svg","material-sign-text":"material/sign-text.svg","material-signal-2g":"material/signal-2g.svg","material-signal-3g":"material/signal-3g.svg","material-signal-4g":"material/signal-4g.svg","material-signal-5g":"material/signal-5g.svg","material-signal-cellular-1":"material/signal-cellular-1.svg","material-signal-cellular-2":"material/signal-cellular-2.svg","material-signal-cellular-3":"material/signal-cellular-3.svg","material-signal-cellular-outline":"material/signal-cellular-outline.svg","material-signal-distance-variant":"material/signal-distance-variant.svg","material-signal-hspa-plus":"material/signal-hspa-plus.svg","material-signal-hspa":"material/signal-hspa.svg","material-signal-off":"material/signal-off.svg","material-signal-variant":"material/signal-variant.svg","material-signal":"material/signal.svg","material-signature-freehand":"material/signature-freehand.svg","material-signature-image":"material/signature-image.svg","material-signature-text":"material/signature-text.svg","material-signature":"material/signature.svg","material-silo":"material/silo.svg","material-silverware-clean":"material/silverware-clean.svg","material-silverware-fork-knife":"material/silverware-fork-knife.svg","material-silverware-fork":"material/silverware-fork.svg","material-silverware-spoon":"material/silverware-spoon.svg","material-silverware-variant":"material/silverware-variant.svg","material-silverware":"material/silverware.svg","material-sim-alert-outline":"material/sim-alert-outline.svg","material-sim-alert":"material/sim-alert.svg","material-sim-off-outline":"material/sim-off-outline.svg","material-sim-off":"material/sim-off.svg","material-sim-outline":"material/sim-outline.svg","material-sim":"material/sim.svg","material-simple-icons":"material/simple-icons.svg","material-sina-weibo":"material/sina-weibo.svg","material-sine-wave":"material/sine-wave.svg","material-sitemap":"material/sitemap.svg","material-size-l":"material/size-l.svg","material-size-m":"material/size-m.svg","material-size-s":"material/size-s.svg","material-size-xl":"material/size-xl.svg","material-size-xs":"material/size-xs.svg","material-size-xxl":"material/size-xxl.svg","material-size-xxs":"material/size-xxs.svg","material-size-xxxl":"material/size-xxxl.svg","material-skate":"material/skate.svg","material-skateboard":"material/skateboard.svg","material-skew-less":"material/skew-less.svg","material-skew-more":"material/skew-more.svg","material-ski-cross-country":"material/ski-cross-country.svg","material-ski-water":"material/ski-water.svg","material-ski":"material/ski.svg","material-skip-backward-outline":"material/skip-backward-outline.svg","material-skip-backward":"material/skip-backward.svg","material-skip-forward-outline":"material/skip-forward-outline.svg","material-skip-forward":"material/skip-forward.svg","material-skip-next-circle-outline":"material/skip-next-circle-outline.svg","material-skip-next-circle":"material/skip-next-circle.svg","material-skip-next-outline":"material/skip-next-outline.svg","material-skip-next":"material/skip-next.svg","material-skip-previous-circle-outline":"material/skip-previous-circle-outline.svg","material-skip-previous-circle":"material/skip-previous-circle.svg","material-skip-previous-outline":"material/skip-previous-outline.svg","material-skip-previous":"material/skip-previous.svg","material-skull-crossbones-outline":"material/skull-crossbones-outline.svg","material-skull-crossbones":"material/skull-crossbones.svg","material-skull-outline":"material/skull-outline.svg","material-skull-scan-outline":"material/skull-scan-outline.svg","material-skull-scan":"material/skull-scan.svg","material-skull":"material/skull.svg","material-skype-business":"material/skype-business.svg","material-skype":"material/skype.svg","material-slack":"material/slack.svg","material-slash-forward-box":"material/slash-forward-box.svg","material-slash-forward":"material/slash-forward.svg","material-sleep-off":"material/sleep-off.svg","material-sleep":"material/sleep.svg","material-slide":"material/slide.svg","material-slope-downhill":"material/slope-downhill.svg","material-slope-uphill":"material/slope-uphill.svg","material-slot-machine-outline":"material/slot-machine-outline.svg","material-slot-machine":"material/slot-machine.svg","material-smart-card-outline":"material/smart-card-outline.svg","material-smart-card-reader-outline":"material/smart-card-reader-outline.svg","material-smart-card-reader":"material/smart-card-reader.svg","material-smart-card":"material/smart-card.svg","material-smog":"material/smog.svg","material-smoke-detector":"material/smoke-detector.svg","material-smoking-off":"material/smoking-off.svg","material-smoking-pipe-off":"material/smoking-pipe-off.svg","material-smoking-pipe":"material/smoking-pipe.svg","material-smoking":"material/smoking.svg","material-snail":"material/snail.svg","material-snake":"material/snake.svg","material-snapchat":"material/snapchat.svg","material-snowboard":"material/snowboard.svg","material-snowflake-alert":"material/snowflake-alert.svg","material-snowflake-melt":"material/snowflake-melt.svg","material-snowflake-off":"material/snowflake-off.svg","material-snowflake-variant":"material/snowflake-variant.svg","material-snowflake":"material/snowflake.svg","material-snowman":"material/snowman.svg","material-soccer-field":"material/soccer-field.svg","material-soccer":"material/soccer.svg","material-social-distance-2-meters":"material/social-distance-2-meters.svg","material-social-distance-6-feet":"material/social-distance-6-feet.svg","material-sofa-outline":"material/sofa-outline.svg","material-sofa-single-outline":"material/sofa-single-outline.svg","material-sofa-single":"material/sofa-single.svg","material-sofa":"material/sofa.svg","material-solar-panel-large":"material/solar-panel-large.svg","material-solar-panel":"material/solar-panel.svg","material-solar-power":"material/solar-power.svg","material-soldering-iron":"material/soldering-iron.svg","material-solid":"material/solid.svg","material-sony-playstation":"material/sony-playstation.svg","material-sort-alphabetical-ascending-variant":"material/sort-alphabetical-ascending-variant.svg","material-sort-alphabetical-ascending":"material/sort-alphabetical-ascending.svg","material-sort-alphabetical-descending-variant":"material/sort-alphabetical-descending-variant.svg","material-sort-alphabetical-descending":"material/sort-alphabetical-descending.svg","material-sort-alphabetical-variant":"material/sort-alphabetical-variant.svg","material-sort-ascending":"material/sort-ascending.svg","material-sort-bool-ascending-variant":"material/sort-bool-ascending-variant.svg","material-sort-bool-ascending":"material/sort-bool-ascending.svg","material-sort-bool-descending-variant":"material/sort-bool-descending-variant.svg","material-sort-bool-descending":"material/sort-bool-descending.svg","material-sort-calendar-ascending":"material/sort-calendar-ascending.svg","material-sort-calendar-descending":"material/sort-calendar-descending.svg","material-sort-clock-ascending-outline":"material/sort-clock-ascending-outline.svg","material-sort-clock-ascending":"material/sort-clock-ascending.svg","material-sort-clock-descending-outline":"material/sort-clock-descending-outline.svg","material-sort-clock-descending":"material/sort-clock-descending.svg","material-sort-descending":"material/sort-descending.svg","material-sort-numeric-ascending-variant":"material/sort-numeric-ascending-variant.svg","material-sort-numeric-ascending":"material/sort-numeric-ascending.svg","material-sort-numeric-descending-variant":"material/sort-numeric-descending-variant.svg","material-sort-numeric-descending":"material/sort-numeric-descending.svg","material-sort-numeric-variant":"material/sort-numeric-variant.svg","material-sort-reverse-variant":"material/sort-reverse-variant.svg","material-sort-variant-lock-open":"material/sort-variant-lock-open.svg","material-sort-variant-lock":"material/sort-variant-lock.svg","material-sort-variant-remove":"material/sort-variant-remove.svg","material-sort-variant":"material/sort-variant.svg","material-sort":"material/sort.svg","material-soundcloud":"material/soundcloud.svg","material-source-branch-check":"material/source-branch-check.svg","material-source-branch-minus":"material/source-branch-minus.svg","material-source-branch-plus":"material/source-branch-plus.svg","material-source-branch-refresh":"material/source-branch-refresh.svg","material-source-branch-remove":"material/source-branch-remove.svg","material-source-branch-sync":"material/source-branch-sync.svg","material-source-branch":"material/source-branch.svg","material-source-commit-end-local":"material/source-commit-end-local.svg","material-source-commit-end":"material/source-commit-end.svg","material-source-commit-local":"material/source-commit-local.svg","material-source-commit-next-local":"material/source-commit-next-local.svg","material-source-commit-start-next-local":"material/source-commit-start-next-local.svg","material-source-commit-start":"material/source-commit-start.svg","material-source-commit":"material/source-commit.svg","material-source-fork":"material/source-fork.svg","material-source-merge":"material/source-merge.svg","material-source-pull":"material/source-pull.svg","material-source-repository-multiple":"material/source-repository-multiple.svg","material-source-repository":"material/source-repository.svg","material-soy-sauce-off":"material/soy-sauce-off.svg","material-soy-sauce":"material/soy-sauce.svg","material-spa-outline":"material/spa-outline.svg","material-spa":"material/spa.svg","material-space-invaders":"material/space-invaders.svg","material-space-station":"material/space-station.svg","material-spade":"material/spade.svg","material-sparkles":"material/sparkles.svg","material-speaker-bluetooth":"material/speaker-bluetooth.svg","material-speaker-multiple":"material/speaker-multiple.svg","material-speaker-off":"material/speaker-off.svg","material-speaker-wireless":"material/speaker-wireless.svg","material-speaker":"material/speaker.svg","material-speedometer-medium":"material/speedometer-medium.svg","material-speedometer-slow":"material/speedometer-slow.svg","material-speedometer":"material/speedometer.svg","material-spellcheck":"material/spellcheck.svg","material-spider-thread":"material/spider-thread.svg","material-spider-web":"material/spider-web.svg","material-spider":"material/spider.svg","material-spirit-level":"material/spirit-level.svg","material-spoon-sugar":"material/spoon-sugar.svg","material-spotify":"material/spotify.svg","material-spotlight-beam":"material/spotlight-beam.svg","material-spotlight":"material/spotlight.svg","material-spray-bottle":"material/spray-bottle.svg","material-spray":"material/spray.svg","material-sprinkler-variant":"material/sprinkler-variant.svg","material-sprinkler":"material/sprinkler.svg","material-sprout-outline":"material/sprout-outline.svg","material-sprout":"material/sprout.svg","material-square-circle":"material/square-circle.svg","material-square-edit-outline":"material/square-edit-outline.svg","material-square-medium-outline":"material/square-medium-outline.svg","material-square-medium":"material/square-medium.svg","material-square-off-outline":"material/square-off-outline.svg","material-square-off":"material/square-off.svg","material-square-outline":"material/square-outline.svg","material-square-root-box":"material/square-root-box.svg","material-square-root":"material/square-root.svg","material-square-rounded-outline":"material/square-rounded-outline.svg","material-square-rounded":"material/square-rounded.svg","material-square-small":"material/square-small.svg","material-square-wave":"material/square-wave.svg","material-square":"material/square.svg","material-squeegee":"material/squeegee.svg","material-ssh":"material/ssh.svg","material-stack-exchange":"material/stack-exchange.svg","material-stack-overflow":"material/stack-overflow.svg","material-stackpath":"material/stackpath.svg","material-stadium-variant":"material/stadium-variant.svg","material-stadium":"material/stadium.svg","material-stairs-box":"material/stairs-box.svg","material-stairs-down":"material/stairs-down.svg","material-stairs-up":"material/stairs-up.svg","material-stairs":"material/stairs.svg","material-stamper":"material/stamper.svg","material-standard-definition":"material/standard-definition.svg","material-star-box-multiple-outline":"material/star-box-multiple-outline.svg","material-star-box-multiple":"material/star-box-multiple.svg","material-star-box-outline":"material/star-box-outline.svg","material-star-box":"material/star-box.svg","material-star-check-outline":"material/star-check-outline.svg","material-star-check":"material/star-check.svg","material-star-circle-outline":"material/star-circle-outline.svg","material-star-circle":"material/star-circle.svg","material-star-cog-outline":"material/star-cog-outline.svg","material-star-cog":"material/star-cog.svg","material-star-face":"material/star-face.svg","material-star-four-points-outline":"material/star-four-points-outline.svg","material-star-four-points":"material/star-four-points.svg","material-star-half-full":"material/star-half-full.svg","material-star-half":"material/star-half.svg","material-star-minus-outline":"material/star-minus-outline.svg","material-star-minus":"material/star-minus.svg","material-star-off-outline":"material/star-off-outline.svg","material-star-off":"material/star-off.svg","material-star-outline":"material/star-outline.svg","material-star-plus-outline":"material/star-plus-outline.svg","material-star-plus":"material/star-plus.svg","material-star-remove-outline":"material/star-remove-outline.svg","material-star-remove":"material/star-remove.svg","material-star-settings-outline":"material/star-settings-outline.svg","material-star-settings":"material/star-settings.svg","material-star-shooting-outline":"material/star-shooting-outline.svg","material-star-shooting":"material/star-shooting.svg","material-star-three-points-outline":"material/star-three-points-outline.svg","material-star-three-points":"material/star-three-points.svg","material-star":"material/star.svg","material-state-machine":"material/state-machine.svg","material-steam":"material/steam.svg","material-steering-off":"material/steering-off.svg","material-steering":"material/steering.svg","material-step-backward-2":"material/step-backward-2.svg","material-step-backward":"material/step-backward.svg","material-step-forward-2":"material/step-forward-2.svg","material-step-forward":"material/step-forward.svg","material-stethoscope":"material/stethoscope.svg","material-sticker-alert-outline":"material/sticker-alert-outline.svg","material-sticker-alert":"material/sticker-alert.svg","material-sticker-check-outline":"material/sticker-check-outline.svg","material-sticker-check":"material/sticker-check.svg","material-sticker-circle-outline":"material/sticker-circle-outline.svg","material-sticker-emoji":"material/sticker-emoji.svg","material-sticker-minus-outline":"material/sticker-minus-outline.svg","material-sticker-minus":"material/sticker-minus.svg","material-sticker-outline":"material/sticker-outline.svg","material-sticker-plus-outline":"material/sticker-plus-outline.svg","material-sticker-plus":"material/sticker-plus.svg","material-sticker-remove-outline":"material/sticker-remove-outline.svg","material-sticker-remove":"material/sticker-remove.svg","material-sticker":"material/sticker.svg","material-stocking":"material/stocking.svg","material-stomach":"material/stomach.svg","material-stop-circle-outline":"material/stop-circle-outline.svg","material-stop-circle":"material/stop-circle.svg","material-stop":"material/stop.svg","material-store-24-hour":"material/store-24-hour.svg","material-store-minus":"material/store-minus.svg","material-store-outline":"material/store-outline.svg","material-store-plus":"material/store-plus.svg","material-store-remove":"material/store-remove.svg","material-store":"material/store.svg","material-storefront-outline":"material/storefront-outline.svg","material-storefront":"material/storefront.svg","material-stove":"material/stove.svg","material-strategy":"material/strategy.svg","material-stretch-to-page-outline":"material/stretch-to-page-outline.svg","material-stretch-to-page":"material/stretch-to-page.svg","material-string-lights-off":"material/string-lights-off.svg","material-string-lights":"material/string-lights.svg","material-subdirectory-arrow-left":"material/subdirectory-arrow-left.svg","material-subdirectory-arrow-right":"material/subdirectory-arrow-right.svg","material-submarine":"material/submarine.svg","material-subtitles-outline":"material/subtitles-outline.svg","material-subtitles":"material/subtitles.svg","material-subway-alert-variant":"material/subway-alert-variant.svg","material-subway-variant":"material/subway-variant.svg","material-subway":"material/subway.svg","material-summit":"material/summit.svg","material-sunglasses":"material/sunglasses.svg","material-surround-sound-2-0":"material/surround-sound-2-0.svg","material-surround-sound-2-1":"material/surround-sound-2-1.svg","material-surround-sound-3-1":"material/surround-sound-3-1.svg","material-surround-sound-5-1-2":"material/surround-sound-5-1-2.svg","material-surround-sound-5-1":"material/surround-sound-5-1.svg","material-surround-sound-7-1":"material/surround-sound-7-1.svg","material-surround-sound":"material/surround-sound.svg","material-svg":"material/svg.svg","material-swap-horizontal-bold":"material/swap-horizontal-bold.svg","material-swap-horizontal-circle-outline":"material/swap-horizontal-circle-outline.svg","material-swap-horizontal-circle":"material/swap-horizontal-circle.svg","material-swap-horizontal-variant":"material/swap-horizontal-variant.svg","material-swap-horizontal":"material/swap-horizontal.svg","material-swap-vertical-bold":"material/swap-vertical-bold.svg","material-swap-vertical-circle-outline":"material/swap-vertical-circle-outline.svg","material-swap-vertical-circle":"material/swap-vertical-circle.svg","material-swap-vertical-variant":"material/swap-vertical-variant.svg","material-swap-vertical":"material/swap-vertical.svg","material-swim":"material/swim.svg","material-switch":"material/switch.svg","material-sword-cross":"material/sword-cross.svg","material-sword":"material/sword.svg","material-syllabary-hangul":"material/syllabary-hangul.svg","material-syllabary-hiragana":"material/syllabary-hiragana.svg","material-syllabary-katakana-halfwidth":"material/syllabary-katakana-halfwidth.svg","material-syllabary-katakana":"material/syllabary-katakana.svg","material-symbol":"material/symbol.svg","material-symfony":"material/symfony.svg","material-sync-alert":"material/sync-alert.svg","material-sync-circle":"material/sync-circle.svg","material-sync-off":"material/sync-off.svg","material-sync":"material/sync.svg","material-tab-minus":"material/tab-minus.svg","material-tab-plus":"material/tab-plus.svg","material-tab-remove":"material/tab-remove.svg","material-tab-unselected":"material/tab-unselected.svg","material-tab":"material/tab.svg","material-table-account":"material/table-account.svg","material-table-alert":"material/table-alert.svg","material-table-arrow-down":"material/table-arrow-down.svg","material-table-arrow-left":"material/table-arrow-left.svg","material-table-arrow-right":"material/table-arrow-right.svg","material-table-arrow-up":"material/table-arrow-up.svg","material-table-border":"material/table-border.svg","material-table-cancel":"material/table-cancel.svg","material-table-chair":"material/table-chair.svg","material-table-check":"material/table-check.svg","material-table-clock":"material/table-clock.svg","material-table-cog":"material/table-cog.svg","material-table-column-plus-after":"material/table-column-plus-after.svg","material-table-column-plus-before":"material/table-column-plus-before.svg","material-table-column-remove":"material/table-column-remove.svg","material-table-column-width":"material/table-column-width.svg","material-table-column":"material/table-column.svg","material-table-edit":"material/table-edit.svg","material-table-eye-off":"material/table-eye-off.svg","material-table-eye":"material/table-eye.svg","material-table-furniture":"material/table-furniture.svg","material-table-headers-eye-off":"material/table-headers-eye-off.svg","material-table-headers-eye":"material/table-headers-eye.svg","material-table-heart":"material/table-heart.svg","material-table-key":"material/table-key.svg","material-table-large-plus":"material/table-large-plus.svg","material-table-large-remove":"material/table-large-remove.svg","material-table-large":"material/table-large.svg","material-table-lock":"material/table-lock.svg","material-table-merge-cells":"material/table-merge-cells.svg","material-table-minus":"material/table-minus.svg","material-table-multiple":"material/table-multiple.svg","material-table-network":"material/table-network.svg","material-table-of-contents":"material/table-of-contents.svg","material-table-off":"material/table-off.svg","material-table-picnic":"material/table-picnic.svg","material-table-plus":"material/table-plus.svg","material-table-refresh":"material/table-refresh.svg","material-table-remove":"material/table-remove.svg","material-table-row-height":"material/table-row-height.svg","material-table-row-plus-after":"material/table-row-plus-after.svg","material-table-row-plus-before":"material/table-row-plus-before.svg","material-table-row-remove":"material/table-row-remove.svg","material-table-row":"material/table-row.svg","material-table-search":"material/table-search.svg","material-table-settings":"material/table-settings.svg","material-table-split-cell":"material/table-split-cell.svg","material-table-star":"material/table-star.svg","material-table-sync":"material/table-sync.svg","material-table-tennis":"material/table-tennis.svg","material-table":"material/table.svg","material-tablet-android":"material/tablet-android.svg","material-tablet-cellphone":"material/tablet-cellphone.svg","material-tablet-dashboard":"material/tablet-dashboard.svg","material-tablet-ipad":"material/tablet-ipad.svg","material-tablet":"material/tablet.svg","material-taco":"material/taco.svg","material-tag-arrow-down-outline":"material/tag-arrow-down-outline.svg","material-tag-arrow-down":"material/tag-arrow-down.svg","material-tag-arrow-left-outline":"material/tag-arrow-left-outline.svg","material-tag-arrow-left":"material/tag-arrow-left.svg","material-tag-arrow-right-outline":"material/tag-arrow-right-outline.svg","material-tag-arrow-right":"material/tag-arrow-right.svg","material-tag-arrow-up-outline":"material/tag-arrow-up-outline.svg","material-tag-arrow-up":"material/tag-arrow-up.svg","material-tag-faces":"material/tag-faces.svg","material-tag-heart-outline":"material/tag-heart-outline.svg","material-tag-heart":"material/tag-heart.svg","material-tag-minus-outline":"material/tag-minus-outline.svg","material-tag-minus":"material/tag-minus.svg","material-tag-multiple-outline":"material/tag-multiple-outline.svg","material-tag-multiple":"material/tag-multiple.svg","material-tag-off-outline":"material/tag-off-outline.svg","material-tag-off":"material/tag-off.svg","material-tag-outline":"material/tag-outline.svg","material-tag-plus-outline":"material/tag-plus-outline.svg","material-tag-plus":"material/tag-plus.svg","material-tag-remove-outline":"material/tag-remove-outline.svg","material-tag-remove":"material/tag-remove.svg","material-tag-text-outline":"material/tag-text-outline.svg","material-tag-text":"material/tag-text.svg","material-tag":"material/tag.svg","material-tailwind":"material/tailwind.svg","material-tank":"material/tank.svg","material-tanker-truck":"material/tanker-truck.svg","material-tape-drive":"material/tape-drive.svg","material-tape-measure":"material/tape-measure.svg","material-target-account":"material/target-account.svg","material-target-variant":"material/target-variant.svg","material-target":"material/target.svg","material-taxi":"material/taxi.svg","material-tea-outline":"material/tea-outline.svg","material-tea":"material/tea.svg","material-teach":"material/teach.svg","material-teamviewer":"material/teamviewer.svg","material-telegram":"material/telegram.svg","material-telescope":"material/telescope.svg","material-television-ambient-light":"material/television-ambient-light.svg","material-television-box":"material/television-box.svg","material-television-classic-off":"material/television-classic-off.svg","material-television-classic":"material/television-classic.svg","material-television-clean":"material/television-clean.svg","material-television-guide":"material/television-guide.svg","material-television-off":"material/television-off.svg","material-television-pause":"material/television-pause.svg","material-television-play":"material/television-play.svg","material-television-stop":"material/television-stop.svg","material-television":"material/television.svg","material-temperature-celsius":"material/temperature-celsius.svg","material-temperature-fahrenheit":"material/temperature-fahrenheit.svg","material-temperature-kelvin":"material/temperature-kelvin.svg","material-tennis-ball":"material/tennis-ball.svg","material-tennis":"material/tennis.svg","material-tent":"material/tent.svg","material-terraform":"material/terraform.svg","material-terrain":"material/terrain.svg","material-test-tube-empty":"material/test-tube-empty.svg","material-test-tube-off":"material/test-tube-off.svg","material-test-tube":"material/test-tube.svg","material-text-account":"material/text-account.svg","material-text-box-check-outline":"material/text-box-check-outline.svg","material-text-box-check":"material/text-box-check.svg","material-text-box-minus-outline":"material/text-box-minus-outline.svg","material-text-box-minus":"material/text-box-minus.svg","material-text-box-multiple-outline":"material/text-box-multiple-outline.svg","material-text-box-multiple":"material/text-box-multiple.svg","material-text-box-outline":"material/text-box-outline.svg","material-text-box-plus-outline":"material/text-box-plus-outline.svg","material-text-box-plus":"material/text-box-plus.svg","material-text-box-remove-outline":"material/text-box-remove-outline.svg","material-text-box-remove":"material/text-box-remove.svg","material-text-box-search-outline":"material/text-box-search-outline.svg","material-text-box-search":"material/text-box-search.svg","material-text-box":"material/text-box.svg","material-text-recognition":"material/text-recognition.svg","material-text-search":"material/text-search.svg","material-text-shadow":"material/text-shadow.svg","material-text-short":"material/text-short.svg","material-text-subject":"material/text-subject.svg","material-text-to-speech-off":"material/text-to-speech-off.svg","material-text-to-speech":"material/text-to-speech.svg","material-text":"material/text.svg","material-texture-box":"material/texture-box.svg","material-texture":"material/texture.svg","material-theater":"material/theater.svg","material-theme-light-dark":"material/theme-light-dark.svg","material-thermometer-alert":"material/thermometer-alert.svg","material-thermometer-chevron-down":"material/thermometer-chevron-down.svg","material-thermometer-chevron-up":"material/thermometer-chevron-up.svg","material-thermometer-high":"material/thermometer-high.svg","material-thermometer-lines":"material/thermometer-lines.svg","material-thermometer-low":"material/thermometer-low.svg","material-thermometer-minus":"material/thermometer-minus.svg","material-thermometer-off":"material/thermometer-off.svg","material-thermometer-plus":"material/thermometer-plus.svg","material-thermometer":"material/thermometer.svg","material-thermostat-box":"material/thermostat-box.svg","material-thermostat":"material/thermostat.svg","material-thought-bubble-outline":"material/thought-bubble-outline.svg","material-thought-bubble":"material/thought-bubble.svg","material-thumb-down-outline":"material/thumb-down-outline.svg","material-thumb-down":"material/thumb-down.svg","material-thumb-up-outline":"material/thumb-up-outline.svg","material-thumb-up":"material/thumb-up.svg","material-thumbs-up-down":"material/thumbs-up-down.svg","material-ticket-account":"material/ticket-account.svg","material-ticket-confirmation-outline":"material/ticket-confirmation-outline.svg","material-ticket-confirmation":"material/ticket-confirmation.svg","material-ticket-outline":"material/ticket-outline.svg","material-ticket-percent-outline":"material/ticket-percent-outline.svg","material-ticket-percent":"material/ticket-percent.svg","material-ticket":"material/ticket.svg","material-tie":"material/tie.svg","material-tilde":"material/tilde.svg","material-timelapse":"material/timelapse.svg","material-timeline-alert-outline":"material/timeline-alert-outline.svg","material-timeline-alert":"material/timeline-alert.svg","material-timeline-check-outline":"material/timeline-check-outline.svg","material-timeline-check":"material/timeline-check.svg","material-timeline-clock-outline":"material/timeline-clock-outline.svg","material-timeline-clock":"material/timeline-clock.svg","material-timeline-help-outline":"material/timeline-help-outline.svg","material-timeline-help":"material/timeline-help.svg","material-timeline-minus-outline":"material/timeline-minus-outline.svg","material-timeline-minus":"material/timeline-minus.svg","material-timeline-outline":"material/timeline-outline.svg","material-timeline-plus-outline":"material/timeline-plus-outline.svg","material-timeline-plus":"material/timeline-plus.svg","material-timeline-remove-outline":"material/timeline-remove-outline.svg","material-timeline-remove":"material/timeline-remove.svg","material-timeline-text-outline":"material/timeline-text-outline.svg","material-timeline-text":"material/timeline-text.svg","material-timeline":"material/timeline.svg","material-timer-10":"material/timer-10.svg","material-timer-3":"material/timer-3.svg","material-timer-off-outline":"material/timer-off-outline.svg","material-timer-off":"material/timer-off.svg","material-timer-outline":"material/timer-outline.svg","material-timer-sand-empty":"material/timer-sand-empty.svg","material-timer-sand-full":"material/timer-sand-full.svg","material-timer-sand":"material/timer-sand.svg","material-timer":"material/timer.svg","material-timetable":"material/timetable.svg","material-toaster-off":"material/toaster-off.svg","material-toaster-oven":"material/toaster-oven.svg","material-toaster":"material/toaster.svg","material-toggle-switch-off-outline":"material/toggle-switch-off-outline.svg","material-toggle-switch-off":"material/toggle-switch-off.svg","material-toggle-switch-outline":"material/toggle-switch-outline.svg","material-toggle-switch":"material/toggle-switch.svg","material-toilet":"material/toilet.svg","material-toolbox-outline":"material/toolbox-outline.svg","material-toolbox":"material/toolbox.svg","material-tools":"material/tools.svg","material-tooltip-account":"material/tooltip-account.svg","material-tooltip-check-outline":"material/tooltip-check-outline.svg","material-tooltip-check":"material/tooltip-check.svg","material-tooltip-edit-outline":"material/tooltip-edit-outline.svg","material-tooltip-edit":"material/tooltip-edit.svg","material-tooltip-image-outline":"material/tooltip-image-outline.svg","material-tooltip-image":"material/tooltip-image.svg","material-tooltip-minus-outline":"material/tooltip-minus-outline.svg","material-tooltip-minus":"material/tooltip-minus.svg","material-tooltip-outline":"material/tooltip-outline.svg","material-tooltip-plus-outline":"material/tooltip-plus-outline.svg","material-tooltip-plus":"material/tooltip-plus.svg","material-tooltip-remove-outline":"material/tooltip-remove-outline.svg","material-tooltip-remove":"material/tooltip-remove.svg","material-tooltip-text-outline":"material/tooltip-text-outline.svg","material-tooltip-text":"material/tooltip-text.svg","material-tooltip":"material/tooltip.svg","material-tooth-outline":"material/tooth-outline.svg","material-tooth":"material/tooth.svg","material-toothbrush-electric":"material/toothbrush-electric.svg","material-toothbrush-paste":"material/toothbrush-paste.svg","material-toothbrush":"material/toothbrush.svg","material-torch":"material/torch.svg","material-tortoise":"material/tortoise.svg","material-toslink":"material/toslink.svg","material-tournament":"material/tournament.svg","material-tow-truck":"material/tow-truck.svg","material-tower-beach":"material/tower-beach.svg","material-tower-fire":"material/tower-fire.svg","material-toy-brick-marker-outline":"material/toy-brick-marker-outline.svg","material-toy-brick-marker":"material/toy-brick-marker.svg","material-toy-brick-minus-outline":"material/toy-brick-minus-outline.svg","material-toy-brick-minus":"material/toy-brick-minus.svg","material-toy-brick-outline":"material/toy-brick-outline.svg","material-toy-brick-plus-outline":"material/toy-brick-plus-outline.svg","material-toy-brick-plus":"material/toy-brick-plus.svg","material-toy-brick-remove-outline":"material/toy-brick-remove-outline.svg","material-toy-brick-remove":"material/toy-brick-remove.svg","material-toy-brick-search-outline":"material/toy-brick-search-outline.svg","material-toy-brick-search":"material/toy-brick-search.svg","material-toy-brick":"material/toy-brick.svg","material-track-light":"material/track-light.svg","material-trackpad-lock":"material/trackpad-lock.svg","material-trackpad":"material/trackpad.svg","material-tractor-variant":"material/tractor-variant.svg","material-tractor":"material/tractor.svg","material-trademark":"material/trademark.svg","material-traffic-cone":"material/traffic-cone.svg","material-traffic-light":"material/traffic-light.svg","material-train-car-passenger-door-open":"material/train-car-passenger-door-open.svg","material-train-car-passenger-door":"material/train-car-passenger-door.svg","material-train-car-passenger-variant":"material/train-car-passenger-variant.svg","material-train-car-passenger":"material/train-car-passenger.svg","material-train-car":"material/train-car.svg","material-train-variant":"material/train-variant.svg","material-train":"material/train.svg","material-tram-side":"material/tram-side.svg","material-tram":"material/tram.svg","material-transcribe-close":"material/transcribe-close.svg","material-transcribe":"material/transcribe.svg","material-transfer-down":"material/transfer-down.svg","material-transfer-left":"material/transfer-left.svg","material-transfer-right":"material/transfer-right.svg","material-transfer-up":"material/transfer-up.svg","material-transfer":"material/transfer.svg","material-transit-connection-horizontal":"material/transit-connection-horizontal.svg","material-transit-connection-variant":"material/transit-connection-variant.svg","material-transit-connection":"material/transit-connection.svg","material-transit-detour":"material/transit-detour.svg","material-transit-skip":"material/transit-skip.svg","material-transit-transfer":"material/transit-transfer.svg","material-transition-masked":"material/transition-masked.svg","material-transition":"material/transition.svg","material-translate-off":"material/translate-off.svg","material-translate":"material/translate.svg","material-transmission-tower":"material/transmission-tower.svg","material-trash-can-outline":"material/trash-can-outline.svg","material-trash-can":"material/trash-can.svg","material-tray-alert":"material/tray-alert.svg","material-tray-full":"material/tray-full.svg","material-tray-minus":"material/tray-minus.svg","material-tray-plus":"material/tray-plus.svg","material-tray-remove":"material/tray-remove.svg","material-tray":"material/tray.svg","material-treasure-chest":"material/treasure-chest.svg","material-tree-outline":"material/tree-outline.svg","material-tree":"material/tree.svg","material-trello":"material/trello.svg","material-trending-down":"material/trending-down.svg","material-trending-neutral":"material/trending-neutral.svg","material-trending-up":"material/trending-up.svg","material-triangle-outline":"material/triangle-outline.svg","material-triangle-wave":"material/triangle-wave.svg","material-triangle":"material/triangle.svg","material-triforce":"material/triforce.svg","material-trophy-award":"material/trophy-award.svg","material-trophy-broken":"material/trophy-broken.svg","material-trophy-outline":"material/trophy-outline.svg","material-trophy-variant-outline":"material/trophy-variant-outline.svg","material-trophy-variant":"material/trophy-variant.svg","material-trophy":"material/trophy.svg","material-truck-check-outline":"material/truck-check-outline.svg","material-truck-check":"material/truck-check.svg","material-truck-delivery-outline":"material/truck-delivery-outline.svg","material-truck-delivery":"material/truck-delivery.svg","material-truck-fast-outline":"material/truck-fast-outline.svg","material-truck-fast":"material/truck-fast.svg","material-truck-outline":"material/truck-outline.svg","material-truck-trailer":"material/truck-trailer.svg","material-truck":"material/truck.svg","material-trumpet":"material/trumpet.svg","material-tshirt-crew-outline":"material/tshirt-crew-outline.svg","material-tshirt-crew":"material/tshirt-crew.svg","material-tshirt-v-outline":"material/tshirt-v-outline.svg","material-tshirt-v":"material/tshirt-v.svg","material-tumble-dryer-alert":"material/tumble-dryer-alert.svg","material-tumble-dryer-off":"material/tumble-dryer-off.svg","material-tumble-dryer":"material/tumble-dryer.svg","material-tune-variant":"material/tune-variant.svg","material-tune-vertical-variant":"material/tune-vertical-variant.svg","material-tune-vertical":"material/tune-vertical.svg","material-tune":"material/tune.svg","material-turkey":"material/turkey.svg","material-turnstile-outline":"material/turnstile-outline.svg","material-turnstile":"material/turnstile.svg","material-turtle":"material/turtle.svg","material-twitch":"material/twitch.svg","material-twitter-retweet":"material/twitter-retweet.svg","material-twitter":"material/twitter.svg","material-two-factor-authentication":"material/two-factor-authentication.svg","material-typewriter":"material/typewriter.svg","material-ubisoft":"material/ubisoft.svg","material-ubuntu":"material/ubuntu.svg","material-ufo-outline":"material/ufo-outline.svg","material-ufo":"material/ufo.svg","material-ultra-high-definition":"material/ultra-high-definition.svg","material-umbraco":"material/umbraco.svg","material-umbrella-closed-outline":"material/umbrella-closed-outline.svg","material-umbrella-closed-variant":"material/umbrella-closed-variant.svg","material-umbrella-closed":"material/umbrella-closed.svg","material-umbrella-outline":"material/umbrella-outline.svg","material-umbrella":"material/umbrella.svg","material-undo-variant":"material/undo-variant.svg","material-undo":"material/undo.svg","material-unfold-less-horizontal":"material/unfold-less-horizontal.svg","material-unfold-less-vertical":"material/unfold-less-vertical.svg","material-unfold-more-horizontal":"material/unfold-more-horizontal.svg","material-unfold-more-vertical":"material/unfold-more-vertical.svg","material-ungroup":"material/ungroup.svg","material-unicode":"material/unicode.svg","material-unicorn-variant":"material/unicorn-variant.svg","material-unicorn":"material/unicorn.svg","material-unicycle":"material/unicycle.svg","material-unity":"material/unity.svg","material-unreal":"material/unreal.svg","material-untappd":"material/untappd.svg","material-update":"material/update.svg","material-upload-lock-outline":"material/upload-lock-outline.svg","material-upload-lock":"material/upload-lock.svg","material-upload-multiple":"material/upload-multiple.svg","material-upload-network-outline":"material/upload-network-outline.svg","material-upload-network":"material/upload-network.svg","material-upload-off-outline":"material/upload-off-outline.svg","material-upload-off":"material/upload-off.svg","material-upload-outline":"material/upload-outline.svg","material-upload":"material/upload.svg","material-usb-flash-drive-outline":"material/usb-flash-drive-outline.svg","material-usb-flash-drive":"material/usb-flash-drive.svg","material-usb-port":"material/usb-port.svg","material-usb":"material/usb.svg","material-valve-closed":"material/valve-closed.svg","material-valve-open":"material/valve-open.svg","material-valve":"material/valve.svg","material-van-passenger":"material/van-passenger.svg","material-van-utility":"material/van-utility.svg","material-vanish-quarter":"material/vanish-quarter.svg","material-vanish":"material/vanish.svg","material-vanity-light":"material/vanity-light.svg","material-variable-box":"material/variable-box.svg","material-variable":"material/variable.svg","material-vector-arrange-above":"material/vector-arrange-above.svg","material-vector-arrange-below":"material/vector-arrange-below.svg","material-vector-bezier":"material/vector-bezier.svg","material-vector-circle-variant":"material/vector-circle-variant.svg","material-vector-circle":"material/vector-circle.svg","material-vector-combine":"material/vector-combine.svg","material-vector-curve":"material/vector-curve.svg","material-vector-difference-ab":"material/vector-difference-ab.svg","material-vector-difference-ba":"material/vector-difference-ba.svg","material-vector-difference":"material/vector-difference.svg","material-vector-ellipse":"material/vector-ellipse.svg","material-vector-intersection":"material/vector-intersection.svg","material-vector-line":"material/vector-line.svg","material-vector-link":"material/vector-link.svg","material-vector-point":"material/vector-point.svg","material-vector-polygon":"material/vector-polygon.svg","material-vector-polyline-edit":"material/vector-polyline-edit.svg","material-vector-polyline-minus":"material/vector-polyline-minus.svg","material-vector-polyline-plus":"material/vector-polyline-plus.svg","material-vector-polyline-remove":"material/vector-polyline-remove.svg","material-vector-polyline":"material/vector-polyline.svg","material-vector-radius":"material/vector-radius.svg","material-vector-rectangle":"material/vector-rectangle.svg","material-vector-selection":"material/vector-selection.svg","material-vector-square":"material/vector-square.svg","material-vector-triangle":"material/vector-triangle.svg","material-vector-union":"material/vector-union.svg","material-vhs":"material/vhs.svg","material-vibrate-off":"material/vibrate-off.svg","material-vibrate":"material/vibrate.svg","material-video-3d-off":"material/video-3d-off.svg","material-video-3d-variant":"material/video-3d-variant.svg","material-video-3d":"material/video-3d.svg","material-video-4k-box":"material/video-4k-box.svg","material-video-account":"material/video-account.svg","material-video-box-off":"material/video-box-off.svg","material-video-box":"material/video-box.svg","material-video-check-outline":"material/video-check-outline.svg","material-video-check":"material/video-check.svg","material-video-high-definition":"material/video-high-definition.svg","material-video-image":"material/video-image.svg","material-video-input-antenna":"material/video-input-antenna.svg","material-video-input-component":"material/video-input-component.svg","material-video-input-hdmi":"material/video-input-hdmi.svg","material-video-input-scart":"material/video-input-scart.svg","material-video-input-svideo":"material/video-input-svideo.svg","material-video-minus-outline":"material/video-minus-outline.svg","material-video-minus":"material/video-minus.svg","material-video-off-outline":"material/video-off-outline.svg","material-video-off":"material/video-off.svg","material-video-outline":"material/video-outline.svg","material-video-plus-outline":"material/video-plus-outline.svg","material-video-plus":"material/video-plus.svg","material-video-stabilization":"material/video-stabilization.svg","material-video-switch-outline":"material/video-switch-outline.svg","material-video-switch":"material/video-switch.svg","material-video-vintage":"material/video-vintage.svg","material-video-wireless-outline":"material/video-wireless-outline.svg","material-video-wireless":"material/video-wireless.svg","material-video":"material/video.svg","material-view-agenda-outline":"material/view-agenda-outline.svg","material-view-agenda":"material/view-agenda.svg","material-view-array-outline":"material/view-array-outline.svg","material-view-array":"material/view-array.svg","material-view-carousel-outline":"material/view-carousel-outline.svg","material-view-carousel":"material/view-carousel.svg","material-view-column-outline":"material/view-column-outline.svg","material-view-column":"material/view-column.svg","material-view-comfy-outline":"material/view-comfy-outline.svg","material-view-comfy":"material/view-comfy.svg","material-view-compact-outline":"material/view-compact-outline.svg","material-view-compact":"material/view-compact.svg","material-view-dashboard-outline":"material/view-dashboard-outline.svg","material-view-dashboard-variant-outline":"material/view-dashboard-variant-outline.svg","material-view-dashboard-variant":"material/view-dashboard-variant.svg","material-view-dashboard":"material/view-dashboard.svg","material-view-day-outline":"material/view-day-outline.svg","material-view-day":"material/view-day.svg","material-view-grid-outline":"material/view-grid-outline.svg","material-view-grid-plus-outline":"material/view-grid-plus-outline.svg","material-view-grid-plus":"material/view-grid-plus.svg","material-view-grid":"material/view-grid.svg","material-view-headline":"material/view-headline.svg","material-view-list-outline":"material/view-list-outline.svg","material-view-list":"material/view-list.svg","material-view-module-outline":"material/view-module-outline.svg","material-view-module":"material/view-module.svg","material-view-parallel-outline":"material/view-parallel-outline.svg","material-view-parallel":"material/view-parallel.svg","material-view-quilt-outline":"material/view-quilt-outline.svg","material-view-quilt":"material/view-quilt.svg","material-view-sequential-outline":"material/view-sequential-outline.svg","material-view-sequential":"material/view-sequential.svg","material-view-split-horizontal":"material/view-split-horizontal.svg","material-view-split-vertical":"material/view-split-vertical.svg","material-view-stream-outline":"material/view-stream-outline.svg","material-view-stream":"material/view-stream.svg","material-view-week-outline":"material/view-week-outline.svg","material-view-week":"material/view-week.svg","material-vimeo":"material/vimeo.svg","material-violin":"material/violin.svg","material-virtual-reality":"material/virtual-reality.svg","material-virus-outline":"material/virus-outline.svg","material-virus":"material/virus.svg","material-vk":"material/vk.svg","material-vlc":"material/vlc.svg","material-voice-off":"material/voice-off.svg","material-voicemail":"material/voicemail.svg","material-volleyball":"material/volleyball.svg","material-volume-high":"material/volume-high.svg","material-volume-low":"material/volume-low.svg","material-volume-medium":"material/volume-medium.svg","material-volume-minus":"material/volume-minus.svg","material-volume-mute":"material/volume-mute.svg","material-volume-off":"material/volume-off.svg","material-volume-plus":"material/volume-plus.svg","material-volume-source":"material/volume-source.svg","material-volume-variant-off":"material/volume-variant-off.svg","material-volume-vibrate":"material/volume-vibrate.svg","material-vote-outline":"material/vote-outline.svg","material-vote":"material/vote.svg","material-vpn":"material/vpn.svg","material-vuejs":"material/vuejs.svg","material-vuetify":"material/vuetify.svg","material-walk":"material/walk.svg","material-wall-sconce-flat-variant":"material/wall-sconce-flat-variant.svg","material-wall-sconce-flat":"material/wall-sconce-flat.svg","material-wall-sconce-round-variant":"material/wall-sconce-round-variant.svg","material-wall-sconce-round":"material/wall-sconce-round.svg","material-wall-sconce":"material/wall-sconce.svg","material-wall":"material/wall.svg","material-wallet-giftcard":"material/wallet-giftcard.svg","material-wallet-membership":"material/wallet-membership.svg","material-wallet-outline":"material/wallet-outline.svg","material-wallet-plus-outline":"material/wallet-plus-outline.svg","material-wallet-plus":"material/wallet-plus.svg","material-wallet-travel":"material/wallet-travel.svg","material-wallet":"material/wallet.svg","material-wallpaper":"material/wallpaper.svg","material-wan":"material/wan.svg","material-wardrobe-outline":"material/wardrobe-outline.svg","material-wardrobe":"material/wardrobe.svg","material-warehouse":"material/warehouse.svg","material-washing-machine-alert":"material/washing-machine-alert.svg","material-washing-machine-off":"material/washing-machine-off.svg","material-washing-machine":"material/washing-machine.svg","material-watch-export-variant":"material/watch-export-variant.svg","material-watch-export":"material/watch-export.svg","material-watch-import-variant":"material/watch-import-variant.svg","material-watch-import":"material/watch-import.svg","material-watch-variant":"material/watch-variant.svg","material-watch-vibrate-off":"material/watch-vibrate-off.svg","material-watch-vibrate":"material/watch-vibrate.svg","material-watch":"material/watch.svg","material-water-alert-outline":"material/water-alert-outline.svg","material-water-alert":"material/water-alert.svg","material-water-boiler-alert":"material/water-boiler-alert.svg","material-water-boiler-off":"material/water-boiler-off.svg","material-water-boiler":"material/water-boiler.svg","material-water-check-outline":"material/water-check-outline.svg","material-water-check":"material/water-check.svg","material-water-minus-outline":"material/water-minus-outline.svg","material-water-minus":"material/water-minus.svg","material-water-off-outline":"material/water-off-outline.svg","material-water-off":"material/water-off.svg","material-water-outline":"material/water-outline.svg","material-water-percent-alert":"material/water-percent-alert.svg","material-water-percent":"material/water-percent.svg","material-water-plus-outline":"material/water-plus-outline.svg","material-water-plus":"material/water-plus.svg","material-water-polo":"material/water-polo.svg","material-water-pump-off":"material/water-pump-off.svg","material-water-pump":"material/water-pump.svg","material-water-remove-outline":"material/water-remove-outline.svg","material-water-remove":"material/water-remove.svg","material-water-well-outline":"material/water-well-outline.svg","material-water-well":"material/water-well.svg","material-water":"material/water.svg","material-watering-can-outline":"material/watering-can-outline.svg","material-watering-can":"material/watering-can.svg","material-watermark":"material/watermark.svg","material-wave":"material/wave.svg","material-waveform":"material/waveform.svg","material-waves":"material/waves.svg","material-waze":"material/waze.svg","material-weather-cloudy-alert":"material/weather-cloudy-alert.svg","material-weather-cloudy-arrow-right":"material/weather-cloudy-arrow-right.svg","material-weather-cloudy":"material/weather-cloudy.svg","material-weather-fog":"material/weather-fog.svg","material-weather-hail":"material/weather-hail.svg","material-weather-hazy":"material/weather-hazy.svg","material-weather-hurricane":"material/weather-hurricane.svg","material-weather-lightning-rainy":"material/weather-lightning-rainy.svg","material-weather-lightning":"material/weather-lightning.svg","material-weather-night-partly-cloudy":"material/weather-night-partly-cloudy.svg","material-weather-night":"material/weather-night.svg","material-weather-partly-cloudy":"material/weather-partly-cloudy.svg","material-weather-partly-lightning":"material/weather-partly-lightning.svg","material-weather-partly-rainy":"material/weather-partly-rainy.svg","material-weather-partly-snowy-rainy":"material/weather-partly-snowy-rainy.svg","material-weather-partly-snowy":"material/weather-partly-snowy.svg","material-weather-pouring":"material/weather-pouring.svg","material-weather-rainy":"material/weather-rainy.svg","material-weather-snowy-heavy":"material/weather-snowy-heavy.svg","material-weather-snowy-rainy":"material/weather-snowy-rainy.svg","material-weather-snowy":"material/weather-snowy.svg","material-weather-sunny-alert":"material/weather-sunny-alert.svg","material-weather-sunny-off":"material/weather-sunny-off.svg","material-weather-sunny":"material/weather-sunny.svg","material-weather-sunset-down":"material/weather-sunset-down.svg","material-weather-sunset-up":"material/weather-sunset-up.svg","material-weather-sunset":"material/weather-sunset.svg","material-weather-tornado":"material/weather-tornado.svg","material-weather-windy-variant":"material/weather-windy-variant.svg","material-weather-windy":"material/weather-windy.svg","material-web-box":"material/web-box.svg","material-web-clock":"material/web-clock.svg","material-web":"material/web.svg","material-webcam-off":"material/webcam-off.svg","material-webcam":"material/webcam.svg","material-webhook":"material/webhook.svg","material-webpack":"material/webpack.svg","material-webrtc":"material/webrtc.svg","material-wechat":"material/wechat.svg","material-weight-gram":"material/weight-gram.svg","material-weight-kilogram":"material/weight-kilogram.svg","material-weight-lifter":"material/weight-lifter.svg","material-weight-pound":"material/weight-pound.svg","material-weight":"material/weight.svg","material-whatsapp":"material/whatsapp.svg","material-wheel-barrow":"material/wheel-barrow.svg","material-wheelchair-accessibility":"material/wheelchair-accessibility.svg","material-whistle-outline":"material/whistle-outline.svg","material-whistle":"material/whistle.svg","material-white-balance-auto":"material/white-balance-auto.svg","material-white-balance-incandescent":"material/white-balance-incandescent.svg","material-white-balance-iridescent":"material/white-balance-iridescent.svg","material-white-balance-sunny":"material/white-balance-sunny.svg","material-widgets-outline":"material/widgets-outline.svg","material-widgets":"material/widgets.svg","material-wifi-alert":"material/wifi-alert.svg","material-wifi-arrow-down":"material/wifi-arrow-down.svg","material-wifi-arrow-left-right":"material/wifi-arrow-left-right.svg","material-wifi-arrow-left":"material/wifi-arrow-left.svg","material-wifi-arrow-right":"material/wifi-arrow-right.svg","material-wifi-arrow-up-down":"material/wifi-arrow-up-down.svg","material-wifi-arrow-up":"material/wifi-arrow-up.svg","material-wifi-cancel":"material/wifi-cancel.svg","material-wifi-check":"material/wifi-check.svg","material-wifi-cog":"material/wifi-cog.svg","material-wifi-lock-open":"material/wifi-lock-open.svg","material-wifi-lock":"material/wifi-lock.svg","material-wifi-marker":"material/wifi-marker.svg","material-wifi-minus":"material/wifi-minus.svg","material-wifi-off":"material/wifi-off.svg","material-wifi-plus":"material/wifi-plus.svg","material-wifi-refresh":"material/wifi-refresh.svg","material-wifi-remove":"material/wifi-remove.svg","material-wifi-settings":"material/wifi-settings.svg","material-wifi-star":"material/wifi-star.svg","material-wifi-strength-1-alert":"material/wifi-strength-1-alert.svg","material-wifi-strength-1-lock-open":"material/wifi-strength-1-lock-open.svg","material-wifi-strength-1-lock":"material/wifi-strength-1-lock.svg","material-wifi-strength-1":"material/wifi-strength-1.svg","material-wifi-strength-2-alert":"material/wifi-strength-2-alert.svg","material-wifi-strength-2-lock-open":"material/wifi-strength-2-lock-open.svg","material-wifi-strength-2-lock":"material/wifi-strength-2-lock.svg","material-wifi-strength-2":"material/wifi-strength-2.svg","material-wifi-strength-3-alert":"material/wifi-strength-3-alert.svg","material-wifi-strength-3-lock-open":"material/wifi-strength-3-lock-open.svg","material-wifi-strength-3-lock":"material/wifi-strength-3-lock.svg","material-wifi-strength-3":"material/wifi-strength-3.svg","material-wifi-strength-4-alert":"material/wifi-strength-4-alert.svg","material-wifi-strength-4-lock-open":"material/wifi-strength-4-lock-open.svg","material-wifi-strength-4-lock":"material/wifi-strength-4-lock.svg","material-wifi-strength-4":"material/wifi-strength-4.svg","material-wifi-strength-alert-outline":"material/wifi-strength-alert-outline.svg","material-wifi-strength-lock-open-outline":"material/wifi-strength-lock-open-outline.svg","material-wifi-strength-lock-outline":"material/wifi-strength-lock-outline.svg","material-wifi-strength-off-outline":"material/wifi-strength-off-outline.svg","material-wifi-strength-off":"material/wifi-strength-off.svg","material-wifi-strength-outline":"material/wifi-strength-outline.svg","material-wifi-sync":"material/wifi-sync.svg","material-wifi":"material/wifi.svg","material-wikipedia":"material/wikipedia.svg","material-wind-turbine":"material/wind-turbine.svg","material-window-close":"material/window-close.svg","material-window-closed-variant":"material/window-closed-variant.svg","material-window-closed":"material/window-closed.svg","material-window-maximize":"material/window-maximize.svg","material-window-minimize":"material/window-minimize.svg","material-window-open-variant":"material/window-open-variant.svg","material-window-open":"material/window-open.svg","material-window-restore":"material/window-restore.svg","material-window-shutter-alert":"material/window-shutter-alert.svg","material-window-shutter-open":"material/window-shutter-open.svg","material-window-shutter":"material/window-shutter.svg","material-windsock":"material/windsock.svg","material-wiper-wash":"material/wiper-wash.svg","material-wiper":"material/wiper.svg","material-wizard-hat":"material/wizard-hat.svg","material-wordpress":"material/wordpress.svg","material-wrap-disabled":"material/wrap-disabled.svg","material-wrap":"material/wrap.svg","material-wrench-outline":"material/wrench-outline.svg","material-wrench":"material/wrench.svg","material-xamarin-outline":"material/xamarin-outline.svg","material-xamarin":"material/xamarin.svg","material-xing":"material/xing.svg","material-xml":"material/xml.svg","material-xmpp":"material/xmpp.svg","material-y-combinator":"material/y-combinator.svg","material-yahoo":"material/yahoo.svg","material-yeast":"material/yeast.svg","material-yin-yang":"material/yin-yang.svg","material-yoga":"material/yoga.svg","material-youtube-gaming":"material/youtube-gaming.svg","material-youtube-studio":"material/youtube-studio.svg","material-youtube-subscription":"material/youtube-subscription.svg","material-youtube-tv":"material/youtube-tv.svg","material-youtube":"material/youtube.svg","material-yurt":"material/yurt.svg","material-z-wave":"material/z-wave.svg","material-zend":"material/zend.svg","material-zigbee":"material/zigbee.svg","material-zip-box-outline":"material/zip-box-outline.svg","material-zip-box":"material/zip-box.svg","material-zip-disk":"material/zip-disk.svg","material-zodiac-aquarius":"material/zodiac-aquarius.svg","material-zodiac-aries":"material/zodiac-aries.svg","material-zodiac-cancer":"material/zodiac-cancer.svg","material-zodiac-capricorn":"material/zodiac-capricorn.svg","material-zodiac-gemini":"material/zodiac-gemini.svg","material-zodiac-leo":"material/zodiac-leo.svg","material-zodiac-libra":"material/zodiac-libra.svg","material-zodiac-pisces":"material/zodiac-pisces.svg","material-zodiac-sagittarius":"material/zodiac-sagittarius.svg","material-zodiac-scorpio":"material/zodiac-scorpio.svg","material-zodiac-taurus":"material/zodiac-taurus.svg","material-zodiac-virgo":"material/zodiac-virgo.svg","octicons-alert-16":"octicons/alert-16.svg","octicons-alert-24":"octicons/alert-24.svg","octicons-archive-16":"octicons/archive-16.svg","octicons-archive-24":"octicons/archive-24.svg","octicons-arrow-both-16":"octicons/arrow-both-16.svg","octicons-arrow-both-24":"octicons/arrow-both-24.svg","octicons-arrow-down-16":"octicons/arrow-down-16.svg","octicons-arrow-down-24":"octicons/arrow-down-24.svg","octicons-arrow-down-left-24":"octicons/arrow-down-left-24.svg","octicons-arrow-down-right-24":"octicons/arrow-down-right-24.svg","octicons-arrow-left-16":"octicons/arrow-left-16.svg","octicons-arrow-left-24":"octicons/arrow-left-24.svg","octicons-arrow-right-16":"octicons/arrow-right-16.svg","octicons-arrow-right-24":"octicons/arrow-right-24.svg","octicons-arrow-switch-16":"octicons/arrow-switch-16.svg","octicons-arrow-switch-24":"octicons/arrow-switch-24.svg","octicons-arrow-up-16":"octicons/arrow-up-16.svg","octicons-arrow-up-24":"octicons/arrow-up-24.svg","octicons-arrow-up-left-24":"octicons/arrow-up-left-24.svg","octicons-arrow-up-right-24":"octicons/arrow-up-right-24.svg","octicons-beaker-16":"octicons/beaker-16.svg","octicons-beaker-24":"octicons/beaker-24.svg","octicons-bell-16":"octicons/bell-16.svg","octicons-bell-24":"octicons/bell-24.svg","octicons-bell-fill-24":"octicons/bell-fill-24.svg","octicons-bell-slash-16":"octicons/bell-slash-16.svg","octicons-bell-slash-24":"octicons/bell-slash-24.svg","octicons-bold-16":"octicons/bold-16.svg","octicons-bold-24":"octicons/bold-24.svg","octicons-book-16":"octicons/book-16.svg","octicons-book-24":"octicons/book-24.svg","octicons-bookmark-16":"octicons/bookmark-16.svg","octicons-bookmark-24":"octicons/bookmark-24.svg","octicons-bookmark-fill-24":"octicons/bookmark-fill-24.svg","octicons-bookmark-slash-16":"octicons/bookmark-slash-16.svg","octicons-bookmark-slash-24":"octicons/bookmark-slash-24.svg","octicons-bookmark-slash-fill-24":"octicons/bookmark-slash-fill-24.svg","octicons-briefcase-16":"octicons/briefcase-16.svg","octicons-briefcase-24":"octicons/briefcase-24.svg","octicons-broadcast-16":"octicons/broadcast-16.svg","octicons-broadcast-24":"octicons/broadcast-24.svg","octicons-browser-16":"octicons/browser-16.svg","octicons-bug-16":"octicons/bug-16.svg","octicons-bug-24":"octicons/bug-24.svg","octicons-calendar-16":"octicons/calendar-16.svg","octicons-calendar-24":"octicons/calendar-24.svg","octicons-check-16":"octicons/check-16.svg","octicons-check-24":"octicons/check-24.svg","octicons-check-circle-16":"octicons/check-circle-16.svg","octicons-check-circle-24":"octicons/check-circle-24.svg","octicons-check-circle-fill-16":"octicons/check-circle-fill-16.svg","octicons-check-circle-fill-24":"octicons/check-circle-fill-24.svg","octicons-checklist-16":"octicons/checklist-16.svg","octicons-checklist-24":"octicons/checklist-24.svg","octicons-chevron-down-16":"octicons/chevron-down-16.svg","octicons-chevron-down-24":"octicons/chevron-down-24.svg","octicons-chevron-left-16":"octicons/chevron-left-16.svg","octicons-chevron-left-24":"octicons/chevron-left-24.svg","octicons-chevron-right-16":"octicons/chevron-right-16.svg","octicons-chevron-right-24":"octicons/chevron-right-24.svg","octicons-chevron-up-16":"octicons/chevron-up-16.svg","octicons-chevron-up-24":"octicons/chevron-up-24.svg","octicons-circle-16":"octicons/circle-16.svg","octicons-circle-24":"octicons/circle-24.svg","octicons-circle-slash-16":"octicons/circle-slash-16.svg","octicons-circle-slash-24":"octicons/circle-slash-24.svg","octicons-clippy-16":"octicons/clippy-16.svg","octicons-clippy-24":"octicons/clippy-24.svg","octicons-clock-16":"octicons/clock-16.svg","octicons-clock-24":"octicons/clock-24.svg","octicons-code-16":"octicons/code-16.svg","octicons-code-24":"octicons/code-24.svg","octicons-code-review-16":"octicons/code-review-16.svg","octicons-code-review-24":"octicons/code-review-24.svg","octicons-code-square-16":"octicons/code-square-16.svg","octicons-code-square-24":"octicons/code-square-24.svg","octicons-comment-16":"octicons/comment-16.svg","octicons-comment-24":"octicons/comment-24.svg","octicons-comment-discussion-16":"octicons/comment-discussion-16.svg","octicons-comment-discussion-24":"octicons/comment-discussion-24.svg","octicons-commit-24":"octicons/commit-24.svg","octicons-container-16":"octicons/container-16.svg","octicons-container-24":"octicons/container-24.svg","octicons-copy-24":"octicons/copy-24.svg","octicons-cpu-16":"octicons/cpu-16.svg","octicons-cpu-24":"octicons/cpu-24.svg","octicons-credit-card-16":"octicons/credit-card-16.svg","octicons-credit-card-24":"octicons/credit-card-24.svg","octicons-cross-reference-16":"octicons/cross-reference-16.svg","octicons-cross-reference-24":"octicons/cross-reference-24.svg","octicons-dash-16":"octicons/dash-16.svg","octicons-dash-24":"octicons/dash-24.svg","octicons-database-16":"octicons/database-16.svg","octicons-database-24":"octicons/database-24.svg","octicons-desktop-download-16":"octicons/desktop-download-16.svg","octicons-desktop-download-24":"octicons/desktop-download-24.svg","octicons-device-camera-16":"octicons/device-camera-16.svg","octicons-device-camera-video-16":"octicons/device-camera-video-16.svg","octicons-device-camera-video-24":"octicons/device-camera-video-24.svg","octicons-device-desktop-16":"octicons/device-desktop-16.svg","octicons-device-desktop-24":"octicons/device-desktop-24.svg","octicons-device-mobile-16":"octicons/device-mobile-16.svg","octicons-device-mobile-24":"octicons/device-mobile-24.svg","octicons-diff-16":"octicons/diff-16.svg","octicons-diff-24":"octicons/diff-24.svg","octicons-diff-added-16":"octicons/diff-added-16.svg","octicons-diff-ignored-16":"octicons/diff-ignored-16.svg","octicons-diff-modified-16":"octicons/diff-modified-16.svg","octicons-diff-removed-16":"octicons/diff-removed-16.svg","octicons-diff-renamed-16":"octicons/diff-renamed-16.svg","octicons-dot-16":"octicons/dot-16.svg","octicons-dot-24":"octicons/dot-24.svg","octicons-dot-fill-16":"octicons/dot-fill-16.svg","octicons-dot-fill-24":"octicons/dot-fill-24.svg","octicons-download-16":"octicons/download-16.svg","octicons-download-24":"octicons/download-24.svg","octicons-ellipsis-16":"octicons/ellipsis-16.svg","octicons-eye-16":"octicons/eye-16.svg","octicons-eye-24":"octicons/eye-24.svg","octicons-eye-closed-16":"octicons/eye-closed-16.svg","octicons-eye-closed-24":"octicons/eye-closed-24.svg","octicons-file-16":"octicons/file-16.svg","octicons-file-24":"octicons/file-24.svg","octicons-file-badge-16":"octicons/file-badge-16.svg","octicons-file-binary-16":"octicons/file-binary-16.svg","octicons-file-binary-24":"octicons/file-binary-24.svg","octicons-file-code-16":"octicons/file-code-16.svg","octicons-file-code-24":"octicons/file-code-24.svg","octicons-file-diff-16":"octicons/file-diff-16.svg","octicons-file-diff-24":"octicons/file-diff-24.svg","octicons-file-directory-16":"octicons/file-directory-16.svg","octicons-file-directory-24":"octicons/file-directory-24.svg","octicons-file-directory-fill-24":"octicons/file-directory-fill-24.svg","octicons-file-media-24":"octicons/file-media-24.svg","octicons-file-submodule-16":"octicons/file-submodule-16.svg","octicons-file-submodule-24":"octicons/file-submodule-24.svg","octicons-file-symlink-file-16":"octicons/file-symlink-file-16.svg","octicons-file-symlink-file-24":"octicons/file-symlink-file-24.svg","octicons-file-zip-16":"octicons/file-zip-16.svg","octicons-file-zip-24":"octicons/file-zip-24.svg","octicons-filter-16":"octicons/filter-16.svg","octicons-filter-24":"octicons/filter-24.svg","octicons-flame-16":"octicons/flame-16.svg","octicons-flame-24":"octicons/flame-24.svg","octicons-fold-16":"octicons/fold-16.svg","octicons-fold-24":"octicons/fold-24.svg","octicons-fold-down-16":"octicons/fold-down-16.svg","octicons-fold-down-24":"octicons/fold-down-24.svg","octicons-fold-up-16":"octicons/fold-up-16.svg","octicons-fold-up-24":"octicons/fold-up-24.svg","octicons-gear-16":"octicons/gear-16.svg","octicons-gear-24":"octicons/gear-24.svg","octicons-gift-16":"octicons/gift-16.svg","octicons-gift-24":"octicons/gift-24.svg","octicons-git-branch-16":"octicons/git-branch-16.svg","octicons-git-branch-24":"octicons/git-branch-24.svg","octicons-git-commit-16":"octicons/git-commit-16.svg","octicons-git-commit-24":"octicons/git-commit-24.svg","octicons-git-compare-16":"octicons/git-compare-16.svg","octicons-git-compare-24":"octicons/git-compare-24.svg","octicons-git-fork-24":"octicons/git-fork-24.svg","octicons-git-merge-16":"octicons/git-merge-16.svg","octicons-git-merge-24":"octicons/git-merge-24.svg","octicons-git-pull-request-16":"octicons/git-pull-request-16.svg","octicons-git-pull-request-24":"octicons/git-pull-request-24.svg","octicons-globe-16":"octicons/globe-16.svg","octicons-globe-24":"octicons/globe-24.svg","octicons-grabber-16":"octicons/grabber-16.svg","octicons-grabber-24":"octicons/grabber-24.svg","octicons-graph-16":"octicons/graph-16.svg","octicons-graph-24":"octicons/graph-24.svg","octicons-heading-16":"octicons/heading-16.svg","octicons-heading-24":"octicons/heading-24.svg","octicons-heart-16":"octicons/heart-16.svg","octicons-heart-24":"octicons/heart-24.svg","octicons-heart-fill-16":"octicons/heart-fill-16.svg","octicons-heart-fill-24":"octicons/heart-fill-24.svg","octicons-history-16":"octicons/history-16.svg","octicons-history-24":"octicons/history-24.svg","octicons-home-16":"octicons/home-16.svg","octicons-home-24":"octicons/home-24.svg","octicons-home-fill-24":"octicons/home-fill-24.svg","octicons-horizontal-rule-16":"octicons/horizontal-rule-16.svg","octicons-horizontal-rule-24":"octicons/horizontal-rule-24.svg","octicons-hourglass-16":"octicons/hourglass-16.svg","octicons-hourglass-24":"octicons/hourglass-24.svg","octicons-hubot-16":"octicons/hubot-16.svg","octicons-hubot-24":"octicons/hubot-24.svg","octicons-image-16":"octicons/image-16.svg","octicons-image-24":"octicons/image-24.svg","octicons-inbox-16":"octicons/inbox-16.svg","octicons-inbox-24":"octicons/inbox-24.svg","octicons-infinity-16":"octicons/infinity-16.svg","octicons-infinity-24":"octicons/infinity-24.svg","octicons-info-16":"octicons/info-16.svg","octicons-info-24":"octicons/info-24.svg","octicons-insights-24":"octicons/insights-24.svg","octicons-issue-closed-16":"octicons/issue-closed-16.svg","octicons-issue-closed-24":"octicons/issue-closed-24.svg","octicons-issue-opened-16":"octicons/issue-opened-16.svg","octicons-issue-opened-24":"octicons/issue-opened-24.svg","octicons-issue-reopened-16":"octicons/issue-reopened-16.svg","octicons-issue-reopened-24":"octicons/issue-reopened-24.svg","octicons-italic-16":"octicons/italic-16.svg","octicons-italic-24":"octicons/italic-24.svg","octicons-kebab-horizontal-16":"octicons/kebab-horizontal-16.svg","octicons-kebab-horizontal-24":"octicons/kebab-horizontal-24.svg","octicons-key-16":"octicons/key-16.svg","octicons-key-24":"octicons/key-24.svg","octicons-law-16":"octicons/law-16.svg","octicons-law-24":"octicons/law-24.svg","octicons-light-bulb-16":"octicons/light-bulb-16.svg","octicons-light-bulb-24":"octicons/light-bulb-24.svg","octicons-link-16":"octicons/link-16.svg","octicons-link-24":"octicons/link-24.svg","octicons-link-external-16":"octicons/link-external-16.svg","octicons-link-external-24":"octicons/link-external-24.svg","octicons-list-ordered-16":"octicons/list-ordered-16.svg","octicons-list-ordered-24":"octicons/list-ordered-24.svg","octicons-list-unordered-16":"octicons/list-unordered-16.svg","octicons-list-unordered-24":"octicons/list-unordered-24.svg","octicons-location-16":"octicons/location-16.svg","octicons-location-24":"octicons/location-24.svg","octicons-lock-16":"octicons/lock-16.svg","octicons-lock-24":"octicons/lock-24.svg","octicons-logo-gist-16":"octicons/logo-gist-16.svg","octicons-logo-github-16":"octicons/logo-github-16.svg","octicons-mail-16":"octicons/mail-16.svg","octicons-mail-24":"octicons/mail-24.svg","octicons-mark-github-16":"octicons/mark-github-16.svg","octicons-markdown-16":"octicons/markdown-16.svg","octicons-megaphone-16":"octicons/megaphone-16.svg","octicons-megaphone-24":"octicons/megaphone-24.svg","octicons-mention-16":"octicons/mention-16.svg","octicons-mention-24":"octicons/mention-24.svg","octicons-meter-16":"octicons/meter-16.svg","octicons-milestone-16":"octicons/milestone-16.svg","octicons-milestone-24":"octicons/milestone-24.svg","octicons-mirror-16":"octicons/mirror-16.svg","octicons-mirror-24":"octicons/mirror-24.svg","octicons-moon-16":"octicons/moon-16.svg","octicons-moon-24":"octicons/moon-24.svg","octicons-mortar-board-16":"octicons/mortar-board-16.svg","octicons-mortar-board-24":"octicons/mortar-board-24.svg","octicons-multi-select-16":"octicons/multi-select-16.svg","octicons-multi-select-24":"octicons/multi-select-24.svg","octicons-mute-16":"octicons/mute-16.svg","octicons-mute-24":"octicons/mute-24.svg","octicons-no-entry-16":"octicons/no-entry-16.svg","octicons-no-entry-24":"octicons/no-entry-24.svg","octicons-north-star-16":"octicons/north-star-16.svg","octicons-north-star-24":"octicons/north-star-24.svg","octicons-note-16":"octicons/note-16.svg","octicons-note-24":"octicons/note-24.svg","octicons-number-16":"octicons/number-16.svg","octicons-number-24":"octicons/number-24.svg","octicons-octoface-16":"octicons/octoface-16.svg","octicons-octoface-24":"octicons/octoface-24.svg","octicons-organization-16":"octicons/organization-16.svg","octicons-organization-24":"octicons/organization-24.svg","octicons-package-16":"octicons/package-16.svg","octicons-package-24":"octicons/package-24.svg","octicons-package-dependencies-16":"octicons/package-dependencies-16.svg","octicons-package-dependencies-24":"octicons/package-dependencies-24.svg","octicons-package-dependents-16":"octicons/package-dependents-16.svg","octicons-package-dependents-24":"octicons/package-dependents-24.svg","octicons-paintbrush-16":"octicons/paintbrush-16.svg","octicons-paper-airplane-16":"octicons/paper-airplane-16.svg","octicons-paper-airplane-24":"octicons/paper-airplane-24.svg","octicons-pencil-16":"octicons/pencil-16.svg","octicons-pencil-24":"octicons/pencil-24.svg","octicons-people-16":"octicons/people-16.svg","octicons-people-24":"octicons/people-24.svg","octicons-person-16":"octicons/person-16.svg","octicons-person-24":"octicons/person-24.svg","octicons-pin-16":"octicons/pin-16.svg","octicons-pin-24":"octicons/pin-24.svg","octicons-play-16":"octicons/play-16.svg","octicons-play-24":"octicons/play-24.svg","octicons-plug-16":"octicons/plug-16.svg","octicons-plug-24":"octicons/plug-24.svg","octicons-plus-16":"octicons/plus-16.svg","octicons-plus-24":"octicons/plus-24.svg","octicons-plus-circle-16":"octicons/plus-circle-16.svg","octicons-plus-circle-24":"octicons/plus-circle-24.svg","octicons-project-16":"octicons/project-16.svg","octicons-project-24":"octicons/project-24.svg","octicons-pulse-16":"octicons/pulse-16.svg","octicons-pulse-24":"octicons/pulse-24.svg","octicons-question-16":"octicons/question-16.svg","octicons-question-24":"octicons/question-24.svg","octicons-quote-16":"octicons/quote-16.svg","octicons-quote-24":"octicons/quote-24.svg","octicons-reply-16":"octicons/reply-16.svg","octicons-reply-24":"octicons/reply-24.svg","octicons-repo-16":"octicons/repo-16.svg","octicons-repo-24":"octicons/repo-24.svg","octicons-repo-clone-16":"octicons/repo-clone-16.svg","octicons-repo-forked-16":"octicons/repo-forked-16.svg","octicons-repo-pull-16":"octicons/repo-pull-16.svg","octicons-repo-push-16":"octicons/repo-push-16.svg","octicons-repo-push-24":"octicons/repo-push-24.svg","octicons-repo-template-16":"octicons/repo-template-16.svg","octicons-repo-template-24":"octicons/repo-template-24.svg","octicons-report-16":"octicons/report-16.svg","octicons-report-24":"octicons/report-24.svg","octicons-rocket-16":"octicons/rocket-16.svg","octicons-rocket-24":"octicons/rocket-24.svg","octicons-rss-16":"octicons/rss-16.svg","octicons-rss-24":"octicons/rss-24.svg","octicons-ruby-16":"octicons/ruby-16.svg","octicons-ruby-24":"octicons/ruby-24.svg","octicons-screen-full-16":"octicons/screen-full-16.svg","octicons-screen-full-24":"octicons/screen-full-24.svg","octicons-screen-normal-16":"octicons/screen-normal-16.svg","octicons-screen-normal-24":"octicons/screen-normal-24.svg","octicons-search-16":"octicons/search-16.svg","octicons-search-24":"octicons/search-24.svg","octicons-server-16":"octicons/server-16.svg","octicons-server-24":"octicons/server-24.svg","octicons-share-16":"octicons/share-16.svg","octicons-share-24":"octicons/share-24.svg","octicons-share-android-16":"octicons/share-android-16.svg","octicons-share-android-24":"octicons/share-android-24.svg","octicons-shield-16":"octicons/shield-16.svg","octicons-shield-24":"octicons/shield-24.svg","octicons-shield-check-16":"octicons/shield-check-16.svg","octicons-shield-check-24":"octicons/shield-check-24.svg","octicons-shield-lock-16":"octicons/shield-lock-16.svg","octicons-shield-lock-24":"octicons/shield-lock-24.svg","octicons-shield-x-16":"octicons/shield-x-16.svg","octicons-shield-x-24":"octicons/shield-x-24.svg","octicons-sign-in-16":"octicons/sign-in-16.svg","octicons-sign-in-24":"octicons/sign-in-24.svg","octicons-sign-out-16":"octicons/sign-out-16.svg","octicons-sign-out-24":"octicons/sign-out-24.svg","octicons-skip-16":"octicons/skip-16.svg","octicons-skip-24":"octicons/skip-24.svg","octicons-smiley-16":"octicons/smiley-16.svg","octicons-smiley-24":"octicons/smiley-24.svg","octicons-square-16":"octicons/square-16.svg","octicons-square-24":"octicons/square-24.svg","octicons-square-fill-16":"octicons/square-fill-16.svg","octicons-square-fill-24":"octicons/square-fill-24.svg","octicons-squirrel-16":"octicons/squirrel-16.svg","octicons-squirrel-24":"octicons/squirrel-24.svg","octicons-star-16":"octicons/star-16.svg","octicons-star-24":"octicons/star-24.svg","octicons-star-fill-16":"octicons/star-fill-16.svg","octicons-star-fill-24":"octicons/star-fill-24.svg","octicons-stop-16":"octicons/stop-16.svg","octicons-stop-24":"octicons/stop-24.svg","octicons-stopwatch-16":"octicons/stopwatch-16.svg","octicons-stopwatch-24":"octicons/stopwatch-24.svg","octicons-strikethrough-16":"octicons/strikethrough-16.svg","octicons-strikethrough-24":"octicons/strikethrough-24.svg","octicons-sun-16":"octicons/sun-16.svg","octicons-sun-24":"octicons/sun-24.svg","octicons-sync-16":"octicons/sync-16.svg","octicons-sync-24":"octicons/sync-24.svg","octicons-tab-24":"octicons/tab-24.svg","octicons-tag-16":"octicons/tag-16.svg","octicons-tag-24":"octicons/tag-24.svg","octicons-tasklist-16":"octicons/tasklist-16.svg","octicons-tasklist-24":"octicons/tasklist-24.svg","octicons-telescope-16":"octicons/telescope-16.svg","octicons-telescope-24":"octicons/telescope-24.svg","octicons-terminal-16":"octicons/terminal-16.svg","octicons-terminal-24":"octicons/terminal-24.svg","octicons-three-bars-16":"octicons/three-bars-16.svg","octicons-thumbsdown-16":"octicons/thumbsdown-16.svg","octicons-thumbsdown-24":"octicons/thumbsdown-24.svg","octicons-thumbsup-16":"octicons/thumbsup-16.svg","octicons-thumbsup-24":"octicons/thumbsup-24.svg","octicons-tools-16":"octicons/tools-16.svg","octicons-tools-24":"octicons/tools-24.svg","octicons-trash-16":"octicons/trash-16.svg","octicons-trash-24":"octicons/trash-24.svg","octicons-triangle-down-16":"octicons/triangle-down-16.svg","octicons-triangle-down-24":"octicons/triangle-down-24.svg","octicons-triangle-left-16":"octicons/triangle-left-16.svg","octicons-triangle-left-24":"octicons/triangle-left-24.svg","octicons-triangle-right-16":"octicons/triangle-right-16.svg","octicons-triangle-right-24":"octicons/triangle-right-24.svg","octicons-triangle-up-16":"octicons/triangle-up-16.svg","octicons-triangle-up-24":"octicons/triangle-up-24.svg","octicons-typography-16":"octicons/typography-16.svg","octicons-typography-24":"octicons/typography-24.svg","octicons-unfold-16":"octicons/unfold-16.svg","octicons-unfold-24":"octicons/unfold-24.svg","octicons-unlock-16":"octicons/unlock-16.svg","octicons-unlock-24":"octicons/unlock-24.svg","octicons-unmute-16":"octicons/unmute-16.svg","octicons-unmute-24":"octicons/unmute-24.svg","octicons-unverified-16":"octicons/unverified-16.svg","octicons-unverified-24":"octicons/unverified-24.svg","octicons-upload-16":"octicons/upload-16.svg","octicons-upload-24":"octicons/upload-24.svg","octicons-verified-16":"octicons/verified-16.svg","octicons-verified-24":"octicons/verified-24.svg","octicons-versions-16":"octicons/versions-16.svg","octicons-versions-24":"octicons/versions-24.svg","octicons-video-16":"octicons/video-16.svg","octicons-video-24":"octicons/video-24.svg","octicons-workflow-16":"octicons/workflow-16.svg","octicons-workflow-24":"octicons/workflow-24.svg","octicons-x-16":"octicons/x-16.svg","octicons-x-24":"octicons/x-24.svg","octicons-x-circle-16":"octicons/x-circle-16.svg","octicons-x-circle-24":"octicons/x-circle-24.svg","octicons-x-circle-fill-16":"octicons/x-circle-fill-16.svg","octicons-x-circle-fill-24":"octicons/x-circle-fill-24.svg","octicons-zap-16":"octicons/zap-16.svg","octicons-zap-24":"octicons/zap-24.svg"}},"emojis":{"base":"https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/","data":{"100":"1f4af.svg","1234":"1f522.svg","8ball":"1f3b1.svg","a":"1f170.svg","ab":"1f18e.svg","abacus":"1f9ee.svg","abc":"1f524.svg","abcd":"1f521.svg","accept":"1f251.svg","adhesive_bandage":"1fa79.svg","adult":"1f9d1.svg","adult_tone1":"1f9d1-1f3fb.svg","adult_tone2":"1f9d1-1f3fc.svg","adult_tone3":"1f9d1-1f3fd.svg","adult_tone4":"1f9d1-1f3fe.svg","adult_tone5":"1f9d1-1f3ff.svg","aerial_tramway":"1f6a1.svg","airplane":"2708.svg","airplane_arriving":"1f6ec.svg","airplane_departure":"1f6eb.svg","airplane_small":"1f6e9.svg","alarm_clock":"23f0.svg","alembic":"2697.svg","alien":"1f47d.svg","ambulance":"1f691.svg","amphora":"1f3fa.svg","anchor":"2693.svg","angel":"1f47c.svg","angel_tone1":"1f47c-1f3fb.svg","angel_tone2":"1f47c-1f3fc.svg","angel_tone3":"1f47c-1f3fd.svg","angel_tone4":"1f47c-1f3fe.svg","angel_tone5":"1f47c-1f3ff.svg","anger":"1f4a2.svg","anger_right":"1f5ef.svg","angry":"1f620.svg","anguished":"1f627.svg","ant":"1f41c.svg","apple":"1f34e.svg","aquarius":"2652.svg","aries":"2648.svg","arrow_backward":"25c0.svg","arrow_double_down":"23ec.svg","arrow_double_up":"23eb.svg","arrow_down":"2b07.svg","arrow_down_small":"1f53d.svg","arrow_forward":"25b6.svg","arrow_heading_down":"2935.svg","arrow_heading_up":"2934.svg","arrow_left":"2b05.svg","arrow_lower_left":"2199.svg","arrow_lower_right":"2198.svg","arrow_right":"27a1.svg","arrow_right_hook":"21aa.svg","arrow_up":"2b06.svg","arrow_up_down":"2195.svg","arrow_up_small":"1f53c.svg","arrow_upper_left":"2196.svg","arrow_upper_right":"2197.svg","arrows_clockwise":"1f503.svg","arrows_counterclockwise":"1f504.svg","art":"1f3a8.svg","articulated_lorry":"1f69b.svg","artist":"1f9d1-200d-1f3a8.svg","artist_tone1":"1f9d1-1f3fb-200d-1f3a8.svg","artist_tone2":"1f9d1-1f3fc-200d-1f3a8.svg","artist_tone3":"1f9d1-1f3fd-200d-1f3a8.svg","artist_tone4":"1f9d1-1f3fe-200d-1f3a8.svg","artist_tone5":"1f9d1-1f3ff-200d-1f3a8.svg","asterisk":"2a-20e3.svg","astonished":"1f632.svg","astronaut":"1f9d1-200d-1f680.svg","astronaut_tone1":"1f9d1-1f3fb-200d-1f680.svg","astronaut_tone2":"1f9d1-1f3fc-200d-1f680.svg","astronaut_tone3":"1f9d1-1f3fd-200d-1f680.svg","astronaut_tone4":"1f9d1-1f3fe-200d-1f680.svg","astronaut_tone5":"1f9d1-1f3ff-200d-1f680.svg","athletic_shoe":"1f45f.svg","atm":"1f3e7.svg","atom":"269b.svg","auto_rickshaw":"1f6fa.svg","avocado":"1f951.svg","axe":"1fa93.svg","b":"1f171.svg","baby":"1f476.svg","baby_bottle":"1f37c.svg","baby_chick":"1f424.svg","baby_symbol":"1f6bc.svg","baby_tone1":"1f476-1f3fb.svg","baby_tone2":"1f476-1f3fc.svg","baby_tone3":"1f476-1f3fd.svg","baby_tone4":"1f476-1f3fe.svg","baby_tone5":"1f476-1f3ff.svg","back":"1f519.svg","bacon":"1f953.svg","badger":"1f9a1.svg","badminton":"1f3f8.svg","bagel":"1f96f.svg","baggage_claim":"1f6c4.svg","bald":"1f9b2.svg","ballet_shoes":"1fa70.svg","balloon":"1f388.svg","ballot_box":"1f5f3.svg","ballot_box_with_check":"2611.svg","bamboo":"1f38d.svg","banana":"1f34c.svg","bangbang":"203c.svg","banjo":"1fa95.svg","bank":"1f3e6.svg","bar_chart":"1f4ca.svg","barber":"1f488.svg","baseball":"26be.svg","basket":"1f9fa.svg","basketball":"1f3c0.svg","bat":"1f987.svg","bath":"1f6c0.svg","bath_tone1":"1f6c0-1f3fb.svg","bath_tone2":"1f6c0-1f3fc.svg","bath_tone3":"1f6c0-1f3fd.svg","bath_tone4":"1f6c0-1f3fe.svg","bath_tone5":"1f6c0-1f3ff.svg","bathtub":"1f6c1.svg","battery":"1f50b.svg","beach":"1f3d6.svg","beach_umbrella":"26f1.svg","bear":"1f43b.svg","bearded_person":"1f9d4.svg","bearded_person_tone1":"1f9d4-1f3fb.svg","bearded_person_tone2":"1f9d4-1f3fc.svg","bearded_person_tone3":"1f9d4-1f3fd.svg","bearded_person_tone4":"1f9d4-1f3fe.svg","bearded_person_tone5":"1f9d4-1f3ff.svg","bed":"1f6cf.svg","bee":"1f41d.svg","beer":"1f37a.svg","beers":"1f37b.svg","beetle":"1f41e.svg","beginner":"1f530.svg","bell":"1f514.svg","bellhop":"1f6ce.svg","bento":"1f371.svg","beverage_box":"1f9c3.svg","bike":"1f6b2.svg","bikini":"1f459.svg","billed_cap":"1f9e2.svg","biohazard":"2623.svg","bird":"1f426.svg","birthday":"1f382.svg","black_circle":"26ab.svg","black_heart":"1f5a4.svg","black_joker":"1f0cf.svg","black_large_square":"2b1b.svg","black_medium_small_square":"25fe.svg","black_medium_square":"25fc.svg","black_nib":"2712.svg","black_small_square":"25aa.svg","black_square_button":"1f532.svg","blond-haired_man":"1f471-200d-2642-fe0f.svg","blond-haired_man_tone1":"1f471-1f3fb-200d-2642-fe0f.svg","blond-haired_man_tone2":"1f471-1f3fc-200d-2642-fe0f.svg","blond-haired_man_tone3":"1f471-1f3fd-200d-2642-fe0f.svg","blond-haired_man_tone4":"1f471-1f3fe-200d-2642-fe0f.svg","blond-haired_man_tone5":"1f471-1f3ff-200d-2642-fe0f.svg","blond-haired_woman":"1f471-200d-2640-fe0f.svg","blond-haired_woman_tone1":"1f471-1f3fb-200d-2640-fe0f.svg","blond-haired_woman_tone2":"1f471-1f3fc-200d-2640-fe0f.svg","blond-haired_woman_tone3":"1f471-1f3fd-200d-2640-fe0f.svg","blond-haired_woman_tone4":"1f471-1f3fe-200d-2640-fe0f.svg","blond-haired_woman_tone5":"1f471-1f3ff-200d-2640-fe0f.svg","blond_haired_person":"1f471.svg","blond_haired_person_tone1":"1f471-1f3fb.svg","blond_haired_person_tone2":"1f471-1f3fc.svg","blond_haired_person_tone3":"1f471-1f3fd.svg","blond_haired_person_tone4":"1f471-1f3fe.svg","blond_haired_person_tone5":"1f471-1f3ff.svg","blossom":"1f33c.svg","blowfish":"1f421.svg","blue_book":"1f4d8.svg","blue_car":"1f699.svg","blue_circle":"1f535.svg","blue_heart":"1f499.svg","blue_square":"1f7e6.svg","blush":"1f60a.svg","boar":"1f417.svg","bomb":"1f4a3.svg","bone":"1f9b4.svg","book":"1f4d6.svg","bookmark":"1f516.svg","bookmark_tabs":"1f4d1.svg","books":"1f4da.svg","boom":"1f4a5.svg","boot":"1f462.svg","bouquet":"1f490.svg","bow_and_arrow":"1f3f9.svg","bowl_with_spoon":"1f963.svg","bowling":"1f3b3.svg","boxing_glove":"1f94a.svg","boy":"1f466.svg","boy_tone1":"1f466-1f3fb.svg","boy_tone2":"1f466-1f3fc.svg","boy_tone3":"1f466-1f3fd.svg","boy_tone4":"1f466-1f3fe.svg","boy_tone5":"1f466-1f3ff.svg","brain":"1f9e0.svg","bread":"1f35e.svg","breast_feeding":"1f931.svg","breast_feeding_tone1":"1f931-1f3fb.svg","breast_feeding_tone2":"1f931-1f3fc.svg","breast_feeding_tone3":"1f931-1f3fd.svg","breast_feeding_tone4":"1f931-1f3fe.svg","breast_feeding_tone5":"1f931-1f3ff.svg","bricks":"1f9f1.svg","bride_with_veil":"1f470.svg","bride_with_veil_tone1":"1f470-1f3fb.svg","bride_with_veil_tone2":"1f470-1f3fc.svg","bride_with_veil_tone3":"1f470-1f3fd.svg","bride_with_veil_tone4":"1f470-1f3fe.svg","bride_with_veil_tone5":"1f470-1f3ff.svg","bridge_at_night":"1f309.svg","briefcase":"1f4bc.svg","briefs":"1fa72.svg","broccoli":"1f966.svg","broken_heart":"1f494.svg","broom":"1f9f9.svg","brown_circle":"1f7e4.svg","brown_heart":"1f90e.svg","brown_square":"1f7eb.svg","bug":"1f41b.svg","bulb":"1f4a1.svg","bullettrain_front":"1f685.svg","bullettrain_side":"1f684.svg","burrito":"1f32f.svg","bus":"1f68c.svg","busstop":"1f68f.svg","bust_in_silhouette":"1f464.svg","busts_in_silhouette":"1f465.svg","butter":"1f9c8.svg","butterfly":"1f98b.svg","cactus":"1f335.svg","cake":"1f370.svg","calendar":"1f4c6.svg","calendar_spiral":"1f5d3.svg","call_me":"1f919.svg","call_me_tone1":"1f919-1f3fb.svg","call_me_tone2":"1f919-1f3fc.svg","call_me_tone3":"1f919-1f3fd.svg","call_me_tone4":"1f919-1f3fe.svg","call_me_tone5":"1f919-1f3ff.svg","calling":"1f4f2.svg","camel":"1f42b.svg","camera":"1f4f7.svg","camera_with_flash":"1f4f8.svg","camping":"1f3d5.svg","cancer":"264b.svg","candle":"1f56f.svg","candy":"1f36c.svg","canned_food":"1f96b.svg","canoe":"1f6f6.svg","capital_abcd":"1f520.svg","capricorn":"2651.svg","card_box":"1f5c3.svg","card_index":"1f4c7.svg","carousel_horse":"1f3a0.svg","carrot":"1f955.svg","cat2":"1f408.svg","cat":"1f431.svg","cd":"1f4bf.svg","chains":"26d3.svg","chair":"1fa91.svg","champagne":"1f37e.svg","champagne_glass":"1f942.svg","chart":"1f4b9.svg","chart_with_downwards_trend":"1f4c9.svg","chart_with_upwards_trend":"1f4c8.svg","checkered_flag":"1f3c1.svg","cheese":"1f9c0.svg","cherries":"1f352.svg","cherry_blossom":"1f338.svg","chess_pawn":"265f.svg","chestnut":"1f330.svg","chicken":"1f414.svg","child":"1f9d2.svg","child_tone1":"1f9d2-1f3fb.svg","child_tone2":"1f9d2-1f3fc.svg","child_tone3":"1f9d2-1f3fd.svg","child_tone4":"1f9d2-1f3fe.svg","child_tone5":"1f9d2-1f3ff.svg","children_crossing":"1f6b8.svg","chipmunk":"1f43f.svg","chocolate_bar":"1f36b.svg","chopsticks":"1f962.svg","christmas_tree":"1f384.svg","church":"26ea.svg","cinema":"1f3a6.svg","circus_tent":"1f3aa.svg","city_dusk":"1f306.svg","city_sunset":"1f307.svg","cityscape":"1f3d9.svg","cl":"1f191.svg","clap":"1f44f.svg","clap_tone1":"1f44f-1f3fb.svg","clap_tone2":"1f44f-1f3fc.svg","clap_tone3":"1f44f-1f3fd.svg","clap_tone4":"1f44f-1f3fe.svg","clap_tone5":"1f44f-1f3ff.svg","clapper":"1f3ac.svg","classical_building":"1f3db.svg","clipboard":"1f4cb.svg","clock1030":"1f565.svg","clock10":"1f559.svg","clock1130":"1f566.svg","clock11":"1f55a.svg","clock1230":"1f567.svg","clock12":"1f55b.svg","clock130":"1f55c.svg","clock1":"1f550.svg","clock230":"1f55d.svg","clock2":"1f551.svg","clock330":"1f55e.svg","clock3":"1f552.svg","clock430":"1f55f.svg","clock4":"1f553.svg","clock530":"1f560.svg","clock5":"1f554.svg","clock630":"1f561.svg","clock6":"1f555.svg","clock730":"1f562.svg","clock7":"1f556.svg","clock830":"1f563.svg","clock8":"1f557.svg","clock930":"1f564.svg","clock9":"1f558.svg","clock":"1f570.svg","closed_book":"1f4d5.svg","closed_lock_with_key":"1f510.svg","closed_umbrella":"1f302.svg","cloud":"2601.svg","cloud_lightning":"1f329.svg","cloud_rain":"1f327.svg","cloud_snow":"1f328.svg","cloud_tornado":"1f32a.svg","clown":"1f921.svg","clubs":"2663.svg","coat":"1f9e5.svg","cocktail":"1f378.svg","coconut":"1f965.svg","coffee":"2615.svg","coffin":"26b0.svg","cold_face":"1f976.svg","cold_sweat":"1f630.svg","comet":"2604.svg","compass":"1f9ed.svg","compression":"1f5dc.svg","computer":"1f4bb.svg","confetti_ball":"1f38a.svg","confounded":"1f616.svg","confused":"1f615.svg","congratulations":"3297.svg","construction":"1f6a7.svg","construction_site":"1f3d7.svg","construction_worker":"1f477.svg","construction_worker_tone1":"1f477-1f3fb.svg","construction_worker_tone2":"1f477-1f3fc.svg","construction_worker_tone3":"1f477-1f3fd.svg","construction_worker_tone4":"1f477-1f3fe.svg","construction_worker_tone5":"1f477-1f3ff.svg","control_knobs":"1f39b.svg","convenience_store":"1f3ea.svg","cook":"1f9d1-200d-1f373.svg","cook_tone1":"1f9d1-1f3fb-200d-1f373.svg","cook_tone2":"1f9d1-1f3fc-200d-1f373.svg","cook_tone3":"1f9d1-1f3fd-200d-1f373.svg","cook_tone4":"1f9d1-1f3fe-200d-1f373.svg","cook_tone5":"1f9d1-1f3ff-200d-1f373.svg","cookie":"1f36a.svg","cooking":"1f373.svg","cool":"1f192.svg","copyright":"a9.svg","corn":"1f33d.svg","couch":"1f6cb.svg","couple":"1f46b.svg","couple_mm":"1f468-200d-2764-fe0f-200d-1f468.svg","couple_with_heart":"1f491.svg","couple_with_heart_woman_man":"1f469-200d-2764-fe0f-200d-1f468.svg","couple_ww":"1f469-200d-2764-fe0f-200d-1f469.svg","couplekiss":"1f48f.svg","cow2":"1f404.svg","cow":"1f42e.svg","cowboy":"1f920.svg","crab":"1f980.svg","crayon":"1f58d.svg","credit_card":"1f4b3.svg","crescent_moon":"1f319.svg","cricket":"1f997.svg","cricket_game":"1f3cf.svg","crocodile":"1f40a.svg","croissant":"1f950.svg","cross":"271d.svg","crossed_flags":"1f38c.svg","crossed_swords":"2694.svg","crown":"1f451.svg","cruise_ship":"1f6f3.svg","cry":"1f622.svg","crying_cat_face":"1f63f.svg","crystal_ball":"1f52e.svg","cucumber":"1f952.svg","cup_with_straw":"1f964.svg","cupcake":"1f9c1.svg","cupid":"1f498.svg","curling_stone":"1f94c.svg","curly_haired":"1f9b1.svg","curly_loop":"27b0.svg","currency_exchange":"1f4b1.svg","curry":"1f35b.svg","custard":"1f36e.svg","customs":"1f6c3.svg","cut_of_meat":"1f969.svg","cyclone":"1f300.svg","dagger":"1f5e1.svg","dancer":"1f483.svg","dancer_tone1":"1f483-1f3fb.svg","dancer_tone2":"1f483-1f3fc.svg","dancer_tone3":"1f483-1f3fd.svg","dancer_tone4":"1f483-1f3fe.svg","dancer_tone5":"1f483-1f3ff.svg","dango":"1f361.svg","dark_sunglasses":"1f576.svg","dart":"1f3af.svg","dash":"1f4a8.svg","date":"1f4c5.svg","deaf_man":"1f9cf-200d-2642-fe0f.svg","deaf_man_tone1":"1f9cf-1f3fb-200d-2642-fe0f.svg","deaf_man_tone2":"1f9cf-1f3fc-200d-2642-fe0f.svg","deaf_man_tone3":"1f9cf-1f3fd-200d-2642-fe0f.svg","deaf_man_tone4":"1f9cf-1f3fe-200d-2642-fe0f.svg","deaf_man_tone5":"1f9cf-1f3ff-200d-2642-fe0f.svg","deaf_person":"1f9cf.svg","deaf_person_tone1":"1f9cf-1f3fb.svg","deaf_person_tone2":"1f9cf-1f3fc.svg","deaf_person_tone3":"1f9cf-1f3fd.svg","deaf_person_tone4":"1f9cf-1f3fe.svg","deaf_person_tone5":"1f9cf-1f3ff.svg","deaf_woman":"1f9cf-200d-2640-fe0f.svg","deaf_woman_tone1":"1f9cf-1f3fb-200d-2640-fe0f.svg","deaf_woman_tone2":"1f9cf-1f3fc-200d-2640-fe0f.svg","deaf_woman_tone3":"1f9cf-1f3fd-200d-2640-fe0f.svg","deaf_woman_tone4":"1f9cf-1f3fe-200d-2640-fe0f.svg","deaf_woman_tone5":"1f9cf-1f3ff-200d-2640-fe0f.svg","deciduous_tree":"1f333.svg","deer":"1f98c.svg","department_store":"1f3ec.svg","desert":"1f3dc.svg","desktop":"1f5a5.svg","detective":"1f575.svg","detective_tone1":"1f575-1f3fb.svg","detective_tone2":"1f575-1f3fc.svg","detective_tone3":"1f575-1f3fd.svg","detective_tone4":"1f575-1f3fe.svg","detective_tone5":"1f575-1f3ff.svg","diamond_shape_with_a_dot_inside":"1f4a0.svg","diamonds":"2666.svg","disappointed":"1f61e.svg","disappointed_relieved":"1f625.svg","dividers":"1f5c2.svg","diving_mask":"1f93f.svg","diya_lamp":"1fa94.svg","dizzy":"1f4ab.svg","dizzy_face":"1f635.svg","dna":"1f9ec.svg","do_not_litter":"1f6af.svg","dog2":"1f415.svg","dog":"1f436.svg","dollar":"1f4b5.svg","dolls":"1f38e.svg","dolphin":"1f42c.svg","door":"1f6aa.svg","doughnut":"1f369.svg","dove":"1f54a.svg","dragon":"1f409.svg","dragon_face":"1f432.svg","dress":"1f457.svg","dromedary_camel":"1f42a.svg","drooling_face":"1f924.svg","drop_of_blood":"1fa78.svg","droplet":"1f4a7.svg","drum":"1f941.svg","duck":"1f986.svg","dumpling":"1f95f.svg","dvd":"1f4c0.svg","e-mail":"1f4e7.svg","eagle":"1f985.svg","ear":"1f442.svg","ear_of_rice":"1f33e.svg","ear_tone1":"1f442-1f3fb.svg","ear_tone2":"1f442-1f3fc.svg","ear_tone3":"1f442-1f3fd.svg","ear_tone4":"1f442-1f3fe.svg","ear_tone5":"1f442-1f3ff.svg","ear_with_hearing_aid":"1f9bb.svg","ear_with_hearing_aid_tone1":"1f9bb-1f3fb.svg","ear_with_hearing_aid_tone2":"1f9bb-1f3fc.svg","ear_with_hearing_aid_tone3":"1f9bb-1f3fd.svg","ear_with_hearing_aid_tone4":"1f9bb-1f3fe.svg","ear_with_hearing_aid_tone5":"1f9bb-1f3ff.svg","earth_africa":"1f30d.svg","earth_americas":"1f30e.svg","earth_asia":"1f30f.svg","egg":"1f95a.svg","eggplant":"1f346.svg","eight":"38-20e3.svg","eight_pointed_black_star":"2734.svg","eight_spoked_asterisk":"2733.svg","eject":"23cf.svg","electric_plug":"1f50c.svg","elephant":"1f418.svg","elf":"1f9dd.svg","elf_tone1":"1f9dd-1f3fb.svg","elf_tone2":"1f9dd-1f3fc.svg","elf_tone3":"1f9dd-1f3fd.svg","elf_tone4":"1f9dd-1f3fe.svg","elf_tone5":"1f9dd-1f3ff.svg","end":"1f51a.svg","england":"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg","envelope":"2709.svg","envelope_with_arrow":"1f4e9.svg","euro":"1f4b6.svg","european_castle":"1f3f0.svg","european_post_office":"1f3e4.svg","evergreen_tree":"1f332.svg","exclamation":"2757.svg","exploding_head":"1f92f.svg","expressionless":"1f611.svg","eye":"1f441.svg","eye_in_speech_bubble":"1f441-200d-1f5e8.svg","eyeglasses":"1f453.svg","eyes":"1f440.svg","face_vomiting":"1f92e.svg","face_with_hand_over_mouth":"1f92d.svg","face_with_monocle":"1f9d0.svg","face_with_raised_eyebrow":"1f928.svg","face_with_symbols_over_mouth":"1f92c.svg","factory":"1f3ed.svg","factory_worker":"1f9d1-200d-1f3ed.svg","factory_worker_tone1":"1f9d1-1f3fb-200d-1f3ed.svg","factory_worker_tone2":"1f9d1-1f3fc-200d-1f3ed.svg","factory_worker_tone3":"1f9d1-1f3fd-200d-1f3ed.svg","factory_worker_tone4":"1f9d1-1f3fe-200d-1f3ed.svg","factory_worker_tone5":"1f9d1-1f3ff-200d-1f3ed.svg","fairy":"1f9da.svg","fairy_tone1":"1f9da-1f3fb.svg","fairy_tone2":"1f9da-1f3fc.svg","fairy_tone3":"1f9da-1f3fd.svg","fairy_tone4":"1f9da-1f3fe.svg","fairy_tone5":"1f9da-1f3ff.svg","falafel":"1f9c6.svg","fallen_leaf":"1f342.svg","family":"1f46a.svg","family_man_boy":"1f468-200d-1f466.svg","family_man_boy_boy":"1f468-200d-1f466-200d-1f466.svg","family_man_girl":"1f468-200d-1f467.svg","family_man_girl_boy":"1f468-200d-1f467-200d-1f466.svg","family_man_girl_girl":"1f468-200d-1f467-200d-1f467.svg","family_man_woman_boy":"1f468-200d-1f469-200d-1f466.svg","family_mmb":"1f468-200d-1f468-200d-1f466.svg","family_mmbb":"1f468-200d-1f468-200d-1f466-200d-1f466.svg","family_mmg":"1f468-200d-1f468-200d-1f467.svg","family_mmgb":"1f468-200d-1f468-200d-1f467-200d-1f466.svg","family_mmgg":"1f468-200d-1f468-200d-1f467-200d-1f467.svg","family_mwbb":"1f468-200d-1f469-200d-1f466-200d-1f466.svg","family_mwg":"1f468-200d-1f469-200d-1f467.svg","family_mwgb":"1f468-200d-1f469-200d-1f467-200d-1f466.svg","family_mwgg":"1f468-200d-1f469-200d-1f467-200d-1f467.svg","family_woman_boy":"1f469-200d-1f466.svg","family_woman_boy_boy":"1f469-200d-1f466-200d-1f466.svg","family_woman_girl":"1f469-200d-1f467.svg","family_woman_girl_boy":"1f469-200d-1f467-200d-1f466.svg","family_woman_girl_girl":"1f469-200d-1f467-200d-1f467.svg","family_wwb":"1f469-200d-1f469-200d-1f466.svg","family_wwbb":"1f469-200d-1f469-200d-1f466-200d-1f466.svg","family_wwg":"1f469-200d-1f469-200d-1f467.svg","family_wwgb":"1f469-200d-1f469-200d-1f467-200d-1f466.svg","family_wwgg":"1f469-200d-1f469-200d-1f467-200d-1f467.svg","farmer":"1f9d1-200d-1f33e.svg","farmer_tone1":"1f9d1-1f3fb-200d-1f33e.svg","farmer_tone2":"1f9d1-1f3fc-200d-1f33e.svg","farmer_tone3":"1f9d1-1f3fd-200d-1f33e.svg","farmer_tone4":"1f9d1-1f3fe-200d-1f33e.svg","farmer_tone5":"1f9d1-1f3ff-200d-1f33e.svg","fast_forward":"23e9.svg","fax":"1f4e0.svg","fearful":"1f628.svg","feet":"1f43e.svg","female_sign":"2640.svg","ferris_wheel":"1f3a1.svg","ferry":"26f4.svg","field_hockey":"1f3d1.svg","file_cabinet":"1f5c4.svg","file_folder":"1f4c1.svg","film_frames":"1f39e.svg","fingers_crossed":"1f91e.svg","fingers_crossed_tone1":"1f91e-1f3fb.svg","fingers_crossed_tone2":"1f91e-1f3fc.svg","fingers_crossed_tone3":"1f91e-1f3fd.svg","fingers_crossed_tone4":"1f91e-1f3fe.svg","fingers_crossed_tone5":"1f91e-1f3ff.svg","fire":"1f525.svg","fire_engine":"1f692.svg","fire_extinguisher":"1f9ef.svg","firecracker":"1f9e8.svg","firefighter":"1f9d1-200d-1f692.svg","firefighter_tone1":"1f9d1-1f3fb-200d-1f692.svg","firefighter_tone2":"1f9d1-1f3fc-200d-1f692.svg","firefighter_tone3":"1f9d1-1f3fd-200d-1f692.svg","firefighter_tone4":"1f9d1-1f3fe-200d-1f692.svg","firefighter_tone5":"1f9d1-1f3ff-200d-1f692.svg","fireworks":"1f386.svg","first_place":"1f947.svg","first_quarter_moon":"1f313.svg","first_quarter_moon_with_face":"1f31b.svg","fish":"1f41f.svg","fish_cake":"1f365.svg","fishing_pole_and_fish":"1f3a3.svg","fist":"270a.svg","fist_tone1":"270a-1f3fb.svg","fist_tone2":"270a-1f3fc.svg","fist_tone3":"270a-1f3fd.svg","fist_tone4":"270a-1f3fe.svg","fist_tone5":"270a-1f3ff.svg","five":"35-20e3.svg","flag_ac":"1f1e6-1f1e8.svg","flag_ad":"1f1e6-1f1e9.svg","flag_ae":"1f1e6-1f1ea.svg","flag_af":"1f1e6-1f1eb.svg","flag_ag":"1f1e6-1f1ec.svg","flag_ai":"1f1e6-1f1ee.svg","flag_al":"1f1e6-1f1f1.svg","flag_am":"1f1e6-1f1f2.svg","flag_ao":"1f1e6-1f1f4.svg","flag_aq":"1f1e6-1f1f6.svg","flag_ar":"1f1e6-1f1f7.svg","flag_as":"1f1e6-1f1f8.svg","flag_at":"1f1e6-1f1f9.svg","flag_au":"1f1e6-1f1fa.svg","flag_aw":"1f1e6-1f1fc.svg","flag_ax":"1f1e6-1f1fd.svg","flag_az":"1f1e6-1f1ff.svg","flag_ba":"1f1e7-1f1e6.svg","flag_bb":"1f1e7-1f1e7.svg","flag_bd":"1f1e7-1f1e9.svg","flag_be":"1f1e7-1f1ea.svg","flag_bf":"1f1e7-1f1eb.svg","flag_bg":"1f1e7-1f1ec.svg","flag_bh":"1f1e7-1f1ed.svg","flag_bi":"1f1e7-1f1ee.svg","flag_bj":"1f1e7-1f1ef.svg","flag_bl":"1f1e7-1f1f1.svg","flag_black":"1f3f4.svg","flag_bm":"1f1e7-1f1f2.svg","flag_bn":"1f1e7-1f1f3.svg","flag_bo":"1f1e7-1f1f4.svg","flag_bq":"1f1e7-1f1f6.svg","flag_br":"1f1e7-1f1f7.svg","flag_bs":"1f1e7-1f1f8.svg","flag_bt":"1f1e7-1f1f9.svg","flag_bv":"1f1e7-1f1fb.svg","flag_bw":"1f1e7-1f1fc.svg","flag_by":"1f1e7-1f1fe.svg","flag_bz":"1f1e7-1f1ff.svg","flag_ca":"1f1e8-1f1e6.svg","flag_cc":"1f1e8-1f1e8.svg","flag_cd":"1f1e8-1f1e9.svg","flag_cf":"1f1e8-1f1eb.svg","flag_cg":"1f1e8-1f1ec.svg","flag_ch":"1f1e8-1f1ed.svg","flag_ci":"1f1e8-1f1ee.svg","flag_ck":"1f1e8-1f1f0.svg","flag_cl":"1f1e8-1f1f1.svg","flag_cm":"1f1e8-1f1f2.svg","flag_cn":"1f1e8-1f1f3.svg","flag_co":"1f1e8-1f1f4.svg","flag_cp":"1f1e8-1f1f5.svg","flag_cr":"1f1e8-1f1f7.svg","flag_cu":"1f1e8-1f1fa.svg","flag_cv":"1f1e8-1f1fb.svg","flag_cw":"1f1e8-1f1fc.svg","flag_cx":"1f1e8-1f1fd.svg","flag_cy":"1f1e8-1f1fe.svg","flag_cz":"1f1e8-1f1ff.svg","flag_de":"1f1e9-1f1ea.svg","flag_dg":"1f1e9-1f1ec.svg","flag_dj":"1f1e9-1f1ef.svg","flag_dk":"1f1e9-1f1f0.svg","flag_dm":"1f1e9-1f1f2.svg","flag_do":"1f1e9-1f1f4.svg","flag_dz":"1f1e9-1f1ff.svg","flag_ea":"1f1ea-1f1e6.svg","flag_ec":"1f1ea-1f1e8.svg","flag_ee":"1f1ea-1f1ea.svg","flag_eg":"1f1ea-1f1ec.svg","flag_eh":"1f1ea-1f1ed.svg","flag_er":"1f1ea-1f1f7.svg","flag_es":"1f1ea-1f1f8.svg","flag_et":"1f1ea-1f1f9.svg","flag_eu":"1f1ea-1f1fa.svg","flag_fi":"1f1eb-1f1ee.svg","flag_fj":"1f1eb-1f1ef.svg","flag_fk":"1f1eb-1f1f0.svg","flag_fm":"1f1eb-1f1f2.svg","flag_fo":"1f1eb-1f1f4.svg","flag_fr":"1f1eb-1f1f7.svg","flag_ga":"1f1ec-1f1e6.svg","flag_gb":"1f1ec-1f1e7.svg","flag_gd":"1f1ec-1f1e9.svg","flag_ge":"1f1ec-1f1ea.svg","flag_gf":"1f1ec-1f1eb.svg","flag_gg":"1f1ec-1f1ec.svg","flag_gh":"1f1ec-1f1ed.svg","flag_gi":"1f1ec-1f1ee.svg","flag_gl":"1f1ec-1f1f1.svg","flag_gm":"1f1ec-1f1f2.svg","flag_gn":"1f1ec-1f1f3.svg","flag_gp":"1f1ec-1f1f5.svg","flag_gq":"1f1ec-1f1f6.svg","flag_gr":"1f1ec-1f1f7.svg","flag_gs":"1f1ec-1f1f8.svg","flag_gt":"1f1ec-1f1f9.svg","flag_gu":"1f1ec-1f1fa.svg","flag_gw":"1f1ec-1f1fc.svg","flag_gy":"1f1ec-1f1fe.svg","flag_hk":"1f1ed-1f1f0.svg","flag_hm":"1f1ed-1f1f2.svg","flag_hn":"1f1ed-1f1f3.svg","flag_hr":"1f1ed-1f1f7.svg","flag_ht":"1f1ed-1f1f9.svg","flag_hu":"1f1ed-1f1fa.svg","flag_ic":"1f1ee-1f1e8.svg","flag_id":"1f1ee-1f1e9.svg","flag_ie":"1f1ee-1f1ea.svg","flag_il":"1f1ee-1f1f1.svg","flag_im":"1f1ee-1f1f2.svg","flag_in":"1f1ee-1f1f3.svg","flag_io":"1f1ee-1f1f4.svg","flag_iq":"1f1ee-1f1f6.svg","flag_ir":"1f1ee-1f1f7.svg","flag_is":"1f1ee-1f1f8.svg","flag_it":"1f1ee-1f1f9.svg","flag_je":"1f1ef-1f1ea.svg","flag_jm":"1f1ef-1f1f2.svg","flag_jo":"1f1ef-1f1f4.svg","flag_jp":"1f1ef-1f1f5.svg","flag_ke":"1f1f0-1f1ea.svg","flag_kg":"1f1f0-1f1ec.svg","flag_kh":"1f1f0-1f1ed.svg","flag_ki":"1f1f0-1f1ee.svg","flag_km":"1f1f0-1f1f2.svg","flag_kn":"1f1f0-1f1f3.svg","flag_kp":"1f1f0-1f1f5.svg","flag_kr":"1f1f0-1f1f7.svg","flag_kw":"1f1f0-1f1fc.svg","flag_ky":"1f1f0-1f1fe.svg","flag_kz":"1f1f0-1f1ff.svg","flag_la":"1f1f1-1f1e6.svg","flag_lb":"1f1f1-1f1e7.svg","flag_lc":"1f1f1-1f1e8.svg","flag_li":"1f1f1-1f1ee.svg","flag_lk":"1f1f1-1f1f0.svg","flag_lr":"1f1f1-1f1f7.svg","flag_ls":"1f1f1-1f1f8.svg","flag_lt":"1f1f1-1f1f9.svg","flag_lu":"1f1f1-1f1fa.svg","flag_lv":"1f1f1-1f1fb.svg","flag_ly":"1f1f1-1f1fe.svg","flag_ma":"1f1f2-1f1e6.svg","flag_mc":"1f1f2-1f1e8.svg","flag_md":"1f1f2-1f1e9.svg","flag_me":"1f1f2-1f1ea.svg","flag_mf":"1f1f2-1f1eb.svg","flag_mg":"1f1f2-1f1ec.svg","flag_mh":"1f1f2-1f1ed.svg","flag_mk":"1f1f2-1f1f0.svg","flag_ml":"1f1f2-1f1f1.svg","flag_mm":"1f1f2-1f1f2.svg","flag_mn":"1f1f2-1f1f3.svg","flag_mo":"1f1f2-1f1f4.svg","flag_mp":"1f1f2-1f1f5.svg","flag_mq":"1f1f2-1f1f6.svg","flag_mr":"1f1f2-1f1f7.svg","flag_ms":"1f1f2-1f1f8.svg","flag_mt":"1f1f2-1f1f9.svg","flag_mu":"1f1f2-1f1fa.svg","flag_mv":"1f1f2-1f1fb.svg","flag_mw":"1f1f2-1f1fc.svg","flag_mx":"1f1f2-1f1fd.svg","flag_my":"1f1f2-1f1fe.svg","flag_mz":"1f1f2-1f1ff.svg","flag_na":"1f1f3-1f1e6.svg","flag_nc":"1f1f3-1f1e8.svg","flag_ne":"1f1f3-1f1ea.svg","flag_nf":"1f1f3-1f1eb.svg","flag_ng":"1f1f3-1f1ec.svg","flag_ni":"1f1f3-1f1ee.svg","flag_nl":"1f1f3-1f1f1.svg","flag_no":"1f1f3-1f1f4.svg","flag_np":"1f1f3-1f1f5.svg","flag_nr":"1f1f3-1f1f7.svg","flag_nu":"1f1f3-1f1fa.svg","flag_nz":"1f1f3-1f1ff.svg","flag_om":"1f1f4-1f1f2.svg","flag_pa":"1f1f5-1f1e6.svg","flag_pe":"1f1f5-1f1ea.svg","flag_pf":"1f1f5-1f1eb.svg","flag_pg":"1f1f5-1f1ec.svg","flag_ph":"1f1f5-1f1ed.svg","flag_pk":"1f1f5-1f1f0.svg","flag_pl":"1f1f5-1f1f1.svg","flag_pm":"1f1f5-1f1f2.svg","flag_pn":"1f1f5-1f1f3.svg","flag_pr":"1f1f5-1f1f7.svg","flag_ps":"1f1f5-1f1f8.svg","flag_pt":"1f1f5-1f1f9.svg","flag_pw":"1f1f5-1f1fc.svg","flag_py":"1f1f5-1f1fe.svg","flag_qa":"1f1f6-1f1e6.svg","flag_re":"1f1f7-1f1ea.svg","flag_ro":"1f1f7-1f1f4.svg","flag_rs":"1f1f7-1f1f8.svg","flag_ru":"1f1f7-1f1fa.svg","flag_rw":"1f1f7-1f1fc.svg","flag_sa":"1f1f8-1f1e6.svg","flag_sb":"1f1f8-1f1e7.svg","flag_sc":"1f1f8-1f1e8.svg","flag_sd":"1f1f8-1f1e9.svg","flag_se":"1f1f8-1f1ea.svg","flag_sg":"1f1f8-1f1ec.svg","flag_sh":"1f1f8-1f1ed.svg","flag_si":"1f1f8-1f1ee.svg","flag_sj":"1f1f8-1f1ef.svg","flag_sk":"1f1f8-1f1f0.svg","flag_sl":"1f1f8-1f1f1.svg","flag_sm":"1f1f8-1f1f2.svg","flag_sn":"1f1f8-1f1f3.svg","flag_so":"1f1f8-1f1f4.svg","flag_sr":"1f1f8-1f1f7.svg","flag_ss":"1f1f8-1f1f8.svg","flag_st":"1f1f8-1f1f9.svg","flag_sv":"1f1f8-1f1fb.svg","flag_sx":"1f1f8-1f1fd.svg","flag_sy":"1f1f8-1f1fe.svg","flag_sz":"1f1f8-1f1ff.svg","flag_ta":"1f1f9-1f1e6.svg","flag_tc":"1f1f9-1f1e8.svg","flag_td":"1f1f9-1f1e9.svg","flag_tf":"1f1f9-1f1eb.svg","flag_tg":"1f1f9-1f1ec.svg","flag_th":"1f1f9-1f1ed.svg","flag_tj":"1f1f9-1f1ef.svg","flag_tk":"1f1f9-1f1f0.svg","flag_tl":"1f1f9-1f1f1.svg","flag_tm":"1f1f9-1f1f2.svg","flag_tn":"1f1f9-1f1f3.svg","flag_to":"1f1f9-1f1f4.svg","flag_tr":"1f1f9-1f1f7.svg","flag_tt":"1f1f9-1f1f9.svg","flag_tv":"1f1f9-1f1fb.svg","flag_tw":"1f1f9-1f1fc.svg","flag_tz":"1f1f9-1f1ff.svg","flag_ua":"1f1fa-1f1e6.svg","flag_ug":"1f1fa-1f1ec.svg","flag_um":"1f1fa-1f1f2.svg","flag_us":"1f1fa-1f1f8.svg","flag_uy":"1f1fa-1f1fe.svg","flag_uz":"1f1fa-1f1ff.svg","flag_va":"1f1fb-1f1e6.svg","flag_vc":"1f1fb-1f1e8.svg","flag_ve":"1f1fb-1f1ea.svg","flag_vg":"1f1fb-1f1ec.svg","flag_vi":"1f1fb-1f1ee.svg","flag_vn":"1f1fb-1f1f3.svg","flag_vu":"1f1fb-1f1fa.svg","flag_wf":"1f1fc-1f1eb.svg","flag_white":"1f3f3.svg","flag_ws":"1f1fc-1f1f8.svg","flag_xk":"1f1fd-1f1f0.svg","flag_ye":"1f1fe-1f1ea.svg","flag_yt":"1f1fe-1f1f9.svg","flag_za":"1f1ff-1f1e6.svg","flag_zm":"1f1ff-1f1f2.svg","flag_zw":"1f1ff-1f1fc.svg","flags":"1f38f.svg","flamingo":"1f9a9.svg","flashlight":"1f526.svg","fleur-de-lis":"269c.svg","floppy_disk":"1f4be.svg","flower_playing_cards":"1f3b4.svg","flushed":"1f633.svg","flying_disc":"1f94f.svg","flying_saucer":"1f6f8.svg","fog":"1f32b.svg","foggy":"1f301.svg","foot":"1f9b6.svg","foot_tone1":"1f9b6-1f3fb.svg","foot_tone2":"1f9b6-1f3fc.svg","foot_tone3":"1f9b6-1f3fd.svg","foot_tone4":"1f9b6-1f3fe.svg","foot_tone5":"1f9b6-1f3ff.svg","football":"1f3c8.svg","footprints":"1f463.svg","fork_and_knife":"1f374.svg","fork_knife_plate":"1f37d.svg","fortune_cookie":"1f960.svg","fountain":"26f2.svg","four":"34-20e3.svg","four_leaf_clover":"1f340.svg","fox":"1f98a.svg","frame_photo":"1f5bc.svg","free":"1f193.svg","french_bread":"1f956.svg","fried_shrimp":"1f364.svg","fries":"1f35f.svg","frog":"1f438.svg","frowning2":"2639.svg","frowning":"1f626.svg","fuelpump":"26fd.svg","full_moon":"1f315.svg","full_moon_with_face":"1f31d.svg","game_die":"1f3b2.svg","garlic":"1f9c4.svg","gear":"2699.svg","gem":"1f48e.svg","gemini":"264a.svg","genie":"1f9de.svg","ghost":"1f47b.svg","gift":"1f381.svg","gift_heart":"1f49d.svg","giraffe":"1f992.svg","girl":"1f467.svg","girl_tone1":"1f467-1f3fb.svg","girl_tone2":"1f467-1f3fc.svg","girl_tone3":"1f467-1f3fd.svg","girl_tone4":"1f467-1f3fe.svg","girl_tone5":"1f467-1f3ff.svg","globe_with_meridians":"1f310.svg","gloves":"1f9e4.svg","goal":"1f945.svg","goat":"1f410.svg","goggles":"1f97d.svg","golf":"26f3.svg","gorilla":"1f98d.svg","grapes":"1f347.svg","green_apple":"1f34f.svg","green_book":"1f4d7.svg","green_circle":"1f7e2.svg","green_heart":"1f49a.svg","green_square":"1f7e9.svg","grey_exclamation":"2755.svg","grey_question":"2754.svg","grimacing":"1f62c.svg","grin":"1f601.svg","grinning":"1f600.svg","guard":"1f482.svg","guard_tone1":"1f482-1f3fb.svg","guard_tone2":"1f482-1f3fc.svg","guard_tone3":"1f482-1f3fd.svg","guard_tone4":"1f482-1f3fe.svg","guard_tone5":"1f482-1f3ff.svg","guide_dog":"1f9ae.svg","guitar":"1f3b8.svg","gun":"1f52b.svg","hamburger":"1f354.svg","hammer":"1f528.svg","hammer_pick":"2692.svg","hamster":"1f439.svg","hand_splayed":"1f590.svg","hand_splayed_tone1":"1f590-1f3fb.svg","hand_splayed_tone2":"1f590-1f3fc.svg","hand_splayed_tone3":"1f590-1f3fd.svg","hand_splayed_tone4":"1f590-1f3fe.svg","hand_splayed_tone5":"1f590-1f3ff.svg","handbag":"1f45c.svg","handshake":"1f91d.svg","hash":"23-20e3.svg","hatched_chick":"1f425.svg","hatching_chick":"1f423.svg","head_bandage":"1f915.svg","headphones":"1f3a7.svg","health_worker":"1f9d1-200d-2695-fe0f.svg","health_worker_tone1":"1f9d1-1f3fb-200d-2695-fe0f.svg","health_worker_tone2":"1f9d1-1f3fc-200d-2695-fe0f.svg","health_worker_tone3":"1f9d1-1f3fd-200d-2695-fe0f.svg","health_worker_tone4":"1f9d1-1f3fe-200d-2695-fe0f.svg","health_worker_tone5":"1f9d1-1f3ff-200d-2695-fe0f.svg","hear_no_evil":"1f649.svg","heart":"2764.svg","heart_decoration":"1f49f.svg","heart_exclamation":"2763.svg","heart_eyes":"1f60d.svg","heart_eyes_cat":"1f63b.svg","heartbeat":"1f493.svg","heartpulse":"1f497.svg","hearts":"2665.svg","heavy_check_mark":"2714.svg","heavy_division_sign":"2797.svg","heavy_dollar_sign":"1f4b2.svg","heavy_minus_sign":"2796.svg","heavy_multiplication_x":"2716.svg","heavy_plus_sign":"2795.svg","hedgehog":"1f994.svg","helicopter":"1f681.svg","helmet_with_cross":"26d1.svg","herb":"1f33f.svg","hibiscus":"1f33a.svg","high_brightness":"1f506.svg","high_heel":"1f460.svg","hiking_boot":"1f97e.svg","hindu_temple":"1f6d5.svg","hippopotamus":"1f99b.svg","hockey":"1f3d2.svg","hole":"1f573.svg","homes":"1f3d8.svg","honey_pot":"1f36f.svg","horse":"1f434.svg","horse_racing":"1f3c7.svg","horse_racing_tone1":"1f3c7-1f3fb.svg","horse_racing_tone2":"1f3c7-1f3fc.svg","horse_racing_tone3":"1f3c7-1f3fd.svg","horse_racing_tone4":"1f3c7-1f3fe.svg","horse_racing_tone5":"1f3c7-1f3ff.svg","hospital":"1f3e5.svg","hot_face":"1f975.svg","hot_pepper":"1f336.svg","hotdog":"1f32d.svg","hotel":"1f3e8.svg","hotsprings":"2668.svg","hourglass":"231b.svg","hourglass_flowing_sand":"23f3.svg","house":"1f3e0.svg","house_abandoned":"1f3da.svg","house_with_garden":"1f3e1.svg","hugging":"1f917.svg","hushed":"1f62f.svg","ice_cream":"1f368.svg","ice_cube":"1f9ca.svg","ice_skate":"26f8.svg","icecream":"1f366.svg","id":"1f194.svg","ideograph_advantage":"1f250.svg","imp":"1f47f.svg","inbox_tray":"1f4e5.svg","incoming_envelope":"1f4e8.svg","infinity":"267e.svg","information_source":"2139.svg","innocent":"1f607.svg","interrobang":"2049.svg","island":"1f3dd.svg","izakaya_lantern":"1f3ee.svg","jack_o_lantern":"1f383.svg","japan":"1f5fe.svg","japanese_castle":"1f3ef.svg","japanese_goblin":"1f47a.svg","japanese_ogre":"1f479.svg","jeans":"1f456.svg","jigsaw":"1f9e9.svg","joy":"1f602.svg","joy_cat":"1f639.svg","joystick":"1f579.svg","judge":"1f9d1-200d-2696-fe0f.svg","judge_tone1":"1f9d1-1f3fb-200d-2696-fe0f.svg","judge_tone2":"1f9d1-1f3fc-200d-2696-fe0f.svg","judge_tone3":"1f9d1-1f3fd-200d-2696-fe0f.svg","judge_tone4":"1f9d1-1f3fe-200d-2696-fe0f.svg","judge_tone5":"1f9d1-1f3ff-200d-2696-fe0f.svg","kaaba":"1f54b.svg","kangaroo":"1f998.svg","key2":"1f5dd.svg","key":"1f511.svg","keyboard":"2328.svg","keycap_ten":"1f51f.svg","kimono":"1f458.svg","kiss":"1f48b.svg","kiss_mm":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg","kiss_woman_man":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg","kiss_ww":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg","kissing":"1f617.svg","kissing_cat":"1f63d.svg","kissing_closed_eyes":"1f61a.svg","kissing_heart":"1f618.svg","kissing_smiling_eyes":"1f619.svg","kite":"1fa81.svg","kiwi":"1f95d.svg","knife":"1f52a.svg","koala":"1f428.svg","koko":"1f201.svg","lab_coat":"1f97c.svg","label":"1f3f7.svg","lacrosse":"1f94d.svg","large_blue_diamond":"1f537.svg","large_orange_diamond":"1f536.svg","last_quarter_moon":"1f317.svg","last_quarter_moon_with_face":"1f31c.svg","laughing":"1f606.svg","leafy_green":"1f96c.svg","leaves":"1f343.svg","ledger":"1f4d2.svg","left_facing_fist":"1f91b.svg","left_facing_fist_tone1":"1f91b-1f3fb.svg","left_facing_fist_tone2":"1f91b-1f3fc.svg","left_facing_fist_tone3":"1f91b-1f3fd.svg","left_facing_fist_tone4":"1f91b-1f3fe.svg","left_facing_fist_tone5":"1f91b-1f3ff.svg","left_luggage":"1f6c5.svg","left_right_arrow":"2194.svg","leftwards_arrow_with_hook":"21a9.svg","leg":"1f9b5.svg","leg_tone1":"1f9b5-1f3fb.svg","leg_tone2":"1f9b5-1f3fc.svg","leg_tone3":"1f9b5-1f3fd.svg","leg_tone4":"1f9b5-1f3fe.svg","leg_tone5":"1f9b5-1f3ff.svg","lemon":"1f34b.svg","leo":"264c.svg","leopard":"1f406.svg","level_slider":"1f39a.svg","levitate":"1f574.svg","levitate_tone1":"1f574-1f3fb.svg","levitate_tone2":"1f574-1f3fc.svg","levitate_tone3":"1f574-1f3fd.svg","levitate_tone4":"1f574-1f3fe.svg","levitate_tone5":"1f574-1f3ff.svg","libra":"264e.svg","light_rail":"1f688.svg","link":"1f517.svg","lion_face":"1f981.svg","lips":"1f444.svg","lipstick":"1f484.svg","lizard":"1f98e.svg","llama":"1f999.svg","lobster":"1f99e.svg","lock":"1f512.svg","lock_with_ink_pen":"1f50f.svg","lollipop":"1f36d.svg","loop":"27bf.svg","loud_sound":"1f50a.svg","loudspeaker":"1f4e2.svg","love_hotel":"1f3e9.svg","love_letter":"1f48c.svg","love_you_gesture":"1f91f.svg","love_you_gesture_tone1":"1f91f-1f3fb.svg","love_you_gesture_tone2":"1f91f-1f3fc.svg","love_you_gesture_tone3":"1f91f-1f3fd.svg","love_you_gesture_tone4":"1f91f-1f3fe.svg","love_you_gesture_tone5":"1f91f-1f3ff.svg","low_brightness":"1f505.svg","luggage":"1f9f3.svg","lying_face":"1f925.svg","m":"24c2.svg","mag":"1f50d.svg","mag_right":"1f50e.svg","mage":"1f9d9.svg","mage_tone1":"1f9d9-1f3fb.svg","mage_tone2":"1f9d9-1f3fc.svg","mage_tone3":"1f9d9-1f3fd.svg","mage_tone4":"1f9d9-1f3fe.svg","mage_tone5":"1f9d9-1f3ff.svg","magnet":"1f9f2.svg","mahjong":"1f004.svg","mailbox":"1f4eb.svg","mailbox_closed":"1f4ea.svg","mailbox_with_mail":"1f4ec.svg","mailbox_with_no_mail":"1f4ed.svg","male_sign":"2642.svg","man":"1f468.svg","man_artist":"1f468-200d-1f3a8.svg","man_artist_tone1":"1f468-1f3fb-200d-1f3a8.svg","man_artist_tone2":"1f468-1f3fc-200d-1f3a8.svg","man_artist_tone3":"1f468-1f3fd-200d-1f3a8.svg","man_artist_tone4":"1f468-1f3fe-200d-1f3a8.svg","man_artist_tone5":"1f468-1f3ff-200d-1f3a8.svg","man_astronaut":"1f468-200d-1f680.svg","man_astronaut_tone1":"1f468-1f3fb-200d-1f680.svg","man_astronaut_tone2":"1f468-1f3fc-200d-1f680.svg","man_astronaut_tone3":"1f468-1f3fd-200d-1f680.svg","man_astronaut_tone4":"1f468-1f3fe-200d-1f680.svg","man_astronaut_tone5":"1f468-1f3ff-200d-1f680.svg","man_bald":"1f468-200d-1f9b2.svg","man_bald_tone1":"1f468-1f3fb-200d-1f9b2.svg","man_bald_tone2":"1f468-1f3fc-200d-1f9b2.svg","man_bald_tone3":"1f468-1f3fd-200d-1f9b2.svg","man_bald_tone4":"1f468-1f3fe-200d-1f9b2.svg","man_bald_tone5":"1f468-1f3ff-200d-1f9b2.svg","man_biking":"1f6b4-200d-2642-fe0f.svg","man_biking_tone1":"1f6b4-1f3fb-200d-2642-fe0f.svg","man_biking_tone2":"1f6b4-1f3fc-200d-2642-fe0f.svg","man_biking_tone3":"1f6b4-1f3fd-200d-2642-fe0f.svg","man_biking_tone4":"1f6b4-1f3fe-200d-2642-fe0f.svg","man_biking_tone5":"1f6b4-1f3ff-200d-2642-fe0f.svg","man_bouncing_ball":"26f9-fe0f-200d-2642-fe0f.svg","man_bouncing_ball_tone1":"26f9-1f3fb-200d-2642-fe0f.svg","man_bouncing_ball_tone2":"26f9-1f3fc-200d-2642-fe0f.svg","man_bouncing_ball_tone3":"26f9-1f3fd-200d-2642-fe0f.svg","man_bouncing_ball_tone4":"26f9-1f3fe-200d-2642-fe0f.svg","man_bouncing_ball_tone5":"26f9-1f3ff-200d-2642-fe0f.svg","man_bowing":"1f647-200d-2642-fe0f.svg","man_bowing_tone1":"1f647-1f3fb-200d-2642-fe0f.svg","man_bowing_tone2":"1f647-1f3fc-200d-2642-fe0f.svg","man_bowing_tone3":"1f647-1f3fd-200d-2642-fe0f.svg","man_bowing_tone4":"1f647-1f3fe-200d-2642-fe0f.svg","man_bowing_tone5":"1f647-1f3ff-200d-2642-fe0f.svg","man_cartwheeling":"1f938-200d-2642-fe0f.svg","man_cartwheeling_tone1":"1f938-1f3fb-200d-2642-fe0f.svg","man_cartwheeling_tone2":"1f938-1f3fc-200d-2642-fe0f.svg","man_cartwheeling_tone3":"1f938-1f3fd-200d-2642-fe0f.svg","man_cartwheeling_tone4":"1f938-1f3fe-200d-2642-fe0f.svg","man_cartwheeling_tone5":"1f938-1f3ff-200d-2642-fe0f.svg","man_climbing":"1f9d7-200d-2642-fe0f.svg","man_climbing_tone1":"1f9d7-1f3fb-200d-2642-fe0f.svg","man_climbing_tone2":"1f9d7-1f3fc-200d-2642-fe0f.svg","man_climbing_tone3":"1f9d7-1f3fd-200d-2642-fe0f.svg","man_climbing_tone4":"1f9d7-1f3fe-200d-2642-fe0f.svg","man_climbing_tone5":"1f9d7-1f3ff-200d-2642-fe0f.svg","man_construction_worker":"1f477-200d-2642-fe0f.svg","man_construction_worker_tone1":"1f477-1f3fb-200d-2642-fe0f.svg","man_construction_worker_tone2":"1f477-1f3fc-200d-2642-fe0f.svg","man_construction_worker_tone3":"1f477-1f3fd-200d-2642-fe0f.svg","man_construction_worker_tone4":"1f477-1f3fe-200d-2642-fe0f.svg","man_construction_worker_tone5":"1f477-1f3ff-200d-2642-fe0f.svg","man_cook":"1f468-200d-1f373.svg","man_cook_tone1":"1f468-1f3fb-200d-1f373.svg","man_cook_tone2":"1f468-1f3fc-200d-1f373.svg","man_cook_tone3":"1f468-1f3fd-200d-1f373.svg","man_cook_tone4":"1f468-1f3fe-200d-1f373.svg","man_cook_tone5":"1f468-1f3ff-200d-1f373.svg","man_curly_haired":"1f468-200d-1f9b1.svg","man_curly_haired_tone1":"1f468-1f3fb-200d-1f9b1.svg","man_curly_haired_tone2":"1f468-1f3fc-200d-1f9b1.svg","man_curly_haired_tone3":"1f468-1f3fd-200d-1f9b1.svg","man_curly_haired_tone4":"1f468-1f3fe-200d-1f9b1.svg","man_curly_haired_tone5":"1f468-1f3ff-200d-1f9b1.svg","man_dancing":"1f57a.svg","man_dancing_tone1":"1f57a-1f3fb.svg","man_dancing_tone2":"1f57a-1f3fc.svg","man_dancing_tone3":"1f57a-1f3fd.svg","man_dancing_tone4":"1f57a-1f3fe.svg","man_dancing_tone5":"1f57a-1f3ff.svg","man_detective":"1f575-fe0f-200d-2642-fe0f.svg","man_detective_tone1":"1f575-1f3fb-200d-2642-fe0f.svg","man_detective_tone2":"1f575-1f3fc-200d-2642-fe0f.svg","man_detective_tone3":"1f575-1f3fd-200d-2642-fe0f.svg","man_detective_tone4":"1f575-1f3fe-200d-2642-fe0f.svg","man_detective_tone5":"1f575-1f3ff-200d-2642-fe0f.svg","man_elf":"1f9dd-200d-2642-fe0f.svg","man_elf_tone1":"1f9dd-1f3fb-200d-2642-fe0f.svg","man_elf_tone2":"1f9dd-1f3fc-200d-2642-fe0f.svg","man_elf_tone3":"1f9dd-1f3fd-200d-2642-fe0f.svg","man_elf_tone4":"1f9dd-1f3fe-200d-2642-fe0f.svg","man_elf_tone5":"1f9dd-1f3ff-200d-2642-fe0f.svg","man_facepalming":"1f926-200d-2642-fe0f.svg","man_facepalming_tone1":"1f926-1f3fb-200d-2642-fe0f.svg","man_facepalming_tone2":"1f926-1f3fc-200d-2642-fe0f.svg","man_facepalming_tone3":"1f926-1f3fd-200d-2642-fe0f.svg","man_facepalming_tone4":"1f926-1f3fe-200d-2642-fe0f.svg","man_facepalming_tone5":"1f926-1f3ff-200d-2642-fe0f.svg","man_factory_worker":"1f468-200d-1f3ed.svg","man_factory_worker_tone1":"1f468-1f3fb-200d-1f3ed.svg","man_factory_worker_tone2":"1f468-1f3fc-200d-1f3ed.svg","man_factory_worker_tone3":"1f468-1f3fd-200d-1f3ed.svg","man_factory_worker_tone4":"1f468-1f3fe-200d-1f3ed.svg","man_factory_worker_tone5":"1f468-1f3ff-200d-1f3ed.svg","man_fairy":"1f9da-200d-2642-fe0f.svg","man_fairy_tone1":"1f9da-1f3fb-200d-2642-fe0f.svg","man_fairy_tone2":"1f9da-1f3fc-200d-2642-fe0f.svg","man_fairy_tone3":"1f9da-1f3fd-200d-2642-fe0f.svg","man_fairy_tone4":"1f9da-1f3fe-200d-2642-fe0f.svg","man_fairy_tone5":"1f9da-1f3ff-200d-2642-fe0f.svg","man_farmer":"1f468-200d-1f33e.svg","man_farmer_tone1":"1f468-1f3fb-200d-1f33e.svg","man_farmer_tone2":"1f468-1f3fc-200d-1f33e.svg","man_farmer_tone3":"1f468-1f3fd-200d-1f33e.svg","man_farmer_tone4":"1f468-1f3fe-200d-1f33e.svg","man_farmer_tone5":"1f468-1f3ff-200d-1f33e.svg","man_firefighter":"1f468-200d-1f692.svg","man_firefighter_tone1":"1f468-1f3fb-200d-1f692.svg","man_firefighter_tone2":"1f468-1f3fc-200d-1f692.svg","man_firefighter_tone3":"1f468-1f3fd-200d-1f692.svg","man_firefighter_tone4":"1f468-1f3fe-200d-1f692.svg","man_firefighter_tone5":"1f468-1f3ff-200d-1f692.svg","man_frowning":"1f64d-200d-2642-fe0f.svg","man_frowning_tone1":"1f64d-1f3fb-200d-2642-fe0f.svg","man_frowning_tone2":"1f64d-1f3fc-200d-2642-fe0f.svg","man_frowning_tone3":"1f64d-1f3fd-200d-2642-fe0f.svg","man_frowning_tone4":"1f64d-1f3fe-200d-2642-fe0f.svg","man_frowning_tone5":"1f64d-1f3ff-200d-2642-fe0f.svg","man_genie":"1f9de-200d-2642-fe0f.svg","man_gesturing_no":"1f645-200d-2642-fe0f.svg","man_gesturing_no_tone1":"1f645-1f3fb-200d-2642-fe0f.svg","man_gesturing_no_tone2":"1f645-1f3fc-200d-2642-fe0f.svg","man_gesturing_no_tone3":"1f645-1f3fd-200d-2642-fe0f.svg","man_gesturing_no_tone4":"1f645-1f3fe-200d-2642-fe0f.svg","man_gesturing_no_tone5":"1f645-1f3ff-200d-2642-fe0f.svg","man_gesturing_ok":"1f646-200d-2642-fe0f.svg","man_gesturing_ok_tone1":"1f646-1f3fb-200d-2642-fe0f.svg","man_gesturing_ok_tone2":"1f646-1f3fc-200d-2642-fe0f.svg","man_gesturing_ok_tone3":"1f646-1f3fd-200d-2642-fe0f.svg","man_gesturing_ok_tone4":"1f646-1f3fe-200d-2642-fe0f.svg","man_gesturing_ok_tone5":"1f646-1f3ff-200d-2642-fe0f.svg","man_getting_face_massage":"1f486-200d-2642-fe0f.svg","man_getting_face_massage_tone1":"1f486-1f3fb-200d-2642-fe0f.svg","man_getting_face_massage_tone2":"1f486-1f3fc-200d-2642-fe0f.svg","man_getting_face_massage_tone3":"1f486-1f3fd-200d-2642-fe0f.svg","man_getting_face_massage_tone4":"1f486-1f3fe-200d-2642-fe0f.svg","man_getting_face_massage_tone5":"1f486-1f3ff-200d-2642-fe0f.svg","man_getting_haircut":"1f487-200d-2642-fe0f.svg","man_getting_haircut_tone1":"1f487-1f3fb-200d-2642-fe0f.svg","man_getting_haircut_tone2":"1f487-1f3fc-200d-2642-fe0f.svg","man_getting_haircut_tone3":"1f487-1f3fd-200d-2642-fe0f.svg","man_getting_haircut_tone4":"1f487-1f3fe-200d-2642-fe0f.svg","man_getting_haircut_tone5":"1f487-1f3ff-200d-2642-fe0f.svg","man_golfing":"1f3cc-fe0f-200d-2642-fe0f.svg","man_golfing_tone1":"1f3cc-1f3fb-200d-2642-fe0f.svg","man_golfing_tone2":"1f3cc-1f3fc-200d-2642-fe0f.svg","man_golfing_tone3":"1f3cc-1f3fd-200d-2642-fe0f.svg","man_golfing_tone4":"1f3cc-1f3fe-200d-2642-fe0f.svg","man_golfing_tone5":"1f3cc-1f3ff-200d-2642-fe0f.svg","man_guard":"1f482-200d-2642-fe0f.svg","man_guard_tone1":"1f482-1f3fb-200d-2642-fe0f.svg","man_guard_tone2":"1f482-1f3fc-200d-2642-fe0f.svg","man_guard_tone3":"1f482-1f3fd-200d-2642-fe0f.svg","man_guard_tone4":"1f482-1f3fe-200d-2642-fe0f.svg","man_guard_tone5":"1f482-1f3ff-200d-2642-fe0f.svg","man_health_worker":"1f468-200d-2695-fe0f.svg","man_health_worker_tone1":"1f468-1f3fb-200d-2695-fe0f.svg","man_health_worker_tone2":"1f468-1f3fc-200d-2695-fe0f.svg","man_health_worker_tone3":"1f468-1f3fd-200d-2695-fe0f.svg","man_health_worker_tone4":"1f468-1f3fe-200d-2695-fe0f.svg","man_health_worker_tone5":"1f468-1f3ff-200d-2695-fe0f.svg","man_in_lotus_position":"1f9d8-200d-2642-fe0f.svg","man_in_lotus_position_tone1":"1f9d8-1f3fb-200d-2642-fe0f.svg","man_in_lotus_position_tone2":"1f9d8-1f3fc-200d-2642-fe0f.svg","man_in_lotus_position_tone3":"1f9d8-1f3fd-200d-2642-fe0f.svg","man_in_lotus_position_tone4":"1f9d8-1f3fe-200d-2642-fe0f.svg","man_in_lotus_position_tone5":"1f9d8-1f3ff-200d-2642-fe0f.svg","man_in_manual_wheelchair":"1f468-200d-1f9bd.svg","man_in_manual_wheelchair_tone1":"1f468-1f3fb-200d-1f9bd.svg","man_in_manual_wheelchair_tone2":"1f468-1f3fc-200d-1f9bd.svg","man_in_manual_wheelchair_tone3":"1f468-1f3fd-200d-1f9bd.svg","man_in_manual_wheelchair_tone4":"1f468-1f3fe-200d-1f9bd.svg","man_in_manual_wheelchair_tone5":"1f468-1f3ff-200d-1f9bd.svg","man_in_motorized_wheelchair":"1f468-200d-1f9bc.svg","man_in_motorized_wheelchair_tone1":"1f468-1f3fb-200d-1f9bc.svg","man_in_motorized_wheelchair_tone2":"1f468-1f3fc-200d-1f9bc.svg","man_in_motorized_wheelchair_tone3":"1f468-1f3fd-200d-1f9bc.svg","man_in_motorized_wheelchair_tone4":"1f468-1f3fe-200d-1f9bc.svg","man_in_motorized_wheelchair_tone5":"1f468-1f3ff-200d-1f9bc.svg","man_in_steamy_room":"1f9d6-200d-2642-fe0f.svg","man_in_steamy_room_tone1":"1f9d6-1f3fb-200d-2642-fe0f.svg","man_in_steamy_room_tone2":"1f9d6-1f3fc-200d-2642-fe0f.svg","man_in_steamy_room_tone3":"1f9d6-1f3fd-200d-2642-fe0f.svg","man_in_steamy_room_tone4":"1f9d6-1f3fe-200d-2642-fe0f.svg","man_in_steamy_room_tone5":"1f9d6-1f3ff-200d-2642-fe0f.svg","man_in_tuxedo":"1f935.svg","man_in_tuxedo_tone1":"1f935-1f3fb.svg","man_in_tuxedo_tone2":"1f935-1f3fc.svg","man_in_tuxedo_tone3":"1f935-1f3fd.svg","man_in_tuxedo_tone4":"1f935-1f3fe.svg","man_in_tuxedo_tone5":"1f935-1f3ff.svg","man_judge":"1f468-200d-2696-fe0f.svg","man_judge_tone1":"1f468-1f3fb-200d-2696-fe0f.svg","man_judge_tone2":"1f468-1f3fc-200d-2696-fe0f.svg","man_judge_tone3":"1f468-1f3fd-200d-2696-fe0f.svg","man_judge_tone4":"1f468-1f3fe-200d-2696-fe0f.svg","man_judge_tone5":"1f468-1f3ff-200d-2696-fe0f.svg","man_juggling":"1f939-200d-2642-fe0f.svg","man_juggling_tone1":"1f939-1f3fb-200d-2642-fe0f.svg","man_juggling_tone2":"1f939-1f3fc-200d-2642-fe0f.svg","man_juggling_tone3":"1f939-1f3fd-200d-2642-fe0f.svg","man_juggling_tone4":"1f939-1f3fe-200d-2642-fe0f.svg","man_juggling_tone5":"1f939-1f3ff-200d-2642-fe0f.svg","man_kneeling":"1f9ce-200d-2642-fe0f.svg","man_kneeling_tone1":"1f9ce-1f3fb-200d-2642-fe0f.svg","man_kneeling_tone2":"1f9ce-1f3fc-200d-2642-fe0f.svg","man_kneeling_tone3":"1f9ce-1f3fd-200d-2642-fe0f.svg","man_kneeling_tone4":"1f9ce-1f3fe-200d-2642-fe0f.svg","man_kneeling_tone5":"1f9ce-1f3ff-200d-2642-fe0f.svg","man_lifting_weights":"1f3cb-fe0f-200d-2642-fe0f.svg","man_lifting_weights_tone1":"1f3cb-1f3fb-200d-2642-fe0f.svg","man_lifting_weights_tone2":"1f3cb-1f3fc-200d-2642-fe0f.svg","man_lifting_weights_tone3":"1f3cb-1f3fd-200d-2642-fe0f.svg","man_lifting_weights_tone4":"1f3cb-1f3fe-200d-2642-fe0f.svg","man_lifting_weights_tone5":"1f3cb-1f3ff-200d-2642-fe0f.svg","man_mage":"1f9d9-200d-2642-fe0f.svg","man_mage_tone1":"1f9d9-1f3fb-200d-2642-fe0f.svg","man_mage_tone2":"1f9d9-1f3fc-200d-2642-fe0f.svg","man_mage_tone3":"1f9d9-1f3fd-200d-2642-fe0f.svg","man_mage_tone4":"1f9d9-1f3fe-200d-2642-fe0f.svg","man_mage_tone5":"1f9d9-1f3ff-200d-2642-fe0f.svg","man_mechanic":"1f468-200d-1f527.svg","man_mechanic_tone1":"1f468-1f3fb-200d-1f527.svg","man_mechanic_tone2":"1f468-1f3fc-200d-1f527.svg","man_mechanic_tone3":"1f468-1f3fd-200d-1f527.svg","man_mechanic_tone4":"1f468-1f3fe-200d-1f527.svg","man_mechanic_tone5":"1f468-1f3ff-200d-1f527.svg","man_mountain_biking":"1f6b5-200d-2642-fe0f.svg","man_mountain_biking_tone1":"1f6b5-1f3fb-200d-2642-fe0f.svg","man_mountain_biking_tone2":"1f6b5-1f3fc-200d-2642-fe0f.svg","man_mountain_biking_tone3":"1f6b5-1f3fd-200d-2642-fe0f.svg","man_mountain_biking_tone4":"1f6b5-1f3fe-200d-2642-fe0f.svg","man_mountain_biking_tone5":"1f6b5-1f3ff-200d-2642-fe0f.svg","man_office_worker":"1f468-200d-1f4bc.svg","man_office_worker_tone1":"1f468-1f3fb-200d-1f4bc.svg","man_office_worker_tone2":"1f468-1f3fc-200d-1f4bc.svg","man_office_worker_tone3":"1f468-1f3fd-200d-1f4bc.svg","man_office_worker_tone4":"1f468-1f3fe-200d-1f4bc.svg","man_office_worker_tone5":"1f468-1f3ff-200d-1f4bc.svg","man_pilot":"1f468-200d-2708-fe0f.svg","man_pilot_tone1":"1f468-1f3fb-200d-2708-fe0f.svg","man_pilot_tone2":"1f468-1f3fc-200d-2708-fe0f.svg","man_pilot_tone3":"1f468-1f3fd-200d-2708-fe0f.svg","man_pilot_tone4":"1f468-1f3fe-200d-2708-fe0f.svg","man_pilot_tone5":"1f468-1f3ff-200d-2708-fe0f.svg","man_playing_handball":"1f93e-200d-2642-fe0f.svg","man_playing_handball_tone1":"1f93e-1f3fb-200d-2642-fe0f.svg","man_playing_handball_tone2":"1f93e-1f3fc-200d-2642-fe0f.svg","man_playing_handball_tone3":"1f93e-1f3fd-200d-2642-fe0f.svg","man_playing_handball_tone4":"1f93e-1f3fe-200d-2642-fe0f.svg","man_playing_handball_tone5":"1f93e-1f3ff-200d-2642-fe0f.svg","man_playing_water_polo":"1f93d-200d-2642-fe0f.svg","man_playing_water_polo_tone1":"1f93d-1f3fb-200d-2642-fe0f.svg","man_playing_water_polo_tone2":"1f93d-1f3fc-200d-2642-fe0f.svg","man_playing_water_polo_tone3":"1f93d-1f3fd-200d-2642-fe0f.svg","man_playing_water_polo_tone4":"1f93d-1f3fe-200d-2642-fe0f.svg","man_playing_water_polo_tone5":"1f93d-1f3ff-200d-2642-fe0f.svg","man_police_officer":"1f46e-200d-2642-fe0f.svg","man_police_officer_tone1":"1f46e-1f3fb-200d-2642-fe0f.svg","man_police_officer_tone2":"1f46e-1f3fc-200d-2642-fe0f.svg","man_police_officer_tone3":"1f46e-1f3fd-200d-2642-fe0f.svg","man_police_officer_tone4":"1f46e-1f3fe-200d-2642-fe0f.svg","man_police_officer_tone5":"1f46e-1f3ff-200d-2642-fe0f.svg","man_pouting":"1f64e-200d-2642-fe0f.svg","man_pouting_tone1":"1f64e-1f3fb-200d-2642-fe0f.svg","man_pouting_tone2":"1f64e-1f3fc-200d-2642-fe0f.svg","man_pouting_tone3":"1f64e-1f3fd-200d-2642-fe0f.svg","man_pouting_tone4":"1f64e-1f3fe-200d-2642-fe0f.svg","man_pouting_tone5":"1f64e-1f3ff-200d-2642-fe0f.svg","man_raising_hand":"1f64b-200d-2642-fe0f.svg","man_raising_hand_tone1":"1f64b-1f3fb-200d-2642-fe0f.svg","man_raising_hand_tone2":"1f64b-1f3fc-200d-2642-fe0f.svg","man_raising_hand_tone3":"1f64b-1f3fd-200d-2642-fe0f.svg","man_raising_hand_tone4":"1f64b-1f3fe-200d-2642-fe0f.svg","man_raising_hand_tone5":"1f64b-1f3ff-200d-2642-fe0f.svg","man_red_haired":"1f468-200d-1f9b0.svg","man_red_haired_tone1":"1f468-1f3fb-200d-1f9b0.svg","man_red_haired_tone2":"1f468-1f3fc-200d-1f9b0.svg","man_red_haired_tone3":"1f468-1f3fd-200d-1f9b0.svg","man_red_haired_tone4":"1f468-1f3fe-200d-1f9b0.svg","man_red_haired_tone5":"1f468-1f3ff-200d-1f9b0.svg","man_rowing_boat":"1f6a3-200d-2642-fe0f.svg","man_rowing_boat_tone1":"1f6a3-1f3fb-200d-2642-fe0f.svg","man_rowing_boat_tone2":"1f6a3-1f3fc-200d-2642-fe0f.svg","man_rowing_boat_tone3":"1f6a3-1f3fd-200d-2642-fe0f.svg","man_rowing_boat_tone4":"1f6a3-1f3fe-200d-2642-fe0f.svg","man_rowing_boat_tone5":"1f6a3-1f3ff-200d-2642-fe0f.svg","man_running":"1f3c3-200d-2642-fe0f.svg","man_running_tone1":"1f3c3-1f3fb-200d-2642-fe0f.svg","man_running_tone2":"1f3c3-1f3fc-200d-2642-fe0f.svg","man_running_tone3":"1f3c3-1f3fd-200d-2642-fe0f.svg","man_running_tone4":"1f3c3-1f3fe-200d-2642-fe0f.svg","man_running_tone5":"1f3c3-1f3ff-200d-2642-fe0f.svg","man_scientist":"1f468-200d-1f52c.svg","man_scientist_tone1":"1f468-1f3fb-200d-1f52c.svg","man_scientist_tone2":"1f468-1f3fc-200d-1f52c.svg","man_scientist_tone3":"1f468-1f3fd-200d-1f52c.svg","man_scientist_tone4":"1f468-1f3fe-200d-1f52c.svg","man_scientist_tone5":"1f468-1f3ff-200d-1f52c.svg","man_shrugging":"1f937-200d-2642-fe0f.svg","man_shrugging_tone1":"1f937-1f3fb-200d-2642-fe0f.svg","man_shrugging_tone2":"1f937-1f3fc-200d-2642-fe0f.svg","man_shrugging_tone3":"1f937-1f3fd-200d-2642-fe0f.svg","man_shrugging_tone4":"1f937-1f3fe-200d-2642-fe0f.svg","man_shrugging_tone5":"1f937-1f3ff-200d-2642-fe0f.svg","man_singer":"1f468-200d-1f3a4.svg","man_singer_tone1":"1f468-1f3fb-200d-1f3a4.svg","man_singer_tone2":"1f468-1f3fc-200d-1f3a4.svg","man_singer_tone3":"1f468-1f3fd-200d-1f3a4.svg","man_singer_tone4":"1f468-1f3fe-200d-1f3a4.svg","man_singer_tone5":"1f468-1f3ff-200d-1f3a4.svg","man_standing":"1f9cd-200d-2642-fe0f.svg","man_standing_tone1":"1f9cd-1f3fb-200d-2642-fe0f.svg","man_standing_tone2":"1f9cd-1f3fc-200d-2642-fe0f.svg","man_standing_tone3":"1f9cd-1f3fd-200d-2642-fe0f.svg","man_standing_tone4":"1f9cd-1f3fe-200d-2642-fe0f.svg","man_standing_tone5":"1f9cd-1f3ff-200d-2642-fe0f.svg","man_student":"1f468-200d-1f393.svg","man_student_tone1":"1f468-1f3fb-200d-1f393.svg","man_student_tone2":"1f468-1f3fc-200d-1f393.svg","man_student_tone3":"1f468-1f3fd-200d-1f393.svg","man_student_tone4":"1f468-1f3fe-200d-1f393.svg","man_student_tone5":"1f468-1f3ff-200d-1f393.svg","man_superhero":"1f9b8-200d-2642-fe0f.svg","man_superhero_tone1":"1f9b8-1f3fb-200d-2642-fe0f.svg","man_superhero_tone2":"1f9b8-1f3fc-200d-2642-fe0f.svg","man_superhero_tone3":"1f9b8-1f3fd-200d-2642-fe0f.svg","man_superhero_tone4":"1f9b8-1f3fe-200d-2642-fe0f.svg","man_superhero_tone5":"1f9b8-1f3ff-200d-2642-fe0f.svg","man_supervillain":"1f9b9-200d-2642-fe0f.svg","man_supervillain_tone1":"1f9b9-1f3fb-200d-2642-fe0f.svg","man_supervillain_tone2":"1f9b9-1f3fc-200d-2642-fe0f.svg","man_supervillain_tone3":"1f9b9-1f3fd-200d-2642-fe0f.svg","man_supervillain_tone4":"1f9b9-1f3fe-200d-2642-fe0f.svg","man_supervillain_tone5":"1f9b9-1f3ff-200d-2642-fe0f.svg","man_surfing":"1f3c4-200d-2642-fe0f.svg","man_surfing_tone1":"1f3c4-1f3fb-200d-2642-fe0f.svg","man_surfing_tone2":"1f3c4-1f3fc-200d-2642-fe0f.svg","man_surfing_tone3":"1f3c4-1f3fd-200d-2642-fe0f.svg","man_surfing_tone4":"1f3c4-1f3fe-200d-2642-fe0f.svg","man_surfing_tone5":"1f3c4-1f3ff-200d-2642-fe0f.svg","man_swimming":"1f3ca-200d-2642-fe0f.svg","man_swimming_tone1":"1f3ca-1f3fb-200d-2642-fe0f.svg","man_swimming_tone2":"1f3ca-1f3fc-200d-2642-fe0f.svg","man_swimming_tone3":"1f3ca-1f3fd-200d-2642-fe0f.svg","man_swimming_tone4":"1f3ca-1f3fe-200d-2642-fe0f.svg","man_swimming_tone5":"1f3ca-1f3ff-200d-2642-fe0f.svg","man_teacher":"1f468-200d-1f3eb.svg","man_teacher_tone1":"1f468-1f3fb-200d-1f3eb.svg","man_teacher_tone2":"1f468-1f3fc-200d-1f3eb.svg","man_teacher_tone3":"1f468-1f3fd-200d-1f3eb.svg","man_teacher_tone4":"1f468-1f3fe-200d-1f3eb.svg","man_teacher_tone5":"1f468-1f3ff-200d-1f3eb.svg","man_technologist":"1f468-200d-1f4bb.svg","man_technologist_tone1":"1f468-1f3fb-200d-1f4bb.svg","man_technologist_tone2":"1f468-1f3fc-200d-1f4bb.svg","man_technologist_tone3":"1f468-1f3fd-200d-1f4bb.svg","man_technologist_tone4":"1f468-1f3fe-200d-1f4bb.svg","man_technologist_tone5":"1f468-1f3ff-200d-1f4bb.svg","man_tipping_hand":"1f481-200d-2642-fe0f.svg","man_tipping_hand_tone1":"1f481-1f3fb-200d-2642-fe0f.svg","man_tipping_hand_tone2":"1f481-1f3fc-200d-2642-fe0f.svg","man_tipping_hand_tone3":"1f481-1f3fd-200d-2642-fe0f.svg","man_tipping_hand_tone4":"1f481-1f3fe-200d-2642-fe0f.svg","man_tipping_hand_tone5":"1f481-1f3ff-200d-2642-fe0f.svg","man_tone1":"1f468-1f3fb.svg","man_tone2":"1f468-1f3fc.svg","man_tone3":"1f468-1f3fd.svg","man_tone4":"1f468-1f3fe.svg","man_tone5":"1f468-1f3ff.svg","man_vampire":"1f9db-200d-2642-fe0f.svg","man_vampire_tone1":"1f9db-1f3fb-200d-2642-fe0f.svg","man_vampire_tone2":"1f9db-1f3fc-200d-2642-fe0f.svg","man_vampire_tone3":"1f9db-1f3fd-200d-2642-fe0f.svg","man_vampire_tone4":"1f9db-1f3fe-200d-2642-fe0f.svg","man_vampire_tone5":"1f9db-1f3ff-200d-2642-fe0f.svg","man_walking":"1f6b6-200d-2642-fe0f.svg","man_walking_tone1":"1f6b6-1f3fb-200d-2642-fe0f.svg","man_walking_tone2":"1f6b6-1f3fc-200d-2642-fe0f.svg","man_walking_tone3":"1f6b6-1f3fd-200d-2642-fe0f.svg","man_walking_tone4":"1f6b6-1f3fe-200d-2642-fe0f.svg","man_walking_tone5":"1f6b6-1f3ff-200d-2642-fe0f.svg","man_wearing_turban":"1f473-200d-2642-fe0f.svg","man_wearing_turban_tone1":"1f473-1f3fb-200d-2642-fe0f.svg","man_wearing_turban_tone2":"1f473-1f3fc-200d-2642-fe0f.svg","man_wearing_turban_tone3":"1f473-1f3fd-200d-2642-fe0f.svg","man_wearing_turban_tone4":"1f473-1f3fe-200d-2642-fe0f.svg","man_wearing_turban_tone5":"1f473-1f3ff-200d-2642-fe0f.svg","man_white_haired":"1f468-200d-1f9b3.svg","man_white_haired_tone1":"1f468-1f3fb-200d-1f9b3.svg","man_white_haired_tone2":"1f468-1f3fc-200d-1f9b3.svg","man_white_haired_tone3":"1f468-1f3fd-200d-1f9b3.svg","man_white_haired_tone4":"1f468-1f3fe-200d-1f9b3.svg","man_white_haired_tone5":"1f468-1f3ff-200d-1f9b3.svg","man_with_chinese_cap":"1f472.svg","man_with_chinese_cap_tone1":"1f472-1f3fb.svg","man_with_chinese_cap_tone2":"1f472-1f3fc.svg","man_with_chinese_cap_tone3":"1f472-1f3fd.svg","man_with_chinese_cap_tone4":"1f472-1f3fe.svg","man_with_chinese_cap_tone5":"1f472-1f3ff.svg","man_with_probing_cane":"1f468-200d-1f9af.svg","man_with_probing_cane_tone1":"1f468-1f3fb-200d-1f9af.svg","man_with_probing_cane_tone2":"1f468-1f3fc-200d-1f9af.svg","man_with_probing_cane_tone3":"1f468-1f3fd-200d-1f9af.svg","man_with_probing_cane_tone4":"1f468-1f3fe-200d-1f9af.svg","man_with_probing_cane_tone5":"1f468-1f3ff-200d-1f9af.svg","man_zombie":"1f9df-200d-2642-fe0f.svg","mango":"1f96d.svg","mans_shoe":"1f45e.svg","manual_wheelchair":"1f9bd.svg","map":"1f5fa.svg","maple_leaf":"1f341.svg","martial_arts_uniform":"1f94b.svg","mask":"1f637.svg","mate":"1f9c9.svg","meat_on_bone":"1f356.svg","mechanic":"1f9d1-200d-1f527.svg","mechanic_tone1":"1f9d1-1f3fb-200d-1f527.svg","mechanic_tone2":"1f9d1-1f3fc-200d-1f527.svg","mechanic_tone3":"1f9d1-1f3fd-200d-1f527.svg","mechanic_tone4":"1f9d1-1f3fe-200d-1f527.svg","mechanic_tone5":"1f9d1-1f3ff-200d-1f527.svg","mechanical_arm":"1f9be.svg","mechanical_leg":"1f9bf.svg","medal":"1f3c5.svg","medical_symbol":"2695.svg","mega":"1f4e3.svg","melon":"1f348.svg","men_holding_hands_tone1":"1f46c-1f3fb.svg","men_holding_hands_tone1_tone2":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg","men_holding_hands_tone1_tone3":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg","men_holding_hands_tone1_tone4":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg","men_holding_hands_tone1_tone5":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg","men_holding_hands_tone2":"1f46c-1f3fc.svg","men_holding_hands_tone2_tone1":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg","men_holding_hands_tone2_tone3":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg","men_holding_hands_tone2_tone4":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg","men_holding_hands_tone2_tone5":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg","men_holding_hands_tone3":"1f46c-1f3fd.svg","men_holding_hands_tone3_tone1":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg","men_holding_hands_tone3_tone2":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg","men_holding_hands_tone3_tone4":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg","men_holding_hands_tone3_tone5":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg","men_holding_hands_tone4":"1f46c-1f3fe.svg","men_holding_hands_tone4_tone1":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg","men_holding_hands_tone4_tone2":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg","men_holding_hands_tone4_tone3":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg","men_holding_hands_tone4_tone5":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg","men_holding_hands_tone5":"1f46c-1f3ff.svg","men_holding_hands_tone5_tone1":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg","men_holding_hands_tone5_tone2":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg","men_holding_hands_tone5_tone3":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg","men_holding_hands_tone5_tone4":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg","men_with_bunny_ears_partying":"1f46f-200d-2642-fe0f.svg","men_wrestling":"1f93c-200d-2642-fe0f.svg","menorah":"1f54e.svg","mens":"1f6b9.svg","mermaid":"1f9dc-200d-2640-fe0f.svg","mermaid_tone1":"1f9dc-1f3fb-200d-2640-fe0f.svg","mermaid_tone2":"1f9dc-1f3fc-200d-2640-fe0f.svg","mermaid_tone3":"1f9dc-1f3fd-200d-2640-fe0f.svg","mermaid_tone4":"1f9dc-1f3fe-200d-2640-fe0f.svg","mermaid_tone5":"1f9dc-1f3ff-200d-2640-fe0f.svg","merman":"1f9dc-200d-2642-fe0f.svg","merman_tone1":"1f9dc-1f3fb-200d-2642-fe0f.svg","merman_tone2":"1f9dc-1f3fc-200d-2642-fe0f.svg","merman_tone3":"1f9dc-1f3fd-200d-2642-fe0f.svg","merman_tone4":"1f9dc-1f3fe-200d-2642-fe0f.svg","merman_tone5":"1f9dc-1f3ff-200d-2642-fe0f.svg","merperson":"1f9dc.svg","merperson_tone1":"1f9dc-1f3fb.svg","merperson_tone2":"1f9dc-1f3fc.svg","merperson_tone3":"1f9dc-1f3fd.svg","merperson_tone4":"1f9dc-1f3fe.svg","merperson_tone5":"1f9dc-1f3ff.svg","metal":"1f918.svg","metal_tone1":"1f918-1f3fb.svg","metal_tone2":"1f918-1f3fc.svg","metal_tone3":"1f918-1f3fd.svg","metal_tone4":"1f918-1f3fe.svg","metal_tone5":"1f918-1f3ff.svg","metro":"1f687.svg","microbe":"1f9a0.svg","microphone2":"1f399.svg","microphone":"1f3a4.svg","microscope":"1f52c.svg","middle_finger":"1f595.svg","middle_finger_tone1":"1f595-1f3fb.svg","middle_finger_tone2":"1f595-1f3fc.svg","middle_finger_tone3":"1f595-1f3fd.svg","middle_finger_tone4":"1f595-1f3fe.svg","middle_finger_tone5":"1f595-1f3ff.svg","military_medal":"1f396.svg","milk":"1f95b.svg","milky_way":"1f30c.svg","minibus":"1f690.svg","minidisc":"1f4bd.svg","mobile_phone":"1f4f1.svg","mobile_phone_off":"1f4f4.svg","money_mouth":"1f911.svg","money_with_wings":"1f4b8.svg","moneybag":"1f4b0.svg","monkey":"1f412.svg","monkey_face":"1f435.svg","monorail":"1f69d.svg","moon_cake":"1f96e.svg","mortar_board":"1f393.svg","mosque":"1f54c.svg","mosquito":"1f99f.svg","motor_scooter":"1f6f5.svg","motorboat":"1f6e5.svg","motorcycle":"1f3cd.svg","motorized_wheelchair":"1f9bc.svg","motorway":"1f6e3.svg","mount_fuji":"1f5fb.svg","mountain":"26f0.svg","mountain_cableway":"1f6a0.svg","mountain_railway":"1f69e.svg","mountain_snow":"1f3d4.svg","mouse2":"1f401.svg","mouse":"1f42d.svg","mouse_three_button":"1f5b1.svg","movie_camera":"1f3a5.svg","moyai":"1f5ff.svg","mrs_claus":"1f936.svg","mrs_claus_tone1":"1f936-1f3fb.svg","mrs_claus_tone2":"1f936-1f3fc.svg","mrs_claus_tone3":"1f936-1f3fd.svg","mrs_claus_tone4":"1f936-1f3fe.svg","mrs_claus_tone5":"1f936-1f3ff.svg","muscle":"1f4aa.svg","muscle_tone1":"1f4aa-1f3fb.svg","muscle_tone2":"1f4aa-1f3fc.svg","muscle_tone3":"1f4aa-1f3fd.svg","muscle_tone4":"1f4aa-1f3fe.svg","muscle_tone5":"1f4aa-1f3ff.svg","mushroom":"1f344.svg","musical_keyboard":"1f3b9.svg","musical_note":"1f3b5.svg","musical_score":"1f3bc.svg","mute":"1f507.svg","nail_care":"1f485.svg","nail_care_tone1":"1f485-1f3fb.svg","nail_care_tone2":"1f485-1f3fc.svg","nail_care_tone3":"1f485-1f3fd.svg","nail_care_tone4":"1f485-1f3fe.svg","nail_care_tone5":"1f485-1f3ff.svg","name_badge":"1f4db.svg","nauseated_face":"1f922.svg","nazar_amulet":"1f9ff.svg","necktie":"1f454.svg","negative_squared_cross_mark":"274e.svg","nerd":"1f913.svg","neutral_face":"1f610.svg","new":"1f195.svg","new_moon":"1f311.svg","new_moon_with_face":"1f31a.svg","newspaper2":"1f5de.svg","newspaper":"1f4f0.svg","ng":"1f196.svg","night_with_stars":"1f303.svg","nine":"39-20e3.svg","no_bell":"1f515.svg","no_bicycles":"1f6b3.svg","no_entry":"26d4.svg","no_entry_sign":"1f6ab.svg","no_mobile_phones":"1f4f5.svg","no_mouth":"1f636.svg","no_pedestrians":"1f6b7.svg","no_smoking":"1f6ad.svg","non-potable_water":"1f6b1.svg","nose":"1f443.svg","nose_tone1":"1f443-1f3fb.svg","nose_tone2":"1f443-1f3fc.svg","nose_tone3":"1f443-1f3fd.svg","nose_tone4":"1f443-1f3fe.svg","nose_tone5":"1f443-1f3ff.svg","notebook":"1f4d3.svg","notebook_with_decorative_cover":"1f4d4.svg","notepad_spiral":"1f5d2.svg","notes":"1f3b6.svg","nut_and_bolt":"1f529.svg","o2":"1f17e.svg","o":"2b55.svg","ocean":"1f30a.svg","octagonal_sign":"1f6d1.svg","octopus":"1f419.svg","oden":"1f362.svg","office":"1f3e2.svg","office_worker":"1f9d1-200d-1f4bc.svg","office_worker_tone1":"1f9d1-1f3fb-200d-1f4bc.svg","office_worker_tone2":"1f9d1-1f3fc-200d-1f4bc.svg","office_worker_tone3":"1f9d1-1f3fd-200d-1f4bc.svg","office_worker_tone4":"1f9d1-1f3fe-200d-1f4bc.svg","office_worker_tone5":"1f9d1-1f3ff-200d-1f4bc.svg","oil":"1f6e2.svg","ok":"1f197.svg","ok_hand":"1f44c.svg","ok_hand_tone1":"1f44c-1f3fb.svg","ok_hand_tone2":"1f44c-1f3fc.svg","ok_hand_tone3":"1f44c-1f3fd.svg","ok_hand_tone4":"1f44c-1f3fe.svg","ok_hand_tone5":"1f44c-1f3ff.svg","older_adult":"1f9d3.svg","older_adult_tone1":"1f9d3-1f3fb.svg","older_adult_tone2":"1f9d3-1f3fc.svg","older_adult_tone3":"1f9d3-1f3fd.svg","older_adult_tone4":"1f9d3-1f3fe.svg","older_adult_tone5":"1f9d3-1f3ff.svg","older_man":"1f474.svg","older_man_tone1":"1f474-1f3fb.svg","older_man_tone2":"1f474-1f3fc.svg","older_man_tone3":"1f474-1f3fd.svg","older_man_tone4":"1f474-1f3fe.svg","older_man_tone5":"1f474-1f3ff.svg","older_woman":"1f475.svg","older_woman_tone1":"1f475-1f3fb.svg","older_woman_tone2":"1f475-1f3fc.svg","older_woman_tone3":"1f475-1f3fd.svg","older_woman_tone4":"1f475-1f3fe.svg","older_woman_tone5":"1f475-1f3ff.svg","om_symbol":"1f549.svg","on":"1f51b.svg","oncoming_automobile":"1f698.svg","oncoming_bus":"1f68d.svg","oncoming_police_car":"1f694.svg","oncoming_taxi":"1f696.svg","one":"31-20e3.svg","one_piece_swimsuit":"1fa71.svg","onion":"1f9c5.svg","open_file_folder":"1f4c2.svg","open_hands":"1f450.svg","open_hands_tone1":"1f450-1f3fb.svg","open_hands_tone2":"1f450-1f3fc.svg","open_hands_tone3":"1f450-1f3fd.svg","open_hands_tone4":"1f450-1f3fe.svg","open_hands_tone5":"1f450-1f3ff.svg","open_mouth":"1f62e.svg","ophiuchus":"26ce.svg","orange_book":"1f4d9.svg","orange_circle":"1f7e0.svg","orange_heart":"1f9e1.svg","orange_square":"1f7e7.svg","orangutan":"1f9a7.svg","orthodox_cross":"2626.svg","otter":"1f9a6.svg","outbox_tray":"1f4e4.svg","owl":"1f989.svg","ox":"1f402.svg","oyster":"1f9aa.svg","package":"1f4e6.svg","page_facing_up":"1f4c4.svg","page_with_curl":"1f4c3.svg","pager":"1f4df.svg","paintbrush":"1f58c.svg","palm_tree":"1f334.svg","palms_up_together":"1f932.svg","palms_up_together_tone1":"1f932-1f3fb.svg","palms_up_together_tone2":"1f932-1f3fc.svg","palms_up_together_tone3":"1f932-1f3fd.svg","palms_up_together_tone4":"1f932-1f3fe.svg","palms_up_together_tone5":"1f932-1f3ff.svg","pancakes":"1f95e.svg","panda_face":"1f43c.svg","paperclip":"1f4ce.svg","paperclips":"1f587.svg","parachute":"1fa82.svg","park":"1f3de.svg","parking":"1f17f.svg","parrot":"1f99c.svg","part_alternation_mark":"303d.svg","partly_sunny":"26c5.svg","partying_face":"1f973.svg","passport_control":"1f6c2.svg","pause_button":"23f8.svg","peace":"262e.svg","peach":"1f351.svg","peacock":"1f99a.svg","peanuts":"1f95c.svg","pear":"1f350.svg","pen_ballpoint":"1f58a.svg","pen_fountain":"1f58b.svg","pencil2":"270f.svg","pencil":"1f4dd.svg","penguin":"1f427.svg","pensive":"1f614.svg","people_holding_hands":"1f9d1-200d-1f91d-200d-1f9d1.svg","people_holding_hands_tone1":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone1_tone2":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone1_tone3":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone1_tone4":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe.svg","people_holding_hands_tone1_tone5":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone2":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone2_tone1":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone2_tone3":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone2_tone4":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe.svg","people_holding_hands_tone2_tone5":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone3":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone3_tone1":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone3_tone2":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone3_tone4":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe.svg","people_holding_hands_tone3_tone5":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone4":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe.svg","people_holding_hands_tone4_tone1":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone4_tone2":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone4_tone3":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone4_tone5":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone5":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone5_tone1":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone5_tone2":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone5_tone3":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone5_tone4":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe.svg","people_with_bunny_ears_partying":"1f46f.svg","people_wrestling":"1f93c.svg","performing_arts":"1f3ad.svg","persevere":"1f623.svg","person_bald":"1f9d1-200d-1f9b2.svg","person_biking":"1f6b4.svg","person_biking_tone1":"1f6b4-1f3fb.svg","person_biking_tone2":"1f6b4-1f3fc.svg","person_biking_tone3":"1f6b4-1f3fd.svg","person_biking_tone4":"1f6b4-1f3fe.svg","person_biking_tone5":"1f6b4-1f3ff.svg","person_bouncing_ball":"26f9.svg","person_bouncing_ball_tone1":"26f9-1f3fb.svg","person_bouncing_ball_tone2":"26f9-1f3fc.svg","person_bouncing_ball_tone3":"26f9-1f3fd.svg","person_bouncing_ball_tone4":"26f9-1f3fe.svg","person_bouncing_ball_tone5":"26f9-1f3ff.svg","person_bowing":"1f647.svg","person_bowing_tone1":"1f647-1f3fb.svg","person_bowing_tone2":"1f647-1f3fc.svg","person_bowing_tone3":"1f647-1f3fd.svg","person_bowing_tone4":"1f647-1f3fe.svg","person_bowing_tone5":"1f647-1f3ff.svg","person_climbing":"1f9d7.svg","person_climbing_tone1":"1f9d7-1f3fb.svg","person_climbing_tone2":"1f9d7-1f3fc.svg","person_climbing_tone3":"1f9d7-1f3fd.svg","person_climbing_tone4":"1f9d7-1f3fe.svg","person_climbing_tone5":"1f9d7-1f3ff.svg","person_curly_hair":"1f9d1-200d-1f9b1.svg","person_doing_cartwheel":"1f938.svg","person_doing_cartwheel_tone1":"1f938-1f3fb.svg","person_doing_cartwheel_tone2":"1f938-1f3fc.svg","person_doing_cartwheel_tone3":"1f938-1f3fd.svg","person_doing_cartwheel_tone4":"1f938-1f3fe.svg","person_doing_cartwheel_tone5":"1f938-1f3ff.svg","person_facepalming":"1f926.svg","person_facepalming_tone1":"1f926-1f3fb.svg","person_facepalming_tone2":"1f926-1f3fc.svg","person_facepalming_tone3":"1f926-1f3fd.svg","person_facepalming_tone4":"1f926-1f3fe.svg","person_facepalming_tone5":"1f926-1f3ff.svg","person_fencing":"1f93a.svg","person_frowning":"1f64d.svg","person_frowning_tone1":"1f64d-1f3fb.svg","person_frowning_tone2":"1f64d-1f3fc.svg","person_frowning_tone3":"1f64d-1f3fd.svg","person_frowning_tone4":"1f64d-1f3fe.svg","person_frowning_tone5":"1f64d-1f3ff.svg","person_gesturing_no":"1f645.svg","person_gesturing_no_tone1":"1f645-1f3fb.svg","person_gesturing_no_tone2":"1f645-1f3fc.svg","person_gesturing_no_tone3":"1f645-1f3fd.svg","person_gesturing_no_tone4":"1f645-1f3fe.svg","person_gesturing_no_tone5":"1f645-1f3ff.svg","person_gesturing_ok":"1f646.svg","person_gesturing_ok_tone1":"1f646-1f3fb.svg","person_gesturing_ok_tone2":"1f646-1f3fc.svg","person_gesturing_ok_tone3":"1f646-1f3fd.svg","person_gesturing_ok_tone4":"1f646-1f3fe.svg","person_gesturing_ok_tone5":"1f646-1f3ff.svg","person_getting_haircut":"1f487.svg","person_getting_haircut_tone1":"1f487-1f3fb.svg","person_getting_haircut_tone2":"1f487-1f3fc.svg","person_getting_haircut_tone3":"1f487-1f3fd.svg","person_getting_haircut_tone4":"1f487-1f3fe.svg","person_getting_haircut_tone5":"1f487-1f3ff.svg","person_getting_massage":"1f486.svg","person_getting_massage_tone1":"1f486-1f3fb.svg","person_getting_massage_tone2":"1f486-1f3fc.svg","person_getting_massage_tone3":"1f486-1f3fd.svg","person_getting_massage_tone4":"1f486-1f3fe.svg","person_getting_massage_tone5":"1f486-1f3ff.svg","person_golfing":"1f3cc.svg","person_golfing_tone1":"1f3cc-1f3fb.svg","person_golfing_tone2":"1f3cc-1f3fc.svg","person_golfing_tone3":"1f3cc-1f3fd.svg","person_golfing_tone4":"1f3cc-1f3fe.svg","person_golfing_tone5":"1f3cc-1f3ff.svg","person_in_bed_tone1":"1f6cc-1f3fb.svg","person_in_bed_tone2":"1f6cc-1f3fc.svg","person_in_bed_tone3":"1f6cc-1f3fd.svg","person_in_bed_tone4":"1f6cc-1f3fe.svg","person_in_bed_tone5":"1f6cc-1f3ff.svg","person_in_lotus_position":"1f9d8.svg","person_in_lotus_position_tone1":"1f9d8-1f3fb.svg","person_in_lotus_position_tone2":"1f9d8-1f3fc.svg","person_in_lotus_position_tone3":"1f9d8-1f3fd.svg","person_in_lotus_position_tone4":"1f9d8-1f3fe.svg","person_in_lotus_position_tone5":"1f9d8-1f3ff.svg","person_in_manual_wheelchair":"1f9d1-200d-1f9bd.svg","person_in_manual_wheelchair_tone1":"1f9d1-1f3fb-200d-1f9bd.svg","person_in_manual_wheelchair_tone2":"1f9d1-1f3fc-200d-1f9bd.svg","person_in_manual_wheelchair_tone3":"1f9d1-1f3fd-200d-1f9bd.svg","person_in_manual_wheelchair_tone4":"1f9d1-1f3fe-200d-1f9bd.svg","person_in_manual_wheelchair_tone5":"1f9d1-1f3ff-200d-1f9bd.svg","person_in_motorized_wheelchair":"1f9d1-200d-1f9bc.svg","person_in_motorized_wheelchair_tone1":"1f9d1-1f3fb-200d-1f9bc.svg","person_in_motorized_wheelchair_tone2":"1f9d1-1f3fc-200d-1f9bc.svg","person_in_motorized_wheelchair_tone3":"1f9d1-1f3fd-200d-1f9bc.svg","person_in_motorized_wheelchair_tone4":"1f9d1-1f3fe-200d-1f9bc.svg","person_in_motorized_wheelchair_tone5":"1f9d1-1f3ff-200d-1f9bc.svg","person_in_steamy_room":"1f9d6.svg","person_in_steamy_room_tone1":"1f9d6-1f3fb.svg","person_in_steamy_room_tone2":"1f9d6-1f3fc.svg","person_in_steamy_room_tone3":"1f9d6-1f3fd.svg","person_in_steamy_room_tone4":"1f9d6-1f3fe.svg","person_in_steamy_room_tone5":"1f9d6-1f3ff.svg","person_juggling":"1f939.svg","person_juggling_tone1":"1f939-1f3fb.svg","person_juggling_tone2":"1f939-1f3fc.svg","person_juggling_tone3":"1f939-1f3fd.svg","person_juggling_tone4":"1f939-1f3fe.svg","person_juggling_tone5":"1f939-1f3ff.svg","person_kneeling":"1f9ce.svg","person_kneeling_tone1":"1f9ce-1f3fb.svg","person_kneeling_tone2":"1f9ce-1f3fc.svg","person_kneeling_tone3":"1f9ce-1f3fd.svg","person_kneeling_tone4":"1f9ce-1f3fe.svg","person_kneeling_tone5":"1f9ce-1f3ff.svg","person_lifting_weights":"1f3cb.svg","person_lifting_weights_tone1":"1f3cb-1f3fb.svg","person_lifting_weights_tone2":"1f3cb-1f3fc.svg","person_lifting_weights_tone3":"1f3cb-1f3fd.svg","person_lifting_weights_tone4":"1f3cb-1f3fe.svg","person_lifting_weights_tone5":"1f3cb-1f3ff.svg","person_mountain_biking":"1f6b5.svg","person_mountain_biking_tone1":"1f6b5-1f3fb.svg","person_mountain_biking_tone2":"1f6b5-1f3fc.svg","person_mountain_biking_tone3":"1f6b5-1f3fd.svg","person_mountain_biking_tone4":"1f6b5-1f3fe.svg","person_mountain_biking_tone5":"1f6b5-1f3ff.svg","person_playing_handball":"1f93e.svg","person_playing_handball_tone1":"1f93e-1f3fb.svg","person_playing_handball_tone2":"1f93e-1f3fc.svg","person_playing_handball_tone3":"1f93e-1f3fd.svg","person_playing_handball_tone4":"1f93e-1f3fe.svg","person_playing_handball_tone5":"1f93e-1f3ff.svg","person_playing_water_polo":"1f93d.svg","person_playing_water_polo_tone1":"1f93d-1f3fb.svg","person_playing_water_polo_tone2":"1f93d-1f3fc.svg","person_playing_water_polo_tone3":"1f93d-1f3fd.svg","person_playing_water_polo_tone4":"1f93d-1f3fe.svg","person_playing_water_polo_tone5":"1f93d-1f3ff.svg","person_pouting":"1f64e.svg","person_pouting_tone1":"1f64e-1f3fb.svg","person_pouting_tone2":"1f64e-1f3fc.svg","person_pouting_tone3":"1f64e-1f3fd.svg","person_pouting_tone4":"1f64e-1f3fe.svg","person_pouting_tone5":"1f64e-1f3ff.svg","person_raising_hand":"1f64b.svg","person_raising_hand_tone1":"1f64b-1f3fb.svg","person_raising_hand_tone2":"1f64b-1f3fc.svg","person_raising_hand_tone3":"1f64b-1f3fd.svg","person_raising_hand_tone4":"1f64b-1f3fe.svg","person_raising_hand_tone5":"1f64b-1f3ff.svg","person_red_hair":"1f9d1-200d-1f9b0.svg","person_rowing_boat":"1f6a3.svg","person_rowing_boat_tone1":"1f6a3-1f3fb.svg","person_rowing_boat_tone2":"1f6a3-1f3fc.svg","person_rowing_boat_tone3":"1f6a3-1f3fd.svg","person_rowing_boat_tone4":"1f6a3-1f3fe.svg","person_rowing_boat_tone5":"1f6a3-1f3ff.svg","person_running":"1f3c3.svg","person_running_tone1":"1f3c3-1f3fb.svg","person_running_tone2":"1f3c3-1f3fc.svg","person_running_tone3":"1f3c3-1f3fd.svg","person_running_tone4":"1f3c3-1f3fe.svg","person_running_tone5":"1f3c3-1f3ff.svg","person_shrugging":"1f937.svg","person_shrugging_tone1":"1f937-1f3fb.svg","person_shrugging_tone2":"1f937-1f3fc.svg","person_shrugging_tone3":"1f937-1f3fd.svg","person_shrugging_tone4":"1f937-1f3fe.svg","person_shrugging_tone5":"1f937-1f3ff.svg","person_standing":"1f9cd.svg","person_standing_tone1":"1f9cd-1f3fb.svg","person_standing_tone2":"1f9cd-1f3fc.svg","person_standing_tone3":"1f9cd-1f3fd.svg","person_standing_tone4":"1f9cd-1f3fe.svg","person_standing_tone5":"1f9cd-1f3ff.svg","person_surfing":"1f3c4.svg","person_surfing_tone1":"1f3c4-1f3fb.svg","person_surfing_tone2":"1f3c4-1f3fc.svg","person_surfing_tone3":"1f3c4-1f3fd.svg","person_surfing_tone4":"1f3c4-1f3fe.svg","person_surfing_tone5":"1f3c4-1f3ff.svg","person_swimming":"1f3ca.svg","person_swimming_tone1":"1f3ca-1f3fb.svg","person_swimming_tone2":"1f3ca-1f3fc.svg","person_swimming_tone3":"1f3ca-1f3fd.svg","person_swimming_tone4":"1f3ca-1f3fe.svg","person_swimming_tone5":"1f3ca-1f3ff.svg","person_tipping_hand":"1f481.svg","person_tipping_hand_tone1":"1f481-1f3fb.svg","person_tipping_hand_tone2":"1f481-1f3fc.svg","person_tipping_hand_tone3":"1f481-1f3fd.svg","person_tipping_hand_tone4":"1f481-1f3fe.svg","person_tipping_hand_tone5":"1f481-1f3ff.svg","person_tone1_bald":"1f9d1-1f3fb-200d-1f9b2.svg","person_tone1_curly_hair":"1f9d1-1f3fb-200d-1f9b1.svg","person_tone1_red_hair":"1f9d1-1f3fb-200d-1f9b0.svg","person_tone1_white_hair":"1f9d1-1f3fb-200d-1f9b3.svg","person_tone2_bald":"1f9d1-1f3fc-200d-1f9b2.svg","person_tone2_curly_hair":"1f9d1-1f3fc-200d-1f9b1.svg","person_tone2_red_hair":"1f9d1-1f3fc-200d-1f9b0.svg","person_tone2_white_hair":"1f9d1-1f3fc-200d-1f9b3.svg","person_tone3_bald":"1f9d1-1f3fd-200d-1f9b2.svg","person_tone3_curly_hair":"1f9d1-1f3fd-200d-1f9b1.svg","person_tone3_red_hair":"1f9d1-1f3fd-200d-1f9b0.svg","person_tone3_white_hair":"1f9d1-1f3fd-200d-1f9b3.svg","person_tone4_bald":"1f9d1-1f3fe-200d-1f9b2.svg","person_tone4_curly_hair":"1f9d1-1f3fe-200d-1f9b1.svg","person_tone4_red_hair":"1f9d1-1f3fe-200d-1f9b0.svg","person_tone4_white_hair":"1f9d1-1f3fe-200d-1f9b3.svg","person_tone5_bald":"1f9d1-1f3ff-200d-1f9b2.svg","person_tone5_curly_hair":"1f9d1-1f3ff-200d-1f9b1.svg","person_tone5_red_hair":"1f9d1-1f3ff-200d-1f9b0.svg","person_tone5_white_hair":"1f9d1-1f3ff-200d-1f9b3.svg","person_walking":"1f6b6.svg","person_walking_tone1":"1f6b6-1f3fb.svg","person_walking_tone2":"1f6b6-1f3fc.svg","person_walking_tone3":"1f6b6-1f3fd.svg","person_walking_tone4":"1f6b6-1f3fe.svg","person_walking_tone5":"1f6b6-1f3ff.svg","person_wearing_turban":"1f473.svg","person_wearing_turban_tone1":"1f473-1f3fb.svg","person_wearing_turban_tone2":"1f473-1f3fc.svg","person_wearing_turban_tone3":"1f473-1f3fd.svg","person_wearing_turban_tone4":"1f473-1f3fe.svg","person_wearing_turban_tone5":"1f473-1f3ff.svg","person_white_hair":"1f9d1-200d-1f9b3.svg","person_with_probing_cane":"1f9d1-200d-1f9af.svg","person_with_probing_cane_tone1":"1f9d1-1f3fb-200d-1f9af.svg","person_with_probing_cane_tone2":"1f9d1-1f3fc-200d-1f9af.svg","person_with_probing_cane_tone3":"1f9d1-1f3fd-200d-1f9af.svg","person_with_probing_cane_tone4":"1f9d1-1f3fe-200d-1f9af.svg","person_with_probing_cane_tone5":"1f9d1-1f3ff-200d-1f9af.svg","petri_dish":"1f9eb.svg","pick":"26cf.svg","pie":"1f967.svg","pig2":"1f416.svg","pig":"1f437.svg","pig_nose":"1f43d.svg","pill":"1f48a.svg","pilot":"1f9d1-200d-2708-fe0f.svg","pilot_tone1":"1f9d1-1f3fb-200d-2708-fe0f.svg","pilot_tone2":"1f9d1-1f3fc-200d-2708-fe0f.svg","pilot_tone3":"1f9d1-1f3fd-200d-2708-fe0f.svg","pilot_tone4":"1f9d1-1f3fe-200d-2708-fe0f.svg","pilot_tone5":"1f9d1-1f3ff-200d-2708-fe0f.svg","pinching_hand":"1f90f.svg","pinching_hand_tone1":"1f90f-1f3fb.svg","pinching_hand_tone2":"1f90f-1f3fc.svg","pinching_hand_tone3":"1f90f-1f3fd.svg","pinching_hand_tone4":"1f90f-1f3fe.svg","pinching_hand_tone5":"1f90f-1f3ff.svg","pineapple":"1f34d.svg","ping_pong":"1f3d3.svg","pirate_flag":"1f3f4-200d-2620-fe0f.svg","pisces":"2653.svg","pizza":"1f355.svg","place_of_worship":"1f6d0.svg","play_pause":"23ef.svg","pleading_face":"1f97a.svg","point_down":"1f447.svg","point_down_tone1":"1f447-1f3fb.svg","point_down_tone2":"1f447-1f3fc.svg","point_down_tone3":"1f447-1f3fd.svg","point_down_tone4":"1f447-1f3fe.svg","point_down_tone5":"1f447-1f3ff.svg","point_left":"1f448.svg","point_left_tone1":"1f448-1f3fb.svg","point_left_tone2":"1f448-1f3fc.svg","point_left_tone3":"1f448-1f3fd.svg","point_left_tone4":"1f448-1f3fe.svg","point_left_tone5":"1f448-1f3ff.svg","point_right":"1f449.svg","point_right_tone1":"1f449-1f3fb.svg","point_right_tone2":"1f449-1f3fc.svg","point_right_tone3":"1f449-1f3fd.svg","point_right_tone4":"1f449-1f3fe.svg","point_right_tone5":"1f449-1f3ff.svg","point_up":"261d.svg","point_up_2":"1f446.svg","point_up_2_tone1":"1f446-1f3fb.svg","point_up_2_tone2":"1f446-1f3fc.svg","point_up_2_tone3":"1f446-1f3fd.svg","point_up_2_tone4":"1f446-1f3fe.svg","point_up_2_tone5":"1f446-1f3ff.svg","point_up_tone1":"261d-1f3fb.svg","point_up_tone2":"261d-1f3fc.svg","point_up_tone3":"261d-1f3fd.svg","point_up_tone4":"261d-1f3fe.svg","point_up_tone5":"261d-1f3ff.svg","police_car":"1f693.svg","police_officer":"1f46e.svg","police_officer_tone1":"1f46e-1f3fb.svg","police_officer_tone2":"1f46e-1f3fc.svg","police_officer_tone3":"1f46e-1f3fd.svg","police_officer_tone4":"1f46e-1f3fe.svg","police_officer_tone5":"1f46e-1f3ff.svg","poodle":"1f429.svg","poop":"1f4a9.svg","popcorn":"1f37f.svg","post_office":"1f3e3.svg","postal_horn":"1f4ef.svg","postbox":"1f4ee.svg","potable_water":"1f6b0.svg","potato":"1f954.svg","pouch":"1f45d.svg","poultry_leg":"1f357.svg","pound":"1f4b7.svg","pouting_cat":"1f63e.svg","pray":"1f64f.svg","pray_tone1":"1f64f-1f3fb.svg","pray_tone2":"1f64f-1f3fc.svg","pray_tone3":"1f64f-1f3fd.svg","pray_tone4":"1f64f-1f3fe.svg","pray_tone5":"1f64f-1f3ff.svg","prayer_beads":"1f4ff.svg","pregnant_woman":"1f930.svg","pregnant_woman_tone1":"1f930-1f3fb.svg","pregnant_woman_tone2":"1f930-1f3fc.svg","pregnant_woman_tone3":"1f930-1f3fd.svg","pregnant_woman_tone4":"1f930-1f3fe.svg","pregnant_woman_tone5":"1f930-1f3ff.svg","pretzel":"1f968.svg","prince":"1f934.svg","prince_tone1":"1f934-1f3fb.svg","prince_tone2":"1f934-1f3fc.svg","prince_tone3":"1f934-1f3fd.svg","prince_tone4":"1f934-1f3fe.svg","prince_tone5":"1f934-1f3ff.svg","princess":"1f478.svg","princess_tone1":"1f478-1f3fb.svg","princess_tone2":"1f478-1f3fc.svg","princess_tone3":"1f478-1f3fd.svg","princess_tone4":"1f478-1f3fe.svg","princess_tone5":"1f478-1f3ff.svg","printer":"1f5a8.svg","probing_cane":"1f9af.svg","projector":"1f4fd.svg","punch":"1f44a.svg","punch_tone1":"1f44a-1f3fb.svg","punch_tone2":"1f44a-1f3fc.svg","punch_tone3":"1f44a-1f3fd.svg","punch_tone4":"1f44a-1f3fe.svg","punch_tone5":"1f44a-1f3ff.svg","purple_circle":"1f7e3.svg","purple_heart":"1f49c.svg","purple_square":"1f7ea.svg","purse":"1f45b.svg","pushpin":"1f4cc.svg","put_litter_in_its_place":"1f6ae.svg","question":"2753.svg","rabbit2":"1f407.svg","rabbit":"1f430.svg","raccoon":"1f99d.svg","race_car":"1f3ce.svg","racehorse":"1f40e.svg","radio":"1f4fb.svg","radio_button":"1f518.svg","radioactive":"2622.svg","rage":"1f621.svg","railway_car":"1f683.svg","railway_track":"1f6e4.svg","rainbow":"1f308.svg","rainbow_flag":"1f3f3-fe0f-200d-1f308.svg","raised_back_of_hand":"1f91a.svg","raised_back_of_hand_tone1":"1f91a-1f3fb.svg","raised_back_of_hand_tone2":"1f91a-1f3fc.svg","raised_back_of_hand_tone3":"1f91a-1f3fd.svg","raised_back_of_hand_tone4":"1f91a-1f3fe.svg","raised_back_of_hand_tone5":"1f91a-1f3ff.svg","raised_hand":"270b.svg","raised_hand_tone1":"270b-1f3fb.svg","raised_hand_tone2":"270b-1f3fc.svg","raised_hand_tone3":"270b-1f3fd.svg","raised_hand_tone4":"270b-1f3fe.svg","raised_hand_tone5":"270b-1f3ff.svg","raised_hands":"1f64c.svg","raised_hands_tone1":"1f64c-1f3fb.svg","raised_hands_tone2":"1f64c-1f3fc.svg","raised_hands_tone3":"1f64c-1f3fd.svg","raised_hands_tone4":"1f64c-1f3fe.svg","raised_hands_tone5":"1f64c-1f3ff.svg","ram":"1f40f.svg","ramen":"1f35c.svg","rat":"1f400.svg","razor":"1fa92.svg","receipt":"1f9fe.svg","record_button":"23fa.svg","recycle":"267b.svg","red_car":"1f697.svg","red_circle":"1f534.svg","red_envelope":"1f9e7.svg","red_haired":"1f9b0.svg","red_square":"1f7e5.svg","regional_indicator_a":"1f1e6.svg","regional_indicator_b":"1f1e7.svg","regional_indicator_c":"1f1e8.svg","regional_indicator_d":"1f1e9.svg","regional_indicator_e":"1f1ea.svg","regional_indicator_f":"1f1eb.svg","regional_indicator_g":"1f1ec.svg","regional_indicator_h":"1f1ed.svg","regional_indicator_i":"1f1ee.svg","regional_indicator_j":"1f1ef.svg","regional_indicator_k":"1f1f0.svg","regional_indicator_l":"1f1f1.svg","regional_indicator_m":"1f1f2.svg","regional_indicator_n":"1f1f3.svg","regional_indicator_o":"1f1f4.svg","regional_indicator_p":"1f1f5.svg","regional_indicator_q":"1f1f6.svg","regional_indicator_r":"1f1f7.svg","regional_indicator_s":"1f1f8.svg","regional_indicator_t":"1f1f9.svg","regional_indicator_u":"1f1fa.svg","regional_indicator_v":"1f1fb.svg","regional_indicator_w":"1f1fc.svg","regional_indicator_x":"1f1fd.svg","regional_indicator_y":"1f1fe.svg","regional_indicator_z":"1f1ff.svg","registered":"ae.svg","relaxed":"263a.svg","relieved":"1f60c.svg","reminder_ribbon":"1f397.svg","repeat":"1f501.svg","repeat_one":"1f502.svg","restroom":"1f6bb.svg","revolving_hearts":"1f49e.svg","rewind":"23ea.svg","rhino":"1f98f.svg","ribbon":"1f380.svg","rice":"1f35a.svg","rice_ball":"1f359.svg","rice_cracker":"1f358.svg","rice_scene":"1f391.svg","right_facing_fist":"1f91c.svg","right_facing_fist_tone1":"1f91c-1f3fb.svg","right_facing_fist_tone2":"1f91c-1f3fc.svg","right_facing_fist_tone3":"1f91c-1f3fd.svg","right_facing_fist_tone4":"1f91c-1f3fe.svg","right_facing_fist_tone5":"1f91c-1f3ff.svg","ring":"1f48d.svg","ringed_planet":"1fa90.svg","robot":"1f916.svg","rocket":"1f680.svg","rofl":"1f923.svg","roll_of_paper":"1f9fb.svg","roller_coaster":"1f3a2.svg","rolling_eyes":"1f644.svg","rooster":"1f413.svg","rose":"1f339.svg","rosette":"1f3f5.svg","rotating_light":"1f6a8.svg","round_pushpin":"1f4cd.svg","rugby_football":"1f3c9.svg","running_shirt_with_sash":"1f3bd.svg","sa":"1f202.svg","safety_pin":"1f9f7.svg","safety_vest":"1f9ba.svg","sagittarius":"2650.svg","sailboat":"26f5.svg","sake":"1f376.svg","salad":"1f957.svg","salt":"1f9c2.svg","sandal":"1f461.svg","sandwich":"1f96a.svg","santa":"1f385.svg","santa_tone1":"1f385-1f3fb.svg","santa_tone2":"1f385-1f3fc.svg","santa_tone3":"1f385-1f3fd.svg","santa_tone4":"1f385-1f3fe.svg","santa_tone5":"1f385-1f3ff.svg","sari":"1f97b.svg","satellite":"1f4e1.svg","satellite_orbital":"1f6f0.svg","sauropod":"1f995.svg","saxophone":"1f3b7.svg","scales":"2696.svg","scarf":"1f9e3.svg","school":"1f3eb.svg","school_satchel":"1f392.svg","scientist":"1f9d1-200d-1f52c.svg","scientist_tone1":"1f9d1-1f3fb-200d-1f52c.svg","scientist_tone2":"1f9d1-1f3fc-200d-1f52c.svg","scientist_tone3":"1f9d1-1f3fd-200d-1f52c.svg","scientist_tone4":"1f9d1-1f3fe-200d-1f52c.svg","scientist_tone5":"1f9d1-1f3ff-200d-1f52c.svg","scissors":"2702.svg","scooter":"1f6f4.svg","scorpion":"1f982.svg","scorpius":"264f.svg","scotland":"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg","scream":"1f631.svg","scream_cat":"1f640.svg","scroll":"1f4dc.svg","seat":"1f4ba.svg","second_place":"1f948.svg","secret":"3299.svg","see_no_evil":"1f648.svg","seedling":"1f331.svg","selfie":"1f933.svg","selfie_tone1":"1f933-1f3fb.svg","selfie_tone2":"1f933-1f3fc.svg","selfie_tone3":"1f933-1f3fd.svg","selfie_tone4":"1f933-1f3fe.svg","selfie_tone5":"1f933-1f3ff.svg","service_dog":"1f415-200d-1f9ba.svg","seven":"37-20e3.svg","shallow_pan_of_food":"1f958.svg","shamrock":"2618.svg","shark":"1f988.svg","shaved_ice":"1f367.svg","sheep":"1f411.svg","shell":"1f41a.svg","shibuya":"e50a.svg","shield":"1f6e1.svg","shinto_shrine":"26e9.svg","ship":"1f6a2.svg","shirt":"1f455.svg","shopping_bags":"1f6cd.svg","shopping_cart":"1f6d2.svg","shorts":"1fa73.svg","shower":"1f6bf.svg","shrimp":"1f990.svg","shushing_face":"1f92b.svg","signal_strength":"1f4f6.svg","singer":"1f9d1-200d-1f3a4.svg","singer_tone1":"1f9d1-1f3fb-200d-1f3a4.svg","singer_tone2":"1f9d1-1f3fc-200d-1f3a4.svg","singer_tone3":"1f9d1-1f3fd-200d-1f3a4.svg","singer_tone4":"1f9d1-1f3fe-200d-1f3a4.svg","singer_tone5":"1f9d1-1f3ff-200d-1f3a4.svg","six":"36-20e3.svg","six_pointed_star":"1f52f.svg","skateboard":"1f6f9.svg","ski":"1f3bf.svg","skier":"26f7.svg","skier_tone1":"26f7-1f3fb.svg","skier_tone2":"26f7-1f3fc.svg","skier_tone3":"26f7-1f3fd.svg","skier_tone4":"26f7-1f3fe.svg","skier_tone5":"26f7-1f3ff.svg","skull":"1f480.svg","skull_crossbones":"2620.svg","skunk":"1f9a8.svg","sled":"1f6f7.svg","sleeping":"1f634.svg","sleeping_accommodation":"1f6cc.svg","sleepy":"1f62a.svg","slight_frown":"1f641.svg","slight_smile":"1f642.svg","slot_machine":"1f3b0.svg","sloth":"1f9a5.svg","small_blue_diamond":"1f539.svg","small_orange_diamond":"1f538.svg","small_red_triangle":"1f53a.svg","small_red_triangle_down":"1f53b.svg","smile":"1f604.svg","smile_cat":"1f638.svg","smiley":"1f603.svg","smiley_cat":"1f63a.svg","smiling_face_with_3_hearts":"1f970.svg","smiling_imp":"1f608.svg","smirk":"1f60f.svg","smirk_cat":"1f63c.svg","smoking":"1f6ac.svg","snail":"1f40c.svg","snake":"1f40d.svg","sneezing_face":"1f927.svg","snowboarder":"1f3c2.svg","snowboarder_tone1":"1f3c2-1f3fb.svg","snowboarder_tone2":"1f3c2-1f3fc.svg","snowboarder_tone3":"1f3c2-1f3fd.svg","snowboarder_tone4":"1f3c2-1f3fe.svg","snowboarder_tone5":"1f3c2-1f3ff.svg","snowflake":"2744.svg","snowman2":"2603.svg","snowman":"26c4.svg","soap":"1f9fc.svg","sob":"1f62d.svg","soccer":"26bd.svg","socks":"1f9e6.svg","softball":"1f94e.svg","soon":"1f51c.svg","sos":"1f198.svg","sound":"1f509.svg","space_invader":"1f47e.svg","spades":"2660.svg","spaghetti":"1f35d.svg","sparkle":"2747.svg","sparkler":"1f387.svg","sparkles":"2728.svg","sparkling_heart":"1f496.svg","speak_no_evil":"1f64a.svg","speaker":"1f508.svg","speaking_head":"1f5e3.svg","speech_balloon":"1f4ac.svg","speech_left":"1f5e8.svg","speedboat":"1f6a4.svg","spider":"1f577.svg","spider_web":"1f578.svg","sponge":"1f9fd.svg","spoon":"1f944.svg","squeeze_bottle":"1f9f4.svg","squid":"1f991.svg","stadium":"1f3df.svg","star2":"1f31f.svg","star":"2b50.svg","star_and_crescent":"262a.svg","star_of_david":"2721.svg","star_struck":"1f929.svg","stars":"1f320.svg","station":"1f689.svg","statue_of_liberty":"1f5fd.svg","steam_locomotive":"1f682.svg","stethoscope":"1fa7a.svg","stew":"1f372.svg","stop_button":"23f9.svg","stopwatch":"23f1.svg","straight_ruler":"1f4cf.svg","strawberry":"1f353.svg","stuck_out_tongue":"1f61b.svg","stuck_out_tongue_closed_eyes":"1f61d.svg","stuck_out_tongue_winking_eye":"1f61c.svg","student":"1f9d1-200d-1f393.svg","student_tone1":"1f9d1-1f3fb-200d-1f393.svg","student_tone2":"1f9d1-1f3fc-200d-1f393.svg","student_tone3":"1f9d1-1f3fd-200d-1f393.svg","student_tone4":"1f9d1-1f3fe-200d-1f393.svg","student_tone5":"1f9d1-1f3ff-200d-1f393.svg","stuffed_flatbread":"1f959.svg","sun_with_face":"1f31e.svg","sunflower":"1f33b.svg","sunglasses":"1f60e.svg","sunny":"2600.svg","sunrise":"1f305.svg","sunrise_over_mountains":"1f304.svg","superhero":"1f9b8.svg","superhero_tone1":"1f9b8-1f3fb.svg","superhero_tone2":"1f9b8-1f3fc.svg","superhero_tone3":"1f9b8-1f3fd.svg","superhero_tone4":"1f9b8-1f3fe.svg","superhero_tone5":"1f9b8-1f3ff.svg","supervillain":"1f9b9.svg","supervillain_tone1":"1f9b9-1f3fb.svg","supervillain_tone2":"1f9b9-1f3fc.svg","supervillain_tone3":"1f9b9-1f3fd.svg","supervillain_tone4":"1f9b9-1f3fe.svg","supervillain_tone5":"1f9b9-1f3ff.svg","sushi":"1f363.svg","suspension_railway":"1f69f.svg","swan":"1f9a2.svg","sweat":"1f613.svg","sweat_drops":"1f4a6.svg","sweat_smile":"1f605.svg","sweet_potato":"1f360.svg","symbols":"1f523.svg","synagogue":"1f54d.svg","syringe":"1f489.svg","t_rex":"1f996.svg","taco":"1f32e.svg","tada":"1f389.svg","takeout_box":"1f961.svg","tanabata_tree":"1f38b.svg","tangerine":"1f34a.svg","taurus":"2649.svg","taxi":"1f695.svg","tea":"1f375.svg","teacher":"1f9d1-200d-1f3eb.svg","teacher_tone1":"1f9d1-1f3fb-200d-1f3eb.svg","teacher_tone2":"1f9d1-1f3fc-200d-1f3eb.svg","teacher_tone3":"1f9d1-1f3fd-200d-1f3eb.svg","teacher_tone4":"1f9d1-1f3fe-200d-1f3eb.svg","teacher_tone5":"1f9d1-1f3ff-200d-1f3eb.svg","technologist":"1f9d1-200d-1f4bb.svg","technologist_tone1":"1f9d1-1f3fb-200d-1f4bb.svg","technologist_tone2":"1f9d1-1f3fc-200d-1f4bb.svg","technologist_tone3":"1f9d1-1f3fd-200d-1f4bb.svg","technologist_tone4":"1f9d1-1f3fe-200d-1f4bb.svg","technologist_tone5":"1f9d1-1f3ff-200d-1f4bb.svg","teddy_bear":"1f9f8.svg","telephone":"260e.svg","telephone_receiver":"1f4de.svg","telescope":"1f52d.svg","tennis":"1f3be.svg","tent":"26fa.svg","test_tube":"1f9ea.svg","thermometer":"1f321.svg","thermometer_face":"1f912.svg","thinking":"1f914.svg","third_place":"1f949.svg","thought_balloon":"1f4ad.svg","thread":"1f9f5.svg","three":"33-20e3.svg","thumbsdown":"1f44e.svg","thumbsdown_tone1":"1f44e-1f3fb.svg","thumbsdown_tone2":"1f44e-1f3fc.svg","thumbsdown_tone3":"1f44e-1f3fd.svg","thumbsdown_tone4":"1f44e-1f3fe.svg","thumbsdown_tone5":"1f44e-1f3ff.svg","thumbsup":"1f44d.svg","thumbsup_tone1":"1f44d-1f3fb.svg","thumbsup_tone2":"1f44d-1f3fc.svg","thumbsup_tone3":"1f44d-1f3fd.svg","thumbsup_tone4":"1f44d-1f3fe.svg","thumbsup_tone5":"1f44d-1f3ff.svg","thunder_cloud_rain":"26c8.svg","ticket":"1f3ab.svg","tickets":"1f39f.svg","tiger2":"1f405.svg","tiger":"1f42f.svg","timer":"23f2.svg","tired_face":"1f62b.svg","tm":"2122.svg","toilet":"1f6bd.svg","tokyo_tower":"1f5fc.svg","tomato":"1f345.svg","tone1":"1f3fb.svg","tone2":"1f3fc.svg","tone3":"1f3fd.svg","tone4":"1f3fe.svg","tone5":"1f3ff.svg","tongue":"1f445.svg","toolbox":"1f9f0.svg","tools":"1f6e0.svg","tooth":"1f9b7.svg","top":"1f51d.svg","tophat":"1f3a9.svg","track_next":"23ed.svg","track_previous":"23ee.svg","trackball":"1f5b2.svg","tractor":"1f69c.svg","traffic_light":"1f6a5.svg","train2":"1f686.svg","train":"1f68b.svg","tram":"1f68a.svg","transgender_flag":"1f3f3-fe0f-200d-26a7-fe0f.svg","transgender_sign":"26a7.svg","triangular_flag_on_post":"1f6a9.svg","triangular_ruler":"1f4d0.svg","trident":"1f531.svg","triumph":"1f624.svg","trolleybus":"1f68e.svg","trophy":"1f3c6.svg","tropical_drink":"1f379.svg","tropical_fish":"1f420.svg","truck":"1f69a.svg","trumpet":"1f3ba.svg","tulip":"1f337.svg","tumbler_glass":"1f943.svg","turkey":"1f983.svg","turtle":"1f422.svg","tv":"1f4fa.svg","twisted_rightwards_arrows":"1f500.svg","two":"32-20e3.svg","two_hearts":"1f495.svg","two_men_holding_hands":"1f46c.svg","two_women_holding_hands":"1f46d.svg","u5272":"1f239.svg","u5408":"1f234.svg","u55b6":"1f23a.svg","u6307":"1f22f.svg","u6708":"1f237.svg","u6709":"1f236.svg","u6e80":"1f235.svg","u7121":"1f21a.svg","u7533":"1f238.svg","u7981":"1f232.svg","u7a7a":"1f233.svg","umbrella2":"2602.svg","umbrella":"2614.svg","unamused":"1f612.svg","underage":"1f51e.svg","unicorn":"1f984.svg","united_nations":"1f1fa-1f1f3.svg","unlock":"1f513.svg","up":"1f199.svg","upside_down":"1f643.svg","urn":"26b1.svg","v":"270c.svg","v_tone1":"270c-1f3fb.svg","v_tone2":"270c-1f3fc.svg","v_tone3":"270c-1f3fd.svg","v_tone4":"270c-1f3fe.svg","v_tone5":"270c-1f3ff.svg","vampire":"1f9db.svg","vampire_tone1":"1f9db-1f3fb.svg","vampire_tone2":"1f9db-1f3fc.svg","vampire_tone3":"1f9db-1f3fd.svg","vampire_tone4":"1f9db-1f3fe.svg","vampire_tone5":"1f9db-1f3ff.svg","vertical_traffic_light":"1f6a6.svg","vhs":"1f4fc.svg","vibration_mode":"1f4f3.svg","video_camera":"1f4f9.svg","video_game":"1f3ae.svg","violin":"1f3bb.svg","virgo":"264d.svg","volcano":"1f30b.svg","volleyball":"1f3d0.svg","vs":"1f19a.svg","vulcan":"1f596.svg","vulcan_tone1":"1f596-1f3fb.svg","vulcan_tone2":"1f596-1f3fc.svg","vulcan_tone3":"1f596-1f3fd.svg","vulcan_tone4":"1f596-1f3fe.svg","vulcan_tone5":"1f596-1f3ff.svg","waffle":"1f9c7.svg","wales":"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg","waning_crescent_moon":"1f318.svg","waning_gibbous_moon":"1f316.svg","warning":"26a0.svg","wastebasket":"1f5d1.svg","watch":"231a.svg","water_buffalo":"1f403.svg","watermelon":"1f349.svg","wave":"1f44b.svg","wave_tone1":"1f44b-1f3fb.svg","wave_tone2":"1f44b-1f3fc.svg","wave_tone3":"1f44b-1f3fd.svg","wave_tone4":"1f44b-1f3fe.svg","wave_tone5":"1f44b-1f3ff.svg","wavy_dash":"3030.svg","waxing_crescent_moon":"1f312.svg","waxing_gibbous_moon":"1f314.svg","wc":"1f6be.svg","weary":"1f629.svg","wedding":"1f492.svg","whale2":"1f40b.svg","whale":"1f433.svg","wheel_of_dharma":"2638.svg","wheelchair":"267f.svg","white_check_mark":"2705.svg","white_circle":"26aa.svg","white_flower":"1f4ae.svg","white_haired":"1f9b3.svg","white_heart":"1f90d.svg","white_large_square":"2b1c.svg","white_medium_small_square":"25fd.svg","white_medium_square":"25fb.svg","white_small_square":"25ab.svg","white_square_button":"1f533.svg","white_sun_cloud":"1f325.svg","white_sun_rain_cloud":"1f326.svg","white_sun_small_cloud":"1f324.svg","wilted_rose":"1f940.svg","wind_blowing_face":"1f32c.svg","wind_chime":"1f390.svg","wine_glass":"1f377.svg","wink":"1f609.svg","wolf":"1f43a.svg","woman":"1f469.svg","woman_and_man_holding_hands_tone1":"1f46b-1f3fb.svg","woman_and_man_holding_hands_tone1_tone2":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg","woman_and_man_holding_hands_tone1_tone3":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg","woman_and_man_holding_hands_tone1_tone4":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg","woman_and_man_holding_hands_tone1_tone5":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg","woman_and_man_holding_hands_tone2":"1f46b-1f3fc.svg","woman_and_man_holding_hands_tone2_tone1":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg","woman_and_man_holding_hands_tone2_tone3":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg","woman_and_man_holding_hands_tone2_tone4":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg","woman_and_man_holding_hands_tone2_tone5":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg","woman_and_man_holding_hands_tone3":"1f46b-1f3fd.svg","woman_and_man_holding_hands_tone3_tone1":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg","woman_and_man_holding_hands_tone3_tone2":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg","woman_and_man_holding_hands_tone3_tone4":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg","woman_and_man_holding_hands_tone3_tone5":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg","woman_and_man_holding_hands_tone4":"1f46b-1f3fe.svg","woman_and_man_holding_hands_tone4_tone1":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg","woman_and_man_holding_hands_tone4_tone2":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg","woman_and_man_holding_hands_tone4_tone3":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg","woman_and_man_holding_hands_tone4_tone5":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg","woman_and_man_holding_hands_tone5":"1f46b-1f3ff.svg","woman_and_man_holding_hands_tone5_tone1":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg","woman_and_man_holding_hands_tone5_tone2":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg","woman_and_man_holding_hands_tone5_tone3":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg","woman_and_man_holding_hands_tone5_tone4":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg","woman_artist":"1f469-200d-1f3a8.svg","woman_artist_tone1":"1f469-1f3fb-200d-1f3a8.svg","woman_artist_tone2":"1f469-1f3fc-200d-1f3a8.svg","woman_artist_tone3":"1f469-1f3fd-200d-1f3a8.svg","woman_artist_tone4":"1f469-1f3fe-200d-1f3a8.svg","woman_artist_tone5":"1f469-1f3ff-200d-1f3a8.svg","woman_astronaut":"1f469-200d-1f680.svg","woman_astronaut_tone1":"1f469-1f3fb-200d-1f680.svg","woman_astronaut_tone2":"1f469-1f3fc-200d-1f680.svg","woman_astronaut_tone3":"1f469-1f3fd-200d-1f680.svg","woman_astronaut_tone4":"1f469-1f3fe-200d-1f680.svg","woman_astronaut_tone5":"1f469-1f3ff-200d-1f680.svg","woman_bald":"1f469-200d-1f9b2.svg","woman_bald_tone1":"1f469-1f3fb-200d-1f9b2.svg","woman_bald_tone2":"1f469-1f3fc-200d-1f9b2.svg","woman_bald_tone3":"1f469-1f3fd-200d-1f9b2.svg","woman_bald_tone4":"1f469-1f3fe-200d-1f9b2.svg","woman_bald_tone5":"1f469-1f3ff-200d-1f9b2.svg","woman_biking":"1f6b4-200d-2640-fe0f.svg","woman_biking_tone1":"1f6b4-1f3fb-200d-2640-fe0f.svg","woman_biking_tone2":"1f6b4-1f3fc-200d-2640-fe0f.svg","woman_biking_tone3":"1f6b4-1f3fd-200d-2640-fe0f.svg","woman_biking_tone4":"1f6b4-1f3fe-200d-2640-fe0f.svg","woman_biking_tone5":"1f6b4-1f3ff-200d-2640-fe0f.svg","woman_bouncing_ball":"26f9-fe0f-200d-2640-fe0f.svg","woman_bouncing_ball_tone1":"26f9-1f3fb-200d-2640-fe0f.svg","woman_bouncing_ball_tone2":"26f9-1f3fc-200d-2640-fe0f.svg","woman_bouncing_ball_tone3":"26f9-1f3fd-200d-2640-fe0f.svg","woman_bouncing_ball_tone4":"26f9-1f3fe-200d-2640-fe0f.svg","woman_bouncing_ball_tone5":"26f9-1f3ff-200d-2640-fe0f.svg","woman_bowing":"1f647-200d-2640-fe0f.svg","woman_bowing_tone1":"1f647-1f3fb-200d-2640-fe0f.svg","woman_bowing_tone2":"1f647-1f3fc-200d-2640-fe0f.svg","woman_bowing_tone3":"1f647-1f3fd-200d-2640-fe0f.svg","woman_bowing_tone4":"1f647-1f3fe-200d-2640-fe0f.svg","woman_bowing_tone5":"1f647-1f3ff-200d-2640-fe0f.svg","woman_cartwheeling":"1f938-200d-2640-fe0f.svg","woman_cartwheeling_tone1":"1f938-1f3fb-200d-2640-fe0f.svg","woman_cartwheeling_tone2":"1f938-1f3fc-200d-2640-fe0f.svg","woman_cartwheeling_tone3":"1f938-1f3fd-200d-2640-fe0f.svg","woman_cartwheeling_tone4":"1f938-1f3fe-200d-2640-fe0f.svg","woman_cartwheeling_tone5":"1f938-1f3ff-200d-2640-fe0f.svg","woman_climbing":"1f9d7-200d-2640-fe0f.svg","woman_climbing_tone1":"1f9d7-1f3fb-200d-2640-fe0f.svg","woman_climbing_tone2":"1f9d7-1f3fc-200d-2640-fe0f.svg","woman_climbing_tone3":"1f9d7-1f3fd-200d-2640-fe0f.svg","woman_climbing_tone4":"1f9d7-1f3fe-200d-2640-fe0f.svg","woman_climbing_tone5":"1f9d7-1f3ff-200d-2640-fe0f.svg","woman_construction_worker":"1f477-200d-2640-fe0f.svg","woman_construction_worker_tone1":"1f477-1f3fb-200d-2640-fe0f.svg","woman_construction_worker_tone2":"1f477-1f3fc-200d-2640-fe0f.svg","woman_construction_worker_tone3":"1f477-1f3fd-200d-2640-fe0f.svg","woman_construction_worker_tone4":"1f477-1f3fe-200d-2640-fe0f.svg","woman_construction_worker_tone5":"1f477-1f3ff-200d-2640-fe0f.svg","woman_cook":"1f469-200d-1f373.svg","woman_cook_tone1":"1f469-1f3fb-200d-1f373.svg","woman_cook_tone2":"1f469-1f3fc-200d-1f373.svg","woman_cook_tone3":"1f469-1f3fd-200d-1f373.svg","woman_cook_tone4":"1f469-1f3fe-200d-1f373.svg","woman_cook_tone5":"1f469-1f3ff-200d-1f373.svg","woman_curly_haired":"1f469-200d-1f9b1.svg","woman_curly_haired_tone1":"1f469-1f3fb-200d-1f9b1.svg","woman_curly_haired_tone2":"1f469-1f3fc-200d-1f9b1.svg","woman_curly_haired_tone3":"1f469-1f3fd-200d-1f9b1.svg","woman_curly_haired_tone4":"1f469-1f3fe-200d-1f9b1.svg","woman_curly_haired_tone5":"1f469-1f3ff-200d-1f9b1.svg","woman_detective":"1f575-fe0f-200d-2640-fe0f.svg","woman_detective_tone1":"1f575-1f3fb-200d-2640-fe0f.svg","woman_detective_tone2":"1f575-1f3fc-200d-2640-fe0f.svg","woman_detective_tone3":"1f575-1f3fd-200d-2640-fe0f.svg","woman_detective_tone4":"1f575-1f3fe-200d-2640-fe0f.svg","woman_detective_tone5":"1f575-1f3ff-200d-2640-fe0f.svg","woman_elf":"1f9dd-200d-2640-fe0f.svg","woman_elf_tone1":"1f9dd-1f3fb-200d-2640-fe0f.svg","woman_elf_tone2":"1f9dd-1f3fc-200d-2640-fe0f.svg","woman_elf_tone3":"1f9dd-1f3fd-200d-2640-fe0f.svg","woman_elf_tone4":"1f9dd-1f3fe-200d-2640-fe0f.svg","woman_elf_tone5":"1f9dd-1f3ff-200d-2640-fe0f.svg","woman_facepalming":"1f926-200d-2640-fe0f.svg","woman_facepalming_tone1":"1f926-1f3fb-200d-2640-fe0f.svg","woman_facepalming_tone2":"1f926-1f3fc-200d-2640-fe0f.svg","woman_facepalming_tone3":"1f926-1f3fd-200d-2640-fe0f.svg","woman_facepalming_tone4":"1f926-1f3fe-200d-2640-fe0f.svg","woman_facepalming_tone5":"1f926-1f3ff-200d-2640-fe0f.svg","woman_factory_worker":"1f469-200d-1f3ed.svg","woman_factory_worker_tone1":"1f469-1f3fb-200d-1f3ed.svg","woman_factory_worker_tone2":"1f469-1f3fc-200d-1f3ed.svg","woman_factory_worker_tone3":"1f469-1f3fd-200d-1f3ed.svg","woman_factory_worker_tone4":"1f469-1f3fe-200d-1f3ed.svg","woman_factory_worker_tone5":"1f469-1f3ff-200d-1f3ed.svg","woman_fairy":"1f9da-200d-2640-fe0f.svg","woman_fairy_tone1":"1f9da-1f3fb-200d-2640-fe0f.svg","woman_fairy_tone2":"1f9da-1f3fc-200d-2640-fe0f.svg","woman_fairy_tone3":"1f9da-1f3fd-200d-2640-fe0f.svg","woman_fairy_tone4":"1f9da-1f3fe-200d-2640-fe0f.svg","woman_fairy_tone5":"1f9da-1f3ff-200d-2640-fe0f.svg","woman_farmer":"1f469-200d-1f33e.svg","woman_farmer_tone1":"1f469-1f3fb-200d-1f33e.svg","woman_farmer_tone2":"1f469-1f3fc-200d-1f33e.svg","woman_farmer_tone3":"1f469-1f3fd-200d-1f33e.svg","woman_farmer_tone4":"1f469-1f3fe-200d-1f33e.svg","woman_farmer_tone5":"1f469-1f3ff-200d-1f33e.svg","woman_firefighter":"1f469-200d-1f692.svg","woman_firefighter_tone1":"1f469-1f3fb-200d-1f692.svg","woman_firefighter_tone2":"1f469-1f3fc-200d-1f692.svg","woman_firefighter_tone3":"1f469-1f3fd-200d-1f692.svg","woman_firefighter_tone4":"1f469-1f3fe-200d-1f692.svg","woman_firefighter_tone5":"1f469-1f3ff-200d-1f692.svg","woman_frowning":"1f64d-200d-2640-fe0f.svg","woman_frowning_tone1":"1f64d-1f3fb-200d-2640-fe0f.svg","woman_frowning_tone2":"1f64d-1f3fc-200d-2640-fe0f.svg","woman_frowning_tone3":"1f64d-1f3fd-200d-2640-fe0f.svg","woman_frowning_tone4":"1f64d-1f3fe-200d-2640-fe0f.svg","woman_frowning_tone5":"1f64d-1f3ff-200d-2640-fe0f.svg","woman_genie":"1f9de-200d-2640-fe0f.svg","woman_gesturing_no":"1f645-200d-2640-fe0f.svg","woman_gesturing_no_tone1":"1f645-1f3fb-200d-2640-fe0f.svg","woman_gesturing_no_tone2":"1f645-1f3fc-200d-2640-fe0f.svg","woman_gesturing_no_tone3":"1f645-1f3fd-200d-2640-fe0f.svg","woman_gesturing_no_tone4":"1f645-1f3fe-200d-2640-fe0f.svg","woman_gesturing_no_tone5":"1f645-1f3ff-200d-2640-fe0f.svg","woman_gesturing_ok":"1f646-200d-2640-fe0f.svg","woman_gesturing_ok_tone1":"1f646-1f3fb-200d-2640-fe0f.svg","woman_gesturing_ok_tone2":"1f646-1f3fc-200d-2640-fe0f.svg","woman_gesturing_ok_tone3":"1f646-1f3fd-200d-2640-fe0f.svg","woman_gesturing_ok_tone4":"1f646-1f3fe-200d-2640-fe0f.svg","woman_gesturing_ok_tone5":"1f646-1f3ff-200d-2640-fe0f.svg","woman_getting_face_massage":"1f486-200d-2640-fe0f.svg","woman_getting_face_massage_tone1":"1f486-1f3fb-200d-2640-fe0f.svg","woman_getting_face_massage_tone2":"1f486-1f3fc-200d-2640-fe0f.svg","woman_getting_face_massage_tone3":"1f486-1f3fd-200d-2640-fe0f.svg","woman_getting_face_massage_tone4":"1f486-1f3fe-200d-2640-fe0f.svg","woman_getting_face_massage_tone5":"1f486-1f3ff-200d-2640-fe0f.svg","woman_getting_haircut":"1f487-200d-2640-fe0f.svg","woman_getting_haircut_tone1":"1f487-1f3fb-200d-2640-fe0f.svg","woman_getting_haircut_tone2":"1f487-1f3fc-200d-2640-fe0f.svg","woman_getting_haircut_tone3":"1f487-1f3fd-200d-2640-fe0f.svg","woman_getting_haircut_tone4":"1f487-1f3fe-200d-2640-fe0f.svg","woman_getting_haircut_tone5":"1f487-1f3ff-200d-2640-fe0f.svg","woman_golfing":"1f3cc-fe0f-200d-2640-fe0f.svg","woman_golfing_tone1":"1f3cc-1f3fb-200d-2640-fe0f.svg","woman_golfing_tone2":"1f3cc-1f3fc-200d-2640-fe0f.svg","woman_golfing_tone3":"1f3cc-1f3fd-200d-2640-fe0f.svg","woman_golfing_tone4":"1f3cc-1f3fe-200d-2640-fe0f.svg","woman_golfing_tone5":"1f3cc-1f3ff-200d-2640-fe0f.svg","woman_guard":"1f482-200d-2640-fe0f.svg","woman_guard_tone1":"1f482-1f3fb-200d-2640-fe0f.svg","woman_guard_tone2":"1f482-1f3fc-200d-2640-fe0f.svg","woman_guard_tone3":"1f482-1f3fd-200d-2640-fe0f.svg","woman_guard_tone4":"1f482-1f3fe-200d-2640-fe0f.svg","woman_guard_tone5":"1f482-1f3ff-200d-2640-fe0f.svg","woman_health_worker":"1f469-200d-2695-fe0f.svg","woman_health_worker_tone1":"1f469-1f3fb-200d-2695-fe0f.svg","woman_health_worker_tone2":"1f469-1f3fc-200d-2695-fe0f.svg","woman_health_worker_tone3":"1f469-1f3fd-200d-2695-fe0f.svg","woman_health_worker_tone4":"1f469-1f3fe-200d-2695-fe0f.svg","woman_health_worker_tone5":"1f469-1f3ff-200d-2695-fe0f.svg","woman_in_lotus_position":"1f9d8-200d-2640-fe0f.svg","woman_in_lotus_position_tone1":"1f9d8-1f3fb-200d-2640-fe0f.svg","woman_in_lotus_position_tone2":"1f9d8-1f3fc-200d-2640-fe0f.svg","woman_in_lotus_position_tone3":"1f9d8-1f3fd-200d-2640-fe0f.svg","woman_in_lotus_position_tone4":"1f9d8-1f3fe-200d-2640-fe0f.svg","woman_in_lotus_position_tone5":"1f9d8-1f3ff-200d-2640-fe0f.svg","woman_in_manual_wheelchair":"1f469-200d-1f9bd.svg","woman_in_manual_wheelchair_tone1":"1f469-1f3fb-200d-1f9bd.svg","woman_in_manual_wheelchair_tone2":"1f469-1f3fc-200d-1f9bd.svg","woman_in_manual_wheelchair_tone3":"1f469-1f3fd-200d-1f9bd.svg","woman_in_manual_wheelchair_tone4":"1f469-1f3fe-200d-1f9bd.svg","woman_in_manual_wheelchair_tone5":"1f469-1f3ff-200d-1f9bd.svg","woman_in_motorized_wheelchair":"1f469-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone1":"1f469-1f3fb-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone2":"1f469-1f3fc-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone3":"1f469-1f3fd-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone4":"1f469-1f3fe-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone5":"1f469-1f3ff-200d-1f9bc.svg","woman_in_steamy_room":"1f9d6-200d-2640-fe0f.svg","woman_in_steamy_room_tone1":"1f9d6-1f3fb-200d-2640-fe0f.svg","woman_in_steamy_room_tone2":"1f9d6-1f3fc-200d-2640-fe0f.svg","woman_in_steamy_room_tone3":"1f9d6-1f3fd-200d-2640-fe0f.svg","woman_in_steamy_room_tone4":"1f9d6-1f3fe-200d-2640-fe0f.svg","woman_in_steamy_room_tone5":"1f9d6-1f3ff-200d-2640-fe0f.svg","woman_in_tuxedo":"1f935-200d-2640-fe0f.svg","woman_in_tuxedo_tone1":"1f935-1f3fb-200d-2640-fe0f.svg","woman_in_tuxedo_tone2":"1f935-1f3fc-200d-2640-fe0f.svg","woman_in_tuxedo_tone3":"1f935-1f3fd-200d-2640-fe0f.svg","woman_in_tuxedo_tone4":"1f935-1f3fe-200d-2640-fe0f.svg","woman_in_tuxedo_tone5":"1f935-1f3ff-200d-2640-fe0f.svg","woman_judge":"1f469-200d-2696-fe0f.svg","woman_judge_tone1":"1f469-1f3fb-200d-2696-fe0f.svg","woman_judge_tone2":"1f469-1f3fc-200d-2696-fe0f.svg","woman_judge_tone3":"1f469-1f3fd-200d-2696-fe0f.svg","woman_judge_tone4":"1f469-1f3fe-200d-2696-fe0f.svg","woman_judge_tone5":"1f469-1f3ff-200d-2696-fe0f.svg","woman_juggling":"1f939-200d-2640-fe0f.svg","woman_juggling_tone1":"1f939-1f3fb-200d-2640-fe0f.svg","woman_juggling_tone2":"1f939-1f3fc-200d-2640-fe0f.svg","woman_juggling_tone3":"1f939-1f3fd-200d-2640-fe0f.svg","woman_juggling_tone4":"1f939-1f3fe-200d-2640-fe0f.svg","woman_juggling_tone5":"1f939-1f3ff-200d-2640-fe0f.svg","woman_kneeling":"1f9ce-200d-2640-fe0f.svg","woman_kneeling_tone1":"1f9ce-1f3fb-200d-2640-fe0f.svg","woman_kneeling_tone2":"1f9ce-1f3fc-200d-2640-fe0f.svg","woman_kneeling_tone3":"1f9ce-1f3fd-200d-2640-fe0f.svg","woman_kneeling_tone4":"1f9ce-1f3fe-200d-2640-fe0f.svg","woman_kneeling_tone5":"1f9ce-1f3ff-200d-2640-fe0f.svg","woman_leviate_tone2":"1f574-1f3fc-200d-2640-fe0f.svg","woman_leviate_tone3":"1f574-1f3fd-200d-2640-fe0f.svg","woman_leviate_tone4":"1f574-1f3fe-200d-2640-fe0f.svg","woman_leviate_tone5":"1f574-1f3ff-200d-2640-fe0f.svg","woman_levitate":"1f574-fe0f-200d-2640-fe0f.svg","woman_levitate_tone1":"1f574-1f3fb-200d-2640-fe0f.svg","woman_lifting_weights":"1f3cb-fe0f-200d-2640-fe0f.svg","woman_lifting_weights_tone1":"1f3cb-1f3fb-200d-2640-fe0f.svg","woman_lifting_weights_tone2":"1f3cb-1f3fc-200d-2640-fe0f.svg","woman_lifting_weights_tone3":"1f3cb-1f3fd-200d-2640-fe0f.svg","woman_lifting_weights_tone4":"1f3cb-1f3fe-200d-2640-fe0f.svg","woman_lifting_weights_tone5":"1f3cb-1f3ff-200d-2640-fe0f.svg","woman_mage":"1f9d9-200d-2640-fe0f.svg","woman_mage_tone1":"1f9d9-1f3fb-200d-2640-fe0f.svg","woman_mage_tone2":"1f9d9-1f3fc-200d-2640-fe0f.svg","woman_mage_tone3":"1f9d9-1f3fd-200d-2640-fe0f.svg","woman_mage_tone4":"1f9d9-1f3fe-200d-2640-fe0f.svg","woman_mage_tone5":"1f9d9-1f3ff-200d-2640-fe0f.svg","woman_mechanic":"1f469-200d-1f527.svg","woman_mechanic_tone1":"1f469-1f3fb-200d-1f527.svg","woman_mechanic_tone2":"1f469-1f3fc-200d-1f527.svg","woman_mechanic_tone3":"1f469-1f3fd-200d-1f527.svg","woman_mechanic_tone4":"1f469-1f3fe-200d-1f527.svg","woman_mechanic_tone5":"1f469-1f3ff-200d-1f527.svg","woman_mountain_biking":"1f6b5-200d-2640-fe0f.svg","woman_mountain_biking_tone1":"1f6b5-1f3fb-200d-2640-fe0f.svg","woman_mountain_biking_tone2":"1f6b5-1f3fc-200d-2640-fe0f.svg","woman_mountain_biking_tone3":"1f6b5-1f3fd-200d-2640-fe0f.svg","woman_mountain_biking_tone4":"1f6b5-1f3fe-200d-2640-fe0f.svg","woman_mountain_biking_tone5":"1f6b5-1f3ff-200d-2640-fe0f.svg","woman_office_worker":"1f469-200d-1f4bc.svg","woman_office_worker_tone1":"1f469-1f3fb-200d-1f4bc.svg","woman_office_worker_tone2":"1f469-1f3fc-200d-1f4bc.svg","woman_office_worker_tone3":"1f469-1f3fd-200d-1f4bc.svg","woman_office_worker_tone4":"1f469-1f3fe-200d-1f4bc.svg","woman_office_worker_tone5":"1f469-1f3ff-200d-1f4bc.svg","woman_pilot":"1f469-200d-2708-fe0f.svg","woman_pilot_tone1":"1f469-1f3fb-200d-2708-fe0f.svg","woman_pilot_tone2":"1f469-1f3fc-200d-2708-fe0f.svg","woman_pilot_tone3":"1f469-1f3fd-200d-2708-fe0f.svg","woman_pilot_tone4":"1f469-1f3fe-200d-2708-fe0f.svg","woman_pilot_tone5":"1f469-1f3ff-200d-2708-fe0f.svg","woman_playing_handball":"1f93e-200d-2640-fe0f.svg","woman_playing_handball_tone1":"1f93e-1f3fb-200d-2640-fe0f.svg","woman_playing_handball_tone2":"1f93e-1f3fc-200d-2640-fe0f.svg","woman_playing_handball_tone3":"1f93e-1f3fd-200d-2640-fe0f.svg","woman_playing_handball_tone4":"1f93e-1f3fe-200d-2640-fe0f.svg","woman_playing_handball_tone5":"1f93e-1f3ff-200d-2640-fe0f.svg","woman_playing_water_polo":"1f93d-200d-2640-fe0f.svg","woman_playing_water_polo_tone1":"1f93d-1f3fb-200d-2640-fe0f.svg","woman_playing_water_polo_tone2":"1f93d-1f3fc-200d-2640-fe0f.svg","woman_playing_water_polo_tone3":"1f93d-1f3fd-200d-2640-fe0f.svg","woman_playing_water_polo_tone4":"1f93d-1f3fe-200d-2640-fe0f.svg","woman_playing_water_polo_tone5":"1f93d-1f3ff-200d-2640-fe0f.svg","woman_police_officer":"1f46e-200d-2640-fe0f.svg","woman_police_officer_tone1":"1f46e-1f3fb-200d-2640-fe0f.svg","woman_police_officer_tone2":"1f46e-1f3fc-200d-2640-fe0f.svg","woman_police_officer_tone3":"1f46e-1f3fd-200d-2640-fe0f.svg","woman_police_officer_tone4":"1f46e-1f3fe-200d-2640-fe0f.svg","woman_police_officer_tone5":"1f46e-1f3ff-200d-2640-fe0f.svg","woman_pouting":"1f64e-200d-2640-fe0f.svg","woman_pouting_tone1":"1f64e-1f3fb-200d-2640-fe0f.svg","woman_pouting_tone2":"1f64e-1f3fc-200d-2640-fe0f.svg","woman_pouting_tone3":"1f64e-1f3fd-200d-2640-fe0f.svg","woman_pouting_tone4":"1f64e-1f3fe-200d-2640-fe0f.svg","woman_pouting_tone5":"1f64e-1f3ff-200d-2640-fe0f.svg","woman_raising_hand":"1f64b-200d-2640-fe0f.svg","woman_raising_hand_tone1":"1f64b-1f3fb-200d-2640-fe0f.svg","woman_raising_hand_tone2":"1f64b-1f3fc-200d-2640-fe0f.svg","woman_raising_hand_tone3":"1f64b-1f3fd-200d-2640-fe0f.svg","woman_raising_hand_tone4":"1f64b-1f3fe-200d-2640-fe0f.svg","woman_raising_hand_tone5":"1f64b-1f3ff-200d-2640-fe0f.svg","woman_red_haired":"1f469-200d-1f9b0.svg","woman_red_haired_tone1":"1f469-1f3fb-200d-1f9b0.svg","woman_red_haired_tone2":"1f469-1f3fc-200d-1f9b0.svg","woman_red_haired_tone3":"1f469-1f3fd-200d-1f9b0.svg","woman_red_haired_tone4":"1f469-1f3fe-200d-1f9b0.svg","woman_red_haired_tone5":"1f469-1f3ff-200d-1f9b0.svg","woman_rowing_boat":"1f6a3-200d-2640-fe0f.svg","woman_rowing_boat_tone1":"1f6a3-1f3fb-200d-2640-fe0f.svg","woman_rowing_boat_tone2":"1f6a3-1f3fc-200d-2640-fe0f.svg","woman_rowing_boat_tone3":"1f6a3-1f3fd-200d-2640-fe0f.svg","woman_rowing_boat_tone4":"1f6a3-1f3fe-200d-2640-fe0f.svg","woman_rowing_boat_tone5":"1f6a3-1f3ff-200d-2640-fe0f.svg","woman_running":"1f3c3-200d-2640-fe0f.svg","woman_running_tone1":"1f3c3-1f3fb-200d-2640-fe0f.svg","woman_running_tone2":"1f3c3-1f3fc-200d-2640-fe0f.svg","woman_running_tone3":"1f3c3-1f3fd-200d-2640-fe0f.svg","woman_running_tone4":"1f3c3-1f3fe-200d-2640-fe0f.svg","woman_running_tone5":"1f3c3-1f3ff-200d-2640-fe0f.svg","woman_scientist":"1f469-200d-1f52c.svg","woman_scientist_tone1":"1f469-1f3fb-200d-1f52c.svg","woman_scientist_tone2":"1f469-1f3fc-200d-1f52c.svg","woman_scientist_tone3":"1f469-1f3fd-200d-1f52c.svg","woman_scientist_tone4":"1f469-1f3fe-200d-1f52c.svg","woman_scientist_tone5":"1f469-1f3ff-200d-1f52c.svg","woman_shrugging":"1f937-200d-2640-fe0f.svg","woman_shrugging_tone1":"1f937-1f3fb-200d-2640-fe0f.svg","woman_shrugging_tone2":"1f937-1f3fc-200d-2640-fe0f.svg","woman_shrugging_tone3":"1f937-1f3fd-200d-2640-fe0f.svg","woman_shrugging_tone4":"1f937-1f3fe-200d-2640-fe0f.svg","woman_shrugging_tone5":"1f937-1f3ff-200d-2640-fe0f.svg","woman_singer":"1f469-200d-1f3a4.svg","woman_singer_tone1":"1f469-1f3fb-200d-1f3a4.svg","woman_singer_tone2":"1f469-1f3fc-200d-1f3a4.svg","woman_singer_tone3":"1f469-1f3fd-200d-1f3a4.svg","woman_singer_tone4":"1f469-1f3fe-200d-1f3a4.svg","woman_singer_tone5":"1f469-1f3ff-200d-1f3a4.svg","woman_standing":"1f9cd-200d-2640-fe0f.svg","woman_standing_tone1":"1f9cd-1f3fb-200d-2640-fe0f.svg","woman_standing_tone2":"1f9cd-1f3fc-200d-2640-fe0f.svg","woman_standing_tone3":"1f9cd-1f3fd-200d-2640-fe0f.svg","woman_standing_tone4":"1f9cd-1f3fe-200d-2640-fe0f.svg","woman_standing_tone5":"1f9cd-1f3ff-200d-2640-fe0f.svg","woman_student":"1f469-200d-1f393.svg","woman_student_tone1":"1f469-1f3fb-200d-1f393.svg","woman_student_tone2":"1f469-1f3fc-200d-1f393.svg","woman_student_tone3":"1f469-1f3fd-200d-1f393.svg","woman_student_tone4":"1f469-1f3fe-200d-1f393.svg","woman_student_tone5":"1f469-1f3ff-200d-1f393.svg","woman_superhero":"1f9b8-200d-2640-fe0f.svg","woman_superhero_tone1":"1f9b8-1f3fb-200d-2640-fe0f.svg","woman_superhero_tone2":"1f9b8-1f3fc-200d-2640-fe0f.svg","woman_superhero_tone3":"1f9b8-1f3fd-200d-2640-fe0f.svg","woman_superhero_tone4":"1f9b8-1f3fe-200d-2640-fe0f.svg","woman_superhero_tone5":"1f9b8-1f3ff-200d-2640-fe0f.svg","woman_supervillain":"1f9b9-200d-2640-fe0f.svg","woman_supervillain_tone1":"1f9b9-1f3fb-200d-2640-fe0f.svg","woman_supervillain_tone2":"1f9b9-1f3fc-200d-2640-fe0f.svg","woman_supervillain_tone3":"1f9b9-1f3fd-200d-2640-fe0f.svg","woman_supervillain_tone4":"1f9b9-1f3fe-200d-2640-fe0f.svg","woman_supervillain_tone5":"1f9b9-1f3ff-200d-2640-fe0f.svg","woman_surfing":"1f3c4-200d-2640-fe0f.svg","woman_surfing_tone1":"1f3c4-1f3fb-200d-2640-fe0f.svg","woman_surfing_tone2":"1f3c4-1f3fc-200d-2640-fe0f.svg","woman_surfing_tone3":"1f3c4-1f3fd-200d-2640-fe0f.svg","woman_surfing_tone4":"1f3c4-1f3fe-200d-2640-fe0f.svg","woman_surfing_tone5":"1f3c4-1f3ff-200d-2640-fe0f.svg","woman_swimming":"1f3ca-200d-2640-fe0f.svg","woman_swimming_tone1":"1f3ca-1f3fb-200d-2640-fe0f.svg","woman_swimming_tone2":"1f3ca-1f3fc-200d-2640-fe0f.svg","woman_swimming_tone3":"1f3ca-1f3fd-200d-2640-fe0f.svg","woman_swimming_tone4":"1f3ca-1f3fe-200d-2640-fe0f.svg","woman_swimming_tone5":"1f3ca-1f3ff-200d-2640-fe0f.svg","woman_teacher":"1f469-200d-1f3eb.svg","woman_teacher_tone1":"1f469-1f3fb-200d-1f3eb.svg","woman_teacher_tone2":"1f469-1f3fc-200d-1f3eb.svg","woman_teacher_tone3":"1f469-1f3fd-200d-1f3eb.svg","woman_teacher_tone4":"1f469-1f3fe-200d-1f3eb.svg","woman_teacher_tone5":"1f469-1f3ff-200d-1f3eb.svg","woman_technologist":"1f469-200d-1f4bb.svg","woman_technologist_tone1":"1f469-1f3fb-200d-1f4bb.svg","woman_technologist_tone2":"1f469-1f3fc-200d-1f4bb.svg","woman_technologist_tone3":"1f469-1f3fd-200d-1f4bb.svg","woman_technologist_tone4":"1f469-1f3fe-200d-1f4bb.svg","woman_technologist_tone5":"1f469-1f3ff-200d-1f4bb.svg","woman_tipping_hand":"1f481-200d-2640-fe0f.svg","woman_tipping_hand_tone1":"1f481-1f3fb-200d-2640-fe0f.svg","woman_tipping_hand_tone2":"1f481-1f3fc-200d-2640-fe0f.svg","woman_tipping_hand_tone3":"1f481-1f3fd-200d-2640-fe0f.svg","woman_tipping_hand_tone4":"1f481-1f3fe-200d-2640-fe0f.svg","woman_tipping_hand_tone5":"1f481-1f3ff-200d-2640-fe0f.svg","woman_tone1":"1f469-1f3fb.svg","woman_tone2":"1f469-1f3fc.svg","woman_tone3":"1f469-1f3fd.svg","woman_tone4":"1f469-1f3fe.svg","woman_tone5":"1f469-1f3ff.svg","woman_vampire":"1f9db-200d-2640-fe0f.svg","woman_vampire_tone1":"1f9db-1f3fb-200d-2640-fe0f.svg","woman_vampire_tone2":"1f9db-1f3fc-200d-2640-fe0f.svg","woman_vampire_tone3":"1f9db-1f3fd-200d-2640-fe0f.svg","woman_vampire_tone4":"1f9db-1f3fe-200d-2640-fe0f.svg","woman_vampire_tone5":"1f9db-1f3ff-200d-2640-fe0f.svg","woman_walking":"1f6b6-200d-2640-fe0f.svg","woman_walking_tone1":"1f6b6-1f3fb-200d-2640-fe0f.svg","woman_walking_tone2":"1f6b6-1f3fc-200d-2640-fe0f.svg","woman_walking_tone3":"1f6b6-1f3fd-200d-2640-fe0f.svg","woman_walking_tone4":"1f6b6-1f3fe-200d-2640-fe0f.svg","woman_walking_tone5":"1f6b6-1f3ff-200d-2640-fe0f.svg","woman_wearing_turban":"1f473-200d-2640-fe0f.svg","woman_wearing_turban_tone1":"1f473-1f3fb-200d-2640-fe0f.svg","woman_wearing_turban_tone2":"1f473-1f3fc-200d-2640-fe0f.svg","woman_wearing_turban_tone3":"1f473-1f3fd-200d-2640-fe0f.svg","woman_wearing_turban_tone4":"1f473-1f3fe-200d-2640-fe0f.svg","woman_wearing_turban_tone5":"1f473-1f3ff-200d-2640-fe0f.svg","woman_white_haired":"1f469-200d-1f9b3.svg","woman_white_haired_tone1":"1f469-1f3fb-200d-1f9b3.svg","woman_white_haired_tone2":"1f469-1f3fc-200d-1f9b3.svg","woman_white_haired_tone3":"1f469-1f3fd-200d-1f9b3.svg","woman_white_haired_tone4":"1f469-1f3fe-200d-1f9b3.svg","woman_white_haired_tone5":"1f469-1f3ff-200d-1f9b3.svg","woman_with_headscarf":"1f9d5.svg","woman_with_headscarf_tone1":"1f9d5-1f3fb.svg","woman_with_headscarf_tone2":"1f9d5-1f3fc.svg","woman_with_headscarf_tone3":"1f9d5-1f3fd.svg","woman_with_headscarf_tone4":"1f9d5-1f3fe.svg","woman_with_headscarf_tone5":"1f9d5-1f3ff.svg","woman_with_probing_cane":"1f469-200d-1f9af.svg","woman_with_probing_cane_tone1":"1f469-1f3fb-200d-1f9af.svg","woman_with_probing_cane_tone2":"1f469-1f3fc-200d-1f9af.svg","woman_with_probing_cane_tone3":"1f469-1f3fd-200d-1f9af.svg","woman_with_probing_cane_tone4":"1f469-1f3fe-200d-1f9af.svg","woman_with_probing_cane_tone5":"1f469-1f3ff-200d-1f9af.svg","woman_zombie":"1f9df-200d-2640-fe0f.svg","womans_clothes":"1f45a.svg","womans_flat_shoe":"1f97f.svg","womans_hat":"1f452.svg","women_holding_hands_tone1":"1f46d-1f3fb.svg","women_holding_hands_tone1_tone2":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc.svg","women_holding_hands_tone1_tone3":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd.svg","women_holding_hands_tone1_tone4":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe.svg","women_holding_hands_tone1_tone5":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff.svg","women_holding_hands_tone2":"1f46d-1f3fc.svg","women_holding_hands_tone2_tone1":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb.svg","women_holding_hands_tone2_tone3":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd.svg","women_holding_hands_tone2_tone4":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe.svg","women_holding_hands_tone2_tone5":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff.svg","women_holding_hands_tone3":"1f46d-1f3fd.svg","women_holding_hands_tone3_tone1":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb.svg","women_holding_hands_tone3_tone2":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc.svg","women_holding_hands_tone3_tone4":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe.svg","women_holding_hands_tone3_tone5":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff.svg","women_holding_hands_tone4":"1f46d-1f3fe.svg","women_holding_hands_tone4_tone1":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb.svg","women_holding_hands_tone4_tone2":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc.svg","women_holding_hands_tone4_tone3":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd.svg","women_holding_hands_tone4_tone5":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff.svg","women_holding_hands_tone5":"1f46d-1f3ff.svg","women_holding_hands_tone5_tone1":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb.svg","women_holding_hands_tone5_tone2":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc.svg","women_holding_hands_tone5_tone3":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd.svg","women_holding_hands_tone5_tone4":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe.svg","women_with_bunny_ears_partying":"1f46f-200d-2640-fe0f.svg","women_wrestling":"1f93c-200d-2640-fe0f.svg","womens":"1f6ba.svg","woozy_face":"1f974.svg","worried":"1f61f.svg","wrench":"1f527.svg","writing_hand":"270d.svg","writing_hand_tone1":"270d-1f3fb.svg","writing_hand_tone2":"270d-1f3fc.svg","writing_hand_tone3":"270d-1f3fd.svg","writing_hand_tone4":"270d-1f3fe.svg","writing_hand_tone5":"270d-1f3ff.svg","x":"274c.svg","yarn":"1f9f6.svg","yawning_face":"1f971.svg","yellow_circle":"1f7e1.svg","yellow_heart":"1f49b.svg","yellow_square":"1f7e8.svg","yen":"1f4b4.svg","yin_yang":"262f.svg","yo_yo":"1fa80.svg","yum":"1f60b.svg","zany_face":"1f92a.svg","zap":"26a1.svg","zebra":"1f993.svg","zero":"30-20e3.svg","zipper_mouth":"1f910.svg","zombie":"1f9df.svg","zzz":"1f4a4.svg"}}} \ No newline at end of file diff --git a/material/overrides/assets/stylesheets/main.01a7853e.min.css b/material/overrides/assets/stylesheets/main.01a7853e.min.css deleted file mode 100644 index 62349a275..000000000 --- a/material/overrides/assets/stylesheets/main.01a7853e.min.css +++ /dev/null @@ -1,3 +0,0 @@ -@-webkit-keyframes tx-heart{0%,40%,80%,100%{transform:scale(1)}20%,60%{transform:scale(1.15)}}@keyframes tx-heart{0%,40%,80%,100%{transform:scale(1)}20%,60%{transform:scale(1.15)}}.md-typeset figure>p+figcaption{margin-top:-1.2rem}.md-typeset .twitter{color:#00acee}.md-typeset .tx-video{width:auto}.md-typeset .tx-video__inner{position:relative;width:100%;height:0;padding-bottom:56.138%}.md-typeset .tx-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border:none}.md-typeset .tx-heart{-webkit-animation:tx-heart 1000ms infinite;animation:tx-heart 1000ms infinite}.md-typeset .tx-insiders{color:#e91e63}.md-typeset .tx-insiders-button{font-weight:400}.md-typeset .tx-insiders-count{font-weight:700}.md-typeset .tx-insiders-list{margin:2em 0;overflow:auto}.md-typeset .tx-insiders-list__item{display:block;float:left;width:3rem;height:3rem;margin:.2rem;overflow:hidden;border-radius:100%;transform:scale(1);transition:color 125ms,transform 125ms}.md-typeset .tx-insiders-list__item img{display:block;width:100%;height:auto;-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter 125ms;transition:filter 125ms;transition:filter 125ms, -webkit-filter 125ms}.md-typeset .tx-insiders-list__item:focus,.md-typeset .tx-insiders-list__item:hover{transform:scale(1.1)}.md-typeset .tx-insiders-list__item:focus img,.md-typeset .tx-insiders-list__item:hover img{-webkit-filter:grayscale(0%);filter:grayscale(0%)}.md-typeset .tx-insiders-list__item--private{color:var(--md-default-fg-color--lighter);font-weight:700;font-size:1.2rem;line-height:3rem;text-align:center;background:var(--md-default-fg-color--lightest)}.md-typeset .tx-switch button{cursor:pointer;transition:opacity 250ms}.md-typeset .tx-switch button:focus,.md-typeset .tx-switch button:hover{opacity:.75}.md-typeset .tx-switch button>code{display:block;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-typeset .tx-columns ol,.md-typeset .tx-columns ul{-moz-columns:2;columns:2}@media screen and (max-width: 29.9375em){.md-typeset .tx-columns ol,.md-typeset .tx-columns ul{-moz-columns:initial;columns:initial}}.md-typeset .tx-columns li{-moz-column-break-inside:avoid;break-inside:avoid}.md-announce a,.md-announce a:focus,.md-announce a:hover{color:currentColor}.md-announce strong{white-space:nowrap}.md-announce .twitter{margin-left:.2em}.tx-content__footer{margin-top:1rem;text-align:center}.tx-content__footer a{display:inline-block;color:#e91e63;transition:transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),color 125ms}.tx-content__footer a:focus,.tx-content__footer a:hover{transform:scale(1.2)}.tx-content__footer hr{display:inline-block;width:2rem;margin:1em;vertical-align:middle;background-color:currentColor;border:none}.tx-container{padding-top:1rem;background:url("data:image/svg+xml;utf8,") no-repeat bottom,linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%)}[data-md-color-scheme=slate] .tx-container{background:url("data:image/svg+xml;utf8,") no-repeat bottom,linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%)}.tx-hero{margin:0 .8rem;color:var(--md-primary-bg-color)}.tx-hero h1{margin-bottom:1rem;color:currentColor;font-weight:700}@media screen and (max-width: 29.9375em){.tx-hero h1{font-size:1.4rem}}.tx-hero__content{padding-bottom:6rem}@media screen and (min-width: 60em){.tx-hero{display:flex;align-items:stretch}.tx-hero__content{max-width:19rem;margin-top:3.5rem;padding-bottom:14vw}.tx-hero__image{order:1;width:38rem;transform:translateX(4rem)}}@media screen and (min-width: 76.25em){.tx-hero__image{transform:translateX(8rem)}}.tx-hero .md-button{margin-top:.5rem;margin-right:.5rem;color:var(--md-primary-bg-color)}.tx-hero .md-button:focus,.tx-hero .md-button:hover{color:var(--md-default-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.tx-hero .md-button--primary{color:#894da8;background-color:var(--md-primary-bg-color);border-color:var(--md-primary-bg-color)}.md-typeset .mdx-icon-search{position:relative;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 .025rem .05rem rgba(0,0,0,.1);transition:box-shadow 125ms}.md-typeset .mdx-icon-search:focus-within,.md-typeset .mdx-icon-search:hover{box-shadow:0 .4rem 1rem rgba(0,0,0,.15),0 .025rem .05rem rgba(0,0,0,.15)}.md-typeset .mdx-icon-search .md-input{background:var(--md-default-bg-color);box-shadow:0 0 .6rem rgba(0,0,0,.07)}[data-md-color-scheme=slate] .md-typeset .mdx-icon-search .md-input{background:var(--md-code-bg-color)}.md-typeset .mdx-icon-search-result{max-height:50vh;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset .mdx-icon-search-result::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset .mdx-icon-search-result__meta{position:absolute;top:.4rem;right:.6rem;color:var(--md-default-fg-color--lighter);font-size:.64rem}.md-typeset .mdx-icon-search-result__list{margin:0;padding:0;list-style:none}.md-typeset .mdx-icon-search-result__item{margin:0;padding:.2rem .6rem;border-bottom:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset .mdx-icon-search-result__item:last-child{border-bottom:none}.md-typeset .mdx-icon-search-result__item>*{margin-right:.6rem}.md-typeset .mdx-icon-search-result__item img{width:.9rem;height:.9rem}[data-md-color-scheme=slate] .md-typeset .mdx-icon-search-result__item img[src*=squidfunk]{-webkit-filter:invert(1);filter:invert(1)} - -/*# sourceMappingURL=main.01a7853e.min.css.map*/ \ No newline at end of file diff --git a/material/overrides/assets/stylesheets/main.01a7853e.min.css.map b/material/overrides/assets/stylesheets/main.01a7853e.min.css.map deleted file mode 100644 index c3d9124df..000000000 --- a/material/overrides/assets/stylesheets/main.01a7853e.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/overrides/assets/stylesheets/main/_typeset.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/overrides/assets/stylesheets/main/layout/_announce.scss","webpack:///./src/overrides/assets/stylesheets/main/layout/_content.scss","webpack:///./src/overrides/assets/stylesheets/main/layout/_hero.scss","webpack:///./src/overrides/assets/stylesheets/main/_shame.scss"],"names":[],"mappings":"AA2BA,4BACE,gBAIE,mBAGF,QAEE,uBAVJ,oBACE,gBAIE,mBAGF,QAEE,uBAYF,gCACE,mBAIF,qBACE,cAIF,sBACE,WAGA,6BACE,kBACA,WACA,SACA,uBAIF,6BACE,kBACA,MACA,OACA,WACA,YACA,gBACA,YAKJ,sBACE,8EAIF,yBACE,aCqBY,CDjBd,gCACE,gBAIF,+BACE,gBAIF,8BACE,aACA,cAGA,oCACE,cACA,WACA,WACA,YACA,aACA,gBACA,mBACA,mBACA,sCACE,CAIF,wCACE,cACA,WACA,YACA,sDACA,sGAIF,oFAEE,qBAGA,4FACE,kDAKJ,6CACE,0CACA,gBACA,iBACA,iBACA,kBACA,gDAMN,8BACE,eACA,yBAGA,wEAEE,YAIF,mCACE,cACA,iCACA,4CAQF,sDAEE,yBE8BF,yCFhCA,sDAMI,sCAKJ,2BACE,kDG9JJ,yDAGE,mBAIF,oBACE,mBAIF,sBACE,iBChBJ,oBACE,gBACA,kBAGA,sBACE,qBACA,aH4EY,CG3EZ,qEACE,CAIF,wDAEE,qBAKJ,uBACE,qBACA,WACA,WACA,sBACA,8BACA,YC1BJ,cACE,iBACA,0YACE,CASF,2CACE,4YACE,CAWN,SACE,eACA,iCAGA,YACE,mBACA,mBACA,gBHoJA,yCGvJF,YAOI,kBAKJ,kBACE,oBHuHA,oCGzIJ,SAuBI,aACA,oBAGA,kBACE,gBACA,kBACA,oBAIF,gBACE,QACA,YACA,4BHoGF,uCG5FA,gBACE,4BAKJ,oBACE,iBACA,mBACA,iCAGA,oDAEE,iCACA,2CACA,uCAIF,6BACE,cACA,4CACA,wCC1FJ,6BACE,kBACA,4CACA,oBACA,uEACE,CAEF,4BAGA,6EAEE,wEACE,CAKJ,uCACE,sCACA,qCAGA,oEACE,mCAMN,oCACE,gBACA,gBAEA,8DACA,mBACA,qBACA,gEAGA,uDACE,YACA,aAIF,6DACE,qDAGA,mEACE,2CAKJ,0CACE,kBACA,UACA,YACA,0CACA,iBAIF,0CACE,SACA,UACA,gBAIF,0CACE,SACA,oBACA,gEAGA,qDACE,mBAIF,4CACE,mBAIF,8CACE,YACA,aAGA,2FACE,0C","file":"overrides/assets/stylesheets/main.01a7853e.min.css","sourcesContent":["////\n/// Copyright (c) 2016-2021 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// Keyframes\n// ----------------------------------------------------------------------------\n\n// Pumping heart animation\n@keyframes tx-heart {\n 0%,\n 40%,\n 80%,\n 100% {\n transform: scale(1);\n }\n\n 20%,\n 60% {\n transform: scale(1.15);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Screenshot caption\n figure > p + figcaption {\n margin-top: px2rem(-24px);\n }\n\n // Twitter icon\n .twitter {\n color: #00acee;\n }\n\n // Insiders video\n .tx-video {\n width: auto;\n\n // Insiders video container\n &__inner {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 56.138%;\n }\n\n // Insiders video iframe\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border: none;\n }\n }\n\n // Pumping heart\n .tx-heart {\n animation: tx-heart 1000ms infinite;\n }\n\n // Insiders color (for links, etc.)\n .tx-insiders {\n color: $clr-pink-500;\n }\n\n // Insiders button\n .tx-insiders-button {\n font-weight: 400;\n }\n\n // Insiders count\n .tx-insiders-count {\n font-weight: 700;\n }\n\n // Insiders list\n .tx-insiders-list {\n margin: 2em 0;\n overflow: auto;\n\n // Insiders list item\n &__item {\n display: block;\n float: left;\n width: px2rem(60px);\n height: px2rem(60px);\n margin: px2rem(4px);\n overflow: hidden;\n border-radius: 100%;\n transform: scale(1);\n transition:\n color 125ms,\n transform 125ms;\n\n // Sponsor avatar\n img {\n display: block;\n width: 100%;\n height: auto;\n filter: grayscale(100%);\n transition: filter 125ms;\n }\n\n // Sponsor item on focus/hover\n &:focus,\n &:hover {\n transform: scale(1.1);\n\n // Sponsor avatar\n img {\n filter: grayscale(0%);\n }\n }\n\n // Private sponsor\n &--private {\n color: var(--md-default-fg-color--lighter);\n font-weight: 700;\n font-size: px2rem(24px);\n line-height: px2rem(60px);\n text-align: center;\n background: var(--md-default-fg-color--lightest);\n }\n }\n }\n\n // Switch buttons\n .tx-switch button {\n cursor: pointer;\n transition: opacity 250ms;\n\n // Button on focus/hover\n &:focus,\n &:hover {\n opacity: 0.75;\n }\n\n // Code block\n > code {\n display: block;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n }\n }\n\n // Two-column layout\n .tx-columns {\n\n // Column\n ol,\n ul {\n columns: 2;\n\n // [mobile portrait -]: Reset columns on mobile\n @include break-to-device(mobile portrait) {\n columns: initial;\n }\n }\n\n // Column item\n li {\n break-inside: avoid;\n }\n }\n}\n","// ==========================================================================\n//\n// Name: UI Color Palette\n// Description: The color palette of material design.\n// Version: 2.3.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-color\n//\n// twitter: @mrmlnc\n//\n// ==========================================================================\n\n\n//\n// List of base colors\n//\n\n// $clr-red\n// $clr-pink\n// $clr-purple\n// $clr-deep-purple\n// $clr-indigo\n// $clr-blue\n// $clr-light-blue\n// $clr-cyan\n// $clr-teal\n// $clr-green\n// $clr-light-green\n// $clr-lime\n// $clr-yellow\n// $clr-amber\n// $clr-orange\n// $clr-deep-orange\n// $clr-brown\n// $clr-grey\n// $clr-blue-grey\n// $clr-black\n// $clr-white\n\n\n//\n// Red\n//\n\n$clr-red-list: (\n \"base\": #f44336,\n \"50\": #ffebee,\n \"100\": #ffcdd2,\n \"200\": #ef9a9a,\n \"300\": #e57373,\n \"400\": #ef5350,\n \"500\": #f44336,\n \"600\": #e53935,\n \"700\": #d32f2f,\n \"800\": #c62828,\n \"900\": #b71c1c,\n \"a100\": #ff8a80,\n \"a200\": #ff5252,\n \"a400\": #ff1744,\n \"a700\": #d50000\n);\n\n$clr-red: map-get($clr-red-list, \"base\");\n\n$clr-red-50: map-get($clr-red-list, \"50\");\n$clr-red-100: map-get($clr-red-list, \"100\");\n$clr-red-200: map-get($clr-red-list, \"200\");\n$clr-red-300: map-get($clr-red-list, \"300\");\n$clr-red-400: map-get($clr-red-list, \"400\");\n$clr-red-500: map-get($clr-red-list, \"500\");\n$clr-red-600: map-get($clr-red-list, \"600\");\n$clr-red-700: map-get($clr-red-list, \"700\");\n$clr-red-800: map-get($clr-red-list, \"800\");\n$clr-red-900: map-get($clr-red-list, \"900\");\n$clr-red-a100: map-get($clr-red-list, \"a100\");\n$clr-red-a200: map-get($clr-red-list, \"a200\");\n$clr-red-a400: map-get($clr-red-list, \"a400\");\n$clr-red-a700: map-get($clr-red-list, \"a700\");\n\n\n//\n// Pink\n//\n\n$clr-pink-list: (\n \"base\": #e91e63,\n \"50\": #fce4ec,\n \"100\": #f8bbd0,\n \"200\": #f48fb1,\n \"300\": #f06292,\n \"400\": #ec407a,\n \"500\": #e91e63,\n \"600\": #d81b60,\n \"700\": #c2185b,\n \"800\": #ad1457,\n \"900\": #880e4f,\n \"a100\": #ff80ab,\n \"a200\": #ff4081,\n \"a400\": #f50057,\n \"a700\": #c51162\n);\n\n$clr-pink: map-get($clr-pink-list, \"base\");\n\n$clr-pink-50: map-get($clr-pink-list, \"50\");\n$clr-pink-100: map-get($clr-pink-list, \"100\");\n$clr-pink-200: map-get($clr-pink-list, \"200\");\n$clr-pink-300: map-get($clr-pink-list, \"300\");\n$clr-pink-400: map-get($clr-pink-list, \"400\");\n$clr-pink-500: map-get($clr-pink-list, \"500\");\n$clr-pink-600: map-get($clr-pink-list, \"600\");\n$clr-pink-700: map-get($clr-pink-list, \"700\");\n$clr-pink-800: map-get($clr-pink-list, \"800\");\n$clr-pink-900: map-get($clr-pink-list, \"900\");\n$clr-pink-a100: map-get($clr-pink-list, \"a100\");\n$clr-pink-a200: map-get($clr-pink-list, \"a200\");\n$clr-pink-a400: map-get($clr-pink-list, \"a400\");\n$clr-pink-a700: map-get($clr-pink-list, \"a700\");\n\n\n//\n// Purple\n//\n\n$clr-purple-list: (\n \"base\": #9c27b0,\n \"50\": #f3e5f5,\n \"100\": #e1bee7,\n \"200\": #ce93d8,\n \"300\": #ba68c8,\n \"400\": #ab47bc,\n \"500\": #9c27b0,\n \"600\": #8e24aa,\n \"700\": #7b1fa2,\n \"800\": #6a1b9a,\n \"900\": #4a148c,\n \"a100\": #ea80fc,\n \"a200\": #e040fb,\n \"a400\": #d500f9,\n \"a700\": #aa00ff\n);\n\n$clr-purple: map-get($clr-purple-list, \"base\");\n\n$clr-purple-50: map-get($clr-purple-list, \"50\");\n$clr-purple-100: map-get($clr-purple-list, \"100\");\n$clr-purple-200: map-get($clr-purple-list, \"200\");\n$clr-purple-300: map-get($clr-purple-list, \"300\");\n$clr-purple-400: map-get($clr-purple-list, \"400\");\n$clr-purple-500: map-get($clr-purple-list, \"500\");\n$clr-purple-600: map-get($clr-purple-list, \"600\");\n$clr-purple-700: map-get($clr-purple-list, \"700\");\n$clr-purple-800: map-get($clr-purple-list, \"800\");\n$clr-purple-900: map-get($clr-purple-list, \"900\");\n$clr-purple-a100: map-get($clr-purple-list, \"a100\");\n$clr-purple-a200: map-get($clr-purple-list, \"a200\");\n$clr-purple-a400: map-get($clr-purple-list, \"a400\");\n$clr-purple-a700: map-get($clr-purple-list, \"a700\");\n\n\n//\n// Deep purple\n//\n\n$clr-deep-purple-list: (\n \"base\": #673ab7,\n \"50\": #ede7f6,\n \"100\": #d1c4e9,\n \"200\": #b39ddb,\n \"300\": #9575cd,\n \"400\": #7e57c2,\n \"500\": #673ab7,\n \"600\": #5e35b1,\n \"700\": #512da8,\n \"800\": #4527a0,\n \"900\": #311b92,\n \"a100\": #b388ff,\n \"a200\": #7c4dff,\n \"a400\": #651fff,\n \"a700\": #6200ea\n);\n\n$clr-deep-purple: map-get($clr-deep-purple-list, \"base\");\n\n$clr-deep-purple-50: map-get($clr-deep-purple-list, \"50\");\n$clr-deep-purple-100: map-get($clr-deep-purple-list, \"100\");\n$clr-deep-purple-200: map-get($clr-deep-purple-list, \"200\");\n$clr-deep-purple-300: map-get($clr-deep-purple-list, \"300\");\n$clr-deep-purple-400: map-get($clr-deep-purple-list, \"400\");\n$clr-deep-purple-500: map-get($clr-deep-purple-list, \"500\");\n$clr-deep-purple-600: map-get($clr-deep-purple-list, \"600\");\n$clr-deep-purple-700: map-get($clr-deep-purple-list, \"700\");\n$clr-deep-purple-800: map-get($clr-deep-purple-list, \"800\");\n$clr-deep-purple-900: map-get($clr-deep-purple-list, \"900\");\n$clr-deep-purple-a100: map-get($clr-deep-purple-list, \"a100\");\n$clr-deep-purple-a200: map-get($clr-deep-purple-list, \"a200\");\n$clr-deep-purple-a400: map-get($clr-deep-purple-list, \"a400\");\n$clr-deep-purple-a700: map-get($clr-deep-purple-list, \"a700\");\n\n\n//\n// Indigo\n//\n\n$clr-indigo-list: (\n \"base\": #3f51b5,\n \"50\": #e8eaf6,\n \"100\": #c5cae9,\n \"200\": #9fa8da,\n \"300\": #7986cb,\n \"400\": #5c6bc0,\n \"500\": #3f51b5,\n \"600\": #3949ab,\n \"700\": #303f9f,\n \"800\": #283593,\n \"900\": #1a237e,\n \"a100\": #8c9eff,\n \"a200\": #536dfe,\n \"a400\": #3d5afe,\n \"a700\": #304ffe\n);\n\n$clr-indigo: map-get($clr-indigo-list, \"base\");\n\n$clr-indigo-50: map-get($clr-indigo-list, \"50\");\n$clr-indigo-100: map-get($clr-indigo-list, \"100\");\n$clr-indigo-200: map-get($clr-indigo-list, \"200\");\n$clr-indigo-300: map-get($clr-indigo-list, \"300\");\n$clr-indigo-400: map-get($clr-indigo-list, \"400\");\n$clr-indigo-500: map-get($clr-indigo-list, \"500\");\n$clr-indigo-600: map-get($clr-indigo-list, \"600\");\n$clr-indigo-700: map-get($clr-indigo-list, \"700\");\n$clr-indigo-800: map-get($clr-indigo-list, \"800\");\n$clr-indigo-900: map-get($clr-indigo-list, \"900\");\n$clr-indigo-a100: map-get($clr-indigo-list, \"a100\");\n$clr-indigo-a200: map-get($clr-indigo-list, \"a200\");\n$clr-indigo-a400: map-get($clr-indigo-list, \"a400\");\n$clr-indigo-a700: map-get($clr-indigo-list, \"a700\");\n\n\n//\n// Blue\n//\n\n$clr-blue-list: (\n \"base\": #2196f3,\n \"50\": #e3f2fd,\n \"100\": #bbdefb,\n \"200\": #90caf9,\n \"300\": #64b5f6,\n \"400\": #42a5f5,\n \"500\": #2196f3,\n \"600\": #1e88e5,\n \"700\": #1976d2,\n \"800\": #1565c0,\n \"900\": #0d47a1,\n \"a100\": #82b1ff,\n \"a200\": #448aff,\n \"a400\": #2979ff,\n \"a700\": #2962ff\n);\n\n$clr-blue: map-get($clr-blue-list, \"base\");\n\n$clr-blue-50: map-get($clr-blue-list, \"50\");\n$clr-blue-100: map-get($clr-blue-list, \"100\");\n$clr-blue-200: map-get($clr-blue-list, \"200\");\n$clr-blue-300: map-get($clr-blue-list, \"300\");\n$clr-blue-400: map-get($clr-blue-list, \"400\");\n$clr-blue-500: map-get($clr-blue-list, \"500\");\n$clr-blue-600: map-get($clr-blue-list, \"600\");\n$clr-blue-700: map-get($clr-blue-list, \"700\");\n$clr-blue-800: map-get($clr-blue-list, \"800\");\n$clr-blue-900: map-get($clr-blue-list, \"900\");\n$clr-blue-a100: map-get($clr-blue-list, \"a100\");\n$clr-blue-a200: map-get($clr-blue-list, \"a200\");\n$clr-blue-a400: map-get($clr-blue-list, \"a400\");\n$clr-blue-a700: map-get($clr-blue-list, \"a700\");\n\n\n//\n// Light Blue\n//\n\n$clr-light-blue-list: (\n \"base\": #03a9f4,\n \"50\": #e1f5fe,\n \"100\": #b3e5fc,\n \"200\": #81d4fa,\n \"300\": #4fc3f7,\n \"400\": #29b6f6,\n \"500\": #03a9f4,\n \"600\": #039be5,\n \"700\": #0288d1,\n \"800\": #0277bd,\n \"900\": #01579b,\n \"a100\": #80d8ff,\n \"a200\": #40c4ff,\n \"a400\": #00b0ff,\n \"a700\": #0091ea\n);\n\n$clr-light-blue: map-get($clr-light-blue-list, \"base\");\n\n$clr-light-blue-50: map-get($clr-light-blue-list, \"50\");\n$clr-light-blue-100: map-get($clr-light-blue-list, \"100\");\n$clr-light-blue-200: map-get($clr-light-blue-list, \"200\");\n$clr-light-blue-300: map-get($clr-light-blue-list, \"300\");\n$clr-light-blue-400: map-get($clr-light-blue-list, \"400\");\n$clr-light-blue-500: map-get($clr-light-blue-list, \"500\");\n$clr-light-blue-600: map-get($clr-light-blue-list, \"600\");\n$clr-light-blue-700: map-get($clr-light-blue-list, \"700\");\n$clr-light-blue-800: map-get($clr-light-blue-list, \"800\");\n$clr-light-blue-900: map-get($clr-light-blue-list, \"900\");\n$clr-light-blue-a100: map-get($clr-light-blue-list, \"a100\");\n$clr-light-blue-a200: map-get($clr-light-blue-list, \"a200\");\n$clr-light-blue-a400: map-get($clr-light-blue-list, \"a400\");\n$clr-light-blue-a700: map-get($clr-light-blue-list, \"a700\");\n\n\n//\n// Cyan\n//\n\n$clr-cyan-list: (\n \"base\": #00bcd4,\n \"50\": #e0f7fa,\n \"100\": #b2ebf2,\n \"200\": #80deea,\n \"300\": #4dd0e1,\n \"400\": #26c6da,\n \"500\": #00bcd4,\n \"600\": #00acc1,\n \"700\": #0097a7,\n \"800\": #00838f,\n \"900\": #006064,\n \"a100\": #84ffff,\n \"a200\": #18ffff,\n \"a400\": #00e5ff,\n \"a700\": #00b8d4\n);\n\n$clr-cyan: map-get($clr-cyan-list, \"base\");\n\n$clr-cyan-50: map-get($clr-cyan-list, \"50\");\n$clr-cyan-100: map-get($clr-cyan-list, \"100\");\n$clr-cyan-200: map-get($clr-cyan-list, \"200\");\n$clr-cyan-300: map-get($clr-cyan-list, \"300\");\n$clr-cyan-400: map-get($clr-cyan-list, \"400\");\n$clr-cyan-500: map-get($clr-cyan-list, \"500\");\n$clr-cyan-600: map-get($clr-cyan-list, \"600\");\n$clr-cyan-700: map-get($clr-cyan-list, \"700\");\n$clr-cyan-800: map-get($clr-cyan-list, \"800\");\n$clr-cyan-900: map-get($clr-cyan-list, \"900\");\n$clr-cyan-a100: map-get($clr-cyan-list, \"a100\");\n$clr-cyan-a200: map-get($clr-cyan-list, \"a200\");\n$clr-cyan-a400: map-get($clr-cyan-list, \"a400\");\n$clr-cyan-a700: map-get($clr-cyan-list, \"a700\");\n\n\n//\n// Teal\n//\n\n$clr-teal-list: (\n \"base\": #009688,\n \"50\": #e0f2f1,\n \"100\": #b2dfdb,\n \"200\": #80cbc4,\n \"300\": #4db6ac,\n \"400\": #26a69a,\n \"500\": #009688,\n \"600\": #00897b,\n \"700\": #00796b,\n \"800\": #00695c,\n \"900\": #004d40,\n \"a100\": #a7ffeb,\n \"a200\": #64ffda,\n \"a400\": #1de9b6,\n \"a700\": #00bfa5\n);\n\n$clr-teal: map-get($clr-teal-list, \"base\");\n\n$clr-teal-50: map-get($clr-teal-list, \"50\");\n$clr-teal-100: map-get($clr-teal-list, \"100\");\n$clr-teal-200: map-get($clr-teal-list, \"200\");\n$clr-teal-300: map-get($clr-teal-list, \"300\");\n$clr-teal-400: map-get($clr-teal-list, \"400\");\n$clr-teal-500: map-get($clr-teal-list, \"500\");\n$clr-teal-600: map-get($clr-teal-list, \"600\");\n$clr-teal-700: map-get($clr-teal-list, \"700\");\n$clr-teal-800: map-get($clr-teal-list, \"800\");\n$clr-teal-900: map-get($clr-teal-list, \"900\");\n$clr-teal-a100: map-get($clr-teal-list, \"a100\");\n$clr-teal-a200: map-get($clr-teal-list, \"a200\");\n$clr-teal-a400: map-get($clr-teal-list, \"a400\");\n$clr-teal-a700: map-get($clr-teal-list, \"a700\");\n\n\n//\n// Green\n//\n\n$clr-green-list: (\n \"base\": #4caf50,\n \"50\": #e8f5e9,\n \"100\": #c8e6c9,\n \"200\": #a5d6a7,\n \"300\": #81c784,\n \"400\": #66bb6a,\n \"500\": #4caf50,\n \"600\": #43a047,\n \"700\": #388e3c,\n \"800\": #2e7d32,\n \"900\": #1b5e20,\n \"a100\": #b9f6ca,\n \"a200\": #69f0ae,\n \"a400\": #00e676,\n \"a700\": #00c853\n);\n\n$clr-green: map-get($clr-green-list, \"base\");\n\n$clr-green-50: map-get($clr-green-list, \"50\");\n$clr-green-100: map-get($clr-green-list, \"100\");\n$clr-green-200: map-get($clr-green-list, \"200\");\n$clr-green-300: map-get($clr-green-list, \"300\");\n$clr-green-400: map-get($clr-green-list, \"400\");\n$clr-green-500: map-get($clr-green-list, \"500\");\n$clr-green-600: map-get($clr-green-list, \"600\");\n$clr-green-700: map-get($clr-green-list, \"700\");\n$clr-green-800: map-get($clr-green-list, \"800\");\n$clr-green-900: map-get($clr-green-list, \"900\");\n$clr-green-a100: map-get($clr-green-list, \"a100\");\n$clr-green-a200: map-get($clr-green-list, \"a200\");\n$clr-green-a400: map-get($clr-green-list, \"a400\");\n$clr-green-a700: map-get($clr-green-list, \"a700\");\n\n\n//\n// Light green\n//\n\n$clr-light-green-list: (\n \"base\": #8bc34a,\n \"50\": #f1f8e9,\n \"100\": #dcedc8,\n \"200\": #c5e1a5,\n \"300\": #aed581,\n \"400\": #9ccc65,\n \"500\": #8bc34a,\n \"600\": #7cb342,\n \"700\": #689f38,\n \"800\": #558b2f,\n \"900\": #33691e,\n \"a100\": #ccff90,\n \"a200\": #b2ff59,\n \"a400\": #76ff03,\n \"a700\": #64dd17\n);\n\n$clr-light-green: map-get($clr-light-green-list, \"base\");\n\n$clr-light-green-50: map-get($clr-light-green-list, \"50\");\n$clr-light-green-100: map-get($clr-light-green-list, \"100\");\n$clr-light-green-200: map-get($clr-light-green-list, \"200\");\n$clr-light-green-300: map-get($clr-light-green-list, \"300\");\n$clr-light-green-400: map-get($clr-light-green-list, \"400\");\n$clr-light-green-500: map-get($clr-light-green-list, \"500\");\n$clr-light-green-600: map-get($clr-light-green-list, \"600\");\n$clr-light-green-700: map-get($clr-light-green-list, \"700\");\n$clr-light-green-800: map-get($clr-light-green-list, \"800\");\n$clr-light-green-900: map-get($clr-light-green-list, \"900\");\n$clr-light-green-a100: map-get($clr-light-green-list, \"a100\");\n$clr-light-green-a200: map-get($clr-light-green-list, \"a200\");\n$clr-light-green-a400: map-get($clr-light-green-list, \"a400\");\n$clr-light-green-a700: map-get($clr-light-green-list, \"a700\");\n\n\n//\n// Lime\n//\n\n$clr-lime-list: (\n \"base\": #cddc39,\n \"50\": #f9fbe7,\n \"100\": #f0f4c3,\n \"200\": #e6ee9c,\n \"300\": #dce775,\n \"400\": #d4e157,\n \"500\": #cddc39,\n \"600\": #c0ca33,\n \"700\": #afb42b,\n \"800\": #9e9d24,\n \"900\": #827717,\n \"a100\": #f4ff81,\n \"a200\": #eeff41,\n \"a400\": #c6ff00,\n \"a700\": #aeea00\n);\n\n$clr-lime: map-get($clr-lime-list, \"base\");\n\n$clr-lime-50: map-get($clr-lime-list, \"50\");\n$clr-lime-100: map-get($clr-lime-list, \"100\");\n$clr-lime-200: map-get($clr-lime-list, \"200\");\n$clr-lime-300: map-get($clr-lime-list, \"300\");\n$clr-lime-400: map-get($clr-lime-list, \"400\");\n$clr-lime-500: map-get($clr-lime-list, \"500\");\n$clr-lime-600: map-get($clr-lime-list, \"600\");\n$clr-lime-700: map-get($clr-lime-list, \"700\");\n$clr-lime-800: map-get($clr-lime-list, \"800\");\n$clr-lime-900: map-get($clr-lime-list, \"900\");\n$clr-lime-a100: map-get($clr-lime-list, \"a100\");\n$clr-lime-a200: map-get($clr-lime-list, \"a200\");\n$clr-lime-a400: map-get($clr-lime-list, \"a400\");\n$clr-lime-a700: map-get($clr-lime-list, \"a700\");\n\n\n//\n// Yellow\n//\n\n$clr-yellow-list: (\n \"base\": #ffeb3b,\n \"50\": #fffde7,\n \"100\": #fff9c4,\n \"200\": #fff59d,\n \"300\": #fff176,\n \"400\": #ffee58,\n \"500\": #ffeb3b,\n \"600\": #fdd835,\n \"700\": #fbc02d,\n \"800\": #f9a825,\n \"900\": #f57f17,\n \"a100\": #ffff8d,\n \"a200\": #ffff00,\n \"a400\": #ffea00,\n \"a700\": #ffd600\n);\n\n$clr-yellow: map-get($clr-yellow-list, \"base\");\n\n$clr-yellow-50: map-get($clr-yellow-list, \"50\");\n$clr-yellow-100: map-get($clr-yellow-list, \"100\");\n$clr-yellow-200: map-get($clr-yellow-list, \"200\");\n$clr-yellow-300: map-get($clr-yellow-list, \"300\");\n$clr-yellow-400: map-get($clr-yellow-list, \"400\");\n$clr-yellow-500: map-get($clr-yellow-list, \"500\");\n$clr-yellow-600: map-get($clr-yellow-list, \"600\");\n$clr-yellow-700: map-get($clr-yellow-list, \"700\");\n$clr-yellow-800: map-get($clr-yellow-list, \"800\");\n$clr-yellow-900: map-get($clr-yellow-list, \"900\");\n$clr-yellow-a100: map-get($clr-yellow-list, \"a100\");\n$clr-yellow-a200: map-get($clr-yellow-list, \"a200\");\n$clr-yellow-a400: map-get($clr-yellow-list, \"a400\");\n$clr-yellow-a700: map-get($clr-yellow-list, \"a700\");\n\n\n//\n// amber\n//\n\n$clr-amber-list: (\n \"base\": #ffc107,\n \"50\": #fff8e1,\n \"100\": #ffecb3,\n \"200\": #ffe082,\n \"300\": #ffd54f,\n \"400\": #ffca28,\n \"500\": #ffc107,\n \"600\": #ffb300,\n \"700\": #ffa000,\n \"800\": #ff8f00,\n \"900\": #ff6f00,\n \"a100\": #ffe57f,\n \"a200\": #ffd740,\n \"a400\": #ffc400,\n \"a700\": #ffab00\n);\n\n$clr-amber: map-get($clr-amber-list, \"base\");\n\n$clr-amber-50: map-get($clr-amber-list, \"50\");\n$clr-amber-100: map-get($clr-amber-list, \"100\");\n$clr-amber-200: map-get($clr-amber-list, \"200\");\n$clr-amber-300: map-get($clr-amber-list, \"300\");\n$clr-amber-400: map-get($clr-amber-list, \"400\");\n$clr-amber-500: map-get($clr-amber-list, \"500\");\n$clr-amber-600: map-get($clr-amber-list, \"600\");\n$clr-amber-700: map-get($clr-amber-list, \"700\");\n$clr-amber-800: map-get($clr-amber-list, \"800\");\n$clr-amber-900: map-get($clr-amber-list, \"900\");\n$clr-amber-a100: map-get($clr-amber-list, \"a100\");\n$clr-amber-a200: map-get($clr-amber-list, \"a200\");\n$clr-amber-a400: map-get($clr-amber-list, \"a400\");\n$clr-amber-a700: map-get($clr-amber-list, \"a700\");\n\n\n//\n// Orange\n//\n\n$clr-orange-list: (\n \"base\": #ff9800,\n \"50\": #fff3e0,\n \"100\": #ffe0b2,\n \"200\": #ffcc80,\n \"300\": #ffb74d,\n \"400\": #ffa726,\n \"500\": #ff9800,\n \"600\": #fb8c00,\n \"700\": #f57c00,\n \"800\": #ef6c00,\n \"900\": #e65100,\n \"a100\": #ffd180,\n \"a200\": #ffab40,\n \"a400\": #ff9100,\n \"a700\": #ff6d00\n);\n\n$clr-orange: map-get($clr-orange-list, \"base\");\n\n$clr-orange-50: map-get($clr-orange-list, \"50\");\n$clr-orange-100: map-get($clr-orange-list, \"100\");\n$clr-orange-200: map-get($clr-orange-list, \"200\");\n$clr-orange-300: map-get($clr-orange-list, \"300\");\n$clr-orange-400: map-get($clr-orange-list, \"400\");\n$clr-orange-500: map-get($clr-orange-list, \"500\");\n$clr-orange-600: map-get($clr-orange-list, \"600\");\n$clr-orange-700: map-get($clr-orange-list, \"700\");\n$clr-orange-800: map-get($clr-orange-list, \"800\");\n$clr-orange-900: map-get($clr-orange-list, \"900\");\n$clr-orange-a100: map-get($clr-orange-list, \"a100\");\n$clr-orange-a200: map-get($clr-orange-list, \"a200\");\n$clr-orange-a400: map-get($clr-orange-list, \"a400\");\n$clr-orange-a700: map-get($clr-orange-list, \"a700\");\n\n\n//\n// Deep orange\n//\n\n$clr-deep-orange-list: (\n \"base\": #ff5722,\n \"50\": #fbe9e7,\n \"100\": #ffccbc,\n \"200\": #ffab91,\n \"300\": #ff8a65,\n \"400\": #ff7043,\n \"500\": #ff5722,\n \"600\": #f4511e,\n \"700\": #e64a19,\n \"800\": #d84315,\n \"900\": #bf360c,\n \"a100\": #ff9e80,\n \"a200\": #ff6e40,\n \"a400\": #ff3d00,\n \"a700\": #dd2c00\n);\n\n$clr-deep-orange: map-get($clr-deep-orange-list, \"base\");\n\n$clr-deep-orange-50: map-get($clr-deep-orange-list, \"50\");\n$clr-deep-orange-100: map-get($clr-deep-orange-list, \"100\");\n$clr-deep-orange-200: map-get($clr-deep-orange-list, \"200\");\n$clr-deep-orange-300: map-get($clr-deep-orange-list, \"300\");\n$clr-deep-orange-400: map-get($clr-deep-orange-list, \"400\");\n$clr-deep-orange-500: map-get($clr-deep-orange-list, \"500\");\n$clr-deep-orange-600: map-get($clr-deep-orange-list, \"600\");\n$clr-deep-orange-700: map-get($clr-deep-orange-list, \"700\");\n$clr-deep-orange-800: map-get($clr-deep-orange-list, \"800\");\n$clr-deep-orange-900: map-get($clr-deep-orange-list, \"900\");\n$clr-deep-orange-a100: map-get($clr-deep-orange-list, \"a100\");\n$clr-deep-orange-a200: map-get($clr-deep-orange-list, \"a200\");\n$clr-deep-orange-a400: map-get($clr-deep-orange-list, \"a400\");\n$clr-deep-orange-a700: map-get($clr-deep-orange-list, \"a700\");\n\n\n//\n// Brown\n//\n\n$clr-brown-list: (\n \"base\": #795548,\n \"50\": #efebe9,\n \"100\": #d7ccc8,\n \"200\": #bcaaa4,\n \"300\": #a1887f,\n \"400\": #8d6e63,\n \"500\": #795548,\n \"600\": #6d4c41,\n \"700\": #5d4037,\n \"800\": #4e342e,\n \"900\": #3e2723,\n);\n\n$clr-brown: map-get($clr-brown-list, \"base\");\n\n$clr-brown-50: map-get($clr-brown-list, \"50\");\n$clr-brown-100: map-get($clr-brown-list, \"100\");\n$clr-brown-200: map-get($clr-brown-list, \"200\");\n$clr-brown-300: map-get($clr-brown-list, \"300\");\n$clr-brown-400: map-get($clr-brown-list, \"400\");\n$clr-brown-500: map-get($clr-brown-list, \"500\");\n$clr-brown-600: map-get($clr-brown-list, \"600\");\n$clr-brown-700: map-get($clr-brown-list, \"700\");\n$clr-brown-800: map-get($clr-brown-list, \"800\");\n$clr-brown-900: map-get($clr-brown-list, \"900\");\n\n\n//\n// Grey\n//\n\n$clr-grey-list: (\n \"base\": #9e9e9e,\n \"50\": #fafafa,\n \"100\": #f5f5f5,\n \"200\": #eeeeee,\n \"300\": #e0e0e0,\n \"400\": #bdbdbd,\n \"500\": #9e9e9e,\n \"600\": #757575,\n \"700\": #616161,\n \"800\": #424242,\n \"900\": #212121,\n);\n\n$clr-grey: map-get($clr-grey-list, \"base\");\n\n$clr-grey-50: map-get($clr-grey-list, \"50\");\n$clr-grey-100: map-get($clr-grey-list, \"100\");\n$clr-grey-200: map-get($clr-grey-list, \"200\");\n$clr-grey-300: map-get($clr-grey-list, \"300\");\n$clr-grey-400: map-get($clr-grey-list, \"400\");\n$clr-grey-500: map-get($clr-grey-list, \"500\");\n$clr-grey-600: map-get($clr-grey-list, \"600\");\n$clr-grey-700: map-get($clr-grey-list, \"700\");\n$clr-grey-800: map-get($clr-grey-list, \"800\");\n$clr-grey-900: map-get($clr-grey-list, \"900\");\n\n\n//\n// Blue grey\n//\n\n$clr-blue-grey-list: (\n \"base\": #607d8b,\n \"50\": #eceff1,\n \"100\": #cfd8dc,\n \"200\": #b0bec5,\n \"300\": #90a4ae,\n \"400\": #78909c,\n \"500\": #607d8b,\n \"600\": #546e7a,\n \"700\": #455a64,\n \"800\": #37474f,\n \"900\": #263238,\n);\n\n$clr-blue-grey: map-get($clr-blue-grey-list, \"base\");\n\n$clr-blue-grey-50: map-get($clr-blue-grey-list, \"50\");\n$clr-blue-grey-100: map-get($clr-blue-grey-list, \"100\");\n$clr-blue-grey-200: map-get($clr-blue-grey-list, \"200\");\n$clr-blue-grey-300: map-get($clr-blue-grey-list, \"300\");\n$clr-blue-grey-400: map-get($clr-blue-grey-list, \"400\");\n$clr-blue-grey-500: map-get($clr-blue-grey-list, \"500\");\n$clr-blue-grey-600: map-get($clr-blue-grey-list, \"600\");\n$clr-blue-grey-700: map-get($clr-blue-grey-list, \"700\");\n$clr-blue-grey-800: map-get($clr-blue-grey-list, \"800\");\n$clr-blue-grey-900: map-get($clr-blue-grey-list, \"900\");\n\n\n//\n// Black\n//\n\n$clr-black-list: (\n \"base\": #000\n);\n\n$clr-black: map-get($clr-black-list, \"base\");\n\n\n//\n// White\n//\n\n$clr-white-list: (\n \"base\": #fff\n);\n\n$clr-white: map-get($clr-white-list, \"base\");\n\n\n//\n// List for all Colors for looping\n//\n\n$clr-list-all: (\n \"red\": $clr-red-list,\n \"pink\": $clr-pink-list,\n \"purple\": $clr-purple-list,\n \"deep-purple\": $clr-deep-purple-list,\n \"indigo\": $clr-indigo-list,\n \"blue\": $clr-blue-list,\n \"light-blue\": $clr-light-blue-list,\n \"cyan\": $clr-cyan-list,\n \"teal\": $clr-teal-list,\n \"green\": $clr-green-list,\n \"light-green\": $clr-light-green-list,\n \"lime\": $clr-lime-list,\n \"yellow\": $clr-yellow-list,\n \"amber\": $clr-amber-list,\n \"orange\": $clr-orange-list,\n \"deep-orange\": $clr-deep-orange-list,\n \"brown\": $clr-brown-list,\n \"grey\": $clr-grey-list,\n \"blue-grey\": $clr-blue-grey-list,\n \"black\": $clr-black-list,\n \"white\": $clr-white-list\n);\n\n\n//\n// Typography\n//\n\n$clr-ui-display-4: $clr-grey-600;\n$clr-ui-display-3: $clr-grey-600;\n$clr-ui-display-2: $clr-grey-600;\n$clr-ui-display-1: $clr-grey-600;\n$clr-ui-headline: $clr-grey-900;\n$clr-ui-title: $clr-grey-900;\n$clr-ui-subhead-1: $clr-grey-900;\n$clr-ui-body-2: $clr-grey-900;\n$clr-ui-body-1: $clr-grey-900;\n$clr-ui-caption: $clr-grey-600;\n$clr-ui-menu: $clr-grey-900;\n$clr-ui-button: $clr-grey-900;\n","////\n/// Copyright (c) 2016-2021 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 {\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) {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n\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\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\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Announcement bar\n.md-announce {\n\n // Text link, also on focus/hover\n a,\n a:focus,\n a:hover {\n color: currentColor;\n }\n\n // Don't wrap name of blog article\n strong {\n white-space: nowrap;\n }\n\n // Twitter icon\n .twitter {\n margin-left: 0.2em;\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Content footer\n.tx-content__footer {\n margin-top: px2rem(20px);\n text-align: center;\n\n // Link to Insiders\n a {\n display: inline-block;\n color: $clr-pink-500;\n transition:\n transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),\n color 125ms;\n\n // Link to Insiders on focus/hover\n &:focus,\n &:hover {\n transform: scale(1.2);\n }\n }\n\n // Horizontal separator\n hr {\n display: inline-block;\n width: px2rem(40px);\n margin: px2em(16px);\n vertical-align: middle;\n background-color: currentColor;\n border: none;\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Landing page container\n.tx-container {\n padding-top: px2rem(20px);\n background:\n url(\"data:image/svg+xml;utf8,\") no-repeat bottom,\n linear-gradient(\n to bottom,\n var(--md-primary-fg-color),\n hsla(280, 67%, 55%, 1) 99%,\n var(--md-default-bg-color) 99%\n );\n\n // Adjust background for slate theme\n [data-md-color-scheme=\"slate\"] & {\n background:\n url(\"data:image/svg+xml;utf8,\") no-repeat bottom,\n linear-gradient(\n to bottom,\n var(--md-primary-fg-color),\n hsla(280, 67%, 55%, 1) 99%,\n var(--md-default-bg-color) 99%\n );\n }\n}\n\n// Landing page hero\n.tx-hero {\n margin: 0 px2rem(16px);\n color: var(--md-primary-bg-color);\n\n // Hero headline\n h1 {\n margin-bottom: px2rem(20px);\n color: currentColor;\n font-weight: 700;\n\n // [mobile portrait -]: Larger hero headline\n @include break-to-device(mobile portrait) {\n font-size: px2rem(28px);\n }\n }\n\n // Hero content\n &__content {\n padding-bottom: px2rem(120px);\n }\n\n // [tablet landscape +]: Columnar display\n @include break-from-device(tablet landscape) {\n display: flex;\n align-items: stretch;\n\n // Adjust spacing and set dimensions\n &__content {\n max-width: px2rem(380px);\n margin-top: px2rem(70px);\n padding-bottom: 14vw;\n }\n\n // Hero image\n &__image {\n order: 1;\n width: px2rem(760px);\n transform: translateX(#{px2rem(80px)});\n }\n }\n\n // [screen +]: Columnar display and adjusted spacing\n @include break-from-device(screen) {\n\n // Hero image\n &__image {\n transform: translateX(#{px2rem(160px)});\n }\n }\n\n // Button\n .md-button {\n margin-top: px2rem(10px);\n margin-right: px2rem(10px);\n color: var(--md-primary-bg-color);\n\n // Button on focus/hover\n &:focus,\n &:hover {\n color: var(--md-default-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n\n // Primary button\n &--primary {\n color: hsla(280deg, 37%, 48%, 1);\n background-color: var(--md-primary-bg-color);\n border-color: var(--md-primary-bg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Nothing to see here, move along\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Icon search\n .mdx-icon-search {\n position: relative;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.1),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.1);\n transition: box-shadow 125ms;\n\n // Icon search on focus/hover\n &:focus-within,\n &:hover {\n box-shadow:\n 0 px2rem(8px) px2rem(20px) hsla(0, 0%, 0%, 0.15),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.15);\n }\n\n // Icon search input\n .md-input {\n background: var(--md-default-bg-color);\n box-shadow: 0 0 px2rem(12px) hsla(0, 0%, 0%, 0.07);\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] & {\n background: var(--md-code-bg-color);\n }\n }\n }\n\n // Icon search result\n .mdx-icon-search-result {\n max-height: 50vh;\n overflow-y: auto;\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n touch-action: pan-y;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n\n // Icon search result metadata\n &__meta {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(12px);\n color: var(--md-default-fg-color--lighter);\n font-size: px2rem(12.8px);\n }\n\n // Icon search result list\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // Icon search result item\n &__item {\n margin: 0;\n padding: px2rem(4px) px2rem(12px);\n border-bottom: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Omit border on last child\n &:last-child {\n border-bottom: none;\n }\n\n // Item content\n > * {\n margin-right: px2rem(12px);\n }\n\n // Set icon dimensions to fit\n img {\n width: px2rem(18px);\n height: px2rem(18px);\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] &[src*=squidfunk] {\n filter: invert(1);\n }\n }\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/overrides/assets/stylesheets/main.css b/material/overrides/assets/stylesheets/main.css new file mode 100644 index 000000000..e8f00f48a --- /dev/null +++ b/material/overrides/assets/stylesheets/main.css @@ -0,0 +1,285 @@ +@-webkit-keyframes tx-heart { + 0%, 40%, 80%, 100% { + transform: scale(1); + } + 20%, 60% { + transform: scale(1.15); + } +} +@keyframes tx-heart { + 0%, 40%, 80%, 100% { + transform: scale(1); + } + 20%, 60% { + transform: scale(1.15); + } +} +.md-typeset figure > p + figcaption { + margin-top: -1.2rem; +} +.md-typeset .twitter { + color: #00acee; +} +.md-typeset .tx-video { + width: auto; +} +.md-typeset .tx-video__inner { + position: relative; + width: 100%; + height: 0; + padding-bottom: 56.138%; +} +.md-typeset .tx-video iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + border: none; +} +.md-typeset .tx-heart { + -webkit-animation: tx-heart 1000ms infinite; + animation: tx-heart 1000ms infinite; +} +.md-typeset .tx-insiders { + color: #e91e63; +} +.md-typeset .tx-insiders-button { + font-weight: 400; +} +.md-typeset .tx-insiders-count { + font-weight: 700; +} +.md-typeset .tx-insiders-list { + margin: 2em 0; + overflow: auto; +} +.md-typeset .tx-insiders-list__item { + display: block; + float: left; + width: 3rem; + height: 3rem; + margin: 0.2rem; + overflow: hidden; + border-radius: 100%; + transform: scale(1); + transition: color 125ms, transform 125ms; +} +.md-typeset .tx-insiders-list__item img { + display: block; + width: 100%; + height: auto; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + transition: -webkit-filter 125ms; + transition: filter 125ms; + transition: filter 125ms, -webkit-filter 125ms; +} +.md-typeset .tx-insiders-list__item:focus, .md-typeset .tx-insiders-list__item:hover { + transform: scale(1.1); +} +.md-typeset .tx-insiders-list__item:focus img, .md-typeset .tx-insiders-list__item:hover img { + -webkit-filter: grayscale(0%); + filter: grayscale(0%); +} +.md-typeset .tx-insiders-list__item--private { + color: var(--md-default-fg-color--lighter); + font-weight: 700; + font-size: 1.2rem; + line-height: 3rem; + text-align: center; + background: var(--md-default-fg-color--lightest); +} +.md-typeset .tx-switch button { + cursor: pointer; + transition: opacity 250ms; +} +.md-typeset .tx-switch button:focus, .md-typeset .tx-switch button:hover { + opacity: 0.75; +} +.md-typeset .tx-switch button > code { + display: block; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); +} +.md-typeset .tx-columns ol, +.md-typeset .tx-columns ul { + -moz-columns: 2; + columns: 2; +} +@media screen and (max-width: 29.9375em) { + .md-typeset .tx-columns ol, +.md-typeset .tx-columns ul { + -moz-columns: initial; + columns: initial; + } +} +.md-typeset .tx-columns li { + -moz-column-break-inside: avoid; + break-inside: avoid; +} + +.md-announce a, +.md-announce a:focus, +.md-announce a:hover { + color: currentColor; +} +.md-announce strong { + white-space: nowrap; +} +.md-announce .twitter { + margin-left: 0.2em; +} + +.tx-content__footer { + margin-top: 1rem; + text-align: center; +} +.tx-content__footer a { + display: inline-block; + color: #e91e63; + transition: transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1), color 125ms; +} +.tx-content__footer a:focus, .tx-content__footer a:hover { + transform: scale(1.2); +} +.tx-content__footer hr { + display: inline-block; + width: 2rem; + margin: 1em; + vertical-align: middle; + background-color: currentColor; + border: none; +} + +.tx-container { + padding-top: 1rem; + background: url("data:image/svg+xml;utf8,") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%); +} +[data-md-color-scheme=slate] .tx-container { + background: url("data:image/svg+xml;utf8,") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%); +} + +.tx-hero { + margin: 0 0.8rem; + color: var(--md-primary-bg-color); +} +.tx-hero h1 { + margin-bottom: 1rem; + color: currentColor; + font-weight: 700; +} +@media screen and (max-width: 29.9375em) { + .tx-hero h1 { + font-size: 1.4rem; + } +} +.tx-hero__content { + padding-bottom: 6rem; +} +@media screen and (min-width: 60em) { + .tx-hero { + display: flex; + align-items: stretch; + } + .tx-hero__content { + max-width: 19rem; + margin-top: 3.5rem; + padding-bottom: 14vw; + } + .tx-hero__image { + order: 1; + width: 38rem; + transform: translateX(4rem); + } +} +@media screen and (min-width: 76.25em) { + .tx-hero__image { + transform: translateX(8rem); + } +} +.tx-hero .md-button { + margin-top: 0.5rem; + margin-right: 0.5rem; + color: var(--md-primary-bg-color); +} +.tx-hero .md-button:focus, .tx-hero .md-button:hover { + color: var(--md-default-bg-color); + background-color: var(--md-accent-fg-color); + border-color: var(--md-accent-fg-color); +} +.tx-hero .md-button--primary { + color: #894da8; + background-color: var(--md-primary-bg-color); + border-color: var(--md-primary-bg-color); +} + +.md-typeset .mdx-icon-search { + position: relative; + background-color: var(--md-default-bg-color); + border-radius: 0.1rem; + box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1); + transition: box-shadow 125ms; +} +.md-typeset .mdx-icon-search:focus-within, .md-typeset .mdx-icon-search:hover { + box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15); +} +.md-typeset .mdx-icon-search .md-input { + background: var(--md-default-bg-color); + box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07); +} +[data-md-color-scheme=slate] .md-typeset .mdx-icon-search .md-input { + background: var(--md-code-bg-color); +} +.md-typeset .mdx-icon-search-result { + max-height: 50vh; + overflow-y: auto; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + touch-action: pan-y; + scrollbar-width: thin; + scrollbar-color: var(--md-default-fg-color--lighter) transparent; +} +.md-typeset .mdx-icon-search-result::-webkit-scrollbar { + width: 0.2rem; + height: 0.2rem; +} +.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb { + background-color: var(--md-default-fg-color--lighter); +} +.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb:hover { + background-color: var(--md-accent-fg-color); +} +.md-typeset .mdx-icon-search-result__meta { + position: absolute; + top: 0.4rem; + right: 0.6rem; + color: var(--md-default-fg-color--lighter); + font-size: 0.64rem; +} +.md-typeset .mdx-icon-search-result__list { + margin: 0; + padding: 0; + list-style: none; +} +.md-typeset .mdx-icon-search-result__item { + margin: 0; + padding: 0.2rem 0.6rem; + border-bottom: 0.05rem solid var(--md-default-fg-color--lightest); +} +.md-typeset .mdx-icon-search-result__item:last-child { + border-bottom: none; +} +.md-typeset .mdx-icon-search-result__item > * { + margin-right: 0.6rem; +} +.md-typeset .mdx-icon-search-result__item img { + width: 0.9rem; + height: 0.9rem; +} +[data-md-color-scheme=slate] .md-typeset .mdx-icon-search-result__item img[src*=squidfunk] { + -webkit-filter: invert(1); + filter: invert(1); +} +/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/material/overrides/assets/stylesheets/main.css.map b/material/overrides/assets/stylesheets/main.css.map new file mode 100644 index 000000000..0d2a2dfb0 --- /dev/null +++ b/material/overrides/assets/stylesheets/main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/_typeset.scss","../../../../src/overrides/assets/stylesheets/main.scss","../../../../src/overrides/assets/stylesheets/node_modules/material-design-color/material-color.scss","../../../../src/overrides/assets/stylesheets/src/assets/stylesheets/utilities/_break.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/layout/_announce.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/layout/_content.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/layout/_hero.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/_shame.scss"],"names":[],"mappings":"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","file":"main.css"} \ No newline at end of file diff --git a/material/overrides/main.html b/material/overrides/main.html index 48b1c82f9..22fbf67c5 100644 --- a/material/overrides/main.html +++ b/material/overrides/main.html @@ -22,7 +22,7 @@ - + {% endblock %} {% block announce %} @@ -53,5 +53,5 @@ {% endblock %} {% block scripts %} {{ super() }} - + {% endblock %} diff --git a/src/assets/javascripts/browser/media/index.ts b/src/assets/javascripts/browser/media/index.ts index cc9b336cd..cd24858c1 100644 --- a/src/assets/javascripts/browser/media/index.ts +++ b/src/assets/javascripts/browser/media/index.ts @@ -52,7 +52,7 @@ export function watchMedia(query: string): Observable { /** * Watch print mode, cross-browser * - * @returns Print observable + * @returns Print mode observable */ export function watchPrint(): Observable { return merge( diff --git a/src/assets/javascripts/components/content/_/index.ts b/src/assets/javascripts/components/content/_/index.ts index 338a8bc6f..ddd1504aa 100644 --- a/src/assets/javascripts/components/content/_/index.ts +++ b/src/assets/javascripts/components/content/_/index.ts @@ -51,7 +51,7 @@ export type Content = interface MountOptions { target$: Observable /* Location target observable */ viewport$: Observable /* Viewport observable */ - print$: Observable /* Print observable */ + print$: Observable /* Print mode observable */ } /* ---------------------------------------------------------------------------- diff --git a/src/assets/javascripts/components/content/details/index.ts b/src/assets/javascripts/components/content/details/index.ts index f995ca22b..40b04a185 100644 --- a/src/assets/javascripts/components/content/details/index.ts +++ b/src/assets/javascripts/components/content/details/index.ts @@ -50,7 +50,7 @@ export interface Details {} */ interface WatchOptions { target$: Observable /* Location target observable */ - print$: Observable /* Print observable */ + print$: Observable /* Print mode observable */ } /** @@ -58,7 +58,7 @@ interface WatchOptions { */ interface MountOptions { target$: Observable /* Location target observable */ - print$: Observable /* Print observable */ + print$: Observable /* Print mode observable */ } /* ---------------------------------------------------------------------------- diff --git a/src/assets/javascripts/index.ts b/src/assets/javascripts/index.ts index 329929fba..14de7e6a0 100644 --- a/src/assets/javascripts/index.ts +++ b/src/assets/javascripts/index.ts @@ -75,7 +75,7 @@ import { document.documentElement.classList.remove("no-js") document.documentElement.classList.add("js") -/* Set up navigation observables */ +/* Set up navigation observables and subjects */ const document$ = watchDocument() const location$ = watchLocation() const target$ = watchLocationTarget() @@ -196,15 +196,16 @@ const component$ = document$ /* Subscribe to all components */ component$.subscribe() -/* Export to window */ -export { - document$, - location$, - target$, - keyboard$, - viewport$, - tablet$, - screen$, - print$, - component$ -} +/* ---------------------------------------------------------------------------- + * Exports + * ------------------------------------------------------------------------- */ + +window.document$ = document$ /* Document observable */ +window.location$ = location$ /* Location subject */ +window.target$ = target$ /* Location target observable */ +window.keyboard$ = keyboard$ /* Keyboard observable */ +window.viewport$ = viewport$ /* Viewport observable */ +window.tablet$ = tablet$ /* Tablet observable */ +window.screen$ = screen$ /* Screen observable */ +window.print$ = print$ /* Print mode observable */ +window.component$ = component$ /* Component observable */ diff --git a/src/assets/javascripts/integrations/search/_/index.ts b/src/assets/javascripts/integrations/search/_/index.ts index 5955a5bcd..4ef3d74cc 100644 --- a/src/assets/javascripts/integrations/search/_/index.ts +++ b/src/assets/javascripts/integrations/search/_/index.ts @@ -128,9 +128,6 @@ function difference(a: string[], b: string[]): string[] { /** * Search index - * - * Note that `lunr` is injected via Webpack, as it will otherwise also be - * bundled in the application bundle. */ export class Search { @@ -139,8 +136,8 @@ export class Search { * * A mapping of URLs (including hash fragments) to the actual articles and * sections of the documentation. The search document mapping must be created - * regardless of whether the index was prebuilt or not, as `lunr` itself will - * only store the actual index. + * regardless of whether the index was prebuilt or not, as Lunr.js itself + * only stores the actual index. */ protected documents: SearchDocumentMap @@ -150,7 +147,7 @@ export class Search { protected highlight: SearchHighlightFactoryFn /** - * The underlying `lunr` search index + * The underlying Lunr.js search index */ protected index: lunr.Index diff --git a/src/assets/javascripts/integrations/search/query/transform/index.ts b/src/assets/javascripts/integrations/search/query/transform/index.ts index 982165893..f498495c1 100644 --- a/src/assets/javascripts/integrations/search/query/transform/index.ts +++ b/src/assets/javascripts/integrations/search/query/transform/index.ts @@ -44,7 +44,7 @@ export type SearchTransformFn = (value: string) => string * that the resulting document must contain all terms, converting the query * to an `AND` query (as opposed to the default `OR` behavior). While users * may expect terms enclosed in quotation marks to map to span queries, i.e. - * for which order is important, `lunr` doesn't support them, so the best + * for which order is important, Lunr.js doesn't support them, so the best * we can do is to convert the terms to an `AND` query. * * 2. Replace control characters which are not located at the beginning of the diff --git a/src/assets/javascripts/integrations/search/worker/_/index.ts b/src/assets/javascripts/integrations/search/worker/_/index.ts index 536b1114a..4dc560489 100644 --- a/src/assets/javascripts/integrations/search/worker/_/index.ts +++ b/src/assets/javascripts/integrations/search/worker/_/index.ts @@ -85,7 +85,7 @@ function setupSearchIndex( * Set up search worker * * This function will create a web worker to set up and query the search index - * which is done using `lunr`. The index must be passed as an observable to + * which is done using Lunr.js. The index must be passed as an observable to * enable hacks like _localsearch_ via search index embedding as JSON. * * @param url - Worker URL diff --git a/src/assets/javascripts/integrations/search/worker/main/index.ts b/src/assets/javascripts/integrations/search/worker/main/index.ts index 1a0845de3..bd81eefc4 100644 --- a/src/assets/javascripts/integrations/search/worker/main/index.ts +++ b/src/assets/javascripts/integrations/search/worker/main/index.ts @@ -20,7 +20,7 @@ * IN THE SOFTWARE. */ -import "lunr" +import lunr from "lunr" import { Search, SearchIndexConfig } from "../../_" import { @@ -148,6 +148,10 @@ export async function handler( * Worker * ------------------------------------------------------------------------- */ +/* @ts-ignore - expose Lunr.js in global scope, or stemmers will not work */ +self.lunr = lunr + +/* Handle messages */ addEventListener("message", async ev => { postMessage(await handler(ev.data)) }) diff --git a/src/base.html b/src/base.html index 7304d1ab0..927e116d1 100644 --- a/src/base.html +++ b/src/base.html @@ -386,7 +386,6 @@ {% block scripts %} - diff --git a/src/overrides/assets/javascripts/index.ts b/src/overrides/assets/javascripts/index.ts index fb5658ae7..d6c651300 100644 --- a/src/overrides/assets/javascripts/index.ts +++ b/src/overrides/assets/javascripts/index.ts @@ -20,7 +20,7 @@ * IN THE SOFTWARE. */ -import { Observable, merge } from "rxjs" +import { merge } from "rxjs" import { switchMap } from "rxjs/operators" import { @@ -37,8 +37,7 @@ import { setupAnalytics } from "./integrations" setupAnalytics() /* Set up extra component observables */ -declare const document$: Observable -document$ +window.document$ .pipe( switchMap(() => merge( diff --git a/src/overrides/main.html b/src/overrides/main.html index 8d768198f..b2b7dd77e 100644 --- a/src/overrides/main.html +++ b/src/overrides/main.html @@ -97,7 +97,6 @@ {{ super() }} - {% endblock %} diff --git a/tools/copy/index.ts b/tools/copy/index.ts index ddcff2c85..c0709f754 100644 --- a/tools/copy/index.ts +++ b/tools/copy/index.ts @@ -48,7 +48,7 @@ type CopyTransformFn = (content: string) => Promise interface CopyOptions { src: string /* Source file */ out: string /* Target file */ - fn?: CopyTransformFn /* Transform function */ + transform?: CopyTransformFn /* Transform function */ } /* ---------------------------------------------------------------------------- @@ -63,15 +63,15 @@ interface CopyOptions { * @returns File observable */ export function copy( - { src, out, fn }: CopyOptions + { src, out, transform }: CopyOptions ): Observable { return mkdir(path.dirname(out)) .pipe( - switchMap(() => typeof fn === "undefined" + switchMap(() => typeof transform === "undefined" ? from(fs.copyFile(src, out)) : from(fs.readFile(src, "utf8")) .pipe( - switchMap(content => fn(content)), + switchMap(content => transform(content)), switchMap(content => fs.writeFile(out, content)) ) ), diff --git a/tools/index.ts b/tools/index.ts index 7859448bc..65f314dd5 100644 --- a/tools/index.ts +++ b/tools/index.ts @@ -21,6 +21,7 @@ */ import { minify as minhtml } from "html-minifier" +import * as path from "path" import { concat, merge } from "rxjs" import { concatMap } from "rxjs/operators" @@ -31,6 +32,22 @@ import { transformStyle } from "./transform" +/* ---------------------------------------------------------------------------- + * Helper functions + * ------------------------------------------------------------------------- */ + +/** + * Replace file extension + * + * @param file - File + * @param extension - New extension + * + * @returns File with new extension + */ +function ext(file: string, extension: string): string { + return file.replace(path.extname(file), extension) +} + /* ---------------------------------------------------------------------------- * Program * ------------------------------------------------------------------------- */ @@ -81,7 +98,7 @@ const assets$ = concat( copyAll("**/*.html", { src: "src", out: base, - fn: async content => { + transform: async content => { const metadata = require("../package.json") const banner = "{#-\n" + @@ -111,16 +128,16 @@ const assets$ = concat( ) /* Transform stylesheets with SASS and PostCSS */ -const styles$ = resolve("**/[!_]*.scss", { cwd: "src" }) +const stylesheets$ = resolve("**/[!_]*.scss", { cwd: "src" }) .pipe( concatMap(file => transformStyle({ src: `src/${file}`, - out: `${base}/${file.replace(/\.scss$/, ".css")}` + out: ext(`${base}/${file}`, ".css") })) ) /* Transform scripts with ESBuild */ -const scripts$ = merge( +const javascripts$ = merge( /* Transform application */ transformScript({ @@ -144,8 +161,11 @@ const scripts$ = merge( /* Compile everything */ concat( dependencies$, - assets$, - styles$, - scripts$ + merge( + assets$, + stylesheets$, + javascripts$ + ) ) - .subscribe(console.log) + .subscribe() + // .subscribe(console.log) diff --git a/tools/resolve/index.ts b/tools/resolve/index.ts index b408fab6e..bf48314f8 100644 --- a/tools/resolve/index.ts +++ b/tools/resolve/index.ts @@ -43,7 +43,7 @@ interface ResolveOptions { /** * Base directory for compiled files */ -export const base = "material2" +export const base = "material" /* ---------------------------------------------------------------------------- * Functions diff --git a/tools/transform/index.ts b/tools/transform/index.ts index 6339618cb..36171bfb4 100644 --- a/tools/transform/index.ts +++ b/tools/transform/index.ts @@ -24,13 +24,12 @@ import { build } from "esbuild" import * as fs from "fs/promises" import * as path from "path" import postcss from "postcss" -import { Observable, defer, merge } from "rxjs" +import { Observable, concat, defer, merge } from "rxjs" import { endWith, ignoreElements, mapTo, - switchMap, - tap + switchMap } from "rxjs/operators" import { render as sass } from "sass" import { promisify } from "util" @@ -92,8 +91,8 @@ export function transformStyle( `${base}/.icons` ], encode: false - }), - require("cssnano") + }) + // require("cssnano") ]) .process(css, { from: src, @@ -104,10 +103,12 @@ export function transformStyle( } }) ), - tap(() => mkdir(path.dirname(out))), - switchMap(({ css, map }) => merge( - fs.writeFile(`${out}`, css), - fs.writeFile(`${out}.map`, map.toString()) + switchMap(({ css, map }) => concat( + mkdir(path.dirname(out)), + merge( + fs.writeFile(`${out}`, css), + fs.writeFile(`${out}.map`, map.toString()) + ) )), ignoreElements(), endWith(out) diff --git a/typings/_/index.d.ts b/typings/_/index.d.ts index c83cdd5ba..fda63c842 100644 --- a/typings/_/index.d.ts +++ b/typings/_/index.d.ts @@ -20,10 +20,17 @@ * IN THE SOFTWARE. */ -import { SearchIndex, SearchTransformFn } from "~/integrations"; +import { Observable, Subject } from "rxjs" + +import { Keyboard, Viewport } from "~/browser" +import { Component } from "~/components" +import { + SearchIndex, + SearchTransformFn +} from "~/integrations" /* ---------------------------------------------------------------------------- - * Types + * Global types * ------------------------------------------------------------------------- */ /** @@ -39,12 +46,30 @@ export interface GlobalSearchConfig { declare global { /** - * GLobal search configuration + * Global search configuration */ - var __search: GlobalSearchConfig | undefined + const __search: GlobalSearchConfig | undefined /** * Google Analytics */ function ga(...args: string[]): void } + +/* ---------------------------------------------------------------------------- + * Types + * ------------------------------------------------------------------------- */ + +declare global { + interface Window { + document$: Observable /* Document observable */ + location$: Subject /* Location subject */ + target$: Observable /* Location target observable */ + keyboard$: Observable /* Keyboard observable */ + viewport$: Observable /* Viewport obsevable */ + tablet$: Observable /* Tablet breakpoint observable */ + screen$: Observable /* Screen breakpoint observable */ + print$: Observable /* Print mode observable */ + component$: Observable /* Component observable */ + } +} diff --git a/typings/lunr/index.d.ts b/typings/lunr/index.d.ts index 3372a4775..871471d13 100644 --- a/typings/lunr/index.d.ts +++ b/typings/lunr/index.d.ts @@ -22,6 +22,10 @@ import lunr from "lunr" +/* ---------------------------------------------------------------------------- + * Global types + * ------------------------------------------------------------------------- */ + declare global { - const lunr: typeof lunr + const lunr: typeof lunr /* Global Lunr.js namespace */ } From 45cfb1024e54f9837d2be880e9324c0695672b60 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Sun, 21 Feb 2021 12:39:12 +0100 Subject: [PATCH 05/11] Added minification and fixed race conditions --- package-lock.json | 567 ++++++++++++++++++++++----------------- package.json | 26 +- tools/transform/index.ts | 12 +- 3 files changed, 341 insertions(+), 264 deletions(-) diff --git a/package-lock.json b/package-lock.json index c185c008d..05f7b6e4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -338,28 +338,28 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" } }, @@ -453,9 +453,9 @@ } }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, "@types/json5": { @@ -492,9 +492,9 @@ "dev": true }, "@types/node": { - "version": "14.14.28", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.28.tgz", - "integrity": "sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g==", + "version": "14.14.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz", + "integrity": "sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==", "dev": true }, "@types/normalize-package-data": { @@ -572,13 +572,13 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.0.tgz", - "integrity": "sha512-DJgdGZW+8CFUTz5C/dnn4ONcUm2h2T0itWD85Ob5/V27Ndie8hUoX5HKyGssvR8sUMkAIlUc/AMK67Lqa3kBIQ==", + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.1.tgz", + "integrity": "sha512-yW2epMYZSpNJXZy22Biu+fLdTG8Mn6b22kR3TqblVk50HGNV8Zya15WAXuQCr8tKw4Qf1BL4QtI6kv6PCkLoJw==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.15.0", - "@typescript-eslint/scope-manager": "4.15.0", + "@typescript-eslint/experimental-utils": "4.15.1", + "@typescript-eslint/scope-manager": "4.15.1", "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", "lodash": "^4.17.15", @@ -587,15 +587,6 @@ "tsutils": "^3.17.1" }, "dependencies": { - "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" - } - }, "semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", @@ -604,77 +595,59 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, "@typescript-eslint/experimental-utils": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.0.tgz", - "integrity": "sha512-V4vaDWvxA2zgesg4KPgEGiomWEBpJXvY4ZX34Y3qxK8LUm5I87L+qGIOTd9tHZOARXNRt9pLbblSKiYBlGMawg==", + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.1.tgz", + "integrity": "sha512-9LQRmOzBRI1iOdJorr4jEnQhadxK4c9R2aEAsm7WE/7dq8wkKD1suaV0S/JucTL8QlYUPU1y2yjqg+aGC0IQBQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.15.0", - "@typescript-eslint/types": "4.15.0", - "@typescript-eslint/typescript-estree": "4.15.0", + "@typescript-eslint/scope-manager": "4.15.1", + "@typescript-eslint/types": "4.15.1", + "@typescript-eslint/typescript-estree": "4.15.1", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" - }, - "dependencies": { - "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" - } - } } }, "@typescript-eslint/parser": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.15.0.tgz", - "integrity": "sha512-L6Dtbq8Bc7g2aZwnIBETpmUa9XDKCMzKVwAArnGp5Mn7PRNFjf3mUzq8UeBjL3K8t311hvevnyqXAMSmxO8Gpg==", + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.15.1.tgz", + "integrity": "sha512-V8eXYxNJ9QmXi5ETDguB7O9diAXlIyS+e3xzLoP/oVE4WCAjssxLIa0mqCLsCGXulYJUfT+GV70Jv1vHsdKwtA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.15.0", - "@typescript-eslint/types": "4.15.0", - "@typescript-eslint/typescript-estree": "4.15.0", + "@typescript-eslint/scope-manager": "4.15.1", + "@typescript-eslint/types": "4.15.1", + "@typescript-eslint/typescript-estree": "4.15.1", "debug": "^4.1.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.15.0.tgz", - "integrity": "sha512-CSNBZnCC2jEA/a+pR9Ljh8Y+5TY5qgbPz7ICEk9WCpSEgT6Pi7H2RIjxfrrbUXvotd6ta+i27sssKEH8Azm75g==", + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.15.1.tgz", + "integrity": "sha512-ibQrTFcAm7yG4C1iwpIYK7vDnFg+fKaZVfvyOm3sNsGAerKfwPVFtYft5EbjzByDJ4dj1WD8/34REJfw/9wdVA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.15.0", - "@typescript-eslint/visitor-keys": "4.15.0" + "@typescript-eslint/types": "4.15.1", + "@typescript-eslint/visitor-keys": "4.15.1" } }, "@typescript-eslint/types": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.15.0.tgz", - "integrity": "sha512-su4RHkJhS+iFwyqyXHcS8EGPlUVoC+XREfy5daivjLur9JP8GhvTmDipuRpcujtGC4M+GYhUOJCPDE3rC5NJrg==", + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.15.1.tgz", + "integrity": "sha512-iGsaUyWFyLz0mHfXhX4zO6P7O3sExQpBJ2dgXB0G5g/8PRVfBBsmQIc3r83ranEQTALLR3Vko/fnCIVqmH+mPw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.0.tgz", - "integrity": "sha512-jG6xTmcNbi6xzZq0SdWh7wQ9cMb2pqXaUp6bUZOMsIlu5aOlxGxgE/t6L/gPybybQGvdguajXGkZKSndZJpksA==", + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.1.tgz", + "integrity": "sha512-z8MN3CicTEumrWAEB2e2CcoZa3KP9+SMYLIA2aM49XW3cWIaiVSOAGq30ffR5XHxRirqE90fgLw3e6WmNx5uNw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.15.0", - "@typescript-eslint/visitor-keys": "4.15.0", + "@typescript-eslint/types": "4.15.1", + "@typescript-eslint/visitor-keys": "4.15.1", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", @@ -682,15 +655,6 @@ "tsutils": "^3.17.1" }, "dependencies": { - "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" - } - }, "semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", @@ -699,22 +663,16 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, "@typescript-eslint/visitor-keys": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.0.tgz", - "integrity": "sha512-RnDtJwOwFucWFAMjG3ghCG/ikImFJFEg20DI7mn4pHEx3vC48lIAoyjhffvfHmErRDboUPC7p9Z2il4CLb7qxA==", + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.1.tgz", + "integrity": "sha512-tYzaTP9plooRJY8eNlpAewTOqtWW/4ff/5wBjNVaJ0S0wC4Gpq/zDVRTJa5bq2v1pCNQ08xxMCndcvR+h7lMww==", "dev": true, "requires": { - "@typescript-eslint/types": "4.15.0", + "@typescript-eslint/types": "4.15.1", "eslint-visitor-keys": "^2.0.0" } }, @@ -1613,6 +1571,19 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "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" + } + }, "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", @@ -2135,9 +2106,9 @@ } }, "esbuild": { - "version": "0.8.46", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.46.tgz", - "integrity": "sha512-xck9sXNCNmjDHCCfxTCyhKTiFuEBweh+IDAhMLOJI990v1Fzii6MyIkT1LbkvjgoVgPX2SK1kpi5eZVGNrl8yg==", + "version": "0.8.50", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.50.tgz", + "integrity": "sha512-oidFLXssA7IccYzkqLVZSqNJDwDq8Mh/vqvrW+3fPWM7iUiC5O2bCllhnO8+K9LlyL/2Z6n+WwRJAz9fqSIVRg==", "dev": true }, "escalade": { @@ -2625,9 +2596,9 @@ } }, "eslint-plugin-jsdoc": { - "version": "32.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-32.0.0.tgz", - "integrity": "sha512-AfGe3gqJlcxyRKUjhLzPTUnEMlVVlWJCAh2N0leJndpMflyh0W7zP09+b6NQHBHk7GyR/JY0bXiSswN3QX9Lhg==", + "version": "32.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-32.1.0.tgz", + "integrity": "sha512-nCdKF8QQvAZ6RsnNoEK4kPF0aD9E6XURdjLx88oIqF+txmPNXAo2rNvu2WwV77R78vnhAGJkeOgmxmYdRRpgaQ==", "dev": true, "requires": { "comment-parser": "1.1.2", @@ -2649,20 +2620,11 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "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" - } - }, "semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", @@ -2681,12 +2643,6 @@ "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -2696,6 +2652,16 @@ "integrity": "sha1-EjaoEjkTkKGHetQAfCbnRTQclR8=", "dev": true }, + "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-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -2960,9 +2926,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", - "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -3003,9 +2969,9 @@ "dev": true }, "fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz", + "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -3322,9 +3288,9 @@ "dev": true }, "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -3350,23 +3316,11 @@ "path-type": "^4.0.0" } }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "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 - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true } } }, @@ -3574,6 +3528,12 @@ } } }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, "import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", @@ -4152,6 +4112,15 @@ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", "dev": true }, + "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" + } + }, "lunr": { "version": "2.3.9", "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", @@ -4252,6 +4221,12 @@ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", "dev": true }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true + }, "meow": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", @@ -4290,15 +4265,6 @@ "has": "^1.0.3" } }, - "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" - } - }, "normalize-package-data": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz", @@ -4329,12 +4295,6 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -4490,6 +4450,12 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", @@ -4547,6 +4513,36 @@ "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", "dev": true }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "dependencies": { + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + } + } + }, "nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -4946,6 +4942,12 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", @@ -4975,6 +4977,12 @@ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, + "pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true + }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -6620,6 +6628,12 @@ "strict-uri-encode": "^2.0.0" } }, + "queue-microtask": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", + "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==", + "dev": true + }, "quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -6882,10 +6896,13 @@ } }, "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", - "dev": true + "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": "7.0.0-beta.10", @@ -6918,9 +6935,9 @@ } }, "sass": { - "version": "1.32.7", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.7.tgz", - "integrity": "sha512-C8Z4bjqGWnsYa11o8hpKAuoyFdRhrSHcYjCr+XAWVPSIQqC8mp2f5Dx4em0dKYehPzg5XSekmCjqJnEZbIls9A==", + "version": "1.32.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz", + "integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==", "dev": true, "requires": { "chokidar": ">=2.0.0 <4.0.0" @@ -6966,6 +6983,27 @@ } } }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -6989,6 +7027,12 @@ } } }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, "slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", @@ -7286,6 +7330,95 @@ "strip-ansi": "^6.0.0" } }, + "string.prototype.padend": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + } + } + }, "string.prototype.trimend": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", @@ -7418,9 +7551,9 @@ } }, "stylelint": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.10.0.tgz", - "integrity": "sha512-eDuLrL0wzPKbl5/TbNGZcbw0lTIGbDEr5W6lCODvb1gAg0ncbgCRt7oU0C2VFDvbrcY0A3MFZOwltwTRmc0XCw==", + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.11.0.tgz", + "integrity": "sha512-DhrKSWDWGZkCiQMtU+VroXM6LWJVC8hSK24nrUngTSQvXGK75yZUq4yNpynqrxD3a/fzKMED09V+XxO4z4lTbw==", "dev": true, "requires": { "@stylelint/postcss-css-in-js": "^0.37.2", @@ -7474,9 +7607,9 @@ }, "dependencies": { "ajv": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.0.tgz", - "integrity": "sha512-svS9uILze/cXbH0z2myCK2Brqprx/+JJYK5pHicT/GQiBfzzhUVAIT6MwqJg8y4xV/zoGsUeuPuwtoiKSGE15g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz", + "integrity": "sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -7485,12 +7618,6 @@ "uri-js": "^4.2.2" } }, - "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 - }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -7585,58 +7712,6 @@ "ms": "2.1.2" } }, - "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" - } - }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -7662,9 +7737,9 @@ "dev": true }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "log-symbols": { @@ -7756,12 +7831,6 @@ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -8473,9 +8542,9 @@ "dev": true }, "svgo": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.0.1.tgz", - "integrity": "sha512-v5Tzv3WPayd0XVnpmnRHqWqSHAabQFFjiTuA/KrBAOwMIyn6odBk1bCmygJJbw/6IJLwGznSvaNDKqNQeWJOtA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.0.3.tgz", + "integrity": "sha512-q6YtEaLXkPN1ARaifoENYPPweAbBV8YoqWg+8DFQ3xsImfyRIdBbr42Cqz4NZwCftmVJjh+m1rEK7ItRdLTxdg==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -8820,6 +8889,12 @@ "strip-bom": "^3.0.0" } }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "tsutils": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz", @@ -8827,14 +8902,6 @@ "dev": true, "requires": { "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } } }, "type-check": { @@ -9160,6 +9227,12 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "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": "1.10.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", @@ -9167,9 +9240,9 @@ "dev": true }, "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.5", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.5.tgz", + "integrity": "sha512-jYRGS3zWy20NtDtK2kBgo/TlAoy5YUuhD9/LZ7z7W4j1Fdw2cqD0xEEclf8fxc8xjD6X5Qr+qQQwCEsP8iRiYg==", "dev": true }, "yn": { diff --git a/package.json b/package.json index 8fdbc14d6..b5e9c1309 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,11 @@ "url": "https://github.com/squidfunk/mkdocs-material.git" }, "scripts": { - "build": "npm run clean && webpack --mode production", + "build": "run-s build:*", + "build:clean": "rimraf material", + "build:tools": "ts-node -T tools --optimize", "clean": "rimraf material", - "lint": "npm run lint:scss && npm run lint:ts", + "lint": "run-p lint:*", "lint:scss": "stylelint \"src/assets/**/*.scss\"", "lint:ts": "eslint --cache \"src/**/*.ts\"", "start": "webpack --mode development --watch" @@ -49,42 +51,42 @@ "@types/fuzzaldrin-plus": "^0.6.1", "@types/html-minifier": "^4.0.0", "@types/lunr": "^2.3.3", - "@types/node": "^14.14.28", + "@types/node": "^14.14.31", "@types/resize-observer-browser": "^0.1.5", "@types/sass": "^1.16.0", - "@typescript-eslint/eslint-plugin": "^4.15.0", - "@typescript-eslint/parser": "^4.15.0", + "@typescript-eslint/eslint-plugin": "^4.15.1", + "@typescript-eslint/parser": "^4.15.1", "autoprefixer": "^10.2.4", "chokidar": "^3.5.1", "cssnano": "^4.1.10", - "esbuild": "^0.8.46", + "esbuild": "^0.8.50", "eslint": "^7.20.0", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsdoc": "^32.0.0", + "eslint-plugin-jsdoc": "^32.1.0", "eslint-plugin-no-null": "^1.0.2", "github-types": "^1.0.0", "gitlab": "^14.2.2", "html-minifier": "^4.0.0", "material-design-color": "^2.3.2", "material-shadows": "^3.0.1", + "npm-run-all": "^4.1.5", "postcss": "^8.2.5", "postcss-inline-svg": "^5.0.0", - "postcss-svgo": "^4.0.2", "preact": "^10.5.12", "rimraf": "^3.0.2", - "sass": "^1.32.6", - "stylelint": "^13.9.0", + "sass": "^1.32.8", + "stylelint": "^13.11.0", "stylelint-config-rational-order": "^0.1.2", "stylelint-config-recommended": "^3.0.0", "stylelint-config-standard": "^20.0.0", "stylelint-scss": "^3.19.0", - "svgo": "^2.0.1", + "svgo": "^2.0.3", "tiny-glob": "^0.2.8", "ts-node": "^9.1.1", "typescript": "^4.1.5" }, "engines": { - "node": ">= 12" + "node": ">= 14" } } diff --git a/tools/transform/index.ts b/tools/transform/index.ts index 36171bfb4..8a3a1e8ce 100644 --- a/tools/transform/index.ts +++ b/tools/transform/index.ts @@ -91,8 +91,10 @@ export function transformStyle( `${base}/.icons` ], encode: false - }) - // require("cssnano") + }), + ...process.argv.includes("--optimize") + ? [require("cssnano")] + : [] ]) .process(css, { from: src, @@ -105,10 +107,10 @@ export function transformStyle( ), switchMap(({ css, map }) => concat( mkdir(path.dirname(out)), - merge( + defer(() => merge( fs.writeFile(`${out}`, css), fs.writeFile(`${out}.map`, map.toString()) - ) + )) )), ignoreElements(), endWith(out) @@ -130,7 +132,7 @@ export function transformScript( outfile: out, bundle: true, sourcemap: true, - minify: true + minify: process.argv.includes("--optimize") })) .pipe( mapTo(out) From 4d462c1667534087591a2b036ce519d87060b050 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Sun, 21 Feb 2021 14:34:17 +0100 Subject: [PATCH 06/11] Added back SVG optimization --- .../javascripts/{index.ts => bundle.ts} | 0 src/assets/javascripts/workers/search.ts | 23 +++++ src/base.html | 2 +- .../javascripts/{index.ts => bundle.ts} | 0 tools/copy/index.ts | 11 ++- tools/index.ts | 93 ++++++++++++------- typings/svgo/index.d.ts | 68 ++++++++++++++ 7 files changed, 157 insertions(+), 40 deletions(-) rename src/assets/javascripts/{index.ts => bundle.ts} (100%) create mode 100644 src/assets/javascripts/workers/search.ts rename src/overrides/assets/javascripts/{index.ts => bundle.ts} (100%) create mode 100644 typings/svgo/index.d.ts diff --git a/src/assets/javascripts/index.ts b/src/assets/javascripts/bundle.ts similarity index 100% rename from src/assets/javascripts/index.ts rename to src/assets/javascripts/bundle.ts diff --git a/src/assets/javascripts/workers/search.ts b/src/assets/javascripts/workers/search.ts new file mode 100644 index 000000000..db4099387 --- /dev/null +++ b/src/assets/javascripts/workers/search.ts @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2016-2021 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 RTICULAR 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 + * IN THE SOFTWARE. + */ + +import "~/integrations/search/worker/main" diff --git a/src/base.html b/src/base.html index 927e116d1..110ca287c 100644 --- a/src/base.html +++ b/src/base.html @@ -355,7 +355,7 @@ "base": base_url, "features": features, "translations": {}, - "search": "assets/javascripts/worker/search.js" | url, + "search": "assets/javascripts/workers/search.js" | url, } -%} diff --git a/src/overrides/assets/javascripts/index.ts b/src/overrides/assets/javascripts/bundle.ts similarity index 100% rename from src/overrides/assets/javascripts/index.ts rename to src/overrides/assets/javascripts/bundle.ts diff --git a/tools/copy/index.ts b/tools/copy/index.ts index c0709f754..aa5fe8154 100644 --- a/tools/copy/index.ts +++ b/tools/copy/index.ts @@ -34,11 +34,12 @@ import { mkdir, resolve } from "../resolve" /** * Copy transform function * - * @param content - Content + * @param data - File data + * @param name - File name * - * @returns Transformed content + * @returns Transformed file data */ -type CopyTransformFn = (content: string) => Promise +type CopyTransformFn = (data: string, name: string) => Promise /* ------------------------------------------------------------------------- */ @@ -71,8 +72,8 @@ export function copy( ? from(fs.copyFile(src, out)) : from(fs.readFile(src, "utf8")) .pipe( - switchMap(content => transform(content)), - switchMap(content => fs.writeFile(out, content)) + switchMap(data => transform(data, src)), + switchMap(data => fs.writeFile(out, data)) ) ), mapTo(out) diff --git a/tools/index.ts b/tools/index.ts index 65f314dd5..48a27dfff 100644 --- a/tools/index.ts +++ b/tools/index.ts @@ -22,8 +22,9 @@ import { minify as minhtml } from "html-minifier" import * as path from "path" -import { concat, merge } from "rxjs" -import { concatMap } from "rxjs/operators" +import { concat, defer, merge } from "rxjs" +import { concatMap, tap } from "rxjs/operators" +import { extendDefaultPlugins, optimize } from "svgo" import { copyAll } from "./copy" import { base, resolve } from "./resolve" @@ -48,6 +49,26 @@ function ext(file: string, extension: string): string { return file.replace(path.extname(file), extension) } +/** + * Optimize SVG data + * + * This function will just pass-through non-SVG data, which makes the pipeline + * much simpler, as we can reuse it for the license texts. + * + * @param data - SVG data + * + * @returns Minified SVG data + */ +function minsvg(data: string): string { + const result = optimize(data, { + plugins: extendDefaultPlugins([ + { name: "removeDimensions", active: true }, + { name: "removeViewBox", active: false } + ]) + }) + return result.data || data +} + /* ---------------------------------------------------------------------------- * Program * ------------------------------------------------------------------------- */ @@ -59,28 +80,30 @@ const dependencies$ = concat( ...["*.svg", "../LICENSE"] .map(pattern => copyAll(pattern, { src: "node_modules/@mdi/svg/svg", - out: `${base}/.icons/material` + out: `${base}/.icons/material`, + ...process.argv.includes("--optimize") && { + transform: async data => minsvg(data) + } })), /* Copy GitHub octicons */ ...["*.svg", "../../LICENSE"] .map(pattern => copyAll(pattern, { src: "node_modules/@primer/octicons/build/svg", - out: `${base}/.icons/octicons` + out: `${base}/.icons/octicons`, + ...process.argv.includes("--optimize") && { + transform: async data => minsvg(data) + } })), /* Copy FontAwesome icons */ ...["**/*.svg", "../LICENSE.txt"] .map(pattern => copyAll(pattern, { src: "node_modules/@fortawesome/fontawesome-free/svgs", - out: `${base}/.icons/fontawesome` - })), - - /* Copy Lunr.js search stemmers and segmenter */ - ...["min/*.js", "tinyseg.js"] - .map(pattern => copyAll(pattern, { - src: "node_modules/lunr-languages", - out: `${base}/assets/javascripts/lunr` + out: `${base}/.icons/fontawesome`, + ...process.argv.includes("--optimize") && { + transform: async data => minsvg(data) + } })) ) @@ -98,7 +121,7 @@ const assets$ = concat( copyAll("**/*.html", { src: "src", out: base, - transform: async content => { + transform: async data => { const metadata = require("../package.json") const banner = "{#-\n" + @@ -106,7 +129,7 @@ const assets$ = concat( "-#}\n" /* Normalize line feeds and minify HTML */ - const html = content.replace(/\r\n/gm, "\n") + const html = data.replace(/\r\n/gm, "\n") return banner + minhtml(html, { collapseBooleanAttributes: true, includeAutoGeneratedTags: false, @@ -136,36 +159,38 @@ const stylesheets$ = resolve("**/[!_]*.scss", { cwd: "src" }) })) ) -/* Transform scripts with ESBuild */ -const javascripts$ = merge( +/* Transform stylesheets with SASS and PostCSS */ +const javascripts$ = resolve("**/{bundle,search}.ts", { cwd: "src" }) + .pipe( + concatMap(file => transformScript({ + src: `src/${file}`, + out: ext(`${base}/${file}`, ".js") + })) + ) - /* Transform application */ - transformScript({ - src: "src/assets/javascripts/index.ts", - out: `${base}/assets/javascripts/bundle.js` - }), +/* Add content hashes to files and replace occurrences */ +const manifest$ = defer(() => resolve("**/*.{css,js}", {cwd: base }) + .pipe(tap(console.log))) - /* Transform application overrides */ - transformScript({ - src: "src/overrides/assets/javascripts/index.ts", - out: `${base}/overrides/assets/javascripts/bundle.js` - }), +/* Copy Lunr.js search stemmers and segmenter */ +const stemmers$ = ["min/*.js", "tinyseg.js"] + .map(pattern => copyAll(pattern, { + src: "node_modules/lunr-languages", + out: `${base}/assets/javascripts/lunr` + })) - /* Transform search worker */ - transformScript({ - src: "src/assets/javascripts/integrations/search/worker/main/index.ts", - out: `${base}/assets/javascripts/worker/search.js` - }) -) +/* ------------------------------------------------------------------------- */ -/* Compile everything */ +/* Put everything together */ concat( dependencies$, merge( assets$, stylesheets$, javascripts$ - ) + ), + manifest$, + stemmers$ ) .subscribe() // .subscribe(console.log) diff --git a/typings/svgo/index.d.ts b/typings/svgo/index.d.ts new file mode 100644 index 000000000..7fb7bce32 --- /dev/null +++ b/typings/svgo/index.d.ts @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2016-2021 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 + * IN THE SOFTWARE. + */ + +/* ---------------------------------------------------------------------------- + * Types + * ------------------------------------------------------------------------- */ + +declare module "svgo" { + + /** + * Plugin + */ + interface Plugin { + name: string + active: boolean + } + + /** + * Optimization configuration + */ + interface OptimizeConfig { + plugins: Plugin[] + } + + /** + * Optimization result + */ + interface OptimizeResult { + data: string + } + + /** + * Optimize SVG + * + * @param data - SVG data + * + * @returns Optimization result + */ + function optimize(data: string, config: OptimizeConfig): OptimizeResult + + /** + * Extend the list of default plugins + * + * @param plugins - Plugins + * + * @returns Plugins + */ + function extendDefaultPlugins(plugins: Plugin[]): Plugin[] +} From 029e5d80d0887ee1139fc9137c155848fc5c5255 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Sun, 21 Feb 2021 14:58:26 +0100 Subject: [PATCH 07/11] Added chunk hashes in optimized builds --- tools/index.ts | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/tools/index.ts b/tools/index.ts index 48a27dfff..4c3903f9d 100644 --- a/tools/index.ts +++ b/tools/index.ts @@ -20,10 +20,17 @@ * IN THE SOFTWARE. */ +import { createHash } from "crypto" +import * as fs from "fs/promises" import { minify as minhtml } from "html-minifier" import * as path from "path" -import { concat, defer, merge } from "rxjs" -import { concatMap, tap } from "rxjs/operators" +import { concat, defer, from, merge, of } from "rxjs" +import { + concatMap, + map, + switchMap, + takeWhile +} from "rxjs/operators" import { extendDefaultPlugins, optimize } from "svgo" import { copyAll } from "./copy" @@ -168,9 +175,25 @@ const javascripts$ = resolve("**/{bundle,search}.ts", { cwd: "src" }) })) ) -/* Add content hashes to files and replace occurrences */ -const manifest$ = defer(() => resolve("**/*.{css,js}", {cwd: base }) - .pipe(tap(console.log))) +/* Add content hashes to assets and replace occurrences */ +const manifest$ = defer(() => resolve(`${base}/**/*.{css,js}`) + .pipe( + takeWhile(() => process.argv.includes("--optimize")), + concatMap(asset => from(fs.readFile(asset, "utf8")) + .pipe( + map(data => createHash("sha256").update(data).digest("hex")), + switchMap(hash => of(`${asset}`, `${asset}.map`) + .pipe( + switchMap(file => fs.rename( + file, + file.replace(/\b(?=\.)/, `.${hash.slice(0, 8)}.min`) + )) + ) + ) + ) + ) + ) +) /* Copy Lunr.js search stemmers and segmenter */ const stemmers$ = ["min/*.js", "tinyseg.js"] From eb819535f61a06a170991952d2f174a787caaff7 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Sun, 21 Feb 2021 17:35:11 +0100 Subject: [PATCH 08/11] Added asset manifest generation --- src/assets/stylesheets/main/_typeset.scss | 4 +- src/base.html | 4 +- tools/index.ts | 63 +++++++++++++++++------ tools/resolve/index.ts | 22 ++++++++ 4 files changed, 74 insertions(+), 19 deletions(-) diff --git a/src/assets/stylesheets/main/_typeset.scss b/src/assets/stylesheets/main/_typeset.scss index 31f6cb6aa..00513453c 100644 --- a/src/assets/stylesheets/main/_typeset.scss +++ b/src/assets/stylesheets/main/_typeset.scss @@ -36,7 +36,7 @@ input { color: var(--md-typeset-color); font-feature-settings: "kern", "liga"; font-family: - var(--md-text-font-family,) + var(--md-text-font-family, _), -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif; } @@ -47,7 +47,7 @@ kbd { color: var(--md-typeset-color); font-feature-settings: "kern"; font-family: - var(--md-code-font-family,) + var(--md-code-font-family, _), SFMono-Regular, Consolas, Menlo, monospace; } diff --git a/src/base.html b/src/base.html index 110ca287c..9a4d5892b 100644 --- a/src/base.html +++ b/src/base.html @@ -120,8 +120,8 @@ /> {% endif %} diff --git a/tools/index.ts b/tools/index.ts index 4c3903f9d..2f5f05d14 100644 --- a/tools/index.ts +++ b/tools/index.ts @@ -24,17 +24,21 @@ import { createHash } from "crypto" import * as fs from "fs/promises" import { minify as minhtml } from "html-minifier" import * as path from "path" -import { concat, defer, from, merge, of } from "rxjs" +import { EMPTY, concat, defer, from, merge, of } from "rxjs" import { concatMap, map, + mergeMap, switchMap, - takeWhile + toArray } from "rxjs/operators" -import { extendDefaultPlugins, optimize } from "svgo" +import { + extendDefaultPlugins, + optimize +} from "svgo" -import { copyAll } from "./copy" -import { base, resolve } from "./resolve" +import { copy, copyAll } from "./copy" +import { base, cachebust, resolve } from "./resolve" import { transformScript, transformStyle @@ -176,24 +180,53 @@ const javascripts$ = resolve("**/{bundle,search}.ts", { cwd: "src" }) ) /* Add content hashes to assets and replace occurrences */ -const manifest$ = defer(() => resolve(`${base}/**/*.{css,js}`) +const manifest$ = defer(() => process.argv.includes("--optimize") + ? resolve("**/*.{css,js}", { cwd: base }) + : EMPTY +) .pipe( - takeWhile(() => process.argv.includes("--optimize")), - concatMap(asset => from(fs.readFile(asset, "utf8")) + concatMap(file => from(fs.readFile(`${base}/${file}`, "utf8")) .pipe( map(data => createHash("sha256").update(data).digest("hex")), - switchMap(hash => of(`${asset}`, `${asset}.map`) + switchMap(hash => of(`${file}`, `${file}.map`) .pipe( - switchMap(file => fs.rename( - file, - file.replace(/\b(?=\.)/, `.${hash.slice(0, 8)}.min`) - )) + concatMap(part => cachebust(part, hash, { cwd: base })) ) ) ) - ) + ), + toArray(), + map(tuples => new Map(tuples)), + mergeMap(manifest => concat( + + // TODO: split this into two. manifest + cachebust! + ...["base.html", "overrides/main.html"] + .map(file => copy({ + src: `${base}/${file}`, + out: `${base}/${file}`, + transform: async data => [...manifest.entries()] + .reduce((content, [key, value]) => content + .replace( + new RegExp(`('|")${key}\\1`, "g"), + `$1${value}$1` + ), + data + ) + })), + + // TODO: interate this into the actual compilation... + ...[...manifest.keys()] + .filter(file => !file.endsWith(".map")) + .map(file => copy({ + src: `${base}/${manifest.get(file)!}`, + out: `${base}/${manifest.get(file)!}`, + transform: async data => data.replace( + path.basename(file), + path.basename(manifest.get(file)!), + ) + })) + )) ) -) /* Copy Lunr.js search stemmers and segmenter */ const stemmers$ = ["min/*.js", "tinyseg.js"] diff --git a/tools/resolve/index.ts b/tools/resolve/index.ts index bf48314f8..cfcab2623 100644 --- a/tools/resolve/index.ts +++ b/tools/resolve/index.ts @@ -81,3 +81,25 @@ export function mkdir( mapTo(directory) ) } + +/** + * Cachebust a file using a content hash + * + * @param file - File + * @param hash - Content hash + * @param options - Options + * + * @returns Cachebusting tuple observable + */ +export function cachebust( + file: string, hash: string, options: ResolveOptions +): Observable<[string, string]> { + const name = file.replace(/\b(?=\.)/, `.${hash.slice(0, 8)}.min`) + return from(fs.rename( + `${options.cwd}/${file}`, + `${options.cwd}/${name}` + )) + .pipe( + mapTo([file, name]) + ) +} From b97b747150e4118cd97241e71b2a43187e1f76e3 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Mon, 22 Feb 2021 18:19:00 +0100 Subject: [PATCH 09/11] Finished migration to custom build --- .gitignore | 1 - .../brands/acquisitions-incorporated.svg | 2 +- .../.icons/fontawesome/brands/amazon-pay.svg | 2 +- .../.icons/fontawesome/brands/android.svg | 2 +- .../.icons/fontawesome/brands/artstation.svg | 2 +- material/.icons/fontawesome/brands/aws.svg | 2 +- .../.icons/fontawesome/brands/battle-net.svg | 2 +- .../.icons/fontawesome/brands/bitbucket.svg | 2 +- .../.icons/fontawesome/brands/bitcoin.svg | 2 +- .../.icons/fontawesome/brands/bootstrap.svg | 2 +- material/.icons/fontawesome/brands/buffer.svg | 2 +- .../.icons/fontawesome/brands/buy-n-large.svg | 2 +- .../.icons/fontawesome/brands/cloudflare.svg | 2 +- .../fontawesome/brands/connectdevelop.svg | 2 +- .../fontawesome/brands/cotton-bureau.svg | 2 +- .../fontawesome/brands/critical-role.svg | 2 +- .../.icons/fontawesome/brands/dailymotion.svg | 2 +- material/.icons/fontawesome/brands/edge.svg | 2 +- .../.icons/fontawesome/brands/evernote.svg | 2 +- .../fontawesome/brands/facebook-messenger.svg | 2 +- .../fontawesome/brands/facebook-square.svg | 2 +- .../brands/fantasy-flight-games.svg | 2 +- material/.icons/fontawesome/brands/fedora.svg | 2 +- material/.icons/fontawesome/brands/figma.svg | 2 +- .../fontawesome/brands/firefox-browser.svg | 2 +- .../.icons/fontawesome/brands/firefox.svg | 2 +- .../fontawesome/brands/first-order-alt.svg | 2 +- .../fontawesome/brands/free-code-camp.svg | 2 +- .../fontawesome/brands/galactic-republic.svg | 2 +- .../fontawesome/brands/galactic-senate.svg | 2 +- .../.icons/fontawesome/brands/git-alt.svg | 2 +- .../.icons/fontawesome/brands/git-square.svg | 2 +- .../.icons/fontawesome/brands/google-pay.svg | 2 +- .../.icons/fontawesome/brands/google-plus.svg | 2 +- .../.icons/fontawesome/brands/guilded.svg | 2 +- material/.icons/fontawesome/brands/hive.svg | 2 +- .../.icons/fontawesome/brands/hornbill.svg | 2 +- material/.icons/fontawesome/brands/ideal.svg | 2 +- .../.icons/fontawesome/brands/innosoft.svg | 2 +- .../fontawesome/brands/instagram-square.svg | 2 +- .../.icons/fontawesome/brands/itch-io.svg | 2 +- material/.icons/fontawesome/brands/java.svg | 2 +- .../.icons/fontawesome/brands/keybase.svg | 2 +- .../.icons/fontawesome/brands/laravel.svg | 2 +- .../.icons/fontawesome/brands/linkedin-in.svg | 2 +- .../.icons/fontawesome/brands/mailchimp.svg | 2 +- .../.icons/fontawesome/brands/mandalorian.svg | 2 +- .../.icons/fontawesome/brands/mastodon.svg | 2 +- material/.icons/fontawesome/brands/mdb.svg | 2 +- .../.icons/fontawesome/brands/microblog.svg | 2 +- material/.icons/fontawesome/brands/mixer.svg | 2 +- material/.icons/fontawesome/brands/ns8.svg | 2 +- .../fontawesome/brands/octopus-deploy.svg | 2 +- .../fontawesome/brands/old-republic.svg | 2 +- material/.icons/fontawesome/brands/orcid.svg | 2 +- material/.icons/fontawesome/brands/osi.svg | 2 +- .../fontawesome/brands/penny-arcade.svg | 2 +- .../.icons/fontawesome/brands/perbyte.svg | 2 +- .../fontawesome/brands/phoenix-squadron.svg | 2 +- .../.icons/fontawesome/brands/pied-piper.svg | 2 +- .../.icons/fontawesome/brands/quinscape.svg | 2 +- .../.icons/fontawesome/brands/ravelry.svg | 2 +- .../.icons/fontawesome/brands/reacteurope.svg | 2 +- material/.icons/fontawesome/brands/redhat.svg | 2 +- material/.icons/fontawesome/brands/rev.svg | 2 +- .../.icons/fontawesome/brands/rocketchat.svg | 2 +- material/.icons/fontawesome/brands/rust.svg | 2 +- material/.icons/fontawesome/brands/safari.svg | 2 +- .../.icons/fontawesome/brands/salesforce.svg | 2 +- material/.icons/fontawesome/brands/sass.svg | 2 +- .../.icons/fontawesome/brands/shopify.svg | 2 +- .../.icons/fontawesome/brands/shopware.svg | 2 +- material/.icons/fontawesome/brands/sith.svg | 2 +- .../fontawesome/brands/snapchat-ghost.svg | 2 +- .../.icons/fontawesome/brands/sourcetree.svg | 2 +- .../fontawesome/brands/speaker-deck.svg | 2 +- material/.icons/fontawesome/brands/steam.svg | 2 +- .../.icons/fontawesome/brands/stripe-s.svg | 2 +- material/.icons/fontawesome/brands/suse.svg | 2 +- material/.icons/fontawesome/brands/swift.svg | 2 +- .../.icons/fontawesome/brands/teamspeak.svg | 2 +- .../fontawesome/brands/the-red-yeti.svg | 2 +- .../.icons/fontawesome/brands/themeisle.svg | 2 +- material/.icons/fontawesome/brands/tiktok.svg | 2 +- .../.icons/fontawesome/brands/tripadvisor.svg | 2 +- .../fontawesome/brands/twitter-square.svg | 2 +- .../.icons/fontawesome/brands/umbraco.svg | 2 +- .../.icons/fontawesome/brands/uncharted.svg | 2 +- .../brands/watchman-monitoring.svg | 2 +- material/.icons/fontawesome/brands/waze.svg | 2 +- .../brands/wolf-pack-battalion.svg | 2 +- material/.icons/fontawesome/brands/yahoo.svg | 2 +- material/.icons/fontawesome/brands/yammer.svg | 2 +- material/.icons/fontawesome/brands/yelp.svg | 2 +- .../.icons/fontawesome/regular/bookmark.svg | 2 +- .../fontawesome/regular/calendar-check.svg | 2 +- material/.icons/fontawesome/regular/clone.svg | 2 +- .../.icons/fontawesome/regular/compass.svg | 2 +- material/.icons/fontawesome/regular/copy.svg | 2 +- .../.icons/fontawesome/regular/copyright.svg | 2 +- .../fontawesome/regular/envelope-open.svg | 2 +- .../.icons/fontawesome/regular/eye-slash.svg | 2 +- material/.icons/fontawesome/regular/eye.svg | 2 +- .../.icons/fontawesome/regular/file-audio.svg | 2 +- .../.icons/fontawesome/regular/file-video.svg | 2 +- material/.icons/fontawesome/regular/flag.svg | 2 +- .../fontawesome/regular/hand-lizard.svg | 2 +- .../.icons/fontawesome/regular/hand-paper.svg | 2 +- .../.icons/fontawesome/regular/hand-peace.svg | 2 +- .../fontawesome/regular/hand-point-down.svg | 2 +- .../fontawesome/regular/hand-point-left.svg | 2 +- .../fontawesome/regular/hand-point-right.svg | 2 +- .../fontawesome/regular/hand-point-up.svg | 2 +- .../fontawesome/regular/hand-pointer.svg | 2 +- .../.icons/fontawesome/regular/hand-rock.svg | 2 +- .../fontawesome/regular/hand-scissors.svg | 2 +- .../.icons/fontawesome/regular/hand-spock.svg | 2 +- .../.icons/fontawesome/regular/handshake.svg | 2 +- material/.icons/fontawesome/regular/hdd.svg | 2 +- .../.icons/fontawesome/regular/hospital.svg | 2 +- material/.icons/fontawesome/regular/image.svg | 2 +- .../.icons/fontawesome/regular/images.svg | 2 +- .../.icons/fontawesome/regular/lightbulb.svg | 2 +- .../.icons/fontawesome/regular/list-alt.svg | 2 +- material/.icons/fontawesome/regular/map.svg | 2 +- .../fontawesome/regular/money-bill-alt.svg | 2 +- material/.icons/fontawesome/regular/moon.svg | 2 +- .../.icons/fontawesome/regular/registered.svg | 2 +- material/.icons/fontawesome/regular/save.svg | 2 +- .../fontawesome/regular/share-square.svg | 2 +- .../fontawesome/regular/sticky-note.svg | 2 +- .../.icons/fontawesome/regular/trash-alt.svg | 2 +- material/.icons/fontawesome/solid/ad.svg | 2 +- .../.icons/fontawesome/solid/align-center.svg | 2 +- .../fontawesome/solid/align-justify.svg | 2 +- .../.icons/fontawesome/solid/align-left.svg | 2 +- .../.icons/fontawesome/solid/align-right.svg | 2 +- .../american-sign-language-interpreting.svg | 2 +- material/.icons/fontawesome/solid/at.svg | 2 +- material/.icons/fontawesome/solid/atom.svg | 2 +- .../fontawesome/solid/audio-description.svg | 2 +- material/.icons/fontawesome/solid/award.svg | 2 +- .../.icons/fontawesome/solid/backspace.svg | 2 +- material/.icons/fontawesome/solid/bacon.svg | 2 +- .../.icons/fontawesome/solid/bacteria.svg | 2 +- .../.icons/fontawesome/solid/bacterium.svg | 2 +- material/.icons/fontawesome/solid/bath.svg | 2 +- material/.icons/fontawesome/solid/beer.svg | 2 +- material/.icons/fontawesome/solid/bicycle.svg | 2 +- material/.icons/fontawesome/solid/biking.svg | 2 +- material/.icons/fontawesome/solid/blind.svg | 2 +- material/.icons/fontawesome/solid/bold.svg | 2 +- .../.icons/fontawesome/solid/book-medical.svg | 2 +- .../.icons/fontawesome/solid/border-all.svg | 2 +- .../.icons/fontawesome/solid/border-none.svg | 2 +- .../.icons/fontawesome/solid/border-style.svg | 2 +- .../.icons/fontawesome/solid/box-tissue.svg | 2 +- .../.icons/fontawesome/solid/bullhorn.svg | 2 +- .../.icons/fontawesome/solid/cannabis.svg | 2 +- .../.icons/fontawesome/solid/car-crash.svg | 2 +- .../.icons/fontawesome/solid/car-side.svg | 2 +- material/.icons/fontawesome/solid/caravan.svg | 2 +- material/.icons/fontawesome/solid/cheese.svg | 2 +- .../.icons/fontawesome/solid/chess-bishop.svg | 2 +- .../.icons/fontawesome/solid/chess-king.svg | 2 +- .../.icons/fontawesome/solid/chess-knight.svg | 2 +- .../.icons/fontawesome/solid/chess-pawn.svg | 2 +- .../.icons/fontawesome/solid/chess-queen.svg | 2 +- .../.icons/fontawesome/solid/chess-rook.svg | 2 +- material/.icons/fontawesome/solid/chess.svg | 2 +- material/.icons/fontawesome/solid/church.svg | 2 +- .../fontawesome/solid/clinic-medical.svg | 2 +- .../.icons/fontawesome/solid/clipboard.svg | 2 +- material/.icons/fontawesome/solid/clock.svg | 2 +- .../fontawesome/solid/comment-dollar.svg | 2 +- .../fontawesome/solid/comment-medical.svg | 2 +- .../fontawesome/solid/comments-dollar.svg | 2 +- material/.icons/fontawesome/solid/compass.svg | 2 +- .../.icons/fontawesome/solid/cookie-bite.svg | 2 +- material/.icons/fontawesome/solid/cookie.svg | 2 +- material/.icons/fontawesome/solid/copy.svg | 2 +- .../.icons/fontawesome/solid/copyright.svg | 2 +- material/.icons/fontawesome/solid/crow.svg | 2 +- material/.icons/fontawesome/solid/crutch.svg | 2 +- material/.icons/fontawesome/solid/disease.svg | 2 +- material/.icons/fontawesome/solid/dog.svg | 2 +- material/.icons/fontawesome/solid/dragon.svg | 2 +- .../.icons/fontawesome/solid/draw-polygon.svg | 2 +- material/.icons/fontawesome/solid/drum.svg | 2 +- .../fontawesome/solid/drumstick-bite.svg | 2 +- material/.icons/fontawesome/solid/dungeon.svg | 2 +- .../fontawesome/solid/envelope-open-text.svg | 2 +- .../fontawesome/solid/envelope-open.svg | 2 +- material/.icons/fontawesome/solid/eraser.svg | 2 +- .../.icons/fontawesome/solid/euro-sign.svg | 2 +- .../fontawesome/solid/expand-arrows-alt.svg | 2 +- .../fontawesome/solid/external-link-alt.svg | 2 +- .../.icons/fontawesome/solid/eye-slash.svg | 2 +- material/.icons/fontawesome/solid/eye.svg | 2 +- material/.icons/fontawesome/solid/fan.svg | 2 +- material/.icons/fontawesome/solid/faucet.svg | 2 +- material/.icons/fontawesome/solid/fax.svg | 2 +- material/.icons/fontawesome/solid/female.svg | 2 +- .../.icons/fontawesome/solid/file-code.svg | 2 +- .../fontawesome/solid/file-contract.svg | 2 +- .../.icons/fontawesome/solid/file-image.svg | 2 +- .../.icons/fontawesome/solid/file-video.svg | 2 +- .../.icons/fontawesome/solid/fingerprint.svg | 2 +- .../.icons/fontawesome/solid/fist-raised.svg | 2 +- material/.icons/fontawesome/solid/flag.svg | 2 +- .../.icons/fontawesome/solid/folder-open.svg | 2 +- .../.icons/fontawesome/solid/folder-plus.svg | 2 +- material/.icons/fontawesome/solid/font.svg | 2 +- material/.icons/fontawesome/solid/frog.svg | 2 +- material/.icons/fontawesome/solid/gamepad.svg | 2 +- material/.icons/fontawesome/solid/glasses.svg | 2 +- .../.icons/fontawesome/solid/globe-africa.svg | 2 +- .../fontawesome/solid/globe-americas.svg | 2 +- .../.icons/fontawesome/solid/globe-asia.svg | 2 +- .../.icons/fontawesome/solid/greater-than.svg | 2 +- material/.icons/fontawesome/solid/guitar.svg | 2 +- .../.icons/fontawesome/solid/hamburger.svg | 2 +- material/.icons/fontawesome/solid/hamsa.svg | 2 +- .../solid/hand-holding-medical.svg | 2 +- .../fontawesome/solid/hand-holding-usd.svg | 2 +- .../.icons/fontawesome/solid/hand-lizard.svg | 2 +- .../fontawesome/solid/hand-middle-finger.svg | 2 +- .../.icons/fontawesome/solid/hand-paper.svg | 2 +- .../.icons/fontawesome/solid/hand-peace.svg | 2 +- .../.icons/fontawesome/solid/hand-pointer.svg | 2 +- .../fontawesome/solid/hand-scissors.svg | 2 +- .../fontawesome/solid/hand-sparkles.svg | 2 +- .../.icons/fontawesome/solid/hand-spock.svg | 2 +- .../.icons/fontawesome/solid/hands-wash.svg | 2 +- .../fontawesome/solid/handshake-alt-slash.svg | 2 +- .../fontawesome/solid/handshake-slash.svg | 2 +- .../.icons/fontawesome/solid/hard-hat.svg | 2 +- material/.icons/fontawesome/solid/hashtag.svg | 2 +- .../fontawesome/solid/hat-cowboy-side.svg | 2 +- .../.icons/fontawesome/solid/hat-cowboy.svg | 2 +- .../.icons/fontawesome/solid/hat-wizard.svg | 2 +- material/.icons/fontawesome/solid/hdd.svg | 2 +- .../solid/head-side-cough-slash.svg | 2 +- .../fontawesome/solid/head-side-cough.svg | 2 +- .../fontawesome/solid/head-side-mask.svg | 2 +- .../fontawesome/solid/head-side-virus.svg | 2 +- material/.icons/fontawesome/solid/heading.svg | 2 +- .../.icons/fontawesome/solid/headphones.svg | 2 +- .../.icons/fontawesome/solid/helicopter.svg | 2 +- .../.icons/fontawesome/solid/highlighter.svg | 2 +- material/.icons/fontawesome/solid/hiking.svg | 2 +- material/.icons/fontawesome/solid/home.svg | 2 +- material/.icons/fontawesome/solid/horse.svg | 2 +- .../fontawesome/solid/hospital-user.svg | 2 +- .../.icons/fontawesome/solid/hospital.svg | 2 +- material/.icons/fontawesome/solid/hot-tub.svg | 2 +- material/.icons/fontawesome/solid/hotdog.svg | 2 +- .../.icons/fontawesome/solid/house-user.svg | 2 +- material/.icons/fontawesome/solid/hryvnia.svg | 2 +- .../.icons/fontawesome/solid/ice-cream.svg | 2 +- material/.icons/fontawesome/solid/icons.svg | 2 +- material/.icons/fontawesome/solid/inbox.svg | 2 +- material/.icons/fontawesome/solid/indent.svg | 2 +- material/.icons/fontawesome/solid/italic.svg | 2 +- material/.icons/fontawesome/solid/jedi.svg | 2 +- material/.icons/fontawesome/solid/joint.svg | 2 +- .../fontawesome/solid/journal-whills.svg | 2 +- material/.icons/fontawesome/solid/kaaba.svg | 2 +- material/.icons/fontawesome/solid/key.svg | 2 +- material/.icons/fontawesome/solid/khanda.svg | 2 +- .../.icons/fontawesome/solid/landmark.svg | 2 +- .../.icons/fontawesome/solid/language.svg | 2 +- .../.icons/fontawesome/solid/laptop-house.svg | 2 +- .../fontawesome/solid/laptop-medical.svg | 2 +- .../.icons/fontawesome/solid/layer-group.svg | 2 +- .../.icons/fontawesome/solid/less-than.svg | 2 +- .../fontawesome/solid/level-down-alt.svg | 2 +- .../.icons/fontawesome/solid/level-up-alt.svg | 2 +- .../.icons/fontawesome/solid/life-ring.svg | 2 +- .../.icons/fontawesome/solid/lightbulb.svg | 2 +- material/.icons/fontawesome/solid/link.svg | 2 +- .../.icons/fontawesome/solid/lira-sign.svg | 2 +- material/.icons/fontawesome/solid/list-ol.svg | 2 +- material/.icons/fontawesome/solid/list-ul.svg | 2 +- material/.icons/fontawesome/solid/list.svg | 2 +- .../.icons/fontawesome/solid/low-vision.svg | 2 +- .../.icons/fontawesome/solid/lungs-virus.svg | 2 +- material/.icons/fontawesome/solid/lungs.svg | 2 +- material/.icons/fontawesome/solid/magnet.svg | 2 +- .../fontawesome/solid/map-marked-alt.svg | 2 +- .../.icons/fontawesome/solid/map-marked.svg | 2 +- material/.icons/fontawesome/solid/map.svg | 2 +- material/.icons/fontawesome/solid/marker.svg | 2 +- material/.icons/fontawesome/solid/medal.svg | 2 +- material/.icons/fontawesome/solid/meteor.svg | 2 +- .../.icons/fontawesome/solid/microchip.svg | 2 +- .../fontawesome/solid/money-bill-alt.svg | 2 +- .../.icons/fontawesome/solid/monument.svg | 2 +- material/.icons/fontawesome/solid/moon.svg | 2 +- .../fontawesome/solid/mortar-pestle.svg | 2 +- .../.icons/fontawesome/solid/mountain.svg | 2 +- material/.icons/fontawesome/solid/mouse.svg | 2 +- material/.icons/fontawesome/solid/music.svg | 2 +- .../.icons/fontawesome/solid/newspaper.svg | 2 +- .../fontawesome/solid/object-ungroup.svg | 2 +- material/.icons/fontawesome/solid/oil-can.svg | 2 +- material/.icons/fontawesome/solid/om.svg | 2 +- material/.icons/fontawesome/solid/otter.svg | 2 +- material/.icons/fontawesome/solid/outdent.svg | 2 +- material/.icons/fontawesome/solid/pager.svg | 2 +- .../.icons/fontawesome/solid/paragraph.svg | 2 +- material/.icons/fontawesome/solid/paste.svg | 2 +- material/.icons/fontawesome/solid/pen-alt.svg | 2 +- .../.icons/fontawesome/solid/pen-fancy.svg | 2 +- material/.icons/fontawesome/solid/pen-nib.svg | 2 +- .../.icons/fontawesome/solid/pencil-ruler.svg | 2 +- .../fontawesome/solid/people-arrows.svg | 2 +- .../.icons/fontawesome/solid/pepper-hot.svg | 2 +- material/.icons/fontawesome/solid/percent.svg | 2 +- .../.icons/fontawesome/solid/phone-alt.svg | 2 +- .../fontawesome/solid/phone-square-alt.svg | 2 +- .../.icons/fontawesome/solid/phone-square.svg | 2 +- .../.icons/fontawesome/solid/phone-volume.svg | 2 +- .../.icons/fontawesome/solid/photo-video.svg | 2 +- .../.icons/fontawesome/solid/pizza-slice.svg | 2 +- .../fontawesome/solid/place-of-worship.svg | 2 +- .../fontawesome/solid/plane-arrival.svg | 2 +- .../fontawesome/solid/plane-departure.svg | 2 +- .../.icons/fontawesome/solid/plane-slash.svg | 2 +- material/.icons/fontawesome/solid/plane.svg | 2 +- material/.icons/fontawesome/solid/plug.svg | 2 +- .../fontawesome/solid/praying-hands.svg | 2 +- .../.icons/fontawesome/solid/pump-medical.svg | 2 +- .../.icons/fontawesome/solid/pump-soap.svg | 2 +- material/.icons/fontawesome/solid/quran.svg | 2 +- material/.icons/fontawesome/solid/random.svg | 2 +- material/.icons/fontawesome/solid/receipt.svg | 2 +- .../.icons/fontawesome/solid/record-vinyl.svg | 2 +- material/.icons/fontawesome/solid/redo.svg | 2 +- .../.icons/fontawesome/solid/registered.svg | 2 +- .../fontawesome/solid/remove-format.svg | 2 +- .../.icons/fontawesome/solid/reply-all.svg | 2 +- material/.icons/fontawesome/solid/retweet.svg | 2 +- material/.icons/fontawesome/solid/road.svg | 2 +- material/.icons/fontawesome/solid/robot.svg | 2 +- material/.icons/fontawesome/solid/rocket.svg | 2 +- .../.icons/fontawesome/solid/rupee-sign.svg | 2 +- .../fontawesome/solid/satellite-dish.svg | 2 +- .../.icons/fontawesome/solid/satellite.svg | 2 +- material/.icons/fontawesome/solid/save.svg | 2 +- material/.icons/fontawesome/solid/school.svg | 2 +- .../fontawesome/solid/search-location.svg | 2 +- material/.icons/fontawesome/solid/shapes.svg | 2 +- .../fontawesome/solid/share-alt-square.svg | 2 +- .../.icons/fontawesome/solid/share-alt.svg | 2 +- .../.icons/fontawesome/solid/share-square.svg | 2 +- .../.icons/fontawesome/solid/shield-alt.svg | 2 +- .../.icons/fontawesome/solid/shield-virus.svg | 2 +- material/.icons/fontawesome/solid/ship.svg | 2 +- material/.icons/fontawesome/solid/shower.svg | 2 +- .../.icons/fontawesome/solid/shuttle-van.svg | 2 +- .../fontawesome/solid/sign-language.svg | 2 +- material/.icons/fontawesome/solid/sink.svg | 2 +- material/.icons/fontawesome/solid/soap.svg | 2 +- material/.icons/fontawesome/solid/socks.svg | 2 +- .../fontawesome/solid/sort-alpha-down-alt.svg | 2 +- .../fontawesome/solid/sort-alpha-down.svg | 2 +- .../fontawesome/solid/sort-alpha-up-alt.svg | 2 +- .../fontawesome/solid/sort-alpha-up.svg | 2 +- .../solid/sort-amount-down-alt.svg | 2 +- .../fontawesome/solid/sort-amount-down.svg | 2 +- .../fontawesome/solid/sort-amount-up-alt.svg | 2 +- .../fontawesome/solid/sort-amount-up.svg | 2 +- .../solid/sort-numeric-down-alt.svg | 2 +- .../fontawesome/solid/sort-numeric-down.svg | 2 +- .../fontawesome/solid/sort-numeric-up-alt.svg | 2 +- .../fontawesome/solid/sort-numeric-up.svg | 2 +- material/.icons/fontawesome/solid/spa.svg | 2 +- .../fontawesome/solid/space-shuttle.svg | 2 +- .../.icons/fontawesome/solid/spell-check.svg | 2 +- material/.icons/fontawesome/solid/spider.svg | 2 +- .../fontawesome/solid/square-root-alt.svg | 2 +- .../.icons/fontawesome/solid/stopwatch-20.svg | 2 +- .../fontawesome/solid/store-alt-slash.svg | 2 +- .../.icons/fontawesome/solid/store-slash.svg | 2 +- .../fontawesome/solid/strikethrough.svg | 2 +- .../.icons/fontawesome/solid/stroopwafel.svg | 2 +- .../.icons/fontawesome/solid/subscript.svg | 2 +- .../.icons/fontawesome/solid/superscript.svg | 2 +- .../.icons/fontawesome/solid/swatchbook.svg | 2 +- .../.icons/fontawesome/solid/synagogue.svg | 2 +- material/.icons/fontawesome/solid/sync.svg | 2 +- material/.icons/fontawesome/solid/tag.svg | 2 +- material/.icons/fontawesome/solid/tags.svg | 2 +- material/.icons/fontawesome/solid/tasks.svg | 2 +- .../.icons/fontawesome/solid/text-height.svg | 2 +- .../.icons/fontawesome/solid/text-width.svg | 2 +- .../.icons/fontawesome/solid/thumbs-down.svg | 2 +- .../.icons/fontawesome/solid/thumbtack.svg | 2 +- .../fontawesome/solid/toilet-paper-slash.svg | 2 +- material/.icons/fontawesome/solid/torah.svg | 2 +- .../.icons/fontawesome/solid/torii-gate.svg | 2 +- material/.icons/fontawesome/solid/tractor.svg | 2 +- material/.icons/fontawesome/solid/trailer.svg | 2 +- .../.icons/fontawesome/solid/trash-alt.svg | 2 +- .../fontawesome/solid/trash-restore-alt.svg | 2 +- .../fontawesome/solid/trash-restore.svg | 2 +- material/.icons/fontawesome/solid/trash.svg | 2 +- .../fontawesome/solid/truck-monster.svg | 2 +- .../.icons/fontawesome/solid/truck-pickup.svg | 2 +- material/.icons/fontawesome/solid/tty.svg | 2 +- material/.icons/fontawesome/solid/tv.svg | 2 +- .../.icons/fontawesome/solid/underline.svg | 2 +- .../.icons/fontawesome/solid/university.svg | 2 +- .../.icons/fontawesome/solid/user-injured.svg | 2 +- .../.icons/fontawesome/solid/user-lock.svg | 2 +- .../.icons/fontawesome/solid/user-nurse.svg | 2 +- .../.icons/fontawesome/solid/users-slash.svg | 2 +- .../.icons/fontawesome/solid/vest-patches.svg | 2 +- material/.icons/fontawesome/solid/vest.svg | 2 +- material/.icons/fontawesome/solid/virus.svg | 2 +- material/.icons/fontawesome/solid/viruses.svg | 2 +- .../.icons/fontawesome/solid/voicemail.svg | 2 +- .../fontawesome/solid/volleyball-ball.svg | 2 +- .../.icons/fontawesome/solid/volume-off.svg | 2 +- .../.icons/fontawesome/solid/warehouse.svg | 2 +- .../.icons/fontawesome/solid/wave-square.svg | 2 +- .../.icons/fontawesome/solid/wheelchair.svg | 2 +- material/.icons/logo.svg | 7 +- material/.icons/material/ab-testing.svg | 2 +- material/.icons/material/abjad-arabic.svg | 2 +- material/.icons/material/abjad-hebrew.svg | 2 +- .../.icons/material/access-point-check.svg | 2 +- .../.icons/material/access-point-minus.svg | 2 +- .../material/access-point-network-off.svg | 2 +- .../.icons/material/access-point-network.svg | 2 +- material/.icons/material/access-point-off.svg | 2 +- .../.icons/material/access-point-plus.svg | 2 +- .../.icons/material/access-point-remove.svg | 2 +- material/.icons/material/access-point.svg | 2 +- .../.icons/material/account-alert-outline.svg | 2 +- material/.icons/material/account-alert.svg | 2 +- .../material/account-arrow-left-outline.svg | 2 +- .../.icons/material/account-arrow-left.svg | 2 +- .../material/account-arrow-right-outline.svg | 2 +- .../.icons/material/account-arrow-right.svg | 2 +- .../material/account-box-multiple-outline.svg | 2 +- .../.icons/material/account-box-multiple.svg | 2 +- .../.icons/material/account-box-outline.svg | 2 +- material/.icons/material/account-box.svg | 2 +- .../material/account-cancel-outline.svg | 2 +- material/.icons/material/account-cancel.svg | 2 +- .../.icons/material/account-cash-outline.svg | 2 +- material/.icons/material/account-cash.svg | 2 +- .../.icons/material/account-check-outline.svg | 2 +- material/.icons/material/account-check.svg | 2 +- .../.icons/material/account-child-circle.svg | 2 +- material/.icons/material/account-child.svg | 2 +- .../material/account-circle-outline.svg | 2 +- material/.icons/material/account-circle.svg | 2 +- .../.icons/material/account-clock-outline.svg | 2 +- material/.icons/material/account-clock.svg | 2 +- .../.icons/material/account-cog-outline.svg | 2 +- material/.icons/material/account-cog.svg | 2 +- .../.icons/material/account-edit-outline.svg | 2 +- material/.icons/material/account-edit.svg | 2 +- .../.icons/material/account-group-outline.svg | 2 +- material/.icons/material/account-group.svg | 2 +- material/.icons/material/account-hard-hat.svg | 2 +- .../.icons/material/account-heart-outline.svg | 2 +- material/.icons/material/account-heart.svg | 2 +- .../.icons/material/account-key-outline.svg | 2 +- material/.icons/material/account-key.svg | 2 +- .../.icons/material/account-lock-outline.svg | 2 +- material/.icons/material/account-lock.svg | 2 +- .../.icons/material/account-minus-outline.svg | 2 +- material/.icons/material/account-minus.svg | 2 +- .../account-multiple-check-outline.svg | 2 +- .../material/account-multiple-check.svg | 2 +- .../account-multiple-minus-outline.svg | 2 +- .../material/account-multiple-minus.svg | 2 +- .../material/account-multiple-outline.svg | 2 +- .../account-multiple-plus-outline.svg | 2 +- .../.icons/material/account-multiple-plus.svg | 2 +- .../account-multiple-remove-outline.svg | 2 +- .../material/account-multiple-remove.svg | 2 +- material/.icons/material/account-multiple.svg | 2 +- .../.icons/material/account-music-outline.svg | 2 +- material/.icons/material/account-music.svg | 2 +- .../material/account-network-outline.svg | 2 +- material/.icons/material/account-network.svg | 2 +- .../.icons/material/account-off-outline.svg | 2 +- material/.icons/material/account-off.svg | 2 +- material/.icons/material/account-outline.svg | 2 +- .../.icons/material/account-plus-outline.svg | 2 +- material/.icons/material/account-plus.svg | 2 +- .../material/account-question-outline.svg | 2 +- material/.icons/material/account-question.svg | 2 +- .../material/account-reactivate-outline.svg | 2 +- .../.icons/material/account-reactivate.svg | 2 +- .../material/account-remove-outline.svg | 2 +- material/.icons/material/account-remove.svg | 2 +- .../material/account-search-outline.svg | 2 +- material/.icons/material/account-search.svg | 2 +- material/.icons/material/account-settings.svg | 2 +- .../.icons/material/account-star-outline.svg | 2 +- material/.icons/material/account-star.svg | 2 +- .../account-supervisor-circle-outline.svg | 2 +- .../material/account-supervisor-circle.svg | 2 +- .../material/account-supervisor-outline.svg | 2 +- .../.icons/material/account-supervisor.svg | 2 +- .../account-tie-voice-off-outline.svg | 2 +- material/.icons/material/account-voice.svg | 2 +- material/.icons/material/account.svg | 2 +- material/.icons/material/adjust.svg | 2 +- material/.icons/material/air-conditioner.svg | 2 +- material/.icons/material/air-filter.svg | 2 +- material/.icons/material/air-humidifier.svg | 2 +- material/.icons/material/air-purifier.svg | 2 +- material/.icons/material/airbag.svg | 2 +- material/.icons/material/airballoon.svg | 2 +- material/.icons/material/airplane-off.svg | 2 +- material/.icons/material/airplane.svg | 2 +- material/.icons/material/airport.svg | 2 +- material/.icons/material/alarm-bell.svg | 2 +- material/.icons/material/alarm-check.svg | 2 +- .../.icons/material/alarm-light-outline.svg | 2 +- material/.icons/material/alarm-light.svg | 2 +- material/.icons/material/alarm-multiple.svg | 2 +- material/.icons/material/alarm-note-off.svg | 2 +- material/.icons/material/alarm-note.svg | 2 +- material/.icons/material/alarm-off.svg | 2 +- material/.icons/material/alarm-plus.svg | 2 +- material/.icons/material/alarm-snooze.svg | 2 +- material/.icons/material/alarm.svg | 2 +- material/.icons/material/album.svg | 2 +- .../.icons/material/alert-box-outline.svg | 2 +- material/.icons/material/alert-box.svg | 2 +- .../.icons/material/alert-circle-check.svg | 2 +- .../.icons/material/alert-circle-outline.svg | 2 +- material/.icons/material/alert-circle.svg | 2 +- material/.icons/material/all-inclusive.svg | 2 +- material/.icons/material/allergy.svg | 2 +- .../.icons/material/alpha-a-box-outline.svg | 2 +- material/.icons/material/alpha-a-box.svg | 2 +- .../material/alpha-a-circle-outline.svg | 2 +- material/.icons/material/alpha-a-circle.svg | 2 +- material/.icons/material/alpha-a.svg | 2 +- .../.icons/material/alpha-b-box-outline.svg | 2 +- material/.icons/material/alpha-b-box.svg | 2 +- .../material/alpha-b-circle-outline.svg | 2 +- material/.icons/material/alpha-b-circle.svg | 2 +- material/.icons/material/alpha-b.svg | 2 +- .../.icons/material/alpha-c-box-outline.svg | 2 +- material/.icons/material/alpha-c-box.svg | 2 +- .../material/alpha-c-circle-outline.svg | 2 +- material/.icons/material/alpha-c-circle.svg | 2 +- material/.icons/material/alpha-c.svg | 2 +- .../.icons/material/alpha-d-box-outline.svg | 2 +- material/.icons/material/alpha-d-box.svg | 2 +- .../material/alpha-d-circle-outline.svg | 2 +- material/.icons/material/alpha-d-circle.svg | 2 +- material/.icons/material/alpha-d.svg | 2 +- .../.icons/material/alpha-e-box-outline.svg | 2 +- material/.icons/material/alpha-e-box.svg | 2 +- .../material/alpha-e-circle-outline.svg | 2 +- material/.icons/material/alpha-e-circle.svg | 2 +- .../.icons/material/alpha-f-box-outline.svg | 2 +- material/.icons/material/alpha-f-box.svg | 2 +- .../material/alpha-f-circle-outline.svg | 2 +- material/.icons/material/alpha-f-circle.svg | 2 +- .../.icons/material/alpha-g-box-outline.svg | 2 +- material/.icons/material/alpha-g-box.svg | 2 +- .../material/alpha-g-circle-outline.svg | 2 +- material/.icons/material/alpha-g-circle.svg | 2 +- material/.icons/material/alpha-g.svg | 2 +- .../.icons/material/alpha-h-box-outline.svg | 2 +- material/.icons/material/alpha-h-box.svg | 2 +- .../material/alpha-h-circle-outline.svg | 2 +- material/.icons/material/alpha-h-circle.svg | 2 +- .../.icons/material/alpha-i-box-outline.svg | 2 +- material/.icons/material/alpha-i-box.svg | 2 +- .../material/alpha-i-circle-outline.svg | 2 +- material/.icons/material/alpha-i-circle.svg | 2 +- .../.icons/material/alpha-j-box-outline.svg | 2 +- material/.icons/material/alpha-j-box.svg | 2 +- .../material/alpha-j-circle-outline.svg | 2 +- material/.icons/material/alpha-j-circle.svg | 2 +- material/.icons/material/alpha-j.svg | 2 +- .../.icons/material/alpha-k-box-outline.svg | 2 +- material/.icons/material/alpha-k-box.svg | 2 +- .../material/alpha-k-circle-outline.svg | 2 +- material/.icons/material/alpha-k-circle.svg | 2 +- .../.icons/material/alpha-l-box-outline.svg | 2 +- material/.icons/material/alpha-l-box.svg | 2 +- .../material/alpha-l-circle-outline.svg | 2 +- material/.icons/material/alpha-l-circle.svg | 2 +- .../.icons/material/alpha-m-box-outline.svg | 2 +- material/.icons/material/alpha-m-box.svg | 2 +- .../material/alpha-m-circle-outline.svg | 2 +- material/.icons/material/alpha-m-circle.svg | 2 +- material/.icons/material/alpha-m.svg | 2 +- .../.icons/material/alpha-n-box-outline.svg | 2 +- material/.icons/material/alpha-n-box.svg | 2 +- .../material/alpha-n-circle-outline.svg | 2 +- material/.icons/material/alpha-n-circle.svg | 2 +- .../.icons/material/alpha-o-box-outline.svg | 2 +- material/.icons/material/alpha-o-box.svg | 2 +- .../material/alpha-o-circle-outline.svg | 2 +- material/.icons/material/alpha-o-circle.svg | 2 +- material/.icons/material/alpha-o.svg | 2 +- .../.icons/material/alpha-p-box-outline.svg | 2 +- material/.icons/material/alpha-p-box.svg | 2 +- .../material/alpha-p-circle-outline.svg | 2 +- material/.icons/material/alpha-p-circle.svg | 2 +- material/.icons/material/alpha-p.svg | 2 +- .../.icons/material/alpha-q-box-outline.svg | 2 +- material/.icons/material/alpha-q-box.svg | 2 +- .../material/alpha-q-circle-outline.svg | 2 +- material/.icons/material/alpha-q-circle.svg | 2 +- material/.icons/material/alpha-q.svg | 2 +- .../.icons/material/alpha-r-box-outline.svg | 2 +- material/.icons/material/alpha-r-box.svg | 2 +- .../material/alpha-r-circle-outline.svg | 2 +- material/.icons/material/alpha-r-circle.svg | 2 +- material/.icons/material/alpha-r.svg | 2 +- .../.icons/material/alpha-s-box-outline.svg | 2 +- material/.icons/material/alpha-s-box.svg | 2 +- .../material/alpha-s-circle-outline.svg | 2 +- material/.icons/material/alpha-s-circle.svg | 2 +- material/.icons/material/alpha-s.svg | 2 +- .../.icons/material/alpha-t-box-outline.svg | 2 +- material/.icons/material/alpha-t-box.svg | 2 +- .../material/alpha-t-circle-outline.svg | 2 +- material/.icons/material/alpha-t-circle.svg | 2 +- .../.icons/material/alpha-u-box-outline.svg | 2 +- material/.icons/material/alpha-u-box.svg | 2 +- .../material/alpha-u-circle-outline.svg | 2 +- material/.icons/material/alpha-u-circle.svg | 2 +- material/.icons/material/alpha-u.svg | 2 +- .../.icons/material/alpha-v-box-outline.svg | 2 +- material/.icons/material/alpha-v-box.svg | 2 +- .../material/alpha-v-circle-outline.svg | 2 +- material/.icons/material/alpha-v-circle.svg | 2 +- .../.icons/material/alpha-w-box-outline.svg | 2 +- material/.icons/material/alpha-w-box.svg | 2 +- .../material/alpha-w-circle-outline.svg | 2 +- material/.icons/material/alpha-w-circle.svg | 2 +- material/.icons/material/alpha-w.svg | 2 +- .../.icons/material/alpha-x-box-outline.svg | 2 +- material/.icons/material/alpha-x-box.svg | 2 +- .../material/alpha-x-circle-outline.svg | 2 +- material/.icons/material/alpha-x-circle.svg | 2 +- .../.icons/material/alpha-y-box-outline.svg | 2 +- material/.icons/material/alpha-y-box.svg | 2 +- .../material/alpha-y-circle-outline.svg | 2 +- material/.icons/material/alpha-y-circle.svg | 2 +- .../.icons/material/alpha-z-box-outline.svg | 2 +- material/.icons/material/alpha-z-box.svg | 2 +- .../material/alpha-z-circle-outline.svg | 2 +- material/.icons/material/alpha-z-circle.svg | 2 +- material/.icons/material/alphabetical-off.svg | 2 +- .../material/alphabetical-variant-off.svg | 2 +- .../.icons/material/alphabetical-variant.svg | 2 +- material/.icons/material/alphabetical.svg | 2 +- material/.icons/material/amazon-alexa.svg | 2 +- material/.icons/material/ambulance.svg | 2 +- material/.icons/material/amplifier.svg | 2 +- material/.icons/material/anchor.svg | 2 +- .../.icons/material/android-debug-bridge.svg | 2 +- material/.icons/material/android-messages.svg | 2 +- material/.icons/material/android-studio.svg | 2 +- material/.icons/material/android.svg | 2 +- material/.icons/material/angle-obtuse.svg | 2 +- .../.icons/material/animation-outline.svg | 2 +- .../material/animation-play-outline.svg | 2 +- material/.icons/material/apache-kafka.svg | 2 +- material/.icons/material/api-off.svg | 2 +- material/.icons/material/api.svg | 2 +- material/.icons/material/apple-airplay.svg | 2 +- material/.icons/material/apple-finder.svg | 2 +- material/.icons/material/apple-icloud.svg | 2 +- material/.icons/material/apple-ios.svg | 2 +- .../material/apple-keyboard-command.svg | 2 +- material/.icons/material/apple-safari.svg | 2 +- material/.icons/material/application-cog.svg | 2 +- .../.icons/material/application-export.svg | 2 +- .../.icons/material/application-import.svg | 2 +- .../.icons/material/application-settings.svg | 2 +- material/.icons/material/application.svg | 2 +- material/.icons/material/apps-box.svg | 2 +- material/.icons/material/archive.svg | 2 +- .../material/arrow-decision-auto-outline.svg | 2 +- .../.icons/material/arrow-decision-auto.svg | 2 +- .../material/arrow-decision-outline.svg | 2 +- material/.icons/material/arrow-decision.svg | 2 +- .../material/arrow-down-bold-box-outline.svg | 2 +- .../.icons/material/arrow-down-bold-box.svg | 2 +- .../arrow-down-bold-circle-outline.svg | 2 +- .../material/arrow-down-bold-circle.svg | 2 +- .../arrow-down-bold-hexagon-outline.svg | 2 +- material/.icons/material/arrow-down-box.svg | 2 +- .../material/arrow-down-circle-outline.svg | 2 +- .../.icons/material/arrow-down-circle.svg | 2 +- .../arrow-down-drop-circle-outline.svg | 2 +- .../material/arrow-down-drop-circle.svg | 2 +- .../material/arrow-left-bold-box-outline.svg | 2 +- .../.icons/material/arrow-left-bold-box.svg | 2 +- .../arrow-left-bold-circle-outline.svg | 2 +- .../material/arrow-left-bold-circle.svg | 2 +- .../arrow-left-bold-hexagon-outline.svg | 2 +- material/.icons/material/arrow-left-box.svg | 2 +- .../material/arrow-left-circle-outline.svg | 2 +- .../.icons/material/arrow-left-circle.svg | 2 +- .../arrow-left-drop-circle-outline.svg | 2 +- .../material/arrow-left-drop-circle.svg | 2 +- .../material/arrow-right-bold-box-outline.svg | 2 +- .../.icons/material/arrow-right-bold-box.svg | 2 +- .../arrow-right-bold-circle-outline.svg | 2 +- .../material/arrow-right-bold-circle.svg | 2 +- .../arrow-right-bold-hexagon-outline.svg | 2 +- material/.icons/material/arrow-right-box.svg | 2 +- .../material/arrow-right-circle-outline.svg | 2 +- .../.icons/material/arrow-right-circle.svg | 2 +- .../arrow-right-drop-circle-outline.svg | 2 +- .../material/arrow-right-drop-circle.svg | 2 +- .../material/arrow-up-bold-box-outline.svg | 2 +- .../.icons/material/arrow-up-bold-box.svg | 2 +- .../material/arrow-up-bold-circle-outline.svg | 2 +- .../.icons/material/arrow-up-bold-circle.svg | 2 +- .../arrow-up-bold-hexagon-outline.svg | 2 +- material/.icons/material/arrow-up-box.svg | 2 +- .../material/arrow-up-circle-outline.svg | 2 +- material/.icons/material/arrow-up-circle.svg | 2 +- .../material/arrow-up-drop-circle-outline.svg | 2 +- .../.icons/material/arrow-up-drop-circle.svg | 2 +- material/.icons/material/artstation.svg | 2 +- material/.icons/material/aspect-ratio.svg | 2 +- material/.icons/material/assistant.svg | 2 +- material/.icons/material/atlassian.svg | 2 +- material/.icons/material/atm.svg | 2 +- material/.icons/material/atom-variant.svg | 2 +- material/.icons/material/atom.svg | 2 +- material/.icons/material/attachment.svg | 2 +- material/.icons/material/audio-video.svg | 2 +- .../.icons/material/augmented-reality.svg | 2 +- material/.icons/material/autorenew.svg | 2 +- material/.icons/material/av-timer.svg | 2 +- material/.icons/material/aws.svg | 2 +- material/.icons/material/babel.svg | 2 +- .../.icons/material/baby-bottle-outline.svg | 2 +- material/.icons/material/baby-bottle.svg | 2 +- material/.icons/material/baby-buggy.svg | 2 +- material/.icons/material/baby-carriage.svg | 2 +- .../.icons/material/baby-face-outline.svg | 2 +- material/.icons/material/baby-face.svg | 2 +- material/.icons/material/baby.svg | 2 +- .../.icons/material/backspace-outline.svg | 2 +- .../material/backspace-reverse-outline.svg | 2 +- .../.icons/material/backspace-reverse.svg | 2 +- material/.icons/material/backspace.svg | 2 +- material/.icons/material/backup-restore.svg | 2 +- material/.icons/material/bacteria-outline.svg | 2 +- material/.icons/material/bacteria.svg | 2 +- .../material/badge-account-alert-outline.svg | 2 +- .../.icons/material/badge-account-alert.svg | 2 +- .../badge-account-horizontal-outline.svg | 2 +- .../material/badge-account-horizontal.svg | 2 +- .../.icons/material/badge-account-outline.svg | 2 +- material/.icons/material/badge-account.svg | 2 +- material/.icons/material/badminton.svg | 2 +- .../.icons/material/bag-carry-on-check.svg | 2 +- .../material/bag-personal-off-outline.svg | 2 +- material/.icons/material/bag-personal-off.svg | 2 +- .../.icons/material/bag-personal-outline.svg | 2 +- material/.icons/material/bag-personal.svg | 2 +- material/.icons/material/baguette.svg | 2 +- material/.icons/material/balloon.svg | 2 +- material/.icons/material/ballot-outline.svg | 2 +- .../material/ballot-recount-outline.svg | 2 +- material/.icons/material/ballot-recount.svg | 2 +- material/.icons/material/ballot.svg | 2 +- material/.icons/material/bandage.svg | 2 +- material/.icons/material/barcode-scan.svg | 2 +- material/.icons/material/barley-off.svg | 2 +- material/.icons/material/barrel.svg | 2 +- material/.icons/material/baseball-bat.svg | 2 +- material/.icons/material/baseball.svg | 2 +- material/.icons/material/basket-fill.svg | 2 +- .../.icons/material/basket-minus-outline.svg | 2 +- material/.icons/material/basket-minus.svg | 2 +- .../.icons/material/basket-off-outline.svg | 2 +- material/.icons/material/basket-off.svg | 2 +- material/.icons/material/basket-outline.svg | 2 +- .../.icons/material/basket-plus-outline.svg | 2 +- material/.icons/material/basket-plus.svg | 2 +- .../.icons/material/basket-remove-outline.svg | 2 +- material/.icons/material/basket-remove.svg | 2 +- material/.icons/material/basket-unfill.svg | 2 +- material/.icons/material/basket.svg | 2 +- .../material/basketball-hoop-outline.svg | 2 +- material/.icons/material/basketball-hoop.svg | 2 +- material/.icons/material/basketball.svg | 2 +- .../.icons/material/battery-10-bluetooth.svg | 2 +- material/.icons/material/battery-10.svg | 2 +- .../.icons/material/battery-20-bluetooth.svg | 2 +- material/.icons/material/battery-20.svg | 2 +- .../.icons/material/battery-30-bluetooth.svg | 2 +- material/.icons/material/battery-30.svg | 2 +- .../.icons/material/battery-40-bluetooth.svg | 2 +- material/.icons/material/battery-40.svg | 2 +- .../.icons/material/battery-50-bluetooth.svg | 2 +- material/.icons/material/battery-50.svg | 2 +- .../.icons/material/battery-60-bluetooth.svg | 2 +- material/.icons/material/battery-60.svg | 2 +- .../.icons/material/battery-70-bluetooth.svg | 2 +- material/.icons/material/battery-70.svg | 2 +- .../.icons/material/battery-80-bluetooth.svg | 2 +- material/.icons/material/battery-80.svg | 2 +- .../.icons/material/battery-90-bluetooth.svg | 2 +- material/.icons/material/battery-90.svg | 2 +- .../material/battery-bluetooth-variant.svg | 2 +- .../.icons/material/battery-bluetooth.svg | 2 +- .../.icons/material/battery-charging-10.svg | 2 +- .../.icons/material/battery-charging-100.svg | 2 +- .../.icons/material/battery-charging-20.svg | 2 +- .../.icons/material/battery-charging-30.svg | 2 +- .../.icons/material/battery-charging-50.svg | 2 +- .../.icons/material/battery-charging-60.svg | 2 +- .../.icons/material/battery-charging-70.svg | 2 +- .../.icons/material/battery-charging-80.svg | 2 +- .../.icons/material/battery-charging-90.svg | 2 +- .../material/battery-charging-outline.svg | 2 +- .../material/battery-charging-wireless-10.svg | 2 +- .../material/battery-charging-wireless-20.svg | 2 +- .../material/battery-charging-wireless-30.svg | 2 +- .../material/battery-charging-wireless-40.svg | 2 +- .../material/battery-charging-wireless-50.svg | 2 +- .../material/battery-charging-wireless-60.svg | 2 +- .../material/battery-charging-wireless-70.svg | 2 +- .../material/battery-charging-wireless-80.svg | 2 +- .../material/battery-charging-wireless-90.svg | 2 +- .../battery-charging-wireless-outline.svg | 2 +- .../material/battery-charging-wireless.svg | 2 +- material/.icons/material/battery-charging.svg | 2 +- .../.icons/material/battery-heart-variant.svg | 2 +- material/.icons/material/battery-heart.svg | 2 +- material/.icons/material/battery-minus.svg | 2 +- material/.icons/material/battery-negative.svg | 2 +- .../.icons/material/battery-off-outline.svg | 2 +- material/.icons/material/battery-off.svg | 2 +- material/.icons/material/battery-outline.svg | 2 +- material/.icons/material/battery-plus.svg | 2 +- material/.icons/material/battery-positive.svg | 2 +- .../material/battery-unknown-bluetooth.svg | 2 +- material/.icons/material/battery-unknown.svg | 2 +- material/.icons/material/battery.svg | 2 +- material/.icons/material/beach.svg | 2 +- .../.icons/material/beaker-alert-outline.svg | 2 +- .../.icons/material/beaker-check-outline.svg | 2 +- material/.icons/material/beaker-check.svg | 2 +- .../.icons/material/beaker-minus-outline.svg | 2 +- material/.icons/material/beaker-minus.svg | 2 +- material/.icons/material/beaker-outline.svg | 2 +- .../.icons/material/beaker-plus-outline.svg | 2 +- material/.icons/material/beaker-plus.svg | 2 +- .../material/beaker-question-outline.svg | 2 +- .../.icons/material/beaker-remove-outline.svg | 2 +- material/.icons/material/beaker-remove.svg | 2 +- material/.icons/material/beaker.svg | 2 +- material/.icons/material/bed-double.svg | 2 +- material/.icons/material/bed-empty.svg | 2 +- material/.icons/material/bed-king-outline.svg | 2 +- .../.icons/material/bed-queen-outline.svg | 2 +- material/.icons/material/bed-queen.svg | 2 +- .../.icons/material/bed-single-outline.svg | 2 +- material/.icons/material/bed-single.svg | 2 +- material/.icons/material/bed.svg | 2 +- material/.icons/material/beekeeper.svg | 2 +- .../.icons/material/bell-alert-outline.svg | 2 +- material/.icons/material/bell-alert.svg | 2 +- .../.icons/material/bell-cancel-outline.svg | 2 +- material/.icons/material/bell-cancel.svg | 2 +- .../.icons/material/bell-check-outline.svg | 2 +- material/.icons/material/bell-check.svg | 2 +- .../.icons/material/bell-circle-outline.svg | 2 +- material/.icons/material/bell-circle.svg | 2 +- .../.icons/material/bell-minus-outline.svg | 2 +- material/.icons/material/bell-minus.svg | 2 +- material/.icons/material/bell-off-outline.svg | 2 +- material/.icons/material/bell-off.svg | 2 +- material/.icons/material/bell-outline.svg | 2 +- .../.icons/material/bell-plus-outline.svg | 2 +- material/.icons/material/bell-plus.svg | 2 +- .../.icons/material/bell-remove-outline.svg | 2 +- material/.icons/material/bell-remove.svg | 2 +- .../.icons/material/bell-ring-outline.svg | 2 +- material/.icons/material/bell-ring.svg | 2 +- .../.icons/material/bell-sleep-outline.svg | 2 +- material/.icons/material/bell-sleep.svg | 2 +- material/.icons/material/bell.svg | 2 +- material/.icons/material/betamax.svg | 2 +- material/.icons/material/biathlon.svg | 2 +- material/.icons/material/bicycle-basket.svg | 2 +- material/.icons/material/bicycle-electric.svg | 2 +- .../material/bicycle-penny-farthing.svg | 2 +- material/.icons/material/bicycle.svg | 2 +- material/.icons/material/bike.svg | 2 +- material/.icons/material/billboard.svg | 2 +- material/.icons/material/billiards-rack.svg | 2 +- material/.icons/material/billiards.svg | 2 +- material/.icons/material/binoculars.svg | 2 +- material/.icons/material/bio.svg | 2 +- material/.icons/material/biohazard.svg | 2 +- material/.icons/material/bird.svg | 2 +- material/.icons/material/bitbucket.svg | 2 +- material/.icons/material/bitcoin.svg | 2 +- material/.icons/material/black-mesa.svg | 2 +- material/.icons/material/blender-software.svg | 2 +- material/.icons/material/blender.svg | 2 +- material/.icons/material/blinds-open.svg | 2 +- material/.icons/material/blinds.svg | 2 +- material/.icons/material/block-helper.svg | 2 +- material/.icons/material/blood-bag.svg | 2 +- material/.icons/material/bluetooth-audio.svg | 2 +- material/.icons/material/blur-linear.svg | 2 +- material/.icons/material/blur-off.svg | 2 +- material/.icons/material/blur-radial.svg | 2 +- material/.icons/material/blur.svg | 2 +- material/.icons/material/bomb-off.svg | 2 +- material/.icons/material/bomb.svg | 2 +- material/.icons/material/bone.svg | 2 +- .../.icons/material/book-account-outline.svg | 2 +- material/.icons/material/book-account.svg | 2 +- .../.icons/material/book-alert-outline.svg | 2 +- material/.icons/material/book-alert.svg | 2 +- material/.icons/material/book-alphabet.svg | 2 +- .../material/book-arrow-down-outline.svg | 2 +- material/.icons/material/book-arrow-down.svg | 2 +- .../material/book-arrow-left-outline.svg | 2 +- material/.icons/material/book-arrow-left.svg | 2 +- .../material/book-arrow-right-outline.svg | 2 +- material/.icons/material/book-arrow-right.svg | 2 +- .../.icons/material/book-arrow-up-outline.svg | 2 +- material/.icons/material/book-arrow-up.svg | 2 +- .../.icons/material/book-cancel-outline.svg | 2 +- material/.icons/material/book-cancel.svg | 2 +- material/.icons/material/book-check.svg | 2 +- .../.icons/material/book-clock-outline.svg | 2 +- material/.icons/material/book-clock.svg | 2 +- material/.icons/material/book-cog-outline.svg | 2 +- material/.icons/material/book-cog.svg | 2 +- material/.icons/material/book-cross.svg | 2 +- .../.icons/material/book-edit-outline.svg | 2 +- material/.icons/material/book-edit.svg | 2 +- .../material/book-education-outline.svg | 2 +- material/.icons/material/book-education.svg | 2 +- .../material/book-information-variant.svg | 2 +- .../material/book-lock-open-outline.svg | 2 +- material/.icons/material/book-lock-open.svg | 2 +- .../.icons/material/book-lock-outline.svg | 2 +- material/.icons/material/book-lock.svg | 2 +- .../.icons/material/book-marker-outline.svg | 2 +- material/.icons/material/book-marker.svg | 2 +- .../material/book-minus-multiple-outline.svg | 2 +- .../.icons/material/book-minus-multiple.svg | 2 +- .../.icons/material/book-minus-outline.svg | 2 +- material/.icons/material/book-minus.svg | 2 +- .../.icons/material/book-multiple-outline.svg | 2 +- material/.icons/material/book-multiple.svg | 2 +- .../.icons/material/book-music-outline.svg | 2 +- material/.icons/material/book-music.svg | 2 +- material/.icons/material/book-off-outline.svg | 2 +- material/.icons/material/book-off.svg | 2 +- .../.icons/material/book-open-outline.svg | 2 +- .../.icons/material/book-open-variant.svg | 2 +- material/.icons/material/book-open.svg | 2 +- material/.icons/material/book-outline.svg | 2 +- .../.icons/material/book-play-outline.svg | 2 +- material/.icons/material/book-play.svg | 2 +- .../material/book-plus-multiple-outline.svg | 2 +- .../.icons/material/book-plus-multiple.svg | 2 +- .../.icons/material/book-plus-outline.svg | 2 +- material/.icons/material/book-plus.svg | 2 +- .../.icons/material/book-refresh-outline.svg | 2 +- material/.icons/material/book-refresh.svg | 2 +- .../material/book-remove-multiple-outline.svg | 2 +- .../.icons/material/book-remove-multiple.svg | 2 +- .../.icons/material/book-remove-outline.svg | 2 +- material/.icons/material/book-remove.svg | 2 +- .../.icons/material/book-search-outline.svg | 2 +- material/.icons/material/book-search.svg | 2 +- material/.icons/material/book-settings.svg | 2 +- .../.icons/material/book-sync-outline.svg | 2 +- material/.icons/material/book-sync.svg | 2 +- .../.icons/material/book-variant-multiple.svg | 2 +- material/.icons/material/book-variant.svg | 2 +- material/.icons/material/book.svg | 2 +- material/.icons/material/bookmark-check.svg | 2 +- .../material/bookmark-minus-outline.svg | 2 +- material/.icons/material/bookmark-minus.svg | 2 +- .../material/bookmark-multiple-outline.svg | 2 +- .../.icons/material/bookmark-multiple.svg | 2 +- .../material/bookmark-music-outline.svg | 2 +- material/.icons/material/bookmark-music.svg | 2 +- .../.icons/material/bookmark-off-outline.svg | 2 +- material/.icons/material/bookmark-off.svg | 2 +- material/.icons/material/bookmark-outline.svg | 2 +- .../.icons/material/bookmark-plus-outline.svg | 2 +- material/.icons/material/bookmark-plus.svg | 2 +- .../material/bookmark-remove-outline.svg | 2 +- material/.icons/material/bookmark-remove.svg | 2 +- material/.icons/material/bookmark.svg | 2 +- .../material/boom-gate-down-outline.svg | 2 +- material/.icons/material/boom-gate-down.svg | 2 +- .../.icons/material/boom-gate-outline.svg | 2 +- .../.icons/material/boom-gate-up-outline.svg | 2 +- material/.icons/material/boom-gate-up.svg | 2 +- material/.icons/material/boom-gate.svg | 2 +- material/.icons/material/boombox.svg | 2 +- .../material/bottle-soda-classic-outline.svg | 2 +- .../.icons/material/bottle-soda-classic.svg | 2 +- .../.icons/material/bottle-soda-outline.svg | 2 +- material/.icons/material/bottle-soda.svg | 2 +- .../material/bottle-tonic-skull-outline.svg | 2 +- .../.icons/material/bottle-tonic-skull.svg | 2 +- material/.icons/material/bottle-wine.svg | 2 +- material/.icons/material/bowling.svg | 2 +- material/.icons/material/box.svg | 2 +- material/.icons/material/boxing-glove.svg | 2 +- material/.icons/material/braille.svg | 2 +- material/.icons/material/brain.svg | 2 +- .../material/briefcase-account-outline.svg | 2 +- .../.icons/material/briefcase-account.svg | 2 +- material/.icons/material/briefcase-check.svg | 2 +- .../material/briefcase-clock-outline.svg | 2 +- material/.icons/material/briefcase-clock.svg | 2 +- .../material/briefcase-download-outline.svg | 2 +- .../.icons/material/briefcase-download.svg | 2 +- .../material/briefcase-edit-outline.svg | 2 +- material/.icons/material/briefcase-edit.svg | 2 +- .../material/briefcase-minus-outline.svg | 2 +- material/.icons/material/briefcase-minus.svg | 2 +- material/.icons/material/briefcase-off.svg | 2 +- .../material/briefcase-plus-outline.svg | 2 +- material/.icons/material/briefcase-plus.svg | 2 +- .../material/briefcase-remove-outline.svg | 2 +- material/.icons/material/briefcase-remove.svg | 2 +- .../material/briefcase-search-outline.svg | 2 +- material/.icons/material/briefcase-search.svg | 2 +- .../material/briefcase-upload-outline.svg | 2 +- material/.icons/material/briefcase-upload.svg | 2 +- material/.icons/material/briefcase.svg | 2 +- material/.icons/material/brightness-1.svg | 2 +- material/.icons/material/brightness-2.svg | 2 +- material/.icons/material/brightness-3.svg | 2 +- material/.icons/material/brightness-4.svg | 2 +- material/.icons/material/brightness-5.svg | 2 +- material/.icons/material/brightness-6.svg | 2 +- material/.icons/material/brightness-7.svg | 2 +- .../.icons/material/brightness-percent.svg | 2 +- material/.icons/material/brush.svg | 2 +- material/.icons/material/buddhism.svg | 2 +- material/.icons/material/buffer.svg | 2 +- .../.icons/material/bug-check-outline.svg | 2 +- material/.icons/material/bug-check.svg | 2 +- material/.icons/material/bug-outline.svg | 2 +- material/.icons/material/bug.svg | 2 +- material/.icons/material/bulldozer.svg | 2 +- material/.icons/material/bulletin-board.svg | 2 +- material/.icons/material/bullhorn-outline.svg | 2 +- material/.icons/material/bullhorn.svg | 2 +- material/.icons/material/bullseye-arrow.svg | 2 +- material/.icons/material/bullseye.svg | 2 +- material/.icons/material/bunk-bed.svg | 2 +- material/.icons/material/bus-alert.svg | 2 +- .../.icons/material/bus-articulated-end.svg | 2 +- .../.icons/material/bus-articulated-front.svg | 2 +- material/.icons/material/bus-clock.svg | 2 +- .../.icons/material/bus-double-decker.svg | 2 +- material/.icons/material/bus-marker.svg | 2 +- material/.icons/material/bus-school.svg | 2 +- material/.icons/material/bus-side.svg | 2 +- material/.icons/material/bus-stop-covered.svg | 2 +- .../.icons/material/bus-stop-uncovered.svg | 2 +- material/.icons/material/bus-stop.svg | 2 +- material/.icons/material/bus.svg | 2 +- .../.icons/material/butterfly-outline.svg | 2 +- material/.icons/material/butterfly.svg | 2 +- material/.icons/material/cable-data.svg | 2 +- material/.icons/material/cached.svg | 2 +- material/.icons/material/cactus.svg | 2 +- material/.icons/material/cake-layered.svg | 2 +- material/.icons/material/cake-variant.svg | 2 +- material/.icons/material/cake.svg | 2 +- material/.icons/material/calculator.svg | 2 +- .../material/calendar-account-outline.svg | 2 +- material/.icons/material/calendar-account.svg | 2 +- material/.icons/material/calendar-alert.svg | 2 +- .../.icons/material/calendar-arrow-left.svg | 2 +- .../.icons/material/calendar-arrow-right.svg | 2 +- .../material/calendar-blank-multiple.svg | 2 +- .../material/calendar-blank-outline.svg | 2 +- material/.icons/material/calendar-blank.svg | 2 +- .../material/calendar-check-outline.svg | 2 +- material/.icons/material/calendar-check.svg | 2 +- .../material/calendar-clock-outline.svg | 2 +- material/.icons/material/calendar-clock.svg | 2 +- material/.icons/material/calendar-cursor.svg | 2 +- material/.icons/material/calendar-edit.svg | 2 +- material/.icons/material/calendar-end.svg | 2 +- material/.icons/material/calendar-export.svg | 2 +- material/.icons/material/calendar-heart.svg | 2 +- material/.icons/material/calendar-import.svg | 2 +- .../.icons/material/calendar-lock-outline.svg | 2 +- material/.icons/material/calendar-lock.svg | 2 +- material/.icons/material/calendar-minus.svg | 2 +- .../material/calendar-month-outline.svg | 2 +- material/.icons/material/calendar-month.svg | 2 +- .../material/calendar-multiple-check.svg | 2 +- .../.icons/material/calendar-multiple.svg | 2 +- .../.icons/material/calendar-multiselect.svg | 2 +- material/.icons/material/calendar-outline.svg | 2 +- material/.icons/material/calendar-plus.svg | 2 +- .../.icons/material/calendar-question.svg | 2 +- .../material/calendar-range-outline.svg | 2 +- material/.icons/material/calendar-range.svg | 2 +- .../material/calendar-remove-outline.svg | 2 +- material/.icons/material/calendar-remove.svg | 2 +- material/.icons/material/calendar-search.svg | 2 +- material/.icons/material/calendar-star.svg | 2 +- material/.icons/material/calendar-start.svg | 2 +- .../.icons/material/calendar-sync-outline.svg | 2 +- material/.icons/material/calendar-sync.svg | 2 +- .../.icons/material/calendar-text-outline.svg | 2 +- material/.icons/material/calendar-text.svg | 2 +- material/.icons/material/calendar-today.svg | 2 +- .../.icons/material/calendar-week-begin.svg | 2 +- material/.icons/material/calendar-week.svg | 2 +- .../material/calendar-weekend-outline.svg | 2 +- material/.icons/material/calendar-weekend.svg | 2 +- material/.icons/material/calendar.svg | 2 +- material/.icons/material/camera-account.svg | 2 +- material/.icons/material/camera-burst.svg | 2 +- .../material/camera-enhance-outline.svg | 2 +- material/.icons/material/camera-enhance.svg | 2 +- .../.icons/material/camera-flip-outline.svg | 2 +- material/.icons/material/camera-flip.svg | 2 +- .../.icons/material/camera-front-variant.svg | 2 +- material/.icons/material/camera-front.svg | 2 +- material/.icons/material/camera-gopro.svg | 2 +- material/.icons/material/camera-image.svg | 2 +- material/.icons/material/camera-iris.svg | 2 +- .../material/camera-metering-center.svg | 2 +- .../material/camera-metering-matrix.svg | 2 +- .../material/camera-metering-partial.svg | 2 +- .../.icons/material/camera-metering-spot.svg | 2 +- material/.icons/material/camera-off.svg | 2 +- material/.icons/material/camera-outline.svg | 2 +- .../.icons/material/camera-party-mode.svg | 2 +- .../.icons/material/camera-plus-outline.svg | 2 +- material/.icons/material/camera-plus.svg | 2 +- .../.icons/material/camera-rear-variant.svg | 2 +- material/.icons/material/camera-rear.svg | 2 +- .../.icons/material/camera-retake-outline.svg | 2 +- material/.icons/material/camera-retake.svg | 2 +- material/.icons/material/camera-switch.svg | 2 +- material/.icons/material/camera-timer.svg | 2 +- .../material/camera-wireless-outline.svg | 2 +- material/.icons/material/camera-wireless.svg | 2 +- material/.icons/material/camera.svg | 2 +- material/.icons/material/campfire.svg | 2 +- material/.icons/material/candle.svg | 2 +- material/.icons/material/candycane.svg | 2 +- material/.icons/material/caps-lock.svg | 2 +- material/.icons/material/car-back.svg | 2 +- material/.icons/material/car-brake-abs.svg | 2 +- material/.icons/material/car-brake-alert.svg | 2 +- .../.icons/material/car-brake-parking.svg | 2 +- material/.icons/material/car-cog.svg | 2 +- material/.icons/material/car-connected.svg | 2 +- material/.icons/material/car-convertible.svg | 2 +- .../.icons/material/car-cruise-control.svg | 2 +- material/.icons/material/car-defrost-rear.svg | 2 +- material/.icons/material/car-door-lock.svg | 2 +- material/.icons/material/car-door.svg | 2 +- material/.icons/material/car-emergency.svg | 2 +- material/.icons/material/car-esp.svg | 2 +- material/.icons/material/car-estate.svg | 2 +- material/.icons/material/car-hatchback.svg | 2 +- material/.icons/material/car-info.svg | 2 +- material/.icons/material/car-key.svg | 2 +- material/.icons/material/car-limousine.svg | 2 +- material/.icons/material/car-multiple.svg | 2 +- material/.icons/material/car-off.svg | 2 +- material/.icons/material/car-pickup.svg | 2 +- material/.icons/material/car-settings.svg | 2 +- material/.icons/material/car-side.svg | 2 +- material/.icons/material/car-sports.svg | 2 +- material/.icons/material/car-tire-alert.svg | 2 +- material/.icons/material/car-turbocharger.svg | 2 +- material/.icons/material/car-wash.svg | 2 +- .../material/car-windshield-outline.svg | 2 +- material/.icons/material/car-windshield.svg | 2 +- material/.icons/material/car.svg | 2 +- material/.icons/material/carabiner.svg | 2 +- material/.icons/material/caravan.svg | 2 +- .../material/card-account-details-outline.svg | 2 +- .../card-account-details-star-outline.svg | 2 +- .../material/card-account-details-star.svg | 2 +- .../.icons/material/card-account-details.svg | 2 +- .../material/card-account-mail-outline.svg | 2 +- .../.icons/material/card-account-mail.svg | 2 +- .../material/card-account-phone-outline.svg | 2 +- .../.icons/material/card-account-phone.svg | 2 +- .../material/card-bulleted-off-outline.svg | 2 +- .../.icons/material/card-bulleted-off.svg | 2 +- .../.icons/material/card-bulleted-outline.svg | 2 +- .../card-bulleted-settings-outline.svg | 2 +- .../material/card-bulleted-settings.svg | 2 +- material/.icons/material/card-bulleted.svg | 2 +- .../.icons/material/card-minus-outline.svg | 2 +- material/.icons/material/card-minus.svg | 2 +- material/.icons/material/card-off-outline.svg | 2 +- material/.icons/material/card-off.svg | 2 +- material/.icons/material/card-outline.svg | 2 +- .../.icons/material/card-plus-outline.svg | 2 +- material/.icons/material/card-plus.svg | 2 +- .../.icons/material/card-remove-outline.svg | 2 +- material/.icons/material/card-remove.svg | 2 +- .../.icons/material/card-search-outline.svg | 2 +- material/.icons/material/card-search.svg | 2 +- .../.icons/material/card-text-outline.svg | 2 +- material/.icons/material/card-text.svg | 2 +- material/.icons/material/card.svg | 2 +- material/.icons/material/cards-club.svg | 2 +- material/.icons/material/cards-outline.svg | 2 +- .../.icons/material/cards-playing-outline.svg | 2 +- material/.icons/material/cards-variant.svg | 2 +- material/.icons/material/cards.svg | 2 +- material/.icons/material/carrot.svg | 2 +- material/.icons/material/cart-arrow-down.svg | 2 +- material/.icons/material/cart-arrow-right.svg | 2 +- material/.icons/material/cart-arrow-up.svg | 2 +- material/.icons/material/cart-check.svg | 2 +- material/.icons/material/cart-minus.svg | 2 +- material/.icons/material/cart-off.svg | 2 +- material/.icons/material/cart-outline.svg | 2 +- material/.icons/material/cart-plus.svg | 2 +- material/.icons/material/cart-remove.svg | 2 +- material/.icons/material/cart-variant.svg | 2 +- material/.icons/material/cart.svg | 2 +- .../.icons/material/case-sensitive-alt.svg | 2 +- material/.icons/material/cash-100.svg | 2 +- material/.icons/material/cash-check.svg | 2 +- material/.icons/material/cash-lock-open.svg | 2 +- material/.icons/material/cash-lock.svg | 2 +- material/.icons/material/cash-marker.svg | 2 +- material/.icons/material/cash-minus.svg | 2 +- material/.icons/material/cash-multiple.svg | 2 +- material/.icons/material/cash-plus.svg | 2 +- material/.icons/material/cash-refund.svg | 2 +- material/.icons/material/cash-remove.svg | 2 +- material/.icons/material/cash-usd-outline.svg | 2 +- material/.icons/material/cash-usd.svg | 2 +- material/.icons/material/cash.svg | 2 +- material/.icons/material/cassette.svg | 2 +- material/.icons/material/cast-connected.svg | 2 +- material/.icons/material/cast-education.svg | 2 +- material/.icons/material/cast-off.svg | 2 +- material/.icons/material/cast.svg | 2 +- material/.icons/material/castle.svg | 2 +- material/.icons/material/cat.svg | 2 +- material/.icons/material/cctv.svg | 2 +- material/.icons/material/ceiling-light.svg | 2 +- .../.icons/material/cellphone-android.svg | 2 +- .../.icons/material/cellphone-arrow-down.svg | 2 +- material/.icons/material/cellphone-basic.svg | 2 +- .../.icons/material/cellphone-charging.svg | 2 +- material/.icons/material/cellphone-cog.svg | 2 +- material/.icons/material/cellphone-dock.svg | 2 +- material/.icons/material/cellphone-erase.svg | 2 +- material/.icons/material/cellphone-iphone.svg | 2 +- material/.icons/material/cellphone-key.svg | 2 +- .../.icons/material/cellphone-link-off.svg | 2 +- material/.icons/material/cellphone-link.svg | 2 +- material/.icons/material/cellphone-lock.svg | 2 +- .../.icons/material/cellphone-message-off.svg | 2 +- .../.icons/material/cellphone-message.svg | 2 +- .../.icons/material/cellphone-nfc-off.svg | 2 +- material/.icons/material/cellphone-nfc.svg | 2 +- material/.icons/material/cellphone-off.svg | 2 +- material/.icons/material/cellphone-play.svg | 2 +- .../.icons/material/cellphone-screenshot.svg | 2 +- .../.icons/material/cellphone-settings.svg | 2 +- material/.icons/material/cellphone-sound.svg | 2 +- material/.icons/material/cellphone-text.svg | 2 +- .../.icons/material/cellphone-wireless.svg | 2 +- material/.icons/material/cellphone.svg | 2 +- material/.icons/material/celtic-cross.svg | 2 +- .../.icons/material/certificate-outline.svg | 2 +- material/.icons/material/certificate.svg | 2 +- material/.icons/material/charity.svg | 2 +- material/.icons/material/chart-arc.svg | 2 +- material/.icons/material/chart-bubble.svg | 2 +- .../.icons/material/chart-donut-variant.svg | 2 +- material/.icons/material/chart-donut.svg | 2 +- material/.icons/material/chart-ppf.svg | 2 +- .../.icons/material/chart-scatter-plot.svg | 2 +- .../material/chart-timeline-variant.svg | 2 +- .../.icons/material/chat-alert-outline.svg | 2 +- .../.icons/material/chat-minus-outline.svg | 2 +- material/.icons/material/chat-minus.svg | 2 +- material/.icons/material/chat-outline.svg | 2 +- .../.icons/material/chat-plus-outline.svg | 2 +- material/.icons/material/chat-plus.svg | 2 +- .../material/chat-processing-outline.svg | 2 +- .../.icons/material/chat-remove-outline.svg | 2 +- material/.icons/material/chat-remove.svg | 2 +- .../.icons/material/chat-sleep-outline.svg | 2 +- .../material/check-box-multiple-outline.svg | 2 +- .../.icons/material/check-box-outline.svg | 2 +- .../.icons/material/check-network-outline.svg | 2 +- material/.icons/material/check-network.svg | 2 +- .../check-underline-circle-outline.svg | 2 +- .../material/check-underline-circle.svg | 2 +- .../checkbox-blank-circle-outline.svg | 2 +- .../.icons/material/checkbox-blank-circle.svg | 2 +- .../material/checkbox-blank-off-outline.svg | 2 +- .../.icons/material/checkbox-blank-off.svg | 2 +- .../material/checkbox-blank-outline.svg | 2 +- material/.icons/material/checkbox-blank.svg | 2 +- .../.icons/material/checkbox-intermediate.svg | 2 +- .../checkbox-marked-circle-outline.svg | 2 +- .../material/checkbox-marked-circle.svg | 2 +- .../material/checkbox-marked-outline.svg | 2 +- material/.icons/material/checkbox-marked.svg | 2 +- ...checkbox-multiple-blank-circle-outline.svg | 2 +- .../checkbox-multiple-blank-circle.svg | 2 +- .../checkbox-multiple-blank-outline.svg | 2 +- .../material/checkbox-multiple-blank.svg | 2 +- ...heckbox-multiple-marked-circle-outline.svg | 2 +- .../checkbox-multiple-marked-circle.svg | 2 +- .../checkbox-multiple-marked-outline.svg | 2 +- .../material/checkbox-multiple-marked.svg | 2 +- material/.icons/material/cheese.svg | 2 +- material/.icons/material/chef-hat.svg | 2 +- material/.icons/material/chemical-weapon.svg | 2 +- material/.icons/material/chess-bishop.svg | 2 +- material/.icons/material/chess-king.svg | 2 +- material/.icons/material/chess-knight.svg | 2 +- material/.icons/material/chess-pawn.svg | 2 +- material/.icons/material/chess-queen.svg | 2 +- .../material/chevron-down-box-outline.svg | 2 +- material/.icons/material/chevron-down-box.svg | 2 +- .../material/chevron-down-circle-outline.svg | 2 +- .../.icons/material/chevron-down-circle.svg | 2 +- .../material/chevron-left-box-outline.svg | 2 +- material/.icons/material/chevron-left-box.svg | 2 +- .../material/chevron-left-circle-outline.svg | 2 +- .../.icons/material/chevron-left-circle.svg | 2 +- .../material/chevron-right-box-outline.svg | 2 +- .../.icons/material/chevron-right-box.svg | 2 +- .../material/chevron-right-circle-outline.svg | 2 +- .../.icons/material/chevron-right-circle.svg | 2 +- .../material/chevron-up-box-outline.svg | 2 +- material/.icons/material/chevron-up-box.svg | 2 +- .../material/chevron-up-circle-outline.svg | 2 +- .../.icons/material/chevron-up-circle.svg | 2 +- material/.icons/material/chili-hot.svg | 2 +- material/.icons/material/chili-medium.svg | 2 +- material/.icons/material/chili-mild.svg | 2 +- material/.icons/material/church.svg | 2 +- material/.icons/material/cigar-off.svg | 2 +- material/.icons/material/cigar.svg | 2 +- .../.icons/material/circle-box-outline.svg | 2 +- material/.icons/material/circle-box.svg | 2 +- material/.icons/material/circle-double.svg | 2 +- .../.icons/material/circle-edit-outline.svg | 2 +- material/.icons/material/circle-expand.svg | 2 +- material/.icons/material/circle-half-full.svg | 2 +- material/.icons/material/circle-half.svg | 2 +- material/.icons/material/circle-medium.svg | 2 +- .../material/circle-multiple-outline.svg | 2 +- material/.icons/material/circle-multiple.svg | 2 +- .../.icons/material/circle-off-outline.svg | 2 +- material/.icons/material/circle-outline.svg | 2 +- material/.icons/material/circle-small.svg | 2 +- material/.icons/material/circle.svg | 2 +- material/.icons/material/circular-saw.svg | 2 +- .../.icons/material/city-variant-outline.svg | 2 +- material/.icons/material/city-variant.svg | 2 +- .../material/clipboard-account-outline.svg | 2 +- .../.icons/material/clipboard-account.svg | 2 +- .../material/clipboard-alert-outline.svg | 2 +- material/.icons/material/clipboard-alert.svg | 2 +- .../material/clipboard-arrow-down-outline.svg | 2 +- .../.icons/material/clipboard-arrow-down.svg | 2 +- .../material/clipboard-arrow-left-outline.svg | 2 +- .../.icons/material/clipboard-arrow-left.svg | 2 +- .../clipboard-arrow-right-outline.svg | 2 +- .../.icons/material/clipboard-arrow-right.svg | 2 +- .../material/clipboard-arrow-up-outline.svg | 2 +- .../.icons/material/clipboard-arrow-up.svg | 2 +- .../material/clipboard-check-outline.svg | 2 +- material/.icons/material/clipboard-check.svg | 2 +- .../material/clipboard-clock-outline.svg | 2 +- material/.icons/material/clipboard-clock.svg | 2 +- .../material/clipboard-file-outline.svg | 2 +- material/.icons/material/clipboard-file.svg | 2 +- .../material/clipboard-flow-outline.svg | 2 +- material/.icons/material/clipboard-flow.svg | 2 +- .../material/clipboard-minus-outline.svg | 2 +- material/.icons/material/clipboard-minus.svg | 2 +- .../.icons/material/clipboard-off-outline.svg | 2 +- material/.icons/material/clipboard-off.svg | 2 +- .../.icons/material/clipboard-outline.svg | 2 +- .../material/clipboard-play-outline.svg | 2 +- material/.icons/material/clipboard-play.svg | 2 +- .../material/clipboard-plus-outline.svg | 2 +- material/.icons/material/clipboard-plus.svg | 2 +- .../material/clipboard-pulse-outline.svg | 2 +- material/.icons/material/clipboard-pulse.svg | 2 +- .../material/clipboard-remove-outline.svg | 2 +- material/.icons/material/clipboard-remove.svg | 2 +- .../material/clipboard-search-outline.svg | 2 +- material/.icons/material/clipboard-search.svg | 2 +- .../material/clipboard-text-off-outline.svg | 2 +- .../.icons/material/clipboard-text-off.svg | 2 +- .../material/clipboard-text-outline.svg | 2 +- .../material/clipboard-text-play-outline.svg | 2 +- .../.icons/material/clipboard-text-play.svg | 2 +- .../clipboard-text-search-outline.svg | 2 +- .../.icons/material/clipboard-text-search.svg | 2 +- material/.icons/material/clipboard-text.svg | 2 +- material/.icons/material/clipboard.svg | 2 +- material/.icons/material/clippy.svg | 2 +- material/.icons/material/clock-digital.svg | 2 +- material/.icons/material/clock-end.svg | 2 +- material/.icons/material/clock-fast.svg | 2 +- material/.icons/material/clock-in.svg | 2 +- material/.icons/material/clock-out.svg | 2 +- material/.icons/material/clock-outline.svg | 2 +- material/.icons/material/clock-start.svg | 2 +- material/.icons/material/clock.svg | 2 +- .../material/close-box-multiple-outline.svg | 2 +- .../.icons/material/close-box-multiple.svg | 2 +- .../.icons/material/close-box-outline.svg | 2 +- material/.icons/material/close-box.svg | 2 +- .../.icons/material/close-network-outline.svg | 2 +- material/.icons/material/close-network.svg | 2 +- material/.icons/material/closed-caption.svg | 2 +- material/.icons/material/cloud-braces.svg | 2 +- .../.icons/material/cloud-check-outline.svg | 2 +- material/.icons/material/cloud-check.svg | 2 +- material/.icons/material/cloud-circle.svg | 2 +- .../material/cloud-download-outline.svg | 2 +- material/.icons/material/cloud-download.svg | 2 +- .../.icons/material/cloud-lock-outline.svg | 2 +- material/.icons/material/cloud-lock.svg | 2 +- .../.icons/material/cloud-off-outline.svg | 2 +- material/.icons/material/cloud-outline.svg | 2 +- .../.icons/material/cloud-print-outline.svg | 2 +- material/.icons/material/cloud-print.svg | 2 +- material/.icons/material/cloud-question.svg | 2 +- material/.icons/material/cloud-refresh.svg | 2 +- .../.icons/material/cloud-search-outline.svg | 2 +- material/.icons/material/cloud-search.svg | 2 +- .../.icons/material/cloud-sync-outline.svg | 2 +- material/.icons/material/cloud-sync.svg | 2 +- material/.icons/material/cloud-tags.svg | 2 +- .../.icons/material/cloud-upload-outline.svg | 2 +- material/.icons/material/cloud-upload.svg | 2 +- material/.icons/material/cloud.svg | 2 +- material/.icons/material/coat-rack.svg | 2 +- material/.icons/material/code-array.svg | 2 +- material/.icons/material/code-braces.svg | 2 +- material/.icons/material/code-equal.svg | 2 +- .../material/code-greater-than-or-equal.svg | 2 +- .../.icons/material/code-greater-than.svg | 2 +- material/.icons/material/code-json.svg | 2 +- .../material/code-less-than-or-equal.svg | 2 +- material/.icons/material/code-less-than.svg | 2 +- .../material/code-not-equal-variant.svg | 2 +- material/.icons/material/code-not-equal.svg | 2 +- material/.icons/material/code-string.svg | 2 +- material/.icons/material/codepen.svg | 2 +- material/.icons/material/coffee-maker.svg | 2 +- material/.icons/material/coffee-off.svg | 2 +- material/.icons/material/coffee-outline.svg | 2 +- .../.icons/material/coffee-to-go-outline.svg | 2 +- material/.icons/material/coffee-to-go.svg | 2 +- material/.icons/material/coffee.svg | 2 +- material/.icons/material/cog-box.svg | 2 +- material/.icons/material/cog-clockwise.svg | 2 +- .../.icons/material/cog-counterclockwise.svg | 2 +- material/.icons/material/cog-off-outline.svg | 2 +- material/.icons/material/cog-outline.svg | 2 +- .../.icons/material/cog-transfer-outline.svg | 2 +- material/.icons/material/cog-transfer.svg | 2 +- material/.icons/material/cog.svg | 2 +- material/.icons/material/cogs.svg | 2 +- .../.icons/material/collapse-all-outline.svg | 2 +- material/.icons/material/collapse-all.svg | 2 +- .../.icons/material/comma-box-outline.svg | 2 +- material/.icons/material/comma-box.svg | 2 +- .../.icons/material/comma-circle-outline.svg | 2 +- material/.icons/material/comma-circle.svg | 2 +- .../material/comment-account-outline.svg | 2 +- material/.icons/material/comment-account.svg | 2 +- .../.icons/material/comment-alert-outline.svg | 2 +- .../.icons/material/comment-check-outline.svg | 2 +- material/.icons/material/comment-check.svg | 2 +- .../.icons/material/comment-edit-outline.svg | 2 +- material/.icons/material/comment-edit.svg | 2 +- .../.icons/material/comment-eye-outline.svg | 2 +- material/.icons/material/comment-eye.svg | 2 +- .../.icons/material/comment-minus-outline.svg | 2 +- material/.icons/material/comment-minus.svg | 2 +- .../material/comment-multiple-outline.svg | 2 +- material/.icons/material/comment-multiple.svg | 2 +- .../.icons/material/comment-off-outline.svg | 2 +- material/.icons/material/comment-off.svg | 2 +- material/.icons/material/comment-outline.svg | 2 +- .../.icons/material/comment-plus-outline.svg | 2 +- material/.icons/material/comment-plus.svg | 2 +- .../material/comment-processing-outline.svg | 2 +- .../.icons/material/comment-processing.svg | 2 +- .../material/comment-question-outline.svg | 2 +- material/.icons/material/comment-question.svg | 2 +- .../material/comment-remove-outline.svg | 2 +- material/.icons/material/comment-remove.svg | 2 +- .../material/comment-search-outline.svg | 2 +- material/.icons/material/comment-search.svg | 2 +- .../comment-text-multiple-outline.svg | 2 +- .../.icons/material/comment-text-multiple.svg | 2 +- .../.icons/material/comment-text-outline.svg | 2 +- material/.icons/material/comment-text.svg | 2 +- material/.icons/material/comment.svg | 2 +- material/.icons/material/compare.svg | 2 +- .../.icons/material/compass-off-outline.svg | 2 +- material/.icons/material/compass-off.svg | 2 +- material/.icons/material/compass-outline.svg | 2 +- material/.icons/material/compass.svg | 2 +- material/.icons/material/concourse-ci.svg | 2 +- .../material/console-network-outline.svg | 2 +- material/.icons/material/console-network.svg | 2 +- material/.icons/material/console.svg | 2 +- material/.icons/material/consolidate.svg | 2 +- .../.icons/material/contactless-payment.svg | 2 +- material/.icons/material/contacts-outline.svg | 2 +- material/.icons/material/contacts.svg | 2 +- material/.icons/material/content-copy.svg | 2 +- material/.icons/material/content-cut.svg | 2 +- .../.icons/material/content-duplicate.svg | 2 +- material/.icons/material/content-paste.svg | 2 +- .../material/content-save-all-outline.svg | 2 +- material/.icons/material/content-save-all.svg | 2 +- .../material/content-save-edit-outline.svg | 2 +- .../.icons/material/content-save-edit.svg | 2 +- .../material/content-save-move-outline.svg | 2 +- .../.icons/material/content-save-move.svg | 2 +- .../material/content-save-off-outline.svg | 2 +- material/.icons/material/content-save-off.svg | 2 +- .../.icons/material/content-save-outline.svg | 2 +- .../content-save-settings-outline.svg | 2 +- .../.icons/material/content-save-settings.svg | 2 +- material/.icons/material/content-save.svg | 2 +- material/.icons/material/contrast-box.svg | 2 +- material/.icons/material/contrast-circle.svg | 2 +- material/.icons/material/contrast.svg | 2 +- .../material/controller-classic-outline.svg | 2 +- .../.icons/material/controller-classic.svg | 2 +- .../.icons/material/cookie-check-outline.svg | 2 +- material/.icons/material/cookie-check.svg | 2 +- .../.icons/material/cookie-clock-outline.svg | 2 +- material/.icons/material/cookie-clock.svg | 2 +- .../.icons/material/cookie-cog-outline.svg | 2 +- material/.icons/material/cookie-cog.svg | 2 +- .../.icons/material/cookie-edit-outline.svg | 2 +- material/.icons/material/cookie-edit.svg | 2 +- .../.icons/material/cookie-lock-outline.svg | 2 +- material/.icons/material/cookie-lock.svg | 2 +- .../.icons/material/cookie-minus-outline.svg | 2 +- material/.icons/material/cookie-minus.svg | 2 +- .../.icons/material/cookie-off-outline.svg | 2 +- material/.icons/material/cookie-off.svg | 2 +- material/.icons/material/cookie-outline.svg | 2 +- .../.icons/material/cookie-plus-outline.svg | 2 +- material/.icons/material/cookie-plus.svg | 2 +- .../material/cookie-refresh-outline.svg | 2 +- material/.icons/material/cookie-refresh.svg | 2 +- .../.icons/material/cookie-remove-outline.svg | 2 +- material/.icons/material/cookie-remove.svg | 2 +- .../material/cookie-settings-outline.svg | 2 +- material/.icons/material/cookie-settings.svg | 2 +- material/.icons/material/cookie.svg | 2 +- .../.icons/material/coolant-temperature.svg | 2 +- material/.icons/material/copyright.svg | 2 +- material/.icons/material/counter.svg | 2 +- material/.icons/material/cow.svg | 2 +- material/.icons/material/cpu-32-bit.svg | 2 +- material/.icons/material/cpu-64-bit.svg | 2 +- material/.icons/material/crane.svg | 2 +- material/.icons/material/creative-commons.svg | 2 +- .../material/credit-card-check-outline.svg | 2 +- .../.icons/material/credit-card-check.svg | 2 +- .../material/credit-card-clock-outline.svg | 2 +- .../.icons/material/credit-card-clock.svg | 2 +- .../material/credit-card-marker-outline.svg | 2 +- .../.icons/material/credit-card-marker.svg | 2 +- .../material/credit-card-minus-outline.svg | 2 +- .../.icons/material/credit-card-minus.svg | 2 +- .../material/credit-card-multiple-outline.svg | 2 +- .../.icons/material/credit-card-multiple.svg | 2 +- .../material/credit-card-off-outline.svg | 2 +- material/.icons/material/credit-card-off.svg | 2 +- .../.icons/material/credit-card-outline.svg | 2 +- .../material/credit-card-plus-outline.svg | 2 +- material/.icons/material/credit-card-plus.svg | 2 +- .../material/credit-card-refresh-outline.svg | 2 +- .../.icons/material/credit-card-refresh.svg | 2 +- .../material/credit-card-refund-outline.svg | 2 +- .../.icons/material/credit-card-refund.svg | 2 +- .../material/credit-card-remove-outline.svg | 2 +- .../.icons/material/credit-card-remove.svg | 2 +- .../material/credit-card-scan-outline.svg | 2 +- material/.icons/material/credit-card-scan.svg | 2 +- .../material/credit-card-search-outline.svg | 2 +- .../.icons/material/credit-card-search.svg | 2 +- .../material/credit-card-settings-outline.svg | 2 +- .../.icons/material/credit-card-settings.svg | 2 +- .../material/credit-card-sync-outline.svg | 2 +- material/.icons/material/credit-card-sync.svg | 2 +- .../credit-card-wireless-off-outline.svg | 2 +- .../material/credit-card-wireless-off.svg | 2 +- .../material/credit-card-wireless-outline.svg | 2 +- .../.icons/material/credit-card-wireless.svg | 2 +- material/.icons/material/credit-card.svg | 2 +- material/.icons/material/cricket.svg | 2 +- material/.icons/material/crop-free.svg | 2 +- material/.icons/material/crop-landscape.svg | 2 +- material/.icons/material/crop-portrait.svg | 2 +- material/.icons/material/crop-rotate.svg | 2 +- material/.icons/material/crop-square.svg | 2 +- material/.icons/material/crop.svg | 2 +- material/.icons/material/crosshairs-gps.svg | 2 +- material/.icons/material/crosshairs-off.svg | 2 +- material/.icons/material/crosshairs.svg | 2 +- material/.icons/material/cryengine.svg | 2 +- material/.icons/material/crystal-ball.svg | 2 +- material/.icons/material/cube-off.svg | 2 +- material/.icons/material/cube-outline.svg | 2 +- material/.icons/material/cube.svg | 2 +- material/.icons/material/cup-off.svg | 2 +- material/.icons/material/cup-water.svg | 2 +- material/.icons/material/cupboard-outline.svg | 2 +- material/.icons/material/cupboard.svg | 2 +- material/.icons/material/cupcake.svg | 2 +- material/.icons/material/currency-bdt.svg | 2 +- material/.icons/material/currency-brl.svg | 2 +- material/.icons/material/currency-btc.svg | 2 +- material/.icons/material/currency-eur-off.svg | 2 +- material/.icons/material/currency-eur.svg | 2 +- material/.icons/material/currency-ils.svg | 2 +- material/.icons/material/currency-inr.svg | 2 +- material/.icons/material/currency-rial.svg | 2 +- material/.icons/material/currency-rub.svg | 2 +- material/.icons/material/currency-sign.svg | 2 +- material/.icons/material/currency-try.svg | 2 +- material/.icons/material/currency-twd.svg | 2 +- .../material/currency-usd-circle-outline.svg | 2 +- .../.icons/material/currency-usd-circle.svg | 2 +- .../material/cursor-default-click-outline.svg | 2 +- .../.icons/material/cursor-default-click.svg | 2 +- .../cursor-default-gesture-outline.svg | 2 +- .../material/cursor-default-gesture.svg | 2 +- .../material/cursor-default-outline.svg | 2 +- material/.icons/material/cursor-default.svg | 2 +- material/.icons/material/cursor-pointer.svg | 2 +- material/.icons/material/cursor-text.svg | 2 +- material/.icons/material/dance-ballroom.svg | 2 +- material/.icons/material/dance-pole.svg | 2 +- .../material/database-arrow-down-outline.svg | 2 +- .../.icons/material/database-arrow-down.svg | 2 +- .../material/database-arrow-left-outline.svg | 2 +- .../.icons/material/database-arrow-left.svg | 2 +- .../material/database-arrow-right-outline.svg | 2 +- .../.icons/material/database-arrow-right.svg | 2 +- .../material/database-arrow-up-outline.svg | 2 +- .../.icons/material/database-arrow-up.svg | 2 +- .../material/database-check-outline.svg | 2 +- .../material/database-clock-outline.svg | 2 +- material/.icons/material/database-clock.svg | 2 +- .../.icons/material/database-cog-outline.svg | 2 +- material/.icons/material/database-cog.svg | 2 +- material/.icons/material/database-edit.svg | 2 +- .../.icons/material/database-lock-outline.svg | 2 +- material/.icons/material/database-lock.svg | 2 +- .../material/database-minus-outline.svg | 2 +- .../.icons/material/database-plus-outline.svg | 2 +- .../material/database-refresh-outline.svg | 2 +- material/.icons/material/database-refresh.svg | 2 +- .../material/database-remove-outline.svg | 2 +- .../material/database-search-outline.svg | 2 +- material/.icons/material/database-search.svg | 2 +- .../.icons/material/database-sync-outline.svg | 2 +- material/.icons/material/database-sync.svg | 2 +- .../.icons/material/death-star-variant.svg | 2 +- material/.icons/material/death-star.svg | 2 +- material/.icons/material/deathly-hallows.svg | 2 +- material/.icons/material/debug-step-into.svg | 2 +- material/.icons/material/debug-step-out.svg | 2 +- material/.icons/material/debug-step-over.svg | 2 +- .../material/decimal-comma-decrease.svg | 2 +- .../material/decimal-comma-increase.svg | 2 +- material/.icons/material/decimal-comma.svg | 2 +- material/.icons/material/decimal-decrease.svg | 2 +- material/.icons/material/decimal-increase.svg | 2 +- material/.icons/material/decimal.svg | 2 +- .../.icons/material/delete-circle-outline.svg | 2 +- material/.icons/material/delete-circle.svg | 2 +- .../.icons/material/delete-empty-outline.svg | 2 +- material/.icons/material/delete-empty.svg | 2 +- .../material/delete-forever-outline.svg | 2 +- material/.icons/material/delete-forever.svg | 2 +- material/.icons/material/delete-outline.svg | 2 +- .../.icons/material/delete-sweep-outline.svg | 2 +- material/.icons/material/delete-sweep.svg | 2 +- material/.icons/material/delete.svg | 2 +- material/.icons/material/desk-lamp.svg | 2 +- material/.icons/material/deskphone.svg | 2 +- .../.icons/material/desktop-mac-dashboard.svg | 2 +- material/.icons/material/desktop-mac.svg | 2 +- .../.icons/material/desktop-tower-monitor.svg | 2 +- material/.icons/material/desktop-tower.svg | 2 +- material/.icons/material/developer-board.svg | 2 +- material/.icons/material/diabetes.svg | 2 +- material/.icons/material/dialpad.svg | 2 +- material/.icons/material/diameter-outline.svg | 2 +- material/.icons/material/diameter-variant.svg | 2 +- material/.icons/material/diameter.svg | 2 +- material/.icons/material/dice-1-outline.svg | 2 +- material/.icons/material/dice-1.svg | 2 +- material/.icons/material/dice-2-outline.svg | 2 +- material/.icons/material/dice-2.svg | 2 +- material/.icons/material/dice-3.svg | 2 +- material/.icons/material/dice-4-outline.svg | 2 +- material/.icons/material/dice-4.svg | 2 +- material/.icons/material/dice-5.svg | 2 +- material/.icons/material/dice-6.svg | 2 +- material/.icons/material/dice-d10-outline.svg | 2 +- material/.icons/material/dice-d10.svg | 2 +- material/.icons/material/dice-d20-outline.svg | 2 +- material/.icons/material/dice-d4-outline.svg | 2 +- material/.icons/material/dice-d6-outline.svg | 2 +- material/.icons/material/dice-d6.svg | 2 +- material/.icons/material/dice-multiple.svg | 2 +- material/.icons/material/dip-switch.svg | 2 +- material/.icons/material/directions.svg | 2 +- material/.icons/material/disc-player.svg | 2 +- material/.icons/material/disc.svg | 2 +- material/.icons/material/discord.svg | 2 +- material/.icons/material/dishwasher-alert.svg | 2 +- material/.icons/material/dishwasher-off.svg | 2 +- material/.icons/material/dishwasher.svg | 2 +- material/.icons/material/diving-flippers.svg | 2 +- material/.icons/material/diving-helmet.svg | 2 +- .../material/diving-scuba-tank-multiple.svg | 2 +- .../.icons/material/diving-scuba-tank.svg | 2 +- material/.icons/material/diving-scuba.svg | 2 +- material/.icons/material/diving-snorkel.svg | 2 +- material/.icons/material/division-box.svg | 2 +- material/.icons/material/division.svg | 2 +- material/.icons/material/dns-outline.svg | 2 +- material/.icons/material/dns.svg | 2 +- .../.icons/material/do-not-disturb-off.svg | 2 +- material/.icons/material/do-not-disturb.svg | 2 +- material/.icons/material/dock-bottom.svg | 2 +- material/.icons/material/dock-left.svg | 2 +- material/.icons/material/dock-right.svg | 2 +- material/.icons/material/dock-top.svg | 2 +- material/.icons/material/dock-window.svg | 2 +- material/.icons/material/docker.svg | 2 +- material/.icons/material/doctor.svg | 2 +- material/.icons/material/dog-service.svg | 2 +- material/.icons/material/dog.svg | 2 +- material/.icons/material/dolly.svg | 2 +- material/.icons/material/domain-plus.svg | 2 +- material/.icons/material/domain-remove.svg | 2 +- material/.icons/material/dome-light.svg | 2 +- material/.icons/material/donkey.svg | 2 +- material/.icons/material/door-closed-lock.svg | 2 +- material/.icons/material/doorbell-video.svg | 2 +- material/.icons/material/dot-net.svg | 2 +- .../dots-horizontal-circle-outline.svg | 2 +- .../material/dots-horizontal-circle.svg | 2 +- material/.icons/material/dots-horizontal.svg | 2 +- .../material/dots-vertical-circle-outline.svg | 2 +- .../.icons/material/dots-vertical-circle.svg | 2 +- material/.icons/material/dots-vertical.svg | 2 +- .../.icons/material/download-box-outline.svg | 2 +- material/.icons/material/download-box.svg | 2 +- .../.icons/material/download-lock-outline.svg | 2 +- material/.icons/material/download-lock.svg | 2 +- .../material/download-network-outline.svg | 2 +- material/.icons/material/download-network.svg | 2 +- material/.icons/material/drag-variant.svg | 2 +- material/.icons/material/drama-masks.svg | 2 +- material/.icons/material/draw.svg | 2 +- material/.icons/material/drawing-box.svg | 2 +- material/.icons/material/drawing.svg | 2 +- material/.icons/material/dresser-outline.svg | 2 +- material/.icons/material/dresser.svg | 2 +- material/.icons/material/drone.svg | 2 +- material/.icons/material/duck.svg | 2 +- material/.icons/material/dump-truck.svg | 2 +- material/.icons/material/ear-hearing-off.svg | 2 +- material/.icons/material/ear-hearing.svg | 2 +- material/.icons/material/earth-box-minus.svg | 2 +- material/.icons/material/earth-box-off.svg | 2 +- material/.icons/material/earth-box-plus.svg | 2 +- material/.icons/material/earth-box-remove.svg | 2 +- material/.icons/material/earth-box.svg | 2 +- material/.icons/material/earth-off.svg | 2 +- material/.icons/material/earth.svg | 2 +- material/.icons/material/egg-easter.svg | 2 +- material/.icons/material/egg-off-outline.svg | 2 +- material/.icons/material/egg.svg | 2 +- material/.icons/material/eiffel-tower.svg | 2 +- material/.icons/material/eight-track.svg | 2 +- .../material/electric-switch-closed.svg | 2 +- material/.icons/material/electric-switch.svg | 2 +- .../.icons/material/electron-framework.svg | 2 +- material/.icons/material/elephant.svg | 2 +- material/.icons/material/elevator-down.svg | 2 +- material/.icons/material/elevator-up.svg | 2 +- material/.icons/material/elevator.svg | 2 +- material/.icons/material/email-box.svg | 2 +- material/.icons/material/email-check.svg | 2 +- .../.icons/material/email-edit-outline.svg | 2 +- material/.icons/material/email-edit.svg | 2 +- material/.icons/material/email-lock.svg | 2 +- .../.icons/material/email-mark-as-unread.svg | 2 +- material/.icons/material/email-minus.svg | 2 +- material/.icons/material/email-multiple.svg | 2 +- material/.icons/material/email-newsletter.svg | 2 +- .../.icons/material/email-open-multiple.svg | 2 +- material/.icons/material/email-open.svg | 2 +- material/.icons/material/email-plus.svg | 2 +- .../.icons/material/email-receive-outline.svg | 2 +- material/.icons/material/email-receive.svg | 2 +- material/.icons/material/email-remove.svg | 2 +- .../.icons/material/email-search-outline.svg | 2 +- material/.icons/material/email-search.svg | 2 +- .../.icons/material/email-send-outline.svg | 2 +- material/.icons/material/email-send.svg | 2 +- .../.icons/material/email-sync-outline.svg | 2 +- material/.icons/material/email-sync.svg | 2 +- material/.icons/material/email-variant.svg | 2 +- material/.icons/material/email.svg | 2 +- .../material/emoticon-angry-outline.svg | 2 +- material/.icons/material/emoticon-angry.svg | 2 +- .../material/emoticon-confused-outline.svg | 2 +- .../.icons/material/emoticon-confused.svg | 2 +- .../.icons/material/emoticon-cool-outline.svg | 2 +- material/.icons/material/emoticon-cool.svg | 2 +- .../.icons/material/emoticon-cry-outline.svg | 2 +- material/.icons/material/emoticon-cry.svg | 2 +- .../.icons/material/emoticon-dead-outline.svg | 2 +- material/.icons/material/emoticon-dead.svg | 2 +- .../material/emoticon-devil-outline.svg | 2 +- material/.icons/material/emoticon-devil.svg | 2 +- .../material/emoticon-excited-outline.svg | 2 +- material/.icons/material/emoticon-excited.svg | 2 +- .../material/emoticon-happy-outline.svg | 2 +- material/.icons/material/emoticon-happy.svg | 2 +- .../.icons/material/emoticon-kiss-outline.svg | 2 +- material/.icons/material/emoticon-kiss.svg | 2 +- .../.icons/material/emoticon-lol-outline.svg | 2 +- material/.icons/material/emoticon-lol.svg | 2 +- .../material/emoticon-neutral-outline.svg | 2 +- material/.icons/material/emoticon-neutral.svg | 2 +- material/.icons/material/emoticon-outline.svg | 2 +- .../.icons/material/emoticon-poop-outline.svg | 2 +- material/.icons/material/emoticon-poop.svg | 2 +- .../.icons/material/emoticon-sad-outline.svg | 2 +- material/.icons/material/emoticon-sad.svg | 2 +- .../.icons/material/emoticon-sick-outline.svg | 2 +- material/.icons/material/emoticon-sick.svg | 2 +- .../material/emoticon-tongue-outline.svg | 2 +- material/.icons/material/emoticon-tongue.svg | 2 +- .../.icons/material/emoticon-wink-outline.svg | 2 +- material/.icons/material/emoticon-wink.svg | 2 +- material/.icons/material/emoticon.svg | 2 +- material/.icons/material/equal-box.svg | 2 +- material/.icons/material/eraser.svg | 2 +- material/.icons/material/escalator-box.svg | 2 +- material/.icons/material/escalator-down.svg | 2 +- material/.icons/material/escalator-up.svg | 2 +- material/.icons/material/escalator.svg | 2 +- material/.icons/material/eslint.svg | 2 +- material/.icons/material/et.svg | 2 +- material/.icons/material/ethernet.svg | 2 +- material/.icons/material/ev-plug-ccs1.svg | 2 +- material/.icons/material/ev-plug-ccs2.svg | 2 +- material/.icons/material/ev-plug-chademo.svg | 2 +- material/.icons/material/ev-plug-tesla.svg | 2 +- material/.icons/material/ev-plug-type1.svg | 2 +- material/.icons/material/ev-plug-type2.svg | 2 +- material/.icons/material/ev-station.svg | 2 +- material/.icons/material/excavator.svg | 2 +- material/.icons/material/exit-run.svg | 2 +- material/.icons/material/exit-to-app.svg | 2 +- .../.icons/material/expand-all-outline.svg | 2 +- material/.icons/material/expand-all.svg | 2 +- material/.icons/material/expansion-card.svg | 2 +- material/.icons/material/exponent-box.svg | 2 +- material/.icons/material/export-variant.svg | 2 +- material/.icons/material/export.svg | 2 +- .../.icons/material/eye-check-outline.svg | 2 +- material/.icons/material/eye-check.svg | 2 +- .../.icons/material/eye-circle-outline.svg | 2 +- material/.icons/material/eye-circle.svg | 2 +- .../.icons/material/eye-minus-outline.svg | 2 +- material/.icons/material/eye-minus.svg | 2 +- material/.icons/material/eye-off-outline.svg | 2 +- material/.icons/material/eye-off.svg | 2 +- material/.icons/material/eye-outline.svg | 2 +- material/.icons/material/eye-plus-outline.svg | 2 +- material/.icons/material/eye-plus.svg | 2 +- .../.icons/material/eye-remove-outline.svg | 2 +- .../.icons/material/eye-settings-outline.svg | 2 +- material/.icons/material/eye-settings.svg | 2 +- material/.icons/material/eye.svg | 2 +- material/.icons/material/eyedropper.svg | 2 +- material/.icons/material/face-agent.svg | 2 +- .../.icons/material/face-mask-outline.svg | 2 +- material/.icons/material/face-mask.svg | 2 +- material/.icons/material/face-outline.svg | 2 +- .../.icons/material/face-profile-woman.svg | 2 +- material/.icons/material/face-profile.svg | 2 +- material/.icons/material/face-recognition.svg | 2 +- .../.icons/material/face-shimmer-outline.svg | 2 +- material/.icons/material/face-shimmer.svg | 2 +- .../.icons/material/face-woman-outline.svg | 2 +- .../material/face-woman-shimmer-outline.svg | 2 +- .../.icons/material/face-woman-shimmer.svg | 2 +- material/.icons/material/face-woman.svg | 2 +- material/.icons/material/face.svg | 2 +- .../.icons/material/facebook-messenger.svg | 2 +- .../.icons/material/facebook-workplace.svg | 2 +- material/.icons/material/facebook.svg | 2 +- material/.icons/material/family-tree.svg | 2 +- material/.icons/material/fan-auto.svg | 2 +- material/.icons/material/fan-chevron-down.svg | 2 +- material/.icons/material/fan-chevron-up.svg | 2 +- material/.icons/material/fan-minus.svg | 2 +- material/.icons/material/fan-plus.svg | 2 +- material/.icons/material/fan-remove.svg | 2 +- material/.icons/material/fan-speed-1.svg | 2 +- material/.icons/material/fan-speed-2.svg | 2 +- material/.icons/material/fan-speed-3.svg | 2 +- material/.icons/material/fan.svg | 2 +- material/.icons/material/fast-forward-10.svg | 2 +- material/.icons/material/fast-forward-30.svg | 2 +- material/.icons/material/fast-forward-5.svg | 2 +- material/.icons/material/fax.svg | 2 +- .../material/feature-search-outline.svg | 2 +- material/.icons/material/feature-search.svg | 2 +- material/.icons/material/fedora.svg | 2 +- material/.icons/material/ferris-wheel.svg | 2 +- material/.icons/material/ferry.svg | 2 +- .../.icons/material/file-account-outline.svg | 2 +- material/.icons/material/file-account.svg | 2 +- material/.icons/material/file-cabinet.svg | 2 +- material/.icons/material/file-cad-box.svg | 2 +- .../.icons/material/file-cancel-outline.svg | 2 +- material/.icons/material/file-cancel.svg | 2 +- .../material/file-certificate-outline.svg | 2 +- material/.icons/material/file-certificate.svg | 2 +- material/.icons/material/file-chart.svg | 2 +- .../.icons/material/file-check-outline.svg | 2 +- material/.icons/material/file-check.svg | 2 +- .../.icons/material/file-clock-outline.svg | 2 +- material/.icons/material/file-clock.svg | 2 +- .../.icons/material/file-cloud-outline.svg | 2 +- material/.icons/material/file-cloud.svg | 2 +- .../.icons/material/file-code-outline.svg | 2 +- material/.icons/material/file-code.svg | 2 +- material/.icons/material/file-cog-outline.svg | 2 +- material/.icons/material/file-cog.svg | 2 +- material/.icons/material/file-compare.svg | 2 +- .../material/file-document-edit-outline.svg | 2 +- .../.icons/material/file-document-edit.svg | 2 +- .../material/file-document-multiple.svg | 2 +- .../.icons/material/file-document-outline.svg | 2 +- material/.icons/material/file-document.svg | 2 +- .../.icons/material/file-download-outline.svg | 2 +- material/.icons/material/file-excel-box.svg | 2 +- .../.icons/material/file-excel-outline.svg | 2 +- material/.icons/material/file-excel.svg | 2 +- material/.icons/material/file-export.svg | 2 +- material/.icons/material/file-eye-outline.svg | 2 +- material/.icons/material/file-eye.svg | 2 +- .../.icons/material/file-find-outline.svg | 2 +- material/.icons/material/file-find.svg | 2 +- material/.icons/material/file-hidden.svg | 2 +- .../.icons/material/file-image-outline.svg | 2 +- material/.icons/material/file-image.svg | 2 +- .../.icons/material/file-import-outline.svg | 2 +- material/.icons/material/file-import.svg | 2 +- material/.icons/material/file-key-outline.svg | 2 +- material/.icons/material/file-key.svg | 2 +- .../.icons/material/file-link-outline.svg | 2 +- .../.icons/material/file-lock-outline.svg | 2 +- material/.icons/material/file-lock.svg | 2 +- material/.icons/material/file-move.svg | 2 +- material/.icons/material/file-multiple.svg | 2 +- .../.icons/material/file-music-outline.svg | 2 +- material/.icons/material/file-music.svg | 2 +- material/.icons/material/file-outline.svg | 2 +- material/.icons/material/file-pdf-box.svg | 2 +- material/.icons/material/file-pdf-outline.svg | 2 +- material/.icons/material/file-pdf.svg | 2 +- .../.icons/material/file-percent-outline.svg | 2 +- material/.icons/material/file-percent.svg | 2 +- .../.icons/material/file-phone-outline.svg | 2 +- .../.icons/material/file-plus-outline.svg | 2 +- material/.icons/material/file-plus.svg | 2 +- .../.icons/material/file-powerpoint-box.svg | 2 +- .../material/file-powerpoint-outline.svg | 2 +- material/.icons/material/file-powerpoint.svg | 2 +- .../.icons/material/file-presentation-box.svg | 2 +- .../.icons/material/file-question-outline.svg | 2 +- material/.icons/material/file-question.svg | 2 +- .../.icons/material/file-refresh-outline.svg | 2 +- material/.icons/material/file-refresh.svg | 2 +- .../.icons/material/file-remove-outline.svg | 2 +- material/.icons/material/file-remove.svg | 2 +- .../.icons/material/file-replace-outline.svg | 2 +- material/.icons/material/file-replace.svg | 2 +- .../.icons/material/file-restore-outline.svg | 2 +- material/.icons/material/file-restore.svg | 2 +- .../.icons/material/file-search-outline.svg | 2 +- material/.icons/material/file-search.svg | 2 +- .../.icons/material/file-send-outline.svg | 2 +- material/.icons/material/file-send.svg | 2 +- .../.icons/material/file-settings-outline.svg | 2 +- material/.icons/material/file-settings.svg | 2 +- material/.icons/material/file-star.svg | 2 +- .../.icons/material/file-swap-outline.svg | 2 +- material/.icons/material/file-swap.svg | 2 +- .../material/file-table-box-multiple.svg | 2 +- material/.icons/material/file-table-box.svg | 2 +- .../.icons/material/file-table-outline.svg | 2 +- material/.icons/material/file-table.svg | 2 +- .../.icons/material/file-undo-outline.svg | 2 +- material/.icons/material/file-undo.svg | 2 +- .../.icons/material/file-upload-outline.svg | 2 +- material/.icons/material/file-upload.svg | 2 +- .../.icons/material/file-video-outline.svg | 2 +- material/.icons/material/file-video.svg | 2 +- material/.icons/material/file-word-box.svg | 2 +- .../.icons/material/file-word-outline.svg | 2 +- material/.icons/material/file-word.svg | 2 +- material/.icons/material/file.svg | 2 +- material/.icons/material/film.svg | 2 +- .../material/filmstrip-box-multiple.svg | 2 +- .../.icons/material/filter-menu-outline.svg | 2 +- material/.icons/material/filter-menu.svg | 2 +- .../.icons/material/filter-minus-outline.svg | 2 +- material/.icons/material/filter-minus.svg | 2 +- .../.icons/material/filter-off-outline.svg | 2 +- material/.icons/material/filter-off.svg | 2 +- material/.icons/material/filter-outline.svg | 2 +- .../.icons/material/filter-plus-outline.svg | 2 +- material/.icons/material/filter-plus.svg | 2 +- .../.icons/material/filter-remove-outline.svg | 2 +- material/.icons/material/filter-remove.svg | 2 +- material/.icons/material/filter.svg | 2 +- material/.icons/material/find-replace.svg | 2 +- material/.icons/material/fingerprint-off.svg | 2 +- material/.icons/material/fingerprint.svg | 2 +- material/.icons/material/fire-alert.svg | 2 +- .../.icons/material/fire-extinguisher.svg | 2 +- .../.icons/material/fire-hydrant-alert.svg | 2 +- material/.icons/material/fire-hydrant-off.svg | 2 +- material/.icons/material/fire-hydrant.svg | 2 +- material/.icons/material/fire-off.svg | 2 +- material/.icons/material/fire-truck.svg | 2 +- material/.icons/material/fire.svg | 2 +- material/.icons/material/firefox.svg | 2 +- material/.icons/material/fish.svg | 2 +- material/.icons/material/fishbowl-outline.svg | 2 +- material/.icons/material/fishbowl.svg | 2 +- .../.icons/material/flag-variant-outline.svg | 2 +- material/.icons/material/flag-variant.svg | 2 +- material/.icons/material/flare.svg | 2 +- material/.icons/material/flash-red-eye.svg | 2 +- material/.icons/material/flashlight.svg | 2 +- .../material/flask-empty-minus-outline.svg | 2 +- .../.icons/material/flask-empty-minus.svg | 2 +- .../.icons/material/flask-empty-outline.svg | 2 +- .../material/flask-empty-plus-outline.svg | 2 +- material/.icons/material/flask-empty-plus.svg | 2 +- .../material/flask-empty-remove-outline.svg | 2 +- .../.icons/material/flask-empty-remove.svg | 2 +- material/.icons/material/flask-empty.svg | 2 +- .../.icons/material/flask-minus-outline.svg | 2 +- material/.icons/material/flask-minus.svg | 2 +- material/.icons/material/flask-outline.svg | 2 +- .../.icons/material/flask-plus-outline.svg | 2 +- material/.icons/material/flask-plus.svg | 2 +- .../.icons/material/flask-remove-outline.svg | 2 +- material/.icons/material/flask-remove.svg | 2 +- .../flask-round-bottom-empty-outline.svg | 2 +- .../material/flask-round-bottom-outline.svg | 2 +- .../.icons/material/flask-round-bottom.svg | 2 +- material/.icons/material/flask.svg | 2 +- material/.icons/material/flip-to-back.svg | 2 +- material/.icons/material/flip-to-front.svg | 2 +- material/.icons/material/floppy-variant.svg | 2 +- material/.icons/material/floppy.svg | 2 +- material/.icons/material/flower-outline.svg | 2 +- material/.icons/material/flower-poppy.svg | 2 +- .../.icons/material/flower-tulip-outline.svg | 2 +- material/.icons/material/flower-tulip.svg | 2 +- material/.icons/material/flower.svg | 2 +- .../material/folder-account-outline.svg | 2 +- material/.icons/material/folder-account.svg | 2 +- .../.icons/material/folder-alert-outline.svg | 2 +- material/.icons/material/folder-alert.svg | 2 +- .../.icons/material/folder-clock-outline.svg | 2 +- material/.icons/material/folder-clock.svg | 2 +- .../.icons/material/folder-cog-outline.svg | 2 +- material/.icons/material/folder-cog.svg | 2 +- .../material/folder-download-outline.svg | 2 +- material/.icons/material/folder-download.svg | 2 +- .../.icons/material/folder-edit-outline.svg | 2 +- material/.icons/material/folder-edit.svg | 2 +- .../.icons/material/folder-google-drive.svg | 2 +- .../.icons/material/folder-heart-outline.svg | 2 +- material/.icons/material/folder-heart.svg | 2 +- .../.icons/material/folder-home-outline.svg | 2 +- material/.icons/material/folder-home.svg | 2 +- material/.icons/material/folder-image.svg | 2 +- .../material/folder-key-network-outline.svg | 2 +- .../.icons/material/folder-key-network.svg | 2 +- .../.icons/material/folder-key-outline.svg | 2 +- material/.icons/material/folder-key.svg | 2 +- material/.icons/material/folder-lock-open.svg | 2 +- material/.icons/material/folder-lock.svg | 2 +- .../.icons/material/folder-marker-outline.svg | 2 +- material/.icons/material/folder-marker.svg | 2 +- .../.icons/material/folder-move-outline.svg | 2 +- material/.icons/material/folder-move.svg | 2 +- .../.icons/material/folder-multiple-image.svg | 2 +- .../material/folder-multiple-outline.svg | 2 +- material/.icons/material/folder-multiple.svg | 2 +- .../.icons/material/folder-music-outline.svg | 2 +- material/.icons/material/folder-music.svg | 2 +- .../material/folder-network-outline.svg | 2 +- material/.icons/material/folder-network.svg | 2 +- .../.icons/material/folder-open-outline.svg | 2 +- material/.icons/material/folder-open.svg | 2 +- material/.icons/material/folder-outline.svg | 2 +- material/.icons/material/folder-plus.svg | 2 +- .../.icons/material/folder-pound-outline.svg | 2 +- material/.icons/material/folder-pound.svg | 2 +- .../material/folder-refresh-outline.svg | 2 +- material/.icons/material/folder-refresh.svg | 2 +- .../.icons/material/folder-remove-outline.svg | 2 +- material/.icons/material/folder-remove.svg | 2 +- .../.icons/material/folder-search-outline.svg | 2 +- material/.icons/material/folder-search.svg | 2 +- .../material/folder-settings-outline.svg | 2 +- material/.icons/material/folder-settings.svg | 2 +- .../material/folder-star-multiple-outline.svg | 2 +- .../.icons/material/folder-star-multiple.svg | 2 +- .../.icons/material/folder-star-outline.svg | 2 +- material/.icons/material/folder-star.svg | 2 +- .../.icons/material/folder-swap-outline.svg | 2 +- material/.icons/material/folder-swap.svg | 2 +- .../.icons/material/folder-sync-outline.svg | 2 +- material/.icons/material/folder-sync.svg | 2 +- .../.icons/material/folder-table-outline.svg | 2 +- material/.icons/material/folder-table.svg | 2 +- .../.icons/material/folder-text-outline.svg | 2 +- material/.icons/material/folder-text.svg | 2 +- .../.icons/material/folder-upload-outline.svg | 2 +- material/.icons/material/folder-upload.svg | 2 +- material/.icons/material/folder.svg | 2 +- material/.icons/material/font-awesome.svg | 2 +- .../.icons/material/food-apple-outline.svg | 2 +- .../material/food-drumstick-outline.svg | 2 +- material/.icons/material/food-drumstick.svg | 2 +- material/.icons/material/food-fork-drink.svg | 2 +- material/.icons/material/food-halal.svg | 2 +- material/.icons/material/food-off.svg | 2 +- material/.icons/material/food-steak-off.svg | 2 +- material/.icons/material/food-turkey.svg | 2 +- material/.icons/material/food-variant.svg | 2 +- material/.icons/material/food.svg | 2 +- material/.icons/material/foot-print.svg | 2 +- material/.icons/material/football-helmet.svg | 2 +- material/.icons/material/forklift.svg | 2 +- material/.icons/material/form-dropdown.svg | 2 +- material/.icons/material/form-select.svg | 2 +- material/.icons/material/form-textarea.svg | 2 +- .../.icons/material/form-textbox-password.svg | 2 +- material/.icons/material/form-textbox.svg | 2 +- material/.icons/material/format-bold.svg | 2 +- .../.icons/material/format-color-fill.svg | 2 +- material/.icons/material/format-header-2.svg | 2 +- material/.icons/material/format-header-3.svg | 2 +- material/.icons/material/format-header-5.svg | 2 +- material/.icons/material/format-header-6.svg | 2 +- .../material/format-letter-case-lower.svg | 2 +- .../material/format-letter-case-upper.svg | 2 +- .../.icons/material/format-letter-case.svg | 2 +- .../material/format-list-bulleted-type.svg | 2 +- .../.icons/material/format-list-bulleted.svg | 2 +- .../.icons/material/format-list-checkbox.svg | 2 +- .../material/format-list-numbered-rtl.svg | 2 +- .../.icons/material/format-list-numbered.svg | 2 +- .../.icons/material/format-page-break.svg | 2 +- material/.icons/material/format-paint.svg | 2 +- material/.icons/material/format-paragraph.svg | 2 +- material/.icons/material/format-pilcrow.svg | 2 +- material/.icons/material/format-rotate-90.svg | 2 +- material/.icons/material/format-section.svg | 2 +- material/.icons/material/format-subscript.svg | 2 +- .../.icons/material/format-superscript.svg | 2 +- .../material/format-textdirection-l-to-r.svg | 2 +- .../material/format-textdirection-r-to-l.svg | 2 +- material/.icons/material/format-underline.svg | 2 +- material/.icons/material/forum-outline.svg | 2 +- material/.icons/material/forum.svg | 2 +- material/.icons/material/fountain.svg | 2 +- material/.icons/material/freebsd.svg | 2 +- .../material/frequently-asked-questions.svg | 2 +- .../.icons/material/fridge-alert-outline.svg | 2 +- material/.icons/material/fridge-alert.svg | 2 +- material/.icons/material/fridge-bottom.svg | 2 +- .../fridge-industrial-alert-outline.svg | 2 +- .../material/fridge-industrial-alert.svg | 2 +- .../fridge-industrial-off-outline.svg | 2 +- .../.icons/material/fridge-industrial-off.svg | 2 +- .../material/fridge-industrial-outline.svg | 2 +- .../.icons/material/fridge-industrial.svg | 2 +- .../.icons/material/fridge-off-outline.svg | 2 +- material/.icons/material/fridge-off.svg | 2 +- material/.icons/material/fridge-outline.svg | 2 +- material/.icons/material/fridge-top.svg | 2 +- .../material/fridge-variant-alert-outline.svg | 2 +- .../.icons/material/fridge-variant-alert.svg | 2 +- .../material/fridge-variant-off-outline.svg | 2 +- .../.icons/material/fridge-variant-off.svg | 2 +- .../material/fridge-variant-outline.svg | 2 +- material/.icons/material/fridge-variant.svg | 2 +- material/.icons/material/fridge.svg | 2 +- .../.icons/material/fruit-grapes-outline.svg | 2 +- material/.icons/material/fuel.svg | 2 +- material/.icons/material/function-variant.svg | 2 +- material/.icons/material/function.svg | 2 +- .../.icons/material/furigana-horizontal.svg | 2 +- .../.icons/material/furigana-vertical.svg | 2 +- material/.icons/material/fuse-blade.svg | 2 +- material/.icons/material/fuse.svg | 2 +- .../.icons/material/gamepad-circle-down.svg | 2 +- .../.icons/material/gamepad-circle-left.svg | 2 +- .../material/gamepad-circle-outline.svg | 2 +- .../.icons/material/gamepad-circle-right.svg | 2 +- .../.icons/material/gamepad-circle-up.svg | 2 +- material/.icons/material/gamepad-circle.svg | 2 +- .../.icons/material/gamepad-round-down.svg | 2 +- .../.icons/material/gamepad-round-left.svg | 2 +- .../.icons/material/gamepad-round-outline.svg | 2 +- .../.icons/material/gamepad-round-right.svg | 2 +- material/.icons/material/gamepad-round-up.svg | 2 +- material/.icons/material/gamepad-round.svg | 2 +- .../material/gamepad-square-outline.svg | 2 +- material/.icons/material/gamepad-square.svg | 2 +- .../material/gamepad-variant-outline.svg | 2 +- material/.icons/material/gamepad-variant.svg | 2 +- material/.icons/material/gantry-crane.svg | 2 +- material/.icons/material/gas-cylinder.svg | 2 +- .../material/gas-station-off-outline.svg | 2 +- material/.icons/material/gas-station-off.svg | 2 +- .../.icons/material/gas-station-outline.svg | 2 +- material/.icons/material/gas-station.svg | 2 +- material/.icons/material/gate-and.svg | 2 +- material/.icons/material/gate-arrow-right.svg | 2 +- material/.icons/material/gate-nand.svg | 2 +- material/.icons/material/gate-nor.svg | 2 +- material/.icons/material/gate-not.svg | 2 +- material/.icons/material/gate-xnor.svg | 2 +- material/.icons/material/gatsby.svg | 2 +- material/.icons/material/gauge-empty.svg | 2 +- material/.icons/material/gauge-full.svg | 2 +- material/.icons/material/gauge-low.svg | 2 +- material/.icons/material/gauge.svg | 2 +- material/.icons/material/gavel.svg | 2 +- material/.icons/material/gender-female.svg | 2 +- .../material/gender-male-female-variant.svg | 2 +- .../.icons/material/gender-male-female.svg | 2 +- material/.icons/material/gender-male.svg | 2 +- .../.icons/material/gender-non-binary.svg | 2 +- .../.icons/material/gender-transgender.svg | 2 +- .../.icons/material/gesture-double-tap.svg | 2 +- material/.icons/material/gesture-pinch.svg | 2 +- material/.icons/material/gesture-spread.svg | 2 +- .../.icons/material/gesture-swipe-down.svg | 2 +- .../material/gesture-swipe-horizontal.svg | 2 +- .../.icons/material/gesture-swipe-left.svg | 2 +- .../.icons/material/gesture-swipe-right.svg | 2 +- material/.icons/material/gesture-swipe-up.svg | 2 +- .../material/gesture-swipe-vertical.svg | 2 +- .../.icons/material/gesture-tap-button.svg | 2 +- material/.icons/material/gesture-tap-hold.svg | 2 +- material/.icons/material/gesture-tap.svg | 2 +- .../material/gesture-two-double-tap.svg | 2 +- material/.icons/material/gesture-two-tap.svg | 2 +- material/.icons/material/gesture.svg | 2 +- .../.icons/material/ghost-off-outline.svg | 2 +- material/.icons/material/ghost-off.svg | 2 +- material/.icons/material/ghost-outline.svg | 2 +- material/.icons/material/ghost.svg | 2 +- material/.icons/material/gift-off-outline.svg | 2 +- material/.icons/material/gift-off.svg | 2 +- .../.icons/material/gift-open-outline.svg | 2 +- material/.icons/material/gift-open.svg | 2 +- material/.icons/material/gift-outline.svg | 2 +- material/.icons/material/gift.svg | 2 +- material/.icons/material/git.svg | 2 +- material/.icons/material/github.svg | 2 +- material/.icons/material/gitlab.svg | 2 +- .../.icons/material/glass-mug-variant-off.svg | 2 +- .../.icons/material/glass-mug-variant.svg | 2 +- material/.icons/material/glass-mug.svg | 2 +- material/.icons/material/glass-wine.svg | 2 +- material/.icons/material/glasses.svg | 2 +- material/.icons/material/globe-model.svg | 2 +- material/.icons/material/gmail.svg | 2 +- material/.icons/material/go-kart-track.svg | 2 +- material/.icons/material/go-kart.svg | 2 +- material/.icons/material/gog.svg | 2 +- material/.icons/material/golf-cart.svg | 2 +- material/.icons/material/golf.svg | 2 +- material/.icons/material/gondola.svg | 2 +- material/.icons/material/google-ads.svg | 2 +- material/.icons/material/google-analytics.svg | 2 +- material/.icons/material/google-assistant.svg | 2 +- material/.icons/material/google-chrome.svg | 2 +- .../material/google-circles-communities.svg | 2 +- .../material/google-circles-extended.svg | 2 +- .../.icons/material/google-circles-group.svg | 2 +- material/.icons/material/google-circles.svg | 2 +- material/.icons/material/google-classroom.svg | 2 +- material/.icons/material/google-cloud.svg | 2 +- .../.icons/material/google-controller-off.svg | 2 +- .../.icons/material/google-controller.svg | 2 +- material/.icons/material/google-fit.svg | 2 +- material/.icons/material/google-hangouts.svg | 2 +- material/.icons/material/google-keep.svg | 2 +- material/.icons/material/google-lens.svg | 2 +- material/.icons/material/google-maps.svg | 2 +- .../.icons/material/google-my-business.svg | 2 +- material/.icons/material/google-podcast.svg | 2 +- .../.icons/material/google-street-view.svg | 2 +- material/.icons/material/google-translate.svg | 2 +- material/.icons/material/gradient.svg | 2 +- material/.icons/material/grain.svg | 2 +- material/.icons/material/graph-outline.svg | 2 +- material/.icons/material/graph.svg | 2 +- material/.icons/material/graphql.svg | 2 +- material/.icons/material/grass.svg | 2 +- material/.icons/material/grid-large.svg | 2 +- material/.icons/material/grid-off.svg | 2 +- material/.icons/material/grid.svg | 2 +- material/.icons/material/grill-outline.svg | 2 +- material/.icons/material/grill.svg | 2 +- material/.icons/material/guitar-acoustic.svg | 2 +- material/.icons/material/guy-fawkes-mask.svg | 2 +- material/.icons/material/hail.svg | 2 +- .../.icons/material/hair-dryer-outline.svg | 2 +- material/.icons/material/hair-dryer.svg | 2 +- material/.icons/material/halloween.svg | 2 +- material/.icons/material/hammer-wrench.svg | 2 +- .../.icons/material/hand-heart-outline.svg | 2 +- material/.icons/material/hand-left.svg | 2 +- material/.icons/material/hand-okay.svg | 2 +- material/.icons/material/hand-peace.svg | 2 +- .../.icons/material/hand-pointing-down.svg | 2 +- .../.icons/material/hand-pointing-left.svg | 2 +- .../.icons/material/hand-pointing-right.svg | 2 +- material/.icons/material/hand-pointing-up.svg | 2 +- material/.icons/material/hand-right.svg | 2 +- .../.icons/material/hand-wash-outline.svg | 2 +- material/.icons/material/hand-wash.svg | 2 +- material/.icons/material/hand-water.svg | 2 +- material/.icons/material/hand.svg | 2 +- material/.icons/material/handball.svg | 2 +- material/.icons/material/handcuffs.svg | 2 +- material/.icons/material/handshake.svg | 2 +- material/.icons/material/hanger.svg | 2 +- material/.icons/material/hard-hat.svg | 2 +- material/.icons/material/harddisk-plus.svg | 2 +- material/.icons/material/harddisk-remove.svg | 2 +- material/.icons/material/harddisk.svg | 2 +- material/.icons/material/hat-fedora.svg | 2 +- .../.icons/material/head-check-outline.svg | 2 +- material/.icons/material/head-cog-outline.svg | 2 +- material/.icons/material/head-cog.svg | 2 +- .../.icons/material/head-heart-outline.svg | 2 +- material/.icons/material/head-lightbulb.svg | 2 +- .../.icons/material/head-question-outline.svg | 2 +- material/.icons/material/head-question.svg | 2 +- .../material/head-snowflake-outline.svg | 2 +- material/.icons/material/head-snowflake.svg | 2 +- .../.icons/material/head-sync-outline.svg | 2 +- material/.icons/material/head-sync.svg | 2 +- .../.icons/material/headphones-bluetooth.svg | 2 +- material/.icons/material/headphones-box.svg | 2 +- material/.icons/material/headphones-off.svg | 2 +- .../.icons/material/headphones-settings.svg | 2 +- material/.icons/material/headphones.svg | 2 +- material/.icons/material/headset-dock.svg | 2 +- material/.icons/material/headset-off.svg | 2 +- material/.icons/material/headset.svg | 2 +- .../.icons/material/heart-box-outline.svg | 2 +- material/.icons/material/heart-box.svg | 2 +- .../.icons/material/heart-circle-outline.svg | 2 +- material/.icons/material/heart-circle.svg | 2 +- .../.icons/material/heart-cog-outline.svg | 2 +- material/.icons/material/heart-cog.svg | 2 +- .../.icons/material/heart-half-outline.svg | 2 +- material/.icons/material/heart-half.svg | 2 +- material/.icons/material/heart-pulse.svg | 2 +- material/.icons/material/helicopter.svg | 2 +- material/.icons/material/help-box.svg | 2 +- .../.icons/material/help-circle-outline.svg | 2 +- material/.icons/material/help-circle.svg | 2 +- .../.icons/material/help-network-outline.svg | 2 +- material/.icons/material/help-network.svg | 2 +- material/.icons/material/help.svg | 2 +- material/.icons/material/hexadecimal.svg | 2 +- .../material/hexagon-multiple-outline.svg | 2 +- material/.icons/material/hexagon-outline.svg | 2 +- material/.icons/material/hexagon-slice-1.svg | 2 +- material/.icons/material/hexagon-slice-2.svg | 2 +- material/.icons/material/hexagon-slice-3.svg | 2 +- material/.icons/material/hexagon-slice-4.svg | 2 +- material/.icons/material/hexagon-slice-5.svg | 2 +- material/.icons/material/hexagon-slice-6.svg | 2 +- material/.icons/material/hexagon.svg | 2 +- .../.icons/material/high-definition-box.svg | 2 +- material/.icons/material/high-definition.svg | 2 +- material/.icons/material/hiking.svg | 2 +- material/.icons/material/history.svg | 2 +- material/.icons/material/home-account.svg | 2 +- material/.icons/material/home-assistant.svg | 2 +- material/.icons/material/home-automation.svg | 2 +- .../.icons/material/home-edit-outline.svg | 2 +- material/.icons/material/home-edit.svg | 2 +- material/.icons/material/home-floor-0.svg | 2 +- material/.icons/material/home-floor-2.svg | 2 +- material/.icons/material/home-floor-3.svg | 2 +- material/.icons/material/home-floor-a.svg | 2 +- material/.icons/material/home-floor-b.svg | 2 +- material/.icons/material/home-floor-g.svg | 2 +- material/.icons/material/home-heart.svg | 2 +- .../material/home-lightbulb-outline.svg | 2 +- material/.icons/material/home-lightbulb.svg | 2 +- material/.icons/material/home-lock-open.svg | 2 +- material/.icons/material/home-lock.svg | 2 +- material/.icons/material/home-map-marker.svg | 2 +- material/.icons/material/home-modern.svg | 2 +- .../.icons/material/home-search-outline.svg | 2 +- material/.icons/material/home-search.svg | 2 +- .../material/home-thermometer-outline.svg | 2 +- material/.icons/material/home-thermometer.svg | 2 +- material/.icons/material/hook-off.svg | 2 +- material/.icons/material/hook.svg | 2 +- material/.icons/material/horse-human.svg | 2 +- material/.icons/material/horse-variant.svg | 2 +- material/.icons/material/horse.svg | 2 +- material/.icons/material/hospital-box.svg | 2 +- .../.icons/material/hospital-building.svg | 2 +- material/.icons/material/hospital-marker.svg | 2 +- material/.icons/material/hot-tub.svg | 2 +- material/.icons/material/hours-24.svg | 2 +- .../material/human-baby-changing-table.svg | 2 +- material/.icons/material/human-cane.svg | 2 +- material/.icons/material/human-child.svg | 2 +- material/.icons/material/human-female-boy.svg | 2 +- .../.icons/material/human-female-dance.svg | 2 +- .../.icons/material/human-female-female.svg | 2 +- .../.icons/material/human-female-girl.svg | 2 +- material/.icons/material/human-female.svg | 2 +- .../material/human-greeting-proximity.svg | 2 +- material/.icons/material/human-greeting.svg | 2 +- material/.icons/material/human-handsdown.svg | 2 +- material/.icons/material/human-handsup.svg | 2 +- material/.icons/material/human-male-boy.svg | 2 +- .../.icons/material/human-male-female.svg | 2 +- material/.icons/material/human-male-girl.svg | 2 +- .../material/human-male-height-variant.svg | 2 +- .../.icons/material/human-male-height.svg | 2 +- material/.icons/material/human-male-male.svg | 2 +- material/.icons/material/human-male.svg | 2 +- material/.icons/material/human-pregnant.svg | 2 +- material/.icons/material/human-queue.svg | 2 +- material/.icons/material/human-scooter.svg | 2 +- material/.icons/material/human-wheelchair.svg | 2 +- material/.icons/material/human.svg | 2 +- .../material/hydraulic-oil-temperature.svg | 2 +- material/.icons/material/hydro-power.svg | 2 +- material/.icons/material/ice-cream.svg | 2 +- material/.icons/material/ice-pop.svg | 2 +- material/.icons/material/identifier.svg | 2 +- material/.icons/material/iframe-outline.svg | 2 +- material/.icons/material/iframe.svg | 2 +- material/.icons/material/image-album.svg | 2 +- material/.icons/material/image-area-close.svg | 2 +- material/.icons/material/image-area.svg | 2 +- .../.icons/material/image-broken-variant.svg | 2 +- material/.icons/material/image-broken.svg | 2 +- .../.icons/material/image-edit-outline.svg | 2 +- .../material/image-filter-black-white.svg | 2 +- .../image-filter-center-focus-weak.svg | 2 +- .../material/image-filter-center-focus.svg | 2 +- .../.icons/material/image-filter-drama.svg | 2 +- .../.icons/material/image-filter-frames.svg | 2 +- .../.icons/material/image-filter-none.svg | 2 +- .../material/image-filter-tilt-shift.svg | 2 +- .../.icons/material/image-filter-vintage.svg | 2 +- material/.icons/material/image-minus.svg | 2 +- material/.icons/material/image-move.svg | 2 +- .../material/image-multiple-outline.svg | 2 +- material/.icons/material/image-multiple.svg | 2 +- material/.icons/material/image-outline.svg | 2 +- material/.icons/material/image-plus.svg | 2 +- material/.icons/material/image-remove.svg | 2 +- material/.icons/material/image-search.svg | 2 +- .../material/image-size-select-actual.svg | 2 +- .../material/image-size-select-large.svg | 2 +- .../material/image-size-select-small.svg | 2 +- material/.icons/material/image.svg | 2 +- material/.icons/material/import.svg | 2 +- .../material/inbox-arrow-down-outline.svg | 2 +- material/.icons/material/inbox-arrow-down.svg | 2 +- .../material/inbox-arrow-up-outline.svg | 2 +- material/.icons/material/inbox-arrow-up.svg | 2 +- .../.icons/material/inbox-full-outline.svg | 2 +- material/.icons/material/inbox-full.svg | 2 +- .../material/inbox-multiple-outline.svg | 2 +- material/.icons/material/inbox-multiple.svg | 2 +- material/.icons/material/inbox-outline.svg | 2 +- material/.icons/material/inbox.svg | 2 +- .../.icons/material/incognito-circle-off.svg | 2 +- material/.icons/material/incognito-circle.svg | 2 +- material/.icons/material/incognito-off.svg | 2 +- .../.icons/material/information-outline.svg | 2 +- .../.icons/material/information-variant.svg | 2 +- material/.icons/material/information.svg | 2 +- material/.icons/material/instagram.svg | 2 +- .../.icons/material/invert-colors-off.svg | 2 +- material/.icons/material/invert-colors.svg | 2 +- material/.icons/material/iobroker.svg | 2 +- .../.icons/material/ip-network-outline.svg | 2 +- material/.icons/material/ip-network.svg | 2 +- material/.icons/material/ip.svg | 2 +- material/.icons/material/ipod.svg | 2 +- material/.icons/material/islam.svg | 2 +- material/.icons/material/island.svg | 2 +- material/.icons/material/jeepney.svg | 2 +- .../.icons/material/jellyfish-outline.svg | 2 +- material/.icons/material/jellyfish.svg | 2 +- material/.icons/material/jira.svg | 2 +- material/.icons/material/jquery.svg | 2 +- material/.icons/material/jsfiddle.svg | 2 +- material/.icons/material/kangaroo.svg | 2 +- material/.icons/material/karate.svg | 2 +- material/.icons/material/keg.svg | 2 +- material/.icons/material/kettle-outline.svg | 2 +- .../.icons/material/kettle-steam-outline.svg | 2 +- material/.icons/material/kettle-steam.svg | 2 +- material/.icons/material/kettle.svg | 2 +- .../.icons/material/key-chain-variant.svg | 2 +- material/.icons/material/key-chain.svg | 2 +- material/.icons/material/key-change.svg | 2 +- material/.icons/material/key-minus.svg | 2 +- material/.icons/material/key-outline.svg | 2 +- material/.icons/material/key-plus.svg | 2 +- material/.icons/material/key-remove.svg | 2 +- material/.icons/material/key-variant.svg | 2 +- material/.icons/material/key-wireless.svg | 2 +- material/.icons/material/key.svg | 2 +- material/.icons/material/keyboard-close.svg | 2 +- material/.icons/material/keyboard-esc.svg | 2 +- material/.icons/material/keyboard-f10.svg | 2 +- material/.icons/material/keyboard-f12.svg | 2 +- material/.icons/material/keyboard-f2.svg | 2 +- material/.icons/material/keyboard-f3.svg | 2 +- material/.icons/material/keyboard-f5.svg | 2 +- material/.icons/material/keyboard-f6.svg | 2 +- material/.icons/material/keyboard-f8.svg | 2 +- material/.icons/material/keyboard-f9.svg | 2 +- .../.icons/material/keyboard-off-outline.svg | 2 +- material/.icons/material/keyboard-off.svg | 2 +- material/.icons/material/keyboard-outline.svg | 2 +- .../material/keyboard-settings-outline.svg | 2 +- .../.icons/material/keyboard-settings.svg | 2 +- material/.icons/material/keyboard.svg | 2 +- material/.icons/material/khanda.svg | 2 +- material/.icons/material/kickstarter.svg | 2 +- material/.icons/material/klingon.svg | 2 +- material/.icons/material/kubernetes.svg | 2 +- .../.icons/material/label-off-outline.svg | 2 +- material/.icons/material/label-off.svg | 2 +- material/.icons/material/label-outline.svg | 2 +- .../.icons/material/label-percent-outline.svg | 2 +- material/.icons/material/label-percent.svg | 2 +- material/.icons/material/label.svg | 2 +- material/.icons/material/ladybug.svg | 2 +- material/.icons/material/language-lua.svg | 2 +- material/.icons/material/language-python.svg | 2 +- material/.icons/material/language-swift.svg | 2 +- material/.icons/material/language-xaml.svg | 2 +- material/.icons/material/laptop-mac.svg | 2 +- material/.icons/material/laptop-off.svg | 2 +- material/.icons/material/laptop-windows.svg | 2 +- material/.icons/material/laptop.svg | 2 +- material/.icons/material/laravel.svg | 2 +- material/.icons/material/laser-pointer.svg | 2 +- material/.icons/material/lasso.svg | 2 +- material/.icons/material/lastpass.svg | 2 +- material/.icons/material/launch.svg | 2 +- material/.icons/material/lava-lamp.svg | 2 +- .../.icons/material/layers-search-outline.svg | 2 +- material/.icons/material/layers-search.svg | 2 +- material/.icons/material/leak-off.svg | 2 +- material/.icons/material/leak.svg | 2 +- material/.icons/material/led-off.svg | 2 +- material/.icons/material/led-on.svg | 2 +- material/.icons/material/led-outline.svg | 2 +- material/.icons/material/led-variant-off.svg | 2 +- material/.icons/material/led-variant-on.svg | 2 +- .../.icons/material/led-variant-outline.svg | 2 +- material/.icons/material/leek.svg | 2 +- material/.icons/material/library.svg | 2 +- material/.icons/material/license.svg | 2 +- material/.icons/material/lifebuoy.svg | 2 +- material/.icons/material/light-switch.svg | 2 +- .../.icons/material/lightbulb-cfl-off.svg | 2 +- .../material/lightbulb-cfl-spiral-off.svg | 2 +- .../.icons/material/lightbulb-cfl-spiral.svg | 2 +- material/.icons/material/lightbulb-cfl.svg | 2 +- .../.icons/material/lightbulb-group-off.svg | 2 +- .../material/lightbulb-group-outline.svg | 2 +- material/.icons/material/lightbulb-group.svg | 2 +- .../lightbulb-multiple-off-outline.svg | 2 +- .../material/lightbulb-multiple-off.svg | 2 +- .../material/lightbulb-multiple-outline.svg | 2 +- .../.icons/material/lightbulb-off-outline.svg | 2 +- material/.icons/material/lightbulb-off.svg | 2 +- .../.icons/material/lightbulb-on-outline.svg | 2 +- material/.icons/material/lightbulb-on.svg | 2 +- .../.icons/material/lightbulb-outline.svg | 2 +- material/.icons/material/lightbulb.svg | 2 +- material/.icons/material/lingerie.svg | 2 +- material/.icons/material/link-box-outline.svg | 2 +- .../material/link-box-variant-outline.svg | 2 +- material/.icons/material/link-box-variant.svg | 2 +- material/.icons/material/link-box.svg | 2 +- material/.icons/material/link-lock.svg | 2 +- material/.icons/material/link-off.svg | 2 +- material/.icons/material/link-plus.svg | 2 +- .../.icons/material/link-variant-minus.svg | 2 +- material/.icons/material/link-variant-off.svg | 2 +- .../.icons/material/link-variant-plus.svg | 2 +- .../.icons/material/link-variant-remove.svg | 2 +- material/.icons/material/link-variant.svg | 2 +- material/.icons/material/link.svg | 2 +- material/.icons/material/linkedin.svg | 2 +- material/.icons/material/linux-mint.svg | 2 +- material/.icons/material/linux.svg | 2 +- material/.icons/material/loading.svg | 2 +- material/.icons/material/location-enter.svg | 2 +- material/.icons/material/location-exit.svg | 2 +- .../.icons/material/lock-check-outline.svg | 2 +- material/.icons/material/lock-check.svg | 2 +- material/.icons/material/lock-clock.svg | 2 +- .../.icons/material/lock-minus-outline.svg | 2 +- material/.icons/material/lock-minus.svg | 2 +- material/.icons/material/lock-off-outline.svg | 2 +- material/.icons/material/lock-off.svg | 2 +- .../material/lock-open-check-outline.svg | 2 +- material/.icons/material/lock-open-check.svg | 2 +- .../material/lock-open-minus-outline.svg | 2 +- material/.icons/material/lock-open-minus.svg | 2 +- .../.icons/material/lock-open-outline.svg | 2 +- .../material/lock-open-plus-outline.svg | 2 +- material/.icons/material/lock-open-plus.svg | 2 +- .../material/lock-open-remove-outline.svg | 2 +- material/.icons/material/lock-open-remove.svg | 2 +- .../material/lock-open-variant-outline.svg | 2 +- .../.icons/material/lock-open-variant.svg | 2 +- material/.icons/material/lock-open.svg | 2 +- material/.icons/material/lock-outline.svg | 2 +- material/.icons/material/lock-pattern.svg | 2 +- .../.icons/material/lock-plus-outline.svg | 2 +- material/.icons/material/lock-plus.svg | 2 +- material/.icons/material/lock-question.svg | 2 +- .../.icons/material/lock-remove-outline.svg | 2 +- material/.icons/material/lock-remove.svg | 2 +- material/.icons/material/lock-reset.svg | 2 +- material/.icons/material/lock-smart.svg | 2 +- material/.icons/material/lock.svg | 2 +- material/.icons/material/locker-multiple.svg | 2 +- material/.icons/material/locker.svg | 2 +- material/.icons/material/login-variant.svg | 2 +- material/.icons/material/login.svg | 2 +- material/.icons/material/logout-variant.svg | 2 +- material/.icons/material/logout.svg | 2 +- material/.icons/material/longitude.svg | 2 +- material/.icons/material/looks.svg | 2 +- material/.icons/material/lotion-outline.svg | 2 +- .../.icons/material/lotion-plus-outline.svg | 2 +- material/.icons/material/lotion-plus.svg | 2 +- material/.icons/material/lotion.svg | 2 +- material/.icons/material/loupe.svg | 2 +- material/.icons/material/lungs.svg | 2 +- material/.icons/material/magnet-on.svg | 2 +- material/.icons/material/magnet.svg | 2 +- material/.icons/material/magnify-close.svg | 2 +- .../.icons/material/magnify-minus-cursor.svg | 2 +- .../.icons/material/magnify-minus-outline.svg | 2 +- material/.icons/material/magnify-minus.svg | 2 +- .../.icons/material/magnify-plus-cursor.svg | 2 +- .../.icons/material/magnify-plus-outline.svg | 2 +- material/.icons/material/magnify-plus.svg | 2 +- .../.icons/material/magnify-remove-cursor.svg | 2 +- .../material/magnify-remove-outline.svg | 2 +- material/.icons/material/magnify-scan.svg | 2 +- material/.icons/material/magnify.svg | 2 +- material/.icons/material/mail.svg | 2 +- .../.icons/material/mailbox-open-outline.svg | 2 +- .../material/mailbox-open-up-outline.svg | 2 +- material/.icons/material/mailbox-open-up.svg | 2 +- material/.icons/material/mailbox-open.svg | 2 +- material/.icons/material/mailbox-outline.svg | 2 +- .../.icons/material/mailbox-up-outline.svg | 2 +- material/.icons/material/mailbox-up.svg | 2 +- material/.icons/material/mailbox.svg | 2 +- .../.icons/material/map-check-outline.svg | 2 +- material/.icons/material/map-check.svg | 2 +- .../.icons/material/map-clock-outline.svg | 2 +- material/.icons/material/map-clock.svg | 2 +- material/.icons/material/map-legend.svg | 2 +- .../material/map-marker-alert-outline.svg | 2 +- .../.icons/material/map-marker-circle.svg | 2 +- .../.icons/material/map-marker-distance.svg | 2 +- material/.icons/material/map-marker-down.svg | 2 +- .../material/map-marker-left-outline.svg | 2 +- material/.icons/material/map-marker-left.svg | 2 +- material/.icons/material/map-marker-minus.svg | 2 +- .../material/map-marker-multiple-outline.svg | 2 +- .../.icons/material/map-marker-multiple.svg | 2 +- material/.icons/material/map-marker-off.svg | 2 +- .../.icons/material/map-marker-outline.svg | 2 +- material/.icons/material/map-marker-path.svg | 2 +- material/.icons/material/map-marker-plus.svg | 2 +- .../material/map-marker-question-outline.svg | 2 +- .../.icons/material/map-marker-question.svg | 2 +- .../.icons/material/map-marker-radius.svg | 2 +- .../.icons/material/map-marker-remove.svg | 2 +- .../material/map-marker-right-outline.svg | 2 +- material/.icons/material/map-marker-right.svg | 2 +- material/.icons/material/map-marker-up.svg | 2 +- material/.icons/material/map-marker.svg | 2 +- material/.icons/material/map-minus.svg | 2 +- material/.icons/material/map-outline.svg | 2 +- material/.icons/material/map-plus.svg | 2 +- .../.icons/material/map-search-outline.svg | 2 +- material/.icons/material/map-search.svg | 2 +- material/.icons/material/map.svg | 2 +- material/.icons/material/mapbox.svg | 2 +- material/.icons/material/margin.svg | 2 +- material/.icons/material/marker-cancel.svg | 2 +- material/.icons/material/marker-check.svg | 2 +- material/.icons/material/math-compass.svg | 2 +- material/.icons/material/math-cos.svg | 2 +- material/.icons/material/math-sin.svg | 2 +- material/.icons/material/math-tan.svg | 2 +- material/.icons/material/medal-outline.svg | 2 +- material/.icons/material/medal.svg | 2 +- material/.icons/material/meditation.svg | 2 +- material/.icons/material/memory.svg | 2 +- .../.icons/material/message-alert-outline.svg | 2 +- .../.icons/material/message-bulleted-off.svg | 2 +- material/.icons/material/message-bulleted.svg | 2 +- material/.icons/material/message-cog.svg | 2 +- material/.icons/material/message-draw.svg | 2 +- material/.icons/material/message-image.svg | 2 +- material/.icons/material/message-lock.svg | 2 +- material/.icons/material/message-minus.svg | 2 +- .../.icons/material/message-off-outline.svg | 2 +- material/.icons/material/message-off.svg | 2 +- material/.icons/material/message-plus.svg | 2 +- .../.icons/material/message-processing.svg | 2 +- .../material/message-reply-text-outline.svg | 2 +- .../.icons/material/message-reply-text.svg | 2 +- material/.icons/material/message-reply.svg | 2 +- material/.icons/material/message-settings.svg | 2 +- .../material/message-text-clock-outline.svg | 2 +- .../.icons/material/message-text-clock.svg | 2 +- .../material/message-text-lock-outline.svg | 2 +- .../.icons/material/message-text-lock.svg | 2 +- .../.icons/material/message-text-outline.svg | 2 +- material/.icons/material/message-text.svg | 2 +- material/.icons/material/message-video.svg | 2 +- material/.icons/material/message.svg | 2 +- material/.icons/material/micro-sd.svg | 2 +- material/.icons/material/microphone-minus.svg | 2 +- material/.icons/material/microphone-off.svg | 2 +- .../.icons/material/microphone-outline.svg | 2 +- material/.icons/material/microphone-plus.svg | 2 +- .../.icons/material/microphone-settings.svg | 2 +- .../material/microphone-variant-off.svg | 2 +- .../.icons/material/microphone-variant.svg | 2 +- material/.icons/material/microphone.svg | 2 +- material/.icons/material/microscope.svg | 2 +- .../material/microsoft-internet-explorer.svg | 2 +- .../material/microsoft-visual-studio-code.svg | 2 +- ...icrosoft-xbox-controller-battery-alert.svg | 2 +- ...osoft-xbox-controller-battery-charging.svg | 2 +- ...icrosoft-xbox-controller-battery-empty.svg | 2 +- ...microsoft-xbox-controller-battery-full.svg | 2 +- .../microsoft-xbox-controller-battery-low.svg | 2 +- ...crosoft-xbox-controller-battery-medium.svg | 2 +- ...rosoft-xbox-controller-battery-unknown.svg | 2 +- .../microsoft-xbox-controller-menu.svg | 2 +- .../microsoft-xbox-controller-off.svg | 2 +- .../microsoft-xbox-controller-view.svg | 2 +- .../material/microsoft-xbox-controller.svg | 2 +- material/.icons/material/microsoft-xbox.svg | 2 +- material/.icons/material/microwave-off.svg | 2 +- material/.icons/material/microwave.svg | 2 +- material/.icons/material/midi-port.svg | 2 +- material/.icons/material/mine.svg | 2 +- material/.icons/material/minecraft.svg | 2 +- material/.icons/material/mini-sd.svg | 2 +- material/.icons/material/minidisc.svg | 2 +- .../material/minus-box-multiple-outline.svg | 2 +- .../.icons/material/minus-box-multiple.svg | 2 +- .../.icons/material/minus-box-outline.svg | 2 +- material/.icons/material/minus-box.svg | 2 +- .../.icons/material/minus-circle-outline.svg | 2 +- material/.icons/material/minus-circle.svg | 2 +- .../.icons/material/minus-network-outline.svg | 2 +- material/.icons/material/minus-network.svg | 2 +- material/.icons/material/mixed-reality.svg | 2 +- material/.icons/material/molecule-co.svg | 2 +- material/.icons/material/molecule-co2.svg | 2 +- material/.icons/material/molecule.svg | 2 +- .../material/monitor-cellphone-star.svg | 2 +- .../.icons/material/monitor-cellphone.svg | 2 +- material/.icons/material/monitor-clean.svg | 2 +- .../.icons/material/monitor-dashboard.svg | 2 +- material/.icons/material/monitor-edit.svg | 2 +- material/.icons/material/monitor-eye.svg | 2 +- material/.icons/material/monitor-lock.svg | 2 +- material/.icons/material/monitor-multiple.svg | 2 +- material/.icons/material/monitor-off.svg | 2 +- .../.icons/material/monitor-screenshot.svg | 2 +- material/.icons/material/monitor-share.svg | 2 +- material/.icons/material/monitor-speaker.svg | 2 +- material/.icons/material/monitor-star.svg | 2 +- material/.icons/material/monitor.svg | 2 +- .../.icons/material/moon-first-quarter.svg | 2 +- material/.icons/material/moon-full.svg | 2 +- .../.icons/material/moon-last-quarter.svg | 2 +- material/.icons/material/moon-new.svg | 2 +- .../.icons/material/moon-waning-crescent.svg | 2 +- .../.icons/material/moon-waning-gibbous.svg | 2 +- .../.icons/material/moon-waxing-crescent.svg | 2 +- .../.icons/material/moon-waxing-gibbous.svg | 2 +- material/.icons/material/moped-outline.svg | 2 +- material/.icons/material/moped.svg | 2 +- material/.icons/material/more.svg | 2 +- material/.icons/material/mother-nurse.svg | 2 +- .../.icons/material/motion-sensor-off.svg | 2 +- material/.icons/material/motion-sensor.svg | 2 +- .../.icons/material/motorbike-electric.svg | 2 +- material/.icons/material/motorbike.svg | 2 +- material/.icons/material/mouse-bluetooth.svg | 2 +- material/.icons/material/mouse-off.svg | 2 +- .../.icons/material/mouse-variant-off.svg | 2 +- material/.icons/material/mouse-variant.svg | 2 +- material/.icons/material/mouse.svg | 2 +- .../.icons/material/move-resize-variant.svg | 2 +- .../.icons/material/movie-check-outline.svg | 2 +- material/.icons/material/movie-check.svg | 2 +- .../.icons/material/movie-cog-outline.svg | 2 +- material/.icons/material/movie-cog.svg | 2 +- .../.icons/material/movie-edit-outline.svg | 2 +- material/.icons/material/movie-edit.svg | 2 +- .../.icons/material/movie-filter-outline.svg | 2 +- .../.icons/material/movie-minus-outline.svg | 2 +- material/.icons/material/movie-minus.svg | 2 +- .../.icons/material/movie-off-outline.svg | 2 +- material/.icons/material/movie-off.svg | 2 +- .../material/movie-open-check-outline.svg | 2 +- material/.icons/material/movie-open-check.svg | 2 +- .../material/movie-open-cog-outline.svg | 2 +- material/.icons/material/movie-open-cog.svg | 2 +- .../material/movie-open-edit-outline.svg | 2 +- material/.icons/material/movie-open-edit.svg | 2 +- .../material/movie-open-minus-outline.svg | 2 +- material/.icons/material/movie-open-minus.svg | 2 +- .../.icons/material/movie-open-outline.svg | 2 +- .../material/movie-open-play-outline.svg | 2 +- material/.icons/material/movie-open-play.svg | 2 +- .../material/movie-open-plus-outline.svg | 2 +- material/.icons/material/movie-open-plus.svg | 2 +- .../material/movie-open-remove-outline.svg | 2 +- .../.icons/material/movie-open-remove.svg | 2 +- .../material/movie-open-settings-outline.svg | 2 +- .../.icons/material/movie-open-settings.svg | 2 +- .../material/movie-open-star-outline.svg | 2 +- material/.icons/material/movie-open-star.svg | 2 +- material/.icons/material/movie-open.svg | 2 +- material/.icons/material/movie-outline.svg | 2 +- .../.icons/material/movie-play-outline.svg | 2 +- material/.icons/material/movie-play.svg | 2 +- .../.icons/material/movie-plus-outline.svg | 2 +- material/.icons/material/movie-plus.svg | 2 +- .../.icons/material/movie-remove-outline.svg | 2 +- material/.icons/material/movie-remove.svg | 2 +- material/.icons/material/movie-roll.svg | 2 +- material/.icons/material/movie-search.svg | 2 +- .../material/movie-settings-outline.svg | 2 +- material/.icons/material/movie-settings.svg | 2 +- .../.icons/material/movie-star-outline.svg | 2 +- material/.icons/material/movie-star.svg | 2 +- material/.icons/material/movie.svg | 2 +- .../.icons/material/multiplication-box.svg | 2 +- material/.icons/material/mushroom-outline.svg | 2 +- material/.icons/material/mushroom.svg | 2 +- .../material/music-box-multiple-outline.svg | 2 +- .../.icons/material/music-box-multiple.svg | 2 +- .../.icons/material/music-box-outline.svg | 2 +- material/.icons/material/music-box.svg | 2 +- .../.icons/material/music-circle-outline.svg | 2 +- material/.icons/material/music-circle.svg | 2 +- material/.icons/material/music-clef-alto.svg | 2 +- material/.icons/material/music-clef-bass.svg | 2 +- .../.icons/material/music-clef-treble.svg | 2 +- .../material/music-note-eighth-dotted.svg | 2 +- .../material/music-note-half-dotted.svg | 2 +- material/.icons/material/music-note-half.svg | 2 +- .../material/music-note-off-outline.svg | 2 +- .../.icons/material/music-note-outline.svg | 2 +- .../material/music-note-quarter-dotted.svg | 2 +- .../material/music-note-sixteenth-dotted.svg | 2 +- .../material/music-note-whole-dotted.svg | 2 +- material/.icons/material/music-note-whole.svg | 2 +- material/.icons/material/music-off.svg | 2 +- .../.icons/material/music-rest-eighth.svg | 2 +- .../.icons/material/music-rest-sixteenth.svg | 2 +- material/.icons/material/music.svg | 2 +- material/.icons/material/nas.svg | 2 +- material/.icons/material/nativescript.svg | 2 +- material/.icons/material/nature-people.svg | 2 +- material/.icons/material/nature.svg | 2 +- .../.icons/material/network-off-outline.svg | 2 +- material/.icons/material/network-off.svg | 2 +- material/.icons/material/network-outline.svg | 2 +- material/.icons/material/network.svg | 2 +- material/.icons/material/new-box.svg | 2 +- material/.icons/material/newspaper-minus.svg | 2 +- material/.icons/material/newspaper-plus.svg | 2 +- material/.icons/material/newspaper.svg | 2 +- .../.icons/material/nfc-search-variant.svg | 2 +- material/.icons/material/nfc-tap.svg | 2 +- material/.icons/material/nfc-variant-off.svg | 2 +- material/.icons/material/nfc-variant.svg | 2 +- material/.icons/material/ninja.svg | 2 +- .../.icons/material/nintendo-game-boy.svg | 2 +- material/.icons/material/nintendo-switch.svg | 2 +- material/.icons/material/nintendo-wii.svg | 2 +- material/.icons/material/nodejs.svg | 2 +- .../.icons/material/note-minus-outline.svg | 2 +- material/.icons/material/note-minus.svg | 2 +- .../.icons/material/note-multiple-outline.svg | 2 +- material/.icons/material/note-multiple.svg | 2 +- material/.icons/material/note-outline.svg | 2 +- .../.icons/material/note-plus-outline.svg | 2 +- material/.icons/material/note-plus.svg | 2 +- .../.icons/material/note-remove-outline.svg | 2 +- material/.icons/material/note-remove.svg | 2 +- .../.icons/material/note-search-outline.svg | 2 +- material/.icons/material/note-search.svg | 2 +- .../.icons/material/note-text-outline.svg | 2 +- material/.icons/material/note-text.svg | 2 +- material/.icons/material/note.svg | 2 +- .../material/notebook-check-outline.svg | 2 +- material/.icons/material/notebook-check.svg | 2 +- .../.icons/material/notebook-edit-outline.svg | 2 +- material/.icons/material/notebook-edit.svg | 2 +- .../.icons/material/notebook-multiple.svg | 2 +- material/.icons/material/notebook-outline.svg | 2 +- material/.icons/material/notebook.svg | 2 +- material/.icons/material/nuke.svg | 2 +- .../numeric-0-box-multiple-outline.svg | 2 +- .../material/numeric-0-box-multiple.svg | 2 +- .../.icons/material/numeric-0-box-outline.svg | 2 +- material/.icons/material/numeric-0-box.svg | 2 +- .../material/numeric-0-circle-outline.svg | 2 +- material/.icons/material/numeric-0-circle.svg | 2 +- material/.icons/material/numeric-0.svg | 2 +- .../numeric-1-box-multiple-outline.svg | 2 +- .../material/numeric-1-box-multiple.svg | 2 +- .../.icons/material/numeric-1-box-outline.svg | 2 +- material/.icons/material/numeric-1-box.svg | 2 +- .../material/numeric-1-circle-outline.svg | 2 +- material/.icons/material/numeric-1-circle.svg | 2 +- .../numeric-10-box-multiple-outline.svg | 2 +- .../material/numeric-10-box-multiple.svg | 2 +- .../material/numeric-10-box-outline.svg | 2 +- material/.icons/material/numeric-10-box.svg | 2 +- .../material/numeric-10-circle-outline.svg | 2 +- .../.icons/material/numeric-10-circle.svg | 2 +- material/.icons/material/numeric-10.svg | 2 +- .../numeric-2-box-multiple-outline.svg | 2 +- .../material/numeric-2-box-multiple.svg | 2 +- .../.icons/material/numeric-2-box-outline.svg | 2 +- material/.icons/material/numeric-2-box.svg | 2 +- .../material/numeric-2-circle-outline.svg | 2 +- material/.icons/material/numeric-2-circle.svg | 2 +- material/.icons/material/numeric-2.svg | 2 +- .../numeric-3-box-multiple-outline.svg | 2 +- .../material/numeric-3-box-multiple.svg | 2 +- .../.icons/material/numeric-3-box-outline.svg | 2 +- material/.icons/material/numeric-3-box.svg | 2 +- .../material/numeric-3-circle-outline.svg | 2 +- material/.icons/material/numeric-3-circle.svg | 2 +- material/.icons/material/numeric-3.svg | 2 +- .../numeric-4-box-multiple-outline.svg | 2 +- .../material/numeric-4-box-multiple.svg | 2 +- .../.icons/material/numeric-4-box-outline.svg | 2 +- material/.icons/material/numeric-4-box.svg | 2 +- .../material/numeric-4-circle-outline.svg | 2 +- material/.icons/material/numeric-4-circle.svg | 2 +- .../numeric-5-box-multiple-outline.svg | 2 +- .../material/numeric-5-box-multiple.svg | 2 +- .../.icons/material/numeric-5-box-outline.svg | 2 +- material/.icons/material/numeric-5-box.svg | 2 +- .../material/numeric-5-circle-outline.svg | 2 +- material/.icons/material/numeric-5-circle.svg | 2 +- material/.icons/material/numeric-5.svg | 2 +- .../numeric-6-box-multiple-outline.svg | 2 +- .../material/numeric-6-box-multiple.svg | 2 +- .../.icons/material/numeric-6-box-outline.svg | 2 +- material/.icons/material/numeric-6-box.svg | 2 +- .../material/numeric-6-circle-outline.svg | 2 +- material/.icons/material/numeric-6-circle.svg | 2 +- material/.icons/material/numeric-6.svg | 2 +- .../numeric-7-box-multiple-outline.svg | 2 +- .../material/numeric-7-box-multiple.svg | 2 +- .../.icons/material/numeric-7-box-outline.svg | 2 +- material/.icons/material/numeric-7-box.svg | 2 +- .../material/numeric-7-circle-outline.svg | 2 +- material/.icons/material/numeric-7-circle.svg | 2 +- .../numeric-8-box-multiple-outline.svg | 2 +- .../material/numeric-8-box-multiple.svg | 2 +- .../.icons/material/numeric-8-box-outline.svg | 2 +- material/.icons/material/numeric-8-box.svg | 2 +- .../material/numeric-8-circle-outline.svg | 2 +- material/.icons/material/numeric-8-circle.svg | 2 +- material/.icons/material/numeric-8.svg | 2 +- .../numeric-9-box-multiple-outline.svg | 2 +- .../material/numeric-9-box-multiple.svg | 2 +- .../.icons/material/numeric-9-box-outline.svg | 2 +- material/.icons/material/numeric-9-box.svg | 2 +- .../material/numeric-9-circle-outline.svg | 2 +- material/.icons/material/numeric-9-circle.svg | 2 +- .../numeric-9-plus-box-multiple-outline.svg | 2 +- .../material/numeric-9-plus-box-multiple.svg | 2 +- .../material/numeric-9-plus-box-outline.svg | 2 +- .../.icons/material/numeric-9-plus-box.svg | 2 +- .../numeric-9-plus-circle-outline.svg | 2 +- .../.icons/material/numeric-9-plus-circle.svg | 2 +- material/.icons/material/numeric-9-plus.svg | 2 +- material/.icons/material/numeric-9.svg | 2 +- material/.icons/material/numeric.svg | 2 +- material/.icons/material/nut.svg | 2 +- material/.icons/material/nutrition.svg | 2 +- material/.icons/material/odnoklassniki.svg | 2 +- material/.icons/material/oil-lamp.svg | 2 +- material/.icons/material/oil-level.svg | 2 +- material/.icons/material/oil.svg | 2 +- material/.icons/material/one-up.svg | 2 +- material/.icons/material/onepassword.svg | 2 +- material/.icons/material/opacity.svg | 2 +- material/.icons/material/open-in-app.svg | 2 +- material/.icons/material/open-in-new.svg | 2 +- .../material/open-source-initiative.svg | 2 +- material/.icons/material/opera.svg | 2 +- material/.icons/material/orbit-variant.svg | 2 +- material/.icons/material/orbit.svg | 2 +- .../material/order-alphabetical-ascending.svg | 2 +- .../order-alphabetical-descending.svg | 2 +- .../material/order-numeric-ascending.svg | 2 +- .../material/order-numeric-descending.svg | 2 +- material/.icons/material/origin.svg | 2 +- material/.icons/material/ornament-variant.svg | 2 +- material/.icons/material/ornament.svg | 2 +- material/.icons/material/owl.svg | 2 +- material/.icons/material/pac-man.svg | 2 +- material/.icons/material/package-down.svg | 2 +- material/.icons/material/package-up.svg | 2 +- .../material/package-variant-closed.svg | 2 +- material/.icons/material/package-variant.svg | 2 +- material/.icons/material/package.svg | 2 +- material/.icons/material/page-layout-body.svg | 2 +- .../.icons/material/page-layout-footer.svg | 2 +- .../material/page-layout-header-footer.svg | 2 +- .../.icons/material/page-layout-header.svg | 2 +- .../material/page-layout-sidebar-left.svg | 2 +- .../material/page-layout-sidebar-right.svg | 2 +- .../.icons/material/page-next-outline.svg | 2 +- material/.icons/material/page-next.svg | 2 +- .../.icons/material/page-previous-outline.svg | 2 +- material/.icons/material/page-previous.svg | 2 +- .../.icons/material/pail-minus-outline.svg | 2 +- material/.icons/material/pail-minus.svg | 2 +- material/.icons/material/pail-off-outline.svg | 2 +- material/.icons/material/pail-off.svg | 2 +- material/.icons/material/pail-outline.svg | 2 +- .../.icons/material/pail-plus-outline.svg | 2 +- material/.icons/material/pail-plus.svg | 2 +- .../.icons/material/pail-remove-outline.svg | 2 +- material/.icons/material/pail-remove.svg | 2 +- material/.icons/material/pail.svg | 2 +- material/.icons/material/palette-advanced.svg | 2 +- material/.icons/material/palette-outline.svg | 2 +- material/.icons/material/palette-swatch.svg | 2 +- material/.icons/material/palette.svg | 2 +- material/.icons/material/palm-tree.svg | 2 +- material/.icons/material/pan-bottom-left.svg | 2 +- material/.icons/material/pan-bottom-right.svg | 2 +- material/.icons/material/pan-down.svg | 2 +- material/.icons/material/pan-horizontal.svg | 2 +- material/.icons/material/pan-left.svg | 2 +- material/.icons/material/pan-right.svg | 2 +- material/.icons/material/pan-top-left.svg | 2 +- material/.icons/material/pan-top-right.svg | 2 +- material/.icons/material/pan-up.svg | 2 +- material/.icons/material/pan-vertical.svg | 2 +- material/.icons/material/pan.svg | 2 +- material/.icons/material/panda.svg | 2 +- material/.icons/material/pandora.svg | 2 +- .../.icons/material/panorama-wide-angle.svg | 2 +- material/.icons/material/panorama.svg | 2 +- .../.icons/material/paper-cut-vertical.svg | 2 +- material/.icons/material/paperclip.svg | 2 +- .../.icons/material/parachute-outline.svg | 2 +- material/.icons/material/parachute.svg | 2 +- material/.icons/material/parking.svg | 2 +- .../.icons/material/passport-biometric.svg | 2 +- material/.icons/material/passport.svg | 2 +- .../.icons/material/pause-circle-outline.svg | 2 +- material/.icons/material/pause-circle.svg | 2 +- material/.icons/material/paw-off-outline.svg | 2 +- material/.icons/material/paw-outline.svg | 2 +- material/.icons/material/pdf-box.svg | 2 +- material/.icons/material/peace.svg | 2 +- .../.icons/material/peanut-off-outline.svg | 2 +- material/.icons/material/peanut-off.svg | 2 +- material/.icons/material/peanut-outline.svg | 2 +- material/.icons/material/peanut.svg | 2 +- .../material/pencil-box-multiple-outline.svg | 2 +- .../.icons/material/pencil-box-multiple.svg | 2 +- .../.icons/material/pencil-box-outline.svg | 2 +- material/.icons/material/pencil-box.svg | 2 +- .../.icons/material/pencil-circle-outline.svg | 2 +- material/.icons/material/pencil-lock.svg | 2 +- material/.icons/material/penguin.svg | 2 +- material/.icons/material/percent.svg | 2 +- material/.icons/material/phone-alert.svg | 2 +- material/.icons/material/phone-bluetooth.svg | 2 +- .../.icons/material/phone-check-outline.svg | 2 +- material/.icons/material/phone-check.svg | 2 +- .../.icons/material/phone-classic-off.svg | 2 +- material/.icons/material/phone-classic.svg | 2 +- material/.icons/material/phone-forward.svg | 2 +- .../.icons/material/phone-hangup-outline.svg | 2 +- material/.icons/material/phone-hangup.svg | 2 +- .../.icons/material/phone-in-talk-outline.svg | 2 +- material/.icons/material/phone-in-talk.svg | 2 +- material/.icons/material/phone-incoming.svg | 2 +- .../.icons/material/phone-lock-outline.svg | 2 +- material/.icons/material/phone-lock.svg | 2 +- material/.icons/material/phone-log.svg | 2 +- .../.icons/material/phone-message-outline.svg | 2 +- material/.icons/material/phone-message.svg | 2 +- material/.icons/material/phone-minus.svg | 2 +- material/.icons/material/phone-missed.svg | 2 +- material/.icons/material/phone-off.svg | 2 +- material/.icons/material/phone-outgoing.svg | 2 +- material/.icons/material/phone-paused.svg | 2 +- material/.icons/material/phone-plus.svg | 2 +- material/.icons/material/phone-return.svg | 2 +- .../.icons/material/phone-ring-outline.svg | 2 +- material/.icons/material/phone-ring.svg | 2 +- .../material/phone-rotate-landscape.svg | 2 +- .../.icons/material/phone-rotate-portrait.svg | 2 +- material/.icons/material/phone-settings.svg | 2 +- material/.icons/material/phone-voip.svg | 2 +- material/.icons/material/phone.svg | 2 +- material/.icons/material/pi-box.svg | 2 +- material/.icons/material/pi-hole.svg | 2 +- material/.icons/material/pi.svg | 2 +- material/.icons/material/piano.svg | 2 +- ...icture-in-picture-bottom-right-outline.svg | 2 +- .../picture-in-picture-bottom-right.svg | 2 +- .../picture-in-picture-top-right-outline.svg | 2 +- .../material/picture-in-picture-top-right.svg | 2 +- material/.icons/material/pier-crane.svg | 2 +- material/.icons/material/pig.svg | 2 +- material/.icons/material/piggy-bank.svg | 2 +- material/.icons/material/pill.svg | 2 +- material/.icons/material/pillar.svg | 2 +- material/.icons/material/pine-tree-box.svg | 2 +- material/.icons/material/pinterest.svg | 2 +- .../.icons/material/pipe-disconnected.svg | 2 +- material/.icons/material/pipe-leak.svg | 2 +- material/.icons/material/pipe.svg | 2 +- material/.icons/material/pistol.svg | 2 +- material/.icons/material/piston.svg | 2 +- material/.icons/material/pizza.svg | 2 +- .../.icons/material/play-box-multiple.svg | 2 +- material/.icons/material/play-box-outline.svg | 2 +- material/.icons/material/play-box.svg | 2 +- .../.icons/material/play-circle-outline.svg | 2 +- material/.icons/material/play-circle.svg | 2 +- .../.icons/material/play-network-outline.svg | 2 +- material/.icons/material/play-network.svg | 2 +- material/.icons/material/play-speed.svg | 2 +- material/.icons/material/playlist-edit.svg | 2 +- .../material/playlist-music-outline.svg | 2 +- material/.icons/material/playlist-music.svg | 2 +- .../material/plus-box-multiple-outline.svg | 2 +- .../.icons/material/plus-box-multiple.svg | 2 +- material/.icons/material/plus-box-outline.svg | 2 +- material/.icons/material/plus-box.svg | 2 +- .../.icons/material/plus-circle-outline.svg | 2 +- material/.icons/material/plus-circle.svg | 2 +- material/.icons/material/plus-minus-box.svg | 2 +- .../.icons/material/plus-network-outline.svg | 2 +- material/.icons/material/plus-network.svg | 2 +- material/.icons/material/podcast.svg | 2 +- material/.icons/material/pokeball.svg | 2 +- material/.icons/material/pokemon-go.svg | 2 +- material/.icons/material/poker-chip.svg | 2 +- material/.icons/material/polaroid.svg | 2 +- material/.icons/material/poll-box.svg | 2 +- material/.icons/material/polo.svg | 2 +- material/.icons/material/pool.svg | 2 +- material/.icons/material/postage-stamp.svg | 2 +- .../.icons/material/pot-steam-outline.svg | 2 +- material/.icons/material/pot-steam.svg | 2 +- .../.icons/material/pound-box-outline.svg | 2 +- material/.icons/material/pound-box.svg | 2 +- material/.icons/material/power-cycle.svg | 2 +- material/.icons/material/power-off.svg | 2 +- material/.icons/material/power-settings.svg | 2 +- material/.icons/material/power-sleep.svg | 2 +- material/.icons/material/power-socket-au.svg | 2 +- material/.icons/material/power-socket-de.svg | 2 +- material/.icons/material/power-socket-eu.svg | 2 +- material/.icons/material/power-socket-fr.svg | 2 +- material/.icons/material/power-socket-uk.svg | 2 +- material/.icons/material/power-socket-us.svg | 2 +- material/.icons/material/power-standby.svg | 2 +- material/.icons/material/power.svg | 2 +- material/.icons/material/powershell.svg | 2 +- material/.icons/material/prescription.svg | 2 +- .../.icons/material/presentation-play.svg | 2 +- material/.icons/material/presentation.svg | 2 +- material/.icons/material/pretzel.svg | 2 +- .../material/printer-3d-nozzle-outline.svg | 2 +- .../.icons/material/printer-3d-nozzle.svg | 2 +- material/.icons/material/printer-3d.svg | 2 +- material/.icons/material/printer-off.svg | 2 +- material/.icons/material/printer-pos.svg | 2 +- material/.icons/material/printer-settings.svg | 2 +- material/.icons/material/printer-wireless.svg | 2 +- material/.icons/material/printer.svg | 2 +- .../.icons/material/professional-hexagon.svg | 2 +- material/.icons/material/progress-alert.svg | 2 +- material/.icons/material/progress-check.svg | 2 +- material/.icons/material/progress-clock.svg | 2 +- material/.icons/material/progress-close.svg | 2 +- .../.icons/material/progress-download.svg | 2 +- .../.icons/material/progress-question.svg | 2 +- material/.icons/material/progress-upload.svg | 2 +- material/.icons/material/progress-wrench.svg | 2 +- material/.icons/material/projector-screen.svg | 2 +- material/.icons/material/projector.svg | 2 +- .../.icons/material/propane-tank-outline.svg | 2 +- material/.icons/material/propane-tank.svg | 2 +- material/.icons/material/protocol.svg | 2 +- material/.icons/material/pump.svg | 2 +- material/.icons/material/pumpkin.svg | 2 +- material/.icons/material/purse-outline.svg | 2 +- material/.icons/material/purse.svg | 2 +- .../.icons/material/puzzle-check-outline.svg | 2 +- material/.icons/material/puzzle-check.svg | 2 +- .../.icons/material/puzzle-edit-outline.svg | 2 +- material/.icons/material/puzzle-edit.svg | 2 +- .../.icons/material/puzzle-heart-outline.svg | 2 +- material/.icons/material/puzzle-heart.svg | 2 +- .../.icons/material/puzzle-minus-outline.svg | 2 +- material/.icons/material/puzzle-minus.svg | 2 +- material/.icons/material/puzzle-outline.svg | 2 +- .../.icons/material/puzzle-plus-outline.svg | 2 +- material/.icons/material/puzzle-plus.svg | 2 +- .../.icons/material/puzzle-remove-outline.svg | 2 +- material/.icons/material/puzzle-remove.svg | 2 +- .../.icons/material/puzzle-star-outline.svg | 2 +- material/.icons/material/puzzle-star.svg | 2 +- material/.icons/material/puzzle.svg | 2 +- material/.icons/material/qi.svg | 2 +- material/.icons/material/qrcode-scan.svg | 2 +- material/.icons/material/quadcopter.svg | 2 +- material/.icons/material/quality-high.svg | 2 +- material/.icons/material/quality-low.svg | 2 +- material/.icons/material/quality-medium.svg | 2 +- material/.icons/material/rabbit.svg | 2 +- material/.icons/material/radar.svg | 2 +- .../.icons/material/radiator-disabled.svg | 2 +- material/.icons/material/radiator-off.svg | 2 +- material/.icons/material/radiator.svg | 2 +- material/.icons/material/radio-am.svg | 2 +- material/.icons/material/radio-fm.svg | 2 +- material/.icons/material/radio-handheld.svg | 2 +- material/.icons/material/radio-off.svg | 2 +- material/.icons/material/radio-tower.svg | 2 +- material/.icons/material/radio.svg | 2 +- material/.icons/material/radioactive-off.svg | 2 +- material/.icons/material/radioactive.svg | 2 +- material/.icons/material/radiobox-blank.svg | 2 +- material/.icons/material/radiobox-marked.svg | 2 +- material/.icons/material/radius-outline.svg | 2 +- material/.icons/material/radius.svg | 2 +- material/.icons/material/railroad-light.svg | 2 +- material/.icons/material/raspberry-pi.svg | 2 +- material/.icons/material/ray-end-arrow.svg | 2 +- material/.icons/material/ray-end.svg | 2 +- material/.icons/material/ray-start-arrow.svg | 2 +- material/.icons/material/ray-start-end.svg | 2 +- .../.icons/material/ray-start-vertex-end.svg | 2 +- material/.icons/material/ray-start.svg | 2 +- material/.icons/material/ray-vertex.svg | 2 +- material/.icons/material/react.svg | 2 +- material/.icons/material/read.svg | 2 +- .../.icons/material/record-circle-outline.svg | 2 +- material/.icons/material/record-circle.svg | 2 +- material/.icons/material/record-player.svg | 2 +- material/.icons/material/record-rec.svg | 2 +- material/.icons/material/recycle-variant.svg | 2 +- material/.icons/material/recycle.svg | 2 +- material/.icons/material/redo-variant.svg | 2 +- material/.icons/material/redo.svg | 2 +- .../.icons/material/reflect-horizontal.svg | 2 +- material/.icons/material/reflect-vertical.svg | 2 +- material/.icons/material/refresh-circle.svg | 2 +- material/.icons/material/refresh.svg | 2 +- material/.icons/material/regex.svg | 2 +- .../.icons/material/registered-trademark.svg | 2 +- material/.icons/material/reiterate.svg | 2 +- .../relation-many-to-zero-or-many.svg | 2 +- .../material/relation-many-to-zero-or-one.svg | 2 +- .../relation-one-or-many-to-zero-or-many.svg | 2 +- .../relation-one-or-many-to-zero-or-one.svg | 2 +- .../material/relation-one-to-zero-or-many.svg | 2 +- .../material/relation-one-to-zero-or-one.svg | 2 +- .../relation-only-one-to-zero-or-many.svg | 2 +- .../relation-only-one-to-zero-or-one.svg | 2 +- .../relation-zero-or-many-to-many.svg | 2 +- .../relation-zero-or-many-to-one-or-many.svg | 2 +- .../material/relation-zero-or-many-to-one.svg | 2 +- .../relation-zero-or-many-to-only-one.svg | 2 +- .../relation-zero-or-many-to-zero-or-many.svg | 2 +- .../relation-zero-or-many-to-zero-or-one.svg | 2 +- .../material/relation-zero-or-one-to-many.svg | 2 +- .../relation-zero-or-one-to-one-or-many.svg | 2 +- .../material/relation-zero-or-one-to-one.svg | 2 +- .../relation-zero-or-one-to-only-one.svg | 2 +- .../relation-zero-or-one-to-zero-or-many.svg | 2 +- .../relation-zero-or-one-to-zero-or-one.svg | 2 +- material/.icons/material/relative-scale.svg | 2 +- material/.icons/material/reload.svg | 2 +- material/.icons/material/reminder.svg | 2 +- material/.icons/material/remote-desktop.svg | 2 +- material/.icons/material/remote-off.svg | 2 +- material/.icons/material/remote-tv-off.svg | 2 +- material/.icons/material/remote.svg | 2 +- material/.icons/material/rename-box.svg | 2 +- material/.icons/material/replay.svg | 2 +- material/.icons/material/reproduction.svg | 2 +- material/.icons/material/resistor-nodes.svg | 2 +- material/.icons/material/responsive.svg | 2 +- material/.icons/material/restore.svg | 2 +- material/.icons/material/rewind-10.svg | 2 +- material/.icons/material/rewind-30.svg | 2 +- material/.icons/material/rewind-5.svg | 2 +- material/.icons/material/ribbon.svg | 2 +- .../.icons/material/rickshaw-electric.svg | 2 +- material/.icons/material/rickshaw.svg | 2 +- material/.icons/material/ring.svg | 2 +- .../.icons/material/robot-angry-outline.svg | 2 +- material/.icons/material/robot-angry.svg | 2 +- .../material/robot-confused-outline.svg | 2 +- material/.icons/material/robot-confused.svg | 2 +- .../.icons/material/robot-dead-outline.svg | 2 +- material/.icons/material/robot-dead.svg | 2 +- .../.icons/material/robot-excited-outline.svg | 2 +- material/.icons/material/robot-excited.svg | 2 +- .../.icons/material/robot-happy-outline.svg | 2 +- material/.icons/material/robot-happy.svg | 2 +- material/.icons/material/robot-industrial.svg | 2 +- .../.icons/material/robot-love-outline.svg | 2 +- material/.icons/material/robot-love.svg | 2 +- .../.icons/material/robot-mower-outline.svg | 2 +- material/.icons/material/robot-mower.svg | 2 +- .../.icons/material/robot-off-outline.svg | 2 +- material/.icons/material/robot-off.svg | 2 +- material/.icons/material/robot-outline.svg | 2 +- .../.icons/material/robot-vacuum-variant.svg | 2 +- material/.icons/material/robot-vacuum.svg | 2 +- material/.icons/material/robot.svg | 2 +- .../.icons/material/rocket-launch-outline.svg | 2 +- material/.icons/material/rocket-launch.svg | 2 +- material/.icons/material/rocket-outline.svg | 2 +- material/.icons/material/rocket.svg | 2 +- material/.icons/material/rodent.svg | 2 +- material/.icons/material/roller-skate-off.svg | 2 +- material/.icons/material/roller-skate.svg | 2 +- material/.icons/material/rollerblade-off.svg | 2 +- material/.icons/material/rollerblade.svg | 2 +- material/.icons/material/rollupjs.svg | 2 +- .../.icons/material/room-service-outline.svg | 2 +- material/.icons/material/room-service.svg | 2 +- material/.icons/material/rotate-3d.svg | 2 +- .../.icons/material/rotate-left-variant.svg | 2 +- .../.icons/material/rotate-right-variant.svg | 2 +- material/.icons/material/rotate-right.svg | 2 +- material/.icons/material/rounded-corner.svg | 2 +- material/.icons/material/router-network.svg | 2 +- .../material/router-wireless-settings.svg | 2 +- material/.icons/material/router-wireless.svg | 2 +- material/.icons/material/routes.svg | 2 +- material/.icons/material/rowing.svg | 2 +- material/.icons/material/rss-box.svg | 2 +- material/.icons/material/rss-off.svg | 2 +- material/.icons/material/rss.svg | 2 +- material/.icons/material/rug.svg | 2 +- .../.icons/material/ruler-square-compass.svg | 2 +- material/.icons/material/ruler-square.svg | 2 +- material/.icons/material/run-fast.svg | 2 +- material/.icons/material/run.svg | 2 +- material/.icons/material/rv-truck.svg | 2 +- material/.icons/material/sack-percent.svg | 2 +- material/.icons/material/safe.svg | 2 +- material/.icons/material/safety-goggles.svg | 2 +- material/.icons/material/sale.svg | 2 +- material/.icons/material/salesforce.svg | 2 +- material/.icons/material/sass.svg | 2 +- material/.icons/material/satellite-uplink.svg | 2 +- .../.icons/material/satellite-variant.svg | 2 +- material/.icons/material/satellite.svg | 2 +- material/.icons/material/sausage.svg | 2 +- material/.icons/material/saw-blade.svg | 2 +- material/.icons/material/saxophone.svg | 2 +- material/.icons/material/scale-balance.svg | 2 +- material/.icons/material/scale-bathroom.svg | 2 +- material/.icons/material/scale-off.svg | 2 +- material/.icons/material/scale.svg | 2 +- material/.icons/material/scan-helper.svg | 2 +- material/.icons/material/scanner-off.svg | 2 +- material/.icons/material/scanner.svg | 2 +- .../.icons/material/scatter-plot-outline.svg | 2 +- material/.icons/material/scatter-plot.svg | 2 +- material/.icons/material/scooter-electric.svg | 2 +- material/.icons/material/scooter.svg | 2 +- .../.icons/material/screen-rotation-lock.svg | 2 +- material/.icons/material/screen-rotation.svg | 2 +- material/.icons/material/screwdriver.svg | 2 +- material/.icons/material/script-outline.svg | 2 +- .../.icons/material/script-text-outline.svg | 2 +- material/.icons/material/sd.svg | 2 +- material/.icons/material/seal-variant.svg | 2 +- material/.icons/material/seal.svg | 2 +- material/.icons/material/search-web.svg | 2 +- material/.icons/material/seat-flat.svg | 2 +- .../.icons/material/seat-individual-suite.svg | 2 +- .../.icons/material/seat-legroom-extra.svg | 2 +- .../.icons/material/seat-legroom-normal.svg | 2 +- .../.icons/material/seat-legroom-reduced.svg | 2 +- material/.icons/material/seat-outline.svg | 2 +- .../.icons/material/seat-recline-extra.svg | 2 +- .../.icons/material/seat-recline-normal.svg | 2 +- material/.icons/material/seat.svg | 2 +- material/.icons/material/seatbelt.svg | 2 +- material/.icons/material/security-network.svg | 2 +- material/.icons/material/select-all.svg | 2 +- material/.icons/material/select-color.svg | 2 +- material/.icons/material/select-compare.svg | 2 +- material/.icons/material/select-group.svg | 2 +- material/.icons/material/select-off.svg | 2 +- material/.icons/material/select-search.svg | 2 +- material/.icons/material/select.svg | 2 +- .../selection-ellipse-arrow-inside.svg | 2 +- .../.icons/material/selection-ellipse.svg | 2 +- material/.icons/material/selection-marker.svg | 2 +- .../.icons/material/selection-multiple.svg | 2 +- material/.icons/material/selection-off.svg | 2 +- material/.icons/material/selection-search.svg | 2 +- material/.icons/material/selection.svg | 2 +- .../.icons/material/send-circle-outline.svg | 2 +- material/.icons/material/send-circle.svg | 2 +- .../.icons/material/send-clock-outline.svg | 2 +- material/.icons/material/send-clock.svg | 2 +- .../.icons/material/send-lock-outline.svg | 2 +- material/.icons/material/send-lock.svg | 2 +- material/.icons/material/server-minus.svg | 2 +- .../.icons/material/server-network-off.svg | 2 +- material/.icons/material/server-network.svg | 2 +- material/.icons/material/server-off.svg | 2 +- material/.icons/material/server-plus.svg | 2 +- material/.icons/material/server-remove.svg | 2 +- material/.icons/material/server-security.svg | 2 +- material/.icons/material/server.svg | 2 +- material/.icons/material/set-all.svg | 2 +- material/.icons/material/set-center-right.svg | 2 +- material/.icons/material/set-center.svg | 2 +- material/.icons/material/set-left-center.svg | 2 +- material/.icons/material/set-left-right.svg | 2 +- material/.icons/material/set-left.svg | 2 +- material/.icons/material/set-none.svg | 2 +- material/.icons/material/set-right.svg | 2 +- material/.icons/material/set-top-box.svg | 2 +- material/.icons/material/shaker-outline.svg | 2 +- material/.icons/material/shaker.svg | 2 +- .../.icons/material/shape-circle-plus.svg | 2 +- material/.icons/material/shape-outline.svg | 2 +- .../material/shape-square-rounded-plus.svg | 2 +- material/.icons/material/share-variant.svg | 2 +- material/.icons/material/sheep.svg | 2 +- .../material/shield-account-outline.svg | 2 +- material/.icons/material/shield-account.svg | 2 +- .../.icons/material/shield-key-outline.svg | 2 +- material/.icons/material/shield-key.svg | 2 +- .../material/shield-link-variant-outline.svg | 2 +- .../.icons/material/shield-link-variant.svg | 2 +- material/.icons/material/shield-plus.svg | 2 +- material/.icons/material/shield-remove.svg | 2 +- material/.icons/material/shield-search.svg | 2 +- .../.icons/material/shield-sync-outline.svg | 2 +- material/.icons/material/shield-sync.svg | 2 +- material/.icons/material/ship-wheel.svg | 2 +- material/.icons/material/shoe-ballet.svg | 2 +- material/.icons/material/shoe-formal.svg | 2 +- material/.icons/material/shopping-music.svg | 2 +- material/.icons/material/shopping-search.svg | 2 +- material/.icons/material/shopping.svg | 2 +- material/.icons/material/shovel-off.svg | 2 +- material/.icons/material/shower-head.svg | 2 +- material/.icons/material/shower.svg | 2 +- material/.icons/material/shredder.svg | 2 +- material/.icons/material/sigma-lower.svg | 2 +- .../.icons/material/sign-direction-minus.svg | 2 +- .../.icons/material/sign-direction-plus.svg | 2 +- .../.icons/material/sign-direction-remove.svg | 2 +- material/.icons/material/sign-direction.svg | 2 +- material/.icons/material/sign-pole.svg | 2 +- material/.icons/material/sign-real-estate.svg | 2 +- material/.icons/material/sign-text.svg | 2 +- material/.icons/material/signal-2g.svg | 2 +- material/.icons/material/signal-3g.svg | 2 +- material/.icons/material/signal-4g.svg | 2 +- material/.icons/material/signal-5g.svg | 2 +- .../material/signal-distance-variant.svg | 2 +- material/.icons/material/signal-variant.svg | 2 +- material/.icons/material/signature-image.svg | 2 +- material/.icons/material/silo.svg | 2 +- material/.icons/material/silverware-clean.svg | 2 +- material/.icons/material/silverware-fork.svg | 2 +- .../.icons/material/silverware-variant.svg | 2 +- material/.icons/material/silverware.svg | 2 +- material/.icons/material/sim-off-outline.svg | 2 +- material/.icons/material/sim-off.svg | 2 +- material/.icons/material/sim.svg | 2 +- material/.icons/material/simple-icons.svg | 2 +- material/.icons/material/sina-weibo.svg | 2 +- material/.icons/material/size-m.svg | 2 +- material/.icons/material/size-s.svg | 2 +- material/.icons/material/size-xs.svg | 2 +- material/.icons/material/size-xxs.svg | 2 +- material/.icons/material/size-xxxl.svg | 2 +- .../material/skip-next-circle-outline.svg | 2 +- material/.icons/material/skip-next-circle.svg | 2 +- .../material/skip-previous-circle-outline.svg | 2 +- .../.icons/material/skip-previous-circle.svg | 2 +- material/.icons/material/skull-crossbones.svg | 2 +- material/.icons/material/skull-outline.svg | 2 +- material/.icons/material/skull.svg | 2 +- material/.icons/material/skype-business.svg | 2 +- material/.icons/material/skype.svg | 2 +- material/.icons/material/slack.svg | 2 +- material/.icons/material/slope-downhill.svg | 2 +- material/.icons/material/slope-uphill.svg | 2 +- .../.icons/material/smart-card-outline.svg | 2 +- .../material/smart-card-reader-outline.svg | 2 +- .../.icons/material/smart-card-reader.svg | 2 +- material/.icons/material/smart-card.svg | 2 +- material/.icons/material/smog.svg | 2 +- material/.icons/material/smoke-detector.svg | 2 +- material/.icons/material/smoking-off.svg | 2 +- material/.icons/material/smoking-pipe-off.svg | 2 +- material/.icons/material/smoking-pipe.svg | 2 +- material/.icons/material/smoking.svg | 2 +- material/.icons/material/snail.svg | 2 +- material/.icons/material/snake.svg | 2 +- material/.icons/material/snapchat.svg | 2 +- material/.icons/material/snowman.svg | 2 +- material/.icons/material/soccer-field.svg | 2 +- material/.icons/material/soccer.svg | 2 +- material/.icons/material/sofa-single.svg | 2 +- material/.icons/material/sofa.svg | 2 +- .../.icons/material/solar-panel-large.svg | 2 +- material/.icons/material/solar-panel.svg | 2 +- .../material/sort-alphabetical-ascending.svg | 2 +- .../material/sort-alphabetical-descending.svg | 2 +- .../material/sort-numeric-ascending.svg | 2 +- .../material/sort-numeric-descending.svg | 2 +- .../material/sort-variant-lock-open.svg | 2 +- .../.icons/material/sort-variant-lock.svg | 2 +- .../.icons/material/source-branch-check.svg | 2 +- .../.icons/material/source-branch-minus.svg | 2 +- .../.icons/material/source-branch-plus.svg | 2 +- .../.icons/material/source-branch-refresh.svg | 2 +- .../.icons/material/source-branch-remove.svg | 2 +- .../.icons/material/source-branch-sync.svg | 2 +- material/.icons/material/source-branch.svg | 2 +- .../material/source-commit-end-local.svg | 2 +- .../.icons/material/source-commit-end.svg | 2 +- .../.icons/material/source-commit-local.svg | 2 +- .../material/source-commit-next-local.svg | 2 +- .../source-commit-start-next-local.svg | 2 +- .../.icons/material/source-commit-start.svg | 2 +- material/.icons/material/source-commit.svg | 2 +- material/.icons/material/source-fork.svg | 2 +- material/.icons/material/source-merge.svg | 2 +- material/.icons/material/source-pull.svg | 2 +- .../material/source-repository-multiple.svg | 2 +- .../.icons/material/source-repository.svg | 2 +- material/.icons/material/soy-sauce.svg | 2 +- material/.icons/material/spa-outline.svg | 2 +- material/.icons/material/spa.svg | 2 +- .../.icons/material/speaker-bluetooth.svg | 2 +- material/.icons/material/speaker-multiple.svg | 2 +- material/.icons/material/speaker-off.svg | 2 +- material/.icons/material/speaker-wireless.svg | 2 +- material/.icons/material/speaker.svg | 2 +- .../.icons/material/speedometer-medium.svg | 2 +- material/.icons/material/speedometer-slow.svg | 2 +- material/.icons/material/speedometer.svg | 2 +- material/.icons/material/spider-thread.svg | 2 +- material/.icons/material/spider-web.svg | 2 +- material/.icons/material/spider.svg | 2 +- material/.icons/material/spirit-level.svg | 2 +- material/.icons/material/spotify.svg | 2 +- material/.icons/material/spotlight.svg | 2 +- material/.icons/material/spray-bottle.svg | 2 +- material/.icons/material/spray.svg | 2 +- .../.icons/material/square-edit-outline.svg | 2 +- material/.icons/material/square-root-box.svg | 2 +- material/.icons/material/squeegee.svg | 2 +- material/.icons/material/stadium-variant.svg | 2 +- material/.icons/material/stamper.svg | 2 +- .../.icons/material/standard-definition.svg | 2 +- .../material/star-box-multiple-outline.svg | 2 +- .../.icons/material/star-box-multiple.svg | 2 +- material/.icons/material/star-box-outline.svg | 2 +- material/.icons/material/star-box.svg | 2 +- .../.icons/material/star-circle-outline.svg | 2 +- material/.icons/material/star-circle.svg | 2 +- material/.icons/material/star-cog-outline.svg | 2 +- material/.icons/material/star-cog.svg | 2 +- material/.icons/material/star-face.svg | 2 +- .../.icons/material/star-shooting-outline.svg | 2 +- material/.icons/material/star-shooting.svg | 2 +- material/.icons/material/state-machine.svg | 2 +- material/.icons/material/steam.svg | 2 +- material/.icons/material/steering-off.svg | 2 +- material/.icons/material/stethoscope.svg | 2 +- .../material/sticker-circle-outline.svg | 2 +- material/.icons/material/sticker-emoji.svg | 2 +- material/.icons/material/stocking.svg | 2 +- material/.icons/material/stomach.svg | 2 +- .../.icons/material/stop-circle-outline.svg | 2 +- material/.icons/material/stop-circle.svg | 2 +- material/.icons/material/store-remove.svg | 2 +- .../.icons/material/storefront-outline.svg | 2 +- material/.icons/material/storefront.svg | 2 +- material/.icons/material/stove.svg | 2 +- material/.icons/material/strategy.svg | 2 +- .../.icons/material/string-lights-off.svg | 2 +- material/.icons/material/string-lights.svg | 2 +- material/.icons/material/submarine.svg | 2 +- .../.icons/material/subtitles-outline.svg | 2 +- material/.icons/material/subtitles.svg | 2 +- material/.icons/material/subway-variant.svg | 2 +- material/.icons/material/subway.svg | 2 +- .../.icons/material/surround-sound-2-0.svg | 2 +- .../.icons/material/surround-sound-2-1.svg | 2 +- .../.icons/material/surround-sound-3-1.svg | 2 +- .../.icons/material/surround-sound-5-1-2.svg | 2 +- .../.icons/material/surround-sound-5-1.svg | 2 +- .../.icons/material/surround-sound-7-1.svg | 2 +- material/.icons/material/surround-sound.svg | 2 +- material/.icons/material/svg.svg | 2 +- .../material/swap-horizontal-variant.svg | 2 +- .../.icons/material/swap-vertical-variant.svg | 2 +- material/.icons/material/swim.svg | 2 +- material/.icons/material/switch.svg | 2 +- material/.icons/material/sword-cross.svg | 2 +- material/.icons/material/sword.svg | 2 +- .../.icons/material/syllabary-hiragana.svg | 2 +- material/.icons/material/symfony.svg | 2 +- material/.icons/material/sync-alert.svg | 2 +- material/.icons/material/sync-circle.svg | 2 +- material/.icons/material/sync-off.svg | 2 +- material/.icons/material/sync.svg | 2 +- material/.icons/material/tab-minus.svg | 2 +- material/.icons/material/tab-plus.svg | 2 +- material/.icons/material/tab-remove.svg | 2 +- material/.icons/material/tab-unselected.svg | 2 +- material/.icons/material/tab.svg | 2 +- material/.icons/material/table-account.svg | 2 +- material/.icons/material/table-alert.svg | 2 +- material/.icons/material/table-arrow-down.svg | 2 +- material/.icons/material/table-arrow-left.svg | 2 +- .../.icons/material/table-arrow-right.svg | 2 +- material/.icons/material/table-arrow-up.svg | 2 +- material/.icons/material/table-border.svg | 2 +- material/.icons/material/table-cancel.svg | 2 +- material/.icons/material/table-chair.svg | 2 +- material/.icons/material/table-check.svg | 2 +- material/.icons/material/table-clock.svg | 2 +- material/.icons/material/table-cog.svg | 2 +- .../material/table-column-plus-after.svg | 2 +- .../material/table-column-plus-before.svg | 2 +- .../.icons/material/table-column-remove.svg | 2 +- .../.icons/material/table-column-width.svg | 2 +- material/.icons/material/table-column.svg | 2 +- material/.icons/material/table-edit.svg | 2 +- material/.icons/material/table-eye-off.svg | 2 +- material/.icons/material/table-eye.svg | 2 +- .../.icons/material/table-headers-eye-off.svg | 2 +- .../.icons/material/table-headers-eye.svg | 2 +- material/.icons/material/table-heart.svg | 2 +- material/.icons/material/table-key.svg | 2 +- material/.icons/material/table-large.svg | 2 +- material/.icons/material/table-lock.svg | 2 +- material/.icons/material/table-minus.svg | 2 +- material/.icons/material/table-multiple.svg | 2 +- material/.icons/material/table-network.svg | 2 +- material/.icons/material/table-off.svg | 2 +- material/.icons/material/table-plus.svg | 2 +- material/.icons/material/table-refresh.svg | 2 +- material/.icons/material/table-remove.svg | 2 +- material/.icons/material/table-row-height.svg | 2 +- .../.icons/material/table-row-plus-after.svg | 2 +- .../.icons/material/table-row-plus-before.svg | 2 +- material/.icons/material/table-row-remove.svg | 2 +- material/.icons/material/table-row.svg | 2 +- material/.icons/material/table-search.svg | 2 +- material/.icons/material/table-settings.svg | 2 +- material/.icons/material/table-star.svg | 2 +- material/.icons/material/table-sync.svg | 2 +- material/.icons/material/table.svg | 2 +- material/.icons/material/tablet-android.svg | 2 +- material/.icons/material/tablet-cellphone.svg | 2 +- material/.icons/material/tablet-dashboard.svg | 2 +- material/.icons/material/tablet-ipad.svg | 2 +- material/.icons/material/tablet.svg | 2 +- material/.icons/material/taco.svg | 2 +- material/.icons/material/tag-faces.svg | 2 +- .../.icons/material/tag-heart-outline.svg | 2 +- material/.icons/material/tag-heart.svg | 2 +- material/.icons/material/tag-minus.svg | 2 +- material/.icons/material/tag-multiple.svg | 2 +- material/.icons/material/tag-off-outline.svg | 2 +- material/.icons/material/tag-off.svg | 2 +- material/.icons/material/tag-outline.svg | 2 +- material/.icons/material/tag-plus-outline.svg | 2 +- material/.icons/material/tag-plus.svg | 2 +- .../.icons/material/tag-remove-outline.svg | 2 +- material/.icons/material/tag-remove.svg | 2 +- material/.icons/material/tag-text.svg | 2 +- material/.icons/material/tag.svg | 2 +- material/.icons/material/tank.svg | 2 +- material/.icons/material/tape-drive.svg | 2 +- material/.icons/material/tape-measure.svg | 2 +- material/.icons/material/target-account.svg | 2 +- material/.icons/material/target-variant.svg | 2 +- material/.icons/material/target.svg | 2 +- material/.icons/material/taxi.svg | 2 +- material/.icons/material/teach.svg | 2 +- material/.icons/material/teamviewer.svg | 2 +- material/.icons/material/television-box.svg | 2 +- .../material/television-classic-off.svg | 2 +- .../.icons/material/television-classic.svg | 2 +- material/.icons/material/television-clean.svg | 2 +- material/.icons/material/television-guide.svg | 2 +- material/.icons/material/television-off.svg | 2 +- material/.icons/material/television-pause.svg | 2 +- material/.icons/material/television-play.svg | 2 +- material/.icons/material/television-stop.svg | 2 +- material/.icons/material/television.svg | 2 +- .../.icons/material/temperature-celsius.svg | 2 +- .../material/temperature-fahrenheit.svg | 2 +- material/.icons/material/tennis-ball.svg | 2 +- material/.icons/material/tennis.svg | 2 +- material/.icons/material/tent.svg | 2 +- material/.icons/material/test-tube-empty.svg | 2 +- material/.icons/material/test-tube-off.svg | 2 +- material/.icons/material/test-tube.svg | 2 +- material/.icons/material/text-account.svg | 2 +- material/.icons/material/text-box-check.svg | 2 +- material/.icons/material/text-box-minus.svg | 2 +- .../material/text-box-multiple-outline.svg | 2 +- .../.icons/material/text-box-multiple.svg | 2 +- material/.icons/material/text-box-plus.svg | 2 +- material/.icons/material/text-box-remove.svg | 2 +- .../material/text-box-search-outline.svg | 2 +- material/.icons/material/text-box-search.svg | 2 +- material/.icons/material/text-box.svg | 2 +- material/.icons/material/text-recognition.svg | 2 +- material/.icons/material/text-search.svg | 2 +- .../.icons/material/text-to-speech-off.svg | 2 +- material/.icons/material/text-to-speech.svg | 2 +- material/.icons/material/texture-box.svg | 2 +- material/.icons/material/texture.svg | 2 +- material/.icons/material/theater.svg | 2 +- material/.icons/material/theme-light-dark.svg | 2 +- .../material/thermometer-chevron-down.svg | 2 +- .../material/thermometer-chevron-up.svg | 2 +- material/.icons/material/thermometer-high.svg | 2 +- .../.icons/material/thermometer-lines.svg | 2 +- material/.icons/material/thermometer-low.svg | 2 +- .../.icons/material/thermometer-minus.svg | 2 +- material/.icons/material/thermometer-off.svg | 2 +- material/.icons/material/thermometer-plus.svg | 2 +- material/.icons/material/thermometer.svg | 2 +- material/.icons/material/thermostat-box.svg | 2 +- material/.icons/material/thermostat.svg | 2 +- .../material/thought-bubble-outline.svg | 2 +- material/.icons/material/thought-bubble.svg | 2 +- .../.icons/material/thumb-down-outline.svg | 2 +- material/.icons/material/thumb-down.svg | 2 +- material/.icons/material/thumb-up-outline.svg | 2 +- material/.icons/material/thumb-up.svg | 2 +- material/.icons/material/thumbs-up-down.svg | 2 +- material/.icons/material/ticket-account.svg | 2 +- .../material/ticket-confirmation-outline.svg | 2 +- .../.icons/material/ticket-confirmation.svg | 2 +- material/.icons/material/ticket-outline.svg | 2 +- .../material/ticket-percent-outline.svg | 2 +- material/.icons/material/ticket-percent.svg | 2 +- material/.icons/material/ticket.svg | 2 +- material/.icons/material/timelapse.svg | 2 +- .../material/timeline-alert-outline.svg | 2 +- material/.icons/material/timeline-alert.svg | 2 +- .../material/timeline-check-outline.svg | 2 +- material/.icons/material/timeline-check.svg | 2 +- .../material/timeline-clock-outline.svg | 2 +- material/.icons/material/timeline-clock.svg | 2 +- .../.icons/material/timeline-help-outline.svg | 2 +- material/.icons/material/timeline-help.svg | 2 +- .../material/timeline-minus-outline.svg | 2 +- material/.icons/material/timeline-minus.svg | 2 +- material/.icons/material/timeline-outline.svg | 2 +- .../.icons/material/timeline-plus-outline.svg | 2 +- material/.icons/material/timeline-plus.svg | 2 +- .../material/timeline-remove-outline.svg | 2 +- material/.icons/material/timeline-remove.svg | 2 +- .../.icons/material/timeline-text-outline.svg | 2 +- material/.icons/material/timeline-text.svg | 2 +- material/.icons/material/timeline.svg | 2 +- material/.icons/material/timer-10.svg | 2 +- material/.icons/material/timer-3.svg | 2 +- .../.icons/material/timer-off-outline.svg | 2 +- material/.icons/material/timer-off.svg | 2 +- material/.icons/material/timer-outline.svg | 2 +- material/.icons/material/timer.svg | 2 +- material/.icons/material/timetable.svg | 2 +- material/.icons/material/toaster-oven.svg | 2 +- material/.icons/material/toaster.svg | 2 +- .../material/toggle-switch-off-outline.svg | 2 +- .../.icons/material/toggle-switch-off.svg | 2 +- .../.icons/material/toggle-switch-outline.svg | 2 +- material/.icons/material/toggle-switch.svg | 2 +- material/.icons/material/toilet.svg | 2 +- material/.icons/material/tools.svg | 2 +- material/.icons/material/tooltip-account.svg | 2 +- .../.icons/material/tooltip-check-outline.svg | 2 +- material/.icons/material/tooltip-check.svg | 2 +- .../.icons/material/tooltip-edit-outline.svg | 2 +- material/.icons/material/tooltip-edit.svg | 2 +- .../.icons/material/tooltip-image-outline.svg | 2 +- material/.icons/material/tooltip-image.svg | 2 +- .../.icons/material/tooltip-minus-outline.svg | 2 +- material/.icons/material/tooltip-minus.svg | 2 +- material/.icons/material/tooltip-outline.svg | 2 +- .../.icons/material/tooltip-plus-outline.svg | 2 +- material/.icons/material/tooltip-plus.svg | 2 +- .../material/tooltip-remove-outline.svg | 2 +- material/.icons/material/tooltip-remove.svg | 2 +- .../.icons/material/tooltip-text-outline.svg | 2 +- material/.icons/material/tooltip-text.svg | 2 +- material/.icons/material/tooltip.svg | 2 +- .../.icons/material/toothbrush-electric.svg | 2 +- material/.icons/material/tortoise.svg | 2 +- .../material/toy-brick-marker-outline.svg | 2 +- material/.icons/material/toy-brick-marker.svg | 2 +- .../material/toy-brick-minus-outline.svg | 2 +- material/.icons/material/toy-brick-minus.svg | 2 +- .../.icons/material/toy-brick-outline.svg | 2 +- .../material/toy-brick-plus-outline.svg | 2 +- material/.icons/material/toy-brick-plus.svg | 2 +- material/.icons/material/toy-brick-remove.svg | 2 +- .../material/toy-brick-search-outline.svg | 2 +- material/.icons/material/toy-brick-search.svg | 2 +- material/.icons/material/toy-brick.svg | 2 +- material/.icons/material/trackpad-lock.svg | 2 +- material/.icons/material/trackpad.svg | 2 +- material/.icons/material/tractor-variant.svg | 2 +- material/.icons/material/tractor.svg | 2 +- material/.icons/material/traffic-light.svg | 2 +- .../train-car-passenger-door-open.svg | 2 +- .../material/train-car-passenger-door.svg | 2 +- .../material/train-car-passenger-variant.svg | 2 +- .../.icons/material/train-car-passenger.svg | 2 +- material/.icons/material/train-car.svg | 2 +- material/.icons/material/train-variant.svg | 2 +- material/.icons/material/train.svg | 2 +- material/.icons/material/tram-side.svg | 2 +- material/.icons/material/tram.svg | 2 +- material/.icons/material/transcribe-close.svg | 2 +- material/.icons/material/transcribe.svg | 2 +- material/.icons/material/transfer.svg | 2 +- .../material/transit-connection-variant.svg | 2 +- .../.icons/material/transit-connection.svg | 2 +- material/.icons/material/transit-detour.svg | 2 +- material/.icons/material/transit-transfer.svg | 2 +- .../.icons/material/transition-masked.svg | 2 +- material/.icons/material/transition.svg | 2 +- material/.icons/material/translate.svg | 2 +- .../.icons/material/trash-can-outline.svg | 2 +- material/.icons/material/trash-can.svg | 2 +- material/.icons/material/tray-alert.svg | 2 +- material/.icons/material/tray-full.svg | 2 +- material/.icons/material/tray-minus.svg | 2 +- material/.icons/material/tray-plus.svg | 2 +- material/.icons/material/tray-remove.svg | 2 +- material/.icons/material/tray.svg | 2 +- material/.icons/material/treasure-chest.svg | 2 +- material/.icons/material/tree-outline.svg | 2 +- material/.icons/material/tree.svg | 2 +- material/.icons/material/trello.svg | 2 +- material/.icons/material/trophy-award.svg | 2 +- .../material/trophy-variant-outline.svg | 2 +- material/.icons/material/trophy-variant.svg | 2 +- material/.icons/material/truck-check.svg | 2 +- material/.icons/material/truck-delivery.svg | 2 +- material/.icons/material/truck-fast.svg | 2 +- material/.icons/material/truck-trailer.svg | 2 +- material/.icons/material/truck.svg | 2 +- .../.icons/material/tshirt-crew-outline.svg | 2 +- material/.icons/material/tshirt-crew.svg | 2 +- material/.icons/material/tshirt-v-outline.svg | 2 +- material/.icons/material/tshirt-v.svg | 2 +- .../.icons/material/tumble-dryer-alert.svg | 2 +- material/.icons/material/tumble-dryer-off.svg | 2 +- material/.icons/material/tumble-dryer.svg | 2 +- material/.icons/material/turkey.svg | 2 +- .../.icons/material/turnstile-outline.svg | 2 +- material/.icons/material/turtle.svg | 2 +- material/.icons/material/twitter-retweet.svg | 2 +- material/.icons/material/twitter.svg | 2 +- .../material/two-factor-authentication.svg | 2 +- material/.icons/material/ubuntu.svg | 2 +- .../.icons/material/ultra-high-definition.svg | 2 +- material/.icons/material/umbraco.svg | 2 +- material/.icons/material/umbrella-outline.svg | 2 +- material/.icons/material/umbrella.svg | 2 +- material/.icons/material/undo-variant.svg | 2 +- material/.icons/material/unicode.svg | 2 +- material/.icons/material/unicorn.svg | 2 +- material/.icons/material/unreal.svg | 2 +- material/.icons/material/update.svg | 2 +- .../material/upload-network-outline.svg | 2 +- material/.icons/material/upload-network.svg | 2 +- .../material/usb-flash-drive-outline.svg | 2 +- material/.icons/material/usb-flash-drive.svg | 2 +- material/.icons/material/usb-port.svg | 2 +- material/.icons/material/usb.svg | 2 +- material/.icons/material/valve-closed.svg | 2 +- material/.icons/material/valve-open.svg | 2 +- material/.icons/material/valve.svg | 2 +- material/.icons/material/van-passenger.svg | 2 +- material/.icons/material/van-utility.svg | 2 +- material/.icons/material/vector-bezier.svg | 2 +- .../.icons/material/vector-circle-variant.svg | 2 +- material/.icons/material/vector-circle.svg | 2 +- material/.icons/material/vector-curve.svg | 2 +- .../.icons/material/vector-intersection.svg | 2 +- .../.icons/material/vector-polyline-edit.svg | 2 +- material/.icons/material/vector-radius.svg | 2 +- material/.icons/material/vector-selection.svg | 2 +- material/.icons/material/vhs.svg | 2 +- material/.icons/material/vibrate-off.svg | 2 +- material/.icons/material/vibrate.svg | 2 +- material/.icons/material/video-3d-variant.svg | 2 +- material/.icons/material/video-3d.svg | 2 +- material/.icons/material/video-4k-box.svg | 2 +- material/.icons/material/video-account.svg | 2 +- material/.icons/material/video-box-off.svg | 2 +- material/.icons/material/video-box.svg | 2 +- material/.icons/material/video-image.svg | 2 +- .../.icons/material/video-input-antenna.svg | 2 +- .../.icons/material/video-input-component.svg | 2 +- material/.icons/material/video-input-hdmi.svg | 2 +- .../.icons/material/video-input-svideo.svg | 2 +- material/.icons/material/video-minus.svg | 2 +- .../.icons/material/video-off-outline.svg | 2 +- material/.icons/material/video-off.svg | 2 +- material/.icons/material/video-outline.svg | 2 +- material/.icons/material/video-plus.svg | 2 +- .../.icons/material/video-stabilization.svg | 2 +- material/.icons/material/video-switch.svg | 2 +- material/.icons/material/video-vintage.svg | 2 +- .../material/video-wireless-outline.svg | 2 +- material/.icons/material/video-wireless.svg | 2 +- material/.icons/material/video.svg | 2 +- .../.icons/material/view-agenda-outline.svg | 2 +- material/.icons/material/view-day.svg | 2 +- material/.icons/material/view-week.svg | 2 +- material/.icons/material/violin.svg | 2 +- material/.icons/material/virtual-reality.svg | 2 +- material/.icons/material/virus-outline.svg | 2 +- material/.icons/material/virus.svg | 2 +- material/.icons/material/voice-off.svg | 2 +- material/.icons/material/voicemail.svg | 2 +- material/.icons/material/volleyball.svg | 2 +- material/.icons/material/volume-off.svg | 2 +- material/.icons/material/vote-outline.svg | 2 +- material/.icons/material/vote.svg | 2 +- material/.icons/material/vpn.svg | 2 +- material/.icons/material/wallet-giftcard.svg | 2 +- material/.icons/material/wallet-outline.svg | 2 +- .../.icons/material/wallet-plus-outline.svg | 2 +- material/.icons/material/wallet-plus.svg | 2 +- material/.icons/material/wallet.svg | 2 +- material/.icons/material/wallpaper.svg | 2 +- material/.icons/material/wan.svg | 2 +- material/.icons/material/wardrobe-outline.svg | 2 +- .../.icons/material/washing-machine-alert.svg | 2 +- .../.icons/material/washing-machine-off.svg | 2 +- material/.icons/material/washing-machine.svg | 2 +- .../.icons/material/watch-export-variant.svg | 2 +- material/.icons/material/watch-export.svg | 2 +- .../.icons/material/watch-import-variant.svg | 2 +- material/.icons/material/watch-import.svg | 2 +- material/.icons/material/watch-variant.svg | 2 +- material/.icons/material/watch-vibrate.svg | 2 +- material/.icons/material/watch.svg | 2 +- .../.icons/material/water-boiler-alert.svg | 2 +- material/.icons/material/water-boiler-off.svg | 2 +- material/.icons/material/water-boiler.svg | 2 +- .../.icons/material/water-off-outline.svg | 2 +- material/.icons/material/water-off.svg | 2 +- material/.icons/material/water-outline.svg | 2 +- .../.icons/material/water-percent-alert.svg | 2 +- material/.icons/material/water-percent.svg | 2 +- material/.icons/material/water-pump-off.svg | 2 +- material/.icons/material/water-pump.svg | 2 +- .../.icons/material/water-well-outline.svg | 2 +- material/.icons/material/water-well.svg | 2 +- material/.icons/material/water.svg | 2 +- .../.icons/material/watering-can-outline.svg | 2 +- material/.icons/material/watering-can.svg | 2 +- material/.icons/material/watermark.svg | 2 +- material/.icons/material/waze.svg | 2 +- .../.icons/material/weather-cloudy-alert.svg | 2 +- .../material/weather-cloudy-arrow-right.svg | 2 +- material/.icons/material/weather-cloudy.svg | 2 +- material/.icons/material/weather-fog.svg | 2 +- material/.icons/material/weather-hail.svg | 2 +- material/.icons/material/weather-hazy.svg | 2 +- .../.icons/material/weather-hurricane.svg | 2 +- .../material/weather-lightning-rainy.svg | 2 +- .../.icons/material/weather-lightning.svg | 2 +- .../material/weather-night-partly-cloudy.svg | 2 +- material/.icons/material/weather-night.svg | 2 +- .../.icons/material/weather-partly-cloudy.svg | 2 +- .../material/weather-partly-lightning.svg | 2 +- .../.icons/material/weather-partly-rainy.svg | 2 +- .../material/weather-partly-snowy-rainy.svg | 2 +- .../.icons/material/weather-partly-snowy.svg | 2 +- material/.icons/material/weather-pouring.svg | 2 +- material/.icons/material/weather-rainy.svg | 2 +- .../.icons/material/weather-snowy-heavy.svg | 2 +- .../.icons/material/weather-snowy-rainy.svg | 2 +- material/.icons/material/weather-snowy.svg | 2 +- .../.icons/material/weather-sunny-alert.svg | 2 +- .../.icons/material/weather-sunny-off.svg | 2 +- material/.icons/material/weather-sunny.svg | 2 +- .../.icons/material/weather-sunset-down.svg | 2 +- .../.icons/material/weather-sunset-up.svg | 2 +- material/.icons/material/weather-sunset.svg | 2 +- material/.icons/material/weather-tornado.svg | 2 +- .../.icons/material/weather-windy-variant.svg | 2 +- material/.icons/material/weather-windy.svg | 2 +- material/.icons/material/web-box.svg | 2 +- material/.icons/material/web-clock.svg | 2 +- material/.icons/material/web.svg | 2 +- material/.icons/material/webcam-off.svg | 2 +- material/.icons/material/webcam.svg | 2 +- material/.icons/material/webhook.svg | 2 +- material/.icons/material/webrtc.svg | 2 +- material/.icons/material/wechat.svg | 2 +- material/.icons/material/weight-gram.svg | 2 +- material/.icons/material/weight-kilogram.svg | 2 +- material/.icons/material/weight-pound.svg | 2 +- material/.icons/material/weight.svg | 2 +- material/.icons/material/whatsapp.svg | 2 +- .../material/wheelchair-accessibility.svg | 2 +- material/.icons/material/whistle-outline.svg | 2 +- material/.icons/material/whistle.svg | 2 +- .../.icons/material/white-balance-auto.svg | 2 +- .../material/white-balance-incandescent.svg | 2 +- .../.icons/material/white-balance-sunny.svg | 2 +- material/.icons/material/wifi-alert.svg | 2 +- material/.icons/material/wifi-cog.svg | 2 +- material/.icons/material/wifi-lock-open.svg | 2 +- material/.icons/material/wifi-lock.svg | 2 +- material/.icons/material/wifi-marker.svg | 2 +- material/.icons/material/wifi-refresh.svg | 2 +- .../material/wifi-strength-1-lock-open.svg | 2 +- material/.icons/material/wifi-strength-1.svg | 2 +- .../material/wifi-strength-3-lock-open.svg | 2 +- .../wifi-strength-lock-open-outline.svg | 2 +- .../material/wifi-strength-lock-outline.svg | 2 +- material/.icons/material/wifi-sync.svg | 2 +- material/.icons/material/wikipedia.svg | 2 +- material/.icons/material/wind-turbine.svg | 2 +- material/.icons/material/window-closed.svg | 2 +- material/.icons/material/window-open.svg | 2 +- material/.icons/material/wiper-wash.svg | 2 +- material/.icons/material/wiper.svg | 2 +- material/.icons/material/wordpress.svg | 2 +- material/.icons/material/wrench-outline.svg | 2 +- material/.icons/material/xing.svg | 2 +- material/.icons/material/yeast.svg | 2 +- material/.icons/material/yin-yang.svg | 2 +- material/.icons/material/yoga.svg | 2 +- .../.icons/material/youtube-subscription.svg | 2 +- material/.icons/material/zigbee.svg | 2 +- material/.icons/material/zip-box.svg | 2 +- material/.icons/material/zip-disk.svg | 2 +- material/.icons/material/zodiac-aries.svg | 2 +- material/.icons/material/zodiac-cancer.svg | 2 +- material/.icons/material/zodiac-capricorn.svg | 2 +- material/.icons/material/zodiac-gemini.svg | 2 +- material/.icons/material/zodiac-leo.svg | 2 +- material/.icons/material/zodiac-libra.svg | 2 +- material/.icons/material/zodiac-pisces.svg | 2 +- material/.icons/material/zodiac-scorpio.svg | 2 +- material/.icons/material/zodiac-taurus.svg | 2 +- material/.icons/material/zodiac-virgo.svg | 2 +- material/.icons/octicons/alert-16.svg | 2 +- material/.icons/octicons/alert-24.svg | 2 +- material/.icons/octicons/archive-16.svg | 2 +- material/.icons/octicons/archive-24.svg | 2 +- material/.icons/octicons/arrow-both-16.svg | 2 +- material/.icons/octicons/arrow-both-24.svg | 2 +- material/.icons/octicons/arrow-down-16.svg | 2 +- material/.icons/octicons/arrow-down-24.svg | 2 +- .../.icons/octicons/arrow-down-left-24.svg | 2 +- .../.icons/octicons/arrow-down-right-24.svg | 2 +- material/.icons/octicons/arrow-left-16.svg | 2 +- material/.icons/octicons/arrow-left-24.svg | 2 +- material/.icons/octicons/arrow-right-16.svg | 2 +- material/.icons/octicons/arrow-right-24.svg | 2 +- material/.icons/octicons/arrow-switch-16.svg | 2 +- material/.icons/octicons/arrow-switch-24.svg | 2 +- material/.icons/octicons/arrow-up-16.svg | 2 +- material/.icons/octicons/arrow-up-24.svg | 2 +- material/.icons/octicons/arrow-up-left-24.svg | 2 +- .../.icons/octicons/arrow-up-right-24.svg | 2 +- material/.icons/octicons/beaker-16.svg | 2 +- material/.icons/octicons/beaker-24.svg | 2 +- material/.icons/octicons/bell-16.svg | 2 +- material/.icons/octicons/bell-24.svg | 2 +- material/.icons/octicons/bell-fill-24.svg | 2 +- material/.icons/octicons/bell-slash-16.svg | 2 +- material/.icons/octicons/bell-slash-24.svg | 2 +- material/.icons/octicons/bold-16.svg | 2 +- material/.icons/octicons/bold-24.svg | 2 +- material/.icons/octicons/book-16.svg | 2 +- material/.icons/octicons/book-24.svg | 2 +- material/.icons/octicons/bookmark-16.svg | 2 +- material/.icons/octicons/bookmark-24.svg | 2 +- material/.icons/octicons/bookmark-fill-24.svg | 2 +- .../.icons/octicons/bookmark-slash-16.svg | 2 +- .../.icons/octicons/bookmark-slash-24.svg | 2 +- .../octicons/bookmark-slash-fill-24.svg | 2 +- material/.icons/octicons/briefcase-16.svg | 2 +- material/.icons/octicons/briefcase-24.svg | 2 +- material/.icons/octicons/broadcast-16.svg | 2 +- material/.icons/octicons/broadcast-24.svg | 2 +- material/.icons/octicons/bug-16.svg | 2 +- material/.icons/octicons/bug-24.svg | 2 +- material/.icons/octicons/calendar-16.svg | 2 +- material/.icons/octicons/calendar-24.svg | 2 +- material/.icons/octicons/check-16.svg | 2 +- material/.icons/octicons/check-24.svg | 2 +- material/.icons/octicons/check-circle-16.svg | 2 +- material/.icons/octicons/check-circle-24.svg | 2 +- .../.icons/octicons/check-circle-fill-16.svg | 2 +- .../.icons/octicons/check-circle-fill-24.svg | 2 +- material/.icons/octicons/checklist-16.svg | 2 +- material/.icons/octicons/checklist-24.svg | 2 +- material/.icons/octicons/chevron-down-16.svg | 2 +- material/.icons/octicons/chevron-down-24.svg | 2 +- material/.icons/octicons/chevron-left-16.svg | 2 +- material/.icons/octicons/chevron-left-24.svg | 2 +- material/.icons/octicons/chevron-right-16.svg | 2 +- material/.icons/octicons/chevron-right-24.svg | 2 +- material/.icons/octicons/chevron-up-16.svg | 2 +- material/.icons/octicons/chevron-up-24.svg | 2 +- material/.icons/octicons/circle-16.svg | 2 +- material/.icons/octicons/circle-24.svg | 2 +- material/.icons/octicons/circle-slash-16.svg | 2 +- material/.icons/octicons/circle-slash-24.svg | 2 +- material/.icons/octicons/clippy-16.svg | 2 +- material/.icons/octicons/clippy-24.svg | 2 +- material/.icons/octicons/clock-16.svg | 2 +- material/.icons/octicons/clock-24.svg | 2 +- material/.icons/octicons/code-16.svg | 2 +- material/.icons/octicons/code-24.svg | 2 +- material/.icons/octicons/code-review-16.svg | 2 +- material/.icons/octicons/code-review-24.svg | 2 +- material/.icons/octicons/code-square-16.svg | 2 +- material/.icons/octicons/code-square-24.svg | 2 +- material/.icons/octicons/comment-16.svg | 2 +- material/.icons/octicons/comment-24.svg | 2 +- .../.icons/octicons/comment-discussion-16.svg | 2 +- .../.icons/octicons/comment-discussion-24.svg | 2 +- material/.icons/octicons/commit-24.svg | 2 +- material/.icons/octicons/container-16.svg | 2 +- material/.icons/octicons/container-24.svg | 2 +- material/.icons/octicons/copy-24.svg | 2 +- material/.icons/octicons/cpu-16.svg | 2 +- material/.icons/octicons/cpu-24.svg | 2 +- material/.icons/octicons/credit-card-16.svg | 2 +- material/.icons/octicons/credit-card-24.svg | 2 +- .../.icons/octicons/cross-reference-16.svg | 2 +- .../.icons/octicons/cross-reference-24.svg | 2 +- material/.icons/octicons/dash-16.svg | 2 +- material/.icons/octicons/dash-24.svg | 2 +- material/.icons/octicons/database-16.svg | 2 +- material/.icons/octicons/database-24.svg | 2 +- .../.icons/octicons/desktop-download-16.svg | 2 +- .../.icons/octicons/desktop-download-24.svg | 2 +- .../octicons/device-camera-video-16.svg | 2 +- .../octicons/device-camera-video-24.svg | 2 +- .../.icons/octicons/device-desktop-16.svg | 2 +- .../.icons/octicons/device-desktop-24.svg | 2 +- material/.icons/octicons/device-mobile-16.svg | 2 +- material/.icons/octicons/device-mobile-24.svg | 2 +- material/.icons/octicons/diff-16.svg | 2 +- material/.icons/octicons/diff-24.svg | 2 +- material/.icons/octicons/diff-added-16.svg | 2 +- material/.icons/octicons/diff-ignored-16.svg | 2 +- material/.icons/octicons/diff-modified-16.svg | 2 +- material/.icons/octicons/diff-removed-16.svg | 2 +- material/.icons/octicons/diff-renamed-16.svg | 2 +- material/.icons/octicons/dot-16.svg | 2 +- material/.icons/octicons/dot-24.svg | 2 +- material/.icons/octicons/dot-fill-16.svg | 2 +- material/.icons/octicons/dot-fill-24.svg | 2 +- material/.icons/octicons/download-16.svg | 2 +- material/.icons/octicons/download-24.svg | 2 +- material/.icons/octicons/ellipsis-16.svg | 2 +- material/.icons/octicons/eye-16.svg | 2 +- material/.icons/octicons/eye-24.svg | 2 +- material/.icons/octicons/eye-closed-16.svg | 2 +- material/.icons/octicons/eye-closed-24.svg | 2 +- material/.icons/octicons/file-16.svg | 2 +- material/.icons/octicons/file-24.svg | 2 +- material/.icons/octicons/file-badge-16.svg | 2 +- material/.icons/octicons/file-binary-16.svg | 2 +- material/.icons/octicons/file-binary-24.svg | 2 +- material/.icons/octicons/file-code-16.svg | 2 +- material/.icons/octicons/file-code-24.svg | 2 +- material/.icons/octicons/file-diff-16.svg | 2 +- material/.icons/octicons/file-diff-24.svg | 2 +- .../.icons/octicons/file-directory-16.svg | 2 +- .../.icons/octicons/file-directory-24.svg | 2 +- .../octicons/file-directory-fill-24.svg | 2 +- material/.icons/octicons/file-media-24.svg | 2 +- .../.icons/octicons/file-submodule-16.svg | 2 +- .../.icons/octicons/file-submodule-24.svg | 2 +- .../.icons/octicons/file-symlink-file-16.svg | 2 +- .../.icons/octicons/file-symlink-file-24.svg | 2 +- material/.icons/octicons/file-zip-16.svg | 2 +- material/.icons/octicons/file-zip-24.svg | 2 +- material/.icons/octicons/filter-16.svg | 2 +- material/.icons/octicons/filter-24.svg | 2 +- material/.icons/octicons/flame-16.svg | 2 +- material/.icons/octicons/flame-24.svg | 2 +- material/.icons/octicons/fold-16.svg | 2 +- material/.icons/octicons/fold-24.svg | 2 +- material/.icons/octicons/fold-down-16.svg | 2 +- material/.icons/octicons/fold-down-24.svg | 2 +- material/.icons/octicons/fold-up-16.svg | 2 +- material/.icons/octicons/fold-up-24.svg | 2 +- material/.icons/octicons/gear-16.svg | 2 +- material/.icons/octicons/gear-24.svg | 2 +- material/.icons/octicons/gift-16.svg | 2 +- material/.icons/octicons/gift-24.svg | 2 +- material/.icons/octicons/git-branch-16.svg | 2 +- material/.icons/octicons/git-branch-24.svg | 2 +- material/.icons/octicons/git-commit-16.svg | 2 +- material/.icons/octicons/git-commit-24.svg | 2 +- material/.icons/octicons/git-compare-16.svg | 2 +- material/.icons/octicons/git-compare-24.svg | 2 +- material/.icons/octicons/git-fork-24.svg | 2 +- material/.icons/octicons/git-merge-16.svg | 2 +- material/.icons/octicons/git-merge-24.svg | 2 +- .../.icons/octicons/git-pull-request-16.svg | 2 +- .../.icons/octicons/git-pull-request-24.svg | 2 +- material/.icons/octicons/globe-16.svg | 2 +- material/.icons/octicons/globe-24.svg | 2 +- material/.icons/octicons/grabber-16.svg | 2 +- material/.icons/octicons/grabber-24.svg | 2 +- material/.icons/octicons/graph-16.svg | 2 +- material/.icons/octicons/graph-24.svg | 2 +- material/.icons/octicons/heading-16.svg | 2 +- material/.icons/octicons/heading-24.svg | 2 +- material/.icons/octicons/heart-16.svg | 2 +- material/.icons/octicons/heart-24.svg | 2 +- material/.icons/octicons/heart-fill-16.svg | 2 +- material/.icons/octicons/heart-fill-24.svg | 2 +- material/.icons/octicons/history-16.svg | 2 +- material/.icons/octicons/history-24.svg | 2 +- material/.icons/octicons/home-16.svg | 2 +- material/.icons/octicons/home-24.svg | 2 +- material/.icons/octicons/home-fill-24.svg | 2 +- .../.icons/octicons/horizontal-rule-16.svg | 2 +- .../.icons/octicons/horizontal-rule-24.svg | 2 +- material/.icons/octicons/hourglass-16.svg | 2 +- material/.icons/octicons/hourglass-24.svg | 2 +- material/.icons/octicons/hubot-16.svg | 2 +- material/.icons/octicons/hubot-24.svg | 2 +- material/.icons/octicons/image-16.svg | 2 +- material/.icons/octicons/image-24.svg | 2 +- material/.icons/octicons/inbox-16.svg | 2 +- material/.icons/octicons/inbox-24.svg | 2 +- material/.icons/octicons/info-16.svg | 2 +- material/.icons/octicons/info-24.svg | 2 +- material/.icons/octicons/insights-24.svg | 2 +- material/.icons/octicons/issue-closed-16.svg | 2 +- material/.icons/octicons/issue-closed-24.svg | 2 +- material/.icons/octicons/issue-opened-16.svg | 2 +- material/.icons/octicons/issue-opened-24.svg | 2 +- .../.icons/octicons/issue-reopened-16.svg | 2 +- .../.icons/octicons/issue-reopened-24.svg | 2 +- material/.icons/octicons/italic-16.svg | 2 +- material/.icons/octicons/italic-24.svg | 2 +- .../.icons/octicons/kebab-horizontal-16.svg | 2 +- .../.icons/octicons/kebab-horizontal-24.svg | 2 +- material/.icons/octicons/key-16.svg | 2 +- material/.icons/octicons/key-24.svg | 2 +- material/.icons/octicons/law-16.svg | 2 +- material/.icons/octicons/law-24.svg | 2 +- material/.icons/octicons/light-bulb-16.svg | 2 +- material/.icons/octicons/light-bulb-24.svg | 2 +- material/.icons/octicons/link-16.svg | 2 +- material/.icons/octicons/link-24.svg | 2 +- material/.icons/octicons/link-external-16.svg | 2 +- material/.icons/octicons/link-external-24.svg | 2 +- material/.icons/octicons/list-ordered-16.svg | 2 +- material/.icons/octicons/list-ordered-24.svg | 2 +- .../.icons/octicons/list-unordered-16.svg | 2 +- .../.icons/octicons/list-unordered-24.svg | 2 +- material/.icons/octicons/location-16.svg | 2 +- material/.icons/octicons/location-24.svg | 2 +- material/.icons/octicons/lock-16.svg | 2 +- material/.icons/octicons/lock-24.svg | 2 +- material/.icons/octicons/logo-github-16.svg | 2 +- material/.icons/octicons/mail-16.svg | 2 +- material/.icons/octicons/mail-24.svg | 2 +- material/.icons/octicons/mark-github-16.svg | 2 +- material/.icons/octicons/megaphone-16.svg | 2 +- material/.icons/octicons/megaphone-24.svg | 2 +- material/.icons/octicons/mention-16.svg | 2 +- material/.icons/octicons/mention-24.svg | 2 +- material/.icons/octicons/meter-16.svg | 2 +- material/.icons/octicons/milestone-16.svg | 2 +- material/.icons/octicons/milestone-24.svg | 2 +- material/.icons/octicons/mirror-16.svg | 2 +- material/.icons/octicons/mirror-24.svg | 2 +- material/.icons/octicons/moon-16.svg | 2 +- material/.icons/octicons/moon-24.svg | 2 +- material/.icons/octicons/mortar-board-16.svg | 2 +- material/.icons/octicons/mortar-board-24.svg | 2 +- material/.icons/octicons/multi-select-16.svg | 2 +- material/.icons/octicons/multi-select-24.svg | 2 +- material/.icons/octicons/mute-16.svg | 2 +- material/.icons/octicons/mute-24.svg | 2 +- material/.icons/octicons/no-entry-16.svg | 2 +- material/.icons/octicons/no-entry-24.svg | 2 +- material/.icons/octicons/north-star-16.svg | 2 +- material/.icons/octicons/north-star-24.svg | 2 +- material/.icons/octicons/note-16.svg | 2 +- material/.icons/octicons/note-24.svg | 2 +- material/.icons/octicons/number-16.svg | 2 +- material/.icons/octicons/number-24.svg | 2 +- material/.icons/octicons/octoface-16.svg | 2 +- material/.icons/octicons/octoface-24.svg | 2 +- material/.icons/octicons/organization-16.svg | 2 +- material/.icons/octicons/organization-24.svg | 2 +- material/.icons/octicons/package-16.svg | 2 +- material/.icons/octicons/package-24.svg | 2 +- .../octicons/package-dependencies-16.svg | 2 +- .../octicons/package-dependencies-24.svg | 2 +- .../.icons/octicons/package-dependents-16.svg | 2 +- .../.icons/octicons/package-dependents-24.svg | 2 +- material/.icons/octicons/paintbrush-16.svg | 2 +- .../.icons/octicons/paper-airplane-16.svg | 2 +- .../.icons/octicons/paper-airplane-24.svg | 2 +- material/.icons/octicons/pencil-16.svg | 2 +- material/.icons/octicons/pencil-24.svg | 2 +- material/.icons/octicons/people-16.svg | 2 +- material/.icons/octicons/people-24.svg | 2 +- material/.icons/octicons/person-16.svg | 2 +- material/.icons/octicons/person-24.svg | 2 +- material/.icons/octicons/pin-16.svg | 2 +- material/.icons/octicons/pin-24.svg | 2 +- material/.icons/octicons/play-16.svg | 2 +- material/.icons/octicons/play-24.svg | 2 +- material/.icons/octicons/plug-16.svg | 2 +- material/.icons/octicons/plug-24.svg | 2 +- material/.icons/octicons/plus-16.svg | 2 +- material/.icons/octicons/plus-24.svg | 2 +- material/.icons/octicons/plus-circle-16.svg | 2 +- material/.icons/octicons/plus-circle-24.svg | 2 +- material/.icons/octicons/project-16.svg | 2 +- material/.icons/octicons/project-24.svg | 2 +- material/.icons/octicons/pulse-16.svg | 2 +- material/.icons/octicons/pulse-24.svg | 2 +- material/.icons/octicons/question-16.svg | 2 +- material/.icons/octicons/question-24.svg | 2 +- material/.icons/octicons/quote-16.svg | 2 +- material/.icons/octicons/quote-24.svg | 2 +- material/.icons/octicons/reply-16.svg | 2 +- material/.icons/octicons/reply-24.svg | 2 +- material/.icons/octicons/repo-16.svg | 2 +- material/.icons/octicons/repo-24.svg | 2 +- material/.icons/octicons/repo-forked-16.svg | 2 +- material/.icons/octicons/repo-push-16.svg | 2 +- material/.icons/octicons/repo-push-24.svg | 2 +- material/.icons/octicons/repo-template-16.svg | 2 +- material/.icons/octicons/repo-template-24.svg | 2 +- material/.icons/octicons/report-16.svg | 2 +- material/.icons/octicons/report-24.svg | 2 +- material/.icons/octicons/rocket-16.svg | 2 +- material/.icons/octicons/rocket-24.svg | 2 +- material/.icons/octicons/rss-16.svg | 2 +- material/.icons/octicons/rss-24.svg | 2 +- material/.icons/octicons/ruby-16.svg | 2 +- material/.icons/octicons/ruby-24.svg | 2 +- material/.icons/octicons/screen-full-16.svg | 2 +- material/.icons/octicons/screen-full-24.svg | 2 +- material/.icons/octicons/screen-normal-16.svg | 2 +- material/.icons/octicons/screen-normal-24.svg | 2 +- material/.icons/octicons/search-16.svg | 2 +- material/.icons/octicons/search-24.svg | 2 +- material/.icons/octicons/server-16.svg | 2 +- material/.icons/octicons/server-24.svg | 2 +- material/.icons/octicons/share-16.svg | 2 +- material/.icons/octicons/share-24.svg | 2 +- material/.icons/octicons/share-android-16.svg | 2 +- material/.icons/octicons/share-android-24.svg | 2 +- material/.icons/octicons/shield-16.svg | 2 +- material/.icons/octicons/shield-24.svg | 2 +- material/.icons/octicons/shield-check-16.svg | 2 +- material/.icons/octicons/shield-check-24.svg | 2 +- material/.icons/octicons/shield-lock-16.svg | 2 +- material/.icons/octicons/shield-lock-24.svg | 2 +- material/.icons/octicons/shield-x-16.svg | 2 +- material/.icons/octicons/shield-x-24.svg | 2 +- material/.icons/octicons/sign-in-16.svg | 2 +- material/.icons/octicons/sign-in-24.svg | 2 +- material/.icons/octicons/sign-out-16.svg | 2 +- material/.icons/octicons/sign-out-24.svg | 2 +- material/.icons/octicons/skip-16.svg | 2 +- material/.icons/octicons/skip-24.svg | 2 +- material/.icons/octicons/smiley-16.svg | 2 +- material/.icons/octicons/smiley-24.svg | 2 +- material/.icons/octicons/square-16.svg | 2 +- material/.icons/octicons/square-24.svg | 2 +- material/.icons/octicons/square-fill-16.svg | 2 +- material/.icons/octicons/square-fill-24.svg | 2 +- material/.icons/octicons/squirrel-16.svg | 2 +- material/.icons/octicons/squirrel-24.svg | 2 +- material/.icons/octicons/star-16.svg | 2 +- material/.icons/octicons/star-24.svg | 2 +- material/.icons/octicons/star-fill-16.svg | 2 +- material/.icons/octicons/star-fill-24.svg | 2 +- material/.icons/octicons/stop-16.svg | 2 +- material/.icons/octicons/stop-24.svg | 2 +- material/.icons/octicons/stopwatch-16.svg | 2 +- material/.icons/octicons/stopwatch-24.svg | 2 +- material/.icons/octicons/strikethrough-16.svg | 2 +- material/.icons/octicons/strikethrough-24.svg | 2 +- material/.icons/octicons/sun-16.svg | 2 +- material/.icons/octicons/sun-24.svg | 2 +- material/.icons/octicons/sync-16.svg | 2 +- material/.icons/octicons/sync-24.svg | 2 +- material/.icons/octicons/tab-24.svg | 2 +- material/.icons/octicons/tag-16.svg | 2 +- material/.icons/octicons/tag-24.svg | 2 +- material/.icons/octicons/tasklist-16.svg | 2 +- material/.icons/octicons/tasklist-24.svg | 2 +- material/.icons/octicons/telescope-16.svg | 2 +- material/.icons/octicons/telescope-24.svg | 2 +- material/.icons/octicons/terminal-16.svg | 2 +- material/.icons/octicons/terminal-24.svg | 2 +- material/.icons/octicons/three-bars-16.svg | 2 +- material/.icons/octicons/thumbsdown-16.svg | 2 +- material/.icons/octicons/thumbsdown-24.svg | 2 +- material/.icons/octicons/thumbsup-16.svg | 2 +- material/.icons/octicons/thumbsup-24.svg | 2 +- material/.icons/octicons/tools-16.svg | 2 +- material/.icons/octicons/tools-24.svg | 2 +- material/.icons/octicons/trash-16.svg | 2 +- material/.icons/octicons/trash-24.svg | 2 +- material/.icons/octicons/triangle-down-16.svg | 2 +- material/.icons/octicons/triangle-down-24.svg | 2 +- material/.icons/octicons/triangle-left-16.svg | 2 +- material/.icons/octicons/triangle-left-24.svg | 2 +- .../.icons/octicons/triangle-right-16.svg | 2 +- .../.icons/octicons/triangle-right-24.svg | 2 +- material/.icons/octicons/triangle-up-16.svg | 2 +- material/.icons/octicons/triangle-up-24.svg | 2 +- material/.icons/octicons/typography-16.svg | 2 +- material/.icons/octicons/typography-24.svg | 2 +- material/.icons/octicons/unfold-16.svg | 2 +- material/.icons/octicons/unfold-24.svg | 2 +- material/.icons/octicons/unlock-16.svg | 2 +- material/.icons/octicons/unlock-24.svg | 2 +- material/.icons/octicons/unmute-16.svg | 2 +- material/.icons/octicons/unmute-24.svg | 2 +- material/.icons/octicons/unverified-16.svg | 2 +- material/.icons/octicons/unverified-24.svg | 2 +- material/.icons/octicons/upload-16.svg | 2 +- material/.icons/octicons/upload-24.svg | 2 +- material/.icons/octicons/verified-16.svg | 2 +- material/.icons/octicons/verified-24.svg | 2 +- material/.icons/octicons/versions-16.svg | 2 +- material/.icons/octicons/versions-24.svg | 2 +- material/.icons/octicons/video-16.svg | 2 +- material/.icons/octicons/video-24.svg | 2 +- material/.icons/octicons/workflow-16.svg | 2 +- material/.icons/octicons/workflow-24.svg | 2 +- material/.icons/octicons/x-16.svg | 2 +- material/.icons/octicons/x-24.svg | 2 +- material/.icons/octicons/x-circle-16.svg | 2 +- material/.icons/octicons/x-circle-24.svg | 2 +- material/.icons/octicons/x-circle-fill-16.svg | 2 +- material/.icons/octicons/x-circle-fill-24.svg | 2 +- material/.icons/octicons/zap-16.svg | 2 +- material/.icons/octicons/zap-24.svg | 2 +- .../{bundle.js => bundle.ee96dedf.min.js} | 3 +- .../javascripts/bundle.ee96dedf.min.js.map | 7 + material/assets/javascripts/bundle.js.map | 7 - .../search.217ffd95.min.js} | 5 +- .../search.217ffd95.min.js.map} | 2 +- .../assets/stylesheets/main.a361390f.min.css | 2 + .../stylesheets/main.a361390f.min.css.map | 1 + material/assets/stylesheets/main.css | 3600 ----------------- material/assets/stylesheets/main.css.map | 1 - .../stylesheets/palette.7fa14f5b.min.css | 2 + .../stylesheets/palette.7fa14f5b.min.css.map | 1 + material/assets/stylesheets/palette.css | 370 -- material/assets/stylesheets/palette.css.map | 1 - material/base.html | 10 +- .../{bundle.js => bundle.0a1bb8db.min.js} | 3 +- ...ndle.js.map => bundle.0a1bb8db.min.js.map} | 6 +- .../assets/javascripts/icon_search_index.json | 1 + .../assets/stylesheets/main.8036384c.min.css | 2 + .../stylesheets/main.8036384c.min.css.map | 1 + .../overrides/assets/stylesheets/main.css | 285 -- .../overrides/assets/stylesheets/main.css.map | 1 - material/overrides/main.html | 4 +- package-lock.json | 152 +- package.json | 2 +- .../javascripts/templates/table/index.tsx | 2 +- .../components/icon-search/result/index.ts | 3 +- tools/{resolve => _}/index.ts | 68 +- tools/copy/index.ts | 27 +- tools/index.ts | 282 +- tools/transform/index.ts | 112 +- tsconfig.json | 5 +- webpack.config.ts | 466 --- 4638 files changed, 5091 insertions(+), 9559 deletions(-) rename material/assets/javascripts/{bundle.js => bundle.ee96dedf.min.js} (99%) create mode 100644 material/assets/javascripts/bundle.ee96dedf.min.js.map delete mode 100644 material/assets/javascripts/bundle.js.map rename material/assets/javascripts/{worker/search.js => workers/search.217ffd95.min.js} (91%) rename material/assets/javascripts/{worker/search.js.map => workers/search.217ffd95.min.js.map} (99%) create mode 100644 material/assets/stylesheets/main.a361390f.min.css create mode 100644 material/assets/stylesheets/main.a361390f.min.css.map delete mode 100644 material/assets/stylesheets/main.css delete mode 100644 material/assets/stylesheets/main.css.map create mode 100644 material/assets/stylesheets/palette.7fa14f5b.min.css create mode 100644 material/assets/stylesheets/palette.7fa14f5b.min.css.map delete mode 100644 material/assets/stylesheets/palette.css delete mode 100644 material/assets/stylesheets/palette.css.map rename material/overrides/assets/javascripts/{bundle.js => bundle.0a1bb8db.min.js} (99%) rename material/overrides/assets/javascripts/{bundle.js.map => bundle.0a1bb8db.min.js.map} (81%) create mode 100644 material/overrides/assets/javascripts/icon_search_index.json create mode 100644 material/overrides/assets/stylesheets/main.8036384c.min.css create mode 100644 material/overrides/assets/stylesheets/main.8036384c.min.css.map delete mode 100644 material/overrides/assets/stylesheets/main.css delete mode 100644 material/overrides/assets/stylesheets/main.css.map rename tools/{resolve => _}/index.ts (78%) delete mode 100644 webpack.config.ts diff --git a/.gitignore b/.gitignore index 21edcd93b..04817ff4d 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,6 @@ venv # Build files build MANIFEST -manifest.json site # Distribution files diff --git a/material/.icons/fontawesome/brands/acquisitions-incorporated.svg b/material/.icons/fontawesome/brands/acquisitions-incorporated.svg index 0a2254856..459cb0e06 100644 --- a/material/.icons/fontawesome/brands/acquisitions-incorporated.svg +++ b/material/.icons/fontawesome/brands/acquisitions-incorporated.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/amazon-pay.svg b/material/.icons/fontawesome/brands/amazon-pay.svg index 5c90ad763..76e4c4a2d 100644 --- a/material/.icons/fontawesome/brands/amazon-pay.svg +++ b/material/.icons/fontawesome/brands/amazon-pay.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/android.svg b/material/.icons/fontawesome/brands/android.svg index da3cfeb7e..53bd7d4f2 100644 --- a/material/.icons/fontawesome/brands/android.svg +++ b/material/.icons/fontawesome/brands/android.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/artstation.svg b/material/.icons/fontawesome/brands/artstation.svg index cc08b02c9..2c793138e 100644 --- a/material/.icons/fontawesome/brands/artstation.svg +++ b/material/.icons/fontawesome/brands/artstation.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/aws.svg b/material/.icons/fontawesome/brands/aws.svg index ea1def3f8..61973d34c 100644 --- a/material/.icons/fontawesome/brands/aws.svg +++ b/material/.icons/fontawesome/brands/aws.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/battle-net.svg b/material/.icons/fontawesome/brands/battle-net.svg index a4716898c..8ceec68e0 100644 --- a/material/.icons/fontawesome/brands/battle-net.svg +++ b/material/.icons/fontawesome/brands/battle-net.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/bitbucket.svg b/material/.icons/fontawesome/brands/bitbucket.svg index 2f70ac0d6..2902d353a 100644 --- a/material/.icons/fontawesome/brands/bitbucket.svg +++ b/material/.icons/fontawesome/brands/bitbucket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/bitcoin.svg b/material/.icons/fontawesome/brands/bitcoin.svg index 3a0e098d0..9ee5f2ef9 100644 --- a/material/.icons/fontawesome/brands/bitcoin.svg +++ b/material/.icons/fontawesome/brands/bitcoin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/bootstrap.svg b/material/.icons/fontawesome/brands/bootstrap.svg index 6d0ed4f57..35fa43cba 100644 --- a/material/.icons/fontawesome/brands/bootstrap.svg +++ b/material/.icons/fontawesome/brands/bootstrap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/buffer.svg b/material/.icons/fontawesome/brands/buffer.svg index 91cfe03f4..90b3bcd08 100644 --- a/material/.icons/fontawesome/brands/buffer.svg +++ b/material/.icons/fontawesome/brands/buffer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/buy-n-large.svg b/material/.icons/fontawesome/brands/buy-n-large.svg index 4be604df9..cbb298c3a 100644 --- a/material/.icons/fontawesome/brands/buy-n-large.svg +++ b/material/.icons/fontawesome/brands/buy-n-large.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/cloudflare.svg b/material/.icons/fontawesome/brands/cloudflare.svg index 0152f5646..176193180 100644 --- a/material/.icons/fontawesome/brands/cloudflare.svg +++ b/material/.icons/fontawesome/brands/cloudflare.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/connectdevelop.svg b/material/.icons/fontawesome/brands/connectdevelop.svg index d665edc33..8588469ca 100644 --- a/material/.icons/fontawesome/brands/connectdevelop.svg +++ b/material/.icons/fontawesome/brands/connectdevelop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/cotton-bureau.svg b/material/.icons/fontawesome/brands/cotton-bureau.svg index e2a4ad966..b3b1db8fa 100644 --- a/material/.icons/fontawesome/brands/cotton-bureau.svg +++ b/material/.icons/fontawesome/brands/cotton-bureau.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/critical-role.svg b/material/.icons/fontawesome/brands/critical-role.svg index cbfc80833..d4d2cebdd 100644 --- a/material/.icons/fontawesome/brands/critical-role.svg +++ b/material/.icons/fontawesome/brands/critical-role.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/dailymotion.svg b/material/.icons/fontawesome/brands/dailymotion.svg index 45ec4d277..b151817ef 100644 --- a/material/.icons/fontawesome/brands/dailymotion.svg +++ b/material/.icons/fontawesome/brands/dailymotion.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/edge.svg b/material/.icons/fontawesome/brands/edge.svg index f4a91ecfa..13428f1fc 100644 --- a/material/.icons/fontawesome/brands/edge.svg +++ b/material/.icons/fontawesome/brands/edge.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/evernote.svg b/material/.icons/fontawesome/brands/evernote.svg index f1cc8cb98..f5834eeac 100644 --- a/material/.icons/fontawesome/brands/evernote.svg +++ b/material/.icons/fontawesome/brands/evernote.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/facebook-messenger.svg b/material/.icons/fontawesome/brands/facebook-messenger.svg index 309d71060..b1cefea91 100644 --- a/material/.icons/fontawesome/brands/facebook-messenger.svg +++ b/material/.icons/fontawesome/brands/facebook-messenger.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/facebook-square.svg b/material/.icons/fontawesome/brands/facebook-square.svg index 0de47eb31..dc9b9d8d9 100644 --- a/material/.icons/fontawesome/brands/facebook-square.svg +++ b/material/.icons/fontawesome/brands/facebook-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/fantasy-flight-games.svg b/material/.icons/fontawesome/brands/fantasy-flight-games.svg index 23a640169..f4c427591 100644 --- a/material/.icons/fontawesome/brands/fantasy-flight-games.svg +++ b/material/.icons/fontawesome/brands/fantasy-flight-games.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/fedora.svg b/material/.icons/fontawesome/brands/fedora.svg index 798af6e0b..b62726fb7 100644 --- a/material/.icons/fontawesome/brands/fedora.svg +++ b/material/.icons/fontawesome/brands/fedora.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/figma.svg b/material/.icons/fontawesome/brands/figma.svg index b46cf0eaf..8c2f960cf 100644 --- a/material/.icons/fontawesome/brands/figma.svg +++ b/material/.icons/fontawesome/brands/figma.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/firefox-browser.svg b/material/.icons/fontawesome/brands/firefox-browser.svg index 4f90a53c9..c3bcaff2b 100644 --- a/material/.icons/fontawesome/brands/firefox-browser.svg +++ b/material/.icons/fontawesome/brands/firefox-browser.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/firefox.svg b/material/.icons/fontawesome/brands/firefox.svg index a01c4e567..4d2e2bbd1 100644 --- a/material/.icons/fontawesome/brands/firefox.svg +++ b/material/.icons/fontawesome/brands/firefox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/first-order-alt.svg b/material/.icons/fontawesome/brands/first-order-alt.svg index 1279395bd..86853cea8 100644 --- a/material/.icons/fontawesome/brands/first-order-alt.svg +++ b/material/.icons/fontawesome/brands/first-order-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/free-code-camp.svg b/material/.icons/fontawesome/brands/free-code-camp.svg index d4ec80f7c..6ee8f3c85 100644 --- a/material/.icons/fontawesome/brands/free-code-camp.svg +++ b/material/.icons/fontawesome/brands/free-code-camp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/galactic-republic.svg b/material/.icons/fontawesome/brands/galactic-republic.svg index 79def97be..8b91f999d 100644 --- a/material/.icons/fontawesome/brands/galactic-republic.svg +++ b/material/.icons/fontawesome/brands/galactic-republic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/galactic-senate.svg b/material/.icons/fontawesome/brands/galactic-senate.svg index 87e875016..7ee63c16f 100644 --- a/material/.icons/fontawesome/brands/galactic-senate.svg +++ b/material/.icons/fontawesome/brands/galactic-senate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/git-alt.svg b/material/.icons/fontawesome/brands/git-alt.svg index 36d10c0b2..62194af4f 100644 --- a/material/.icons/fontawesome/brands/git-alt.svg +++ b/material/.icons/fontawesome/brands/git-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/git-square.svg b/material/.icons/fontawesome/brands/git-square.svg index 225316432..f58e30b60 100644 --- a/material/.icons/fontawesome/brands/git-square.svg +++ b/material/.icons/fontawesome/brands/git-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/google-pay.svg b/material/.icons/fontawesome/brands/google-pay.svg index e625afd62..0335aec86 100644 --- a/material/.icons/fontawesome/brands/google-pay.svg +++ b/material/.icons/fontawesome/brands/google-pay.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/google-plus.svg b/material/.icons/fontawesome/brands/google-plus.svg index 2f395e805..97edb4046 100644 --- a/material/.icons/fontawesome/brands/google-plus.svg +++ b/material/.icons/fontawesome/brands/google-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/guilded.svg b/material/.icons/fontawesome/brands/guilded.svg index 7c15b7953..32ca8368e 100644 --- a/material/.icons/fontawesome/brands/guilded.svg +++ b/material/.icons/fontawesome/brands/guilded.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/hive.svg b/material/.icons/fontawesome/brands/hive.svg index 7468ecff3..4e297c7c0 100644 --- a/material/.icons/fontawesome/brands/hive.svg +++ b/material/.icons/fontawesome/brands/hive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/hornbill.svg b/material/.icons/fontawesome/brands/hornbill.svg index e147e879a..ce9375db2 100644 --- a/material/.icons/fontawesome/brands/hornbill.svg +++ b/material/.icons/fontawesome/brands/hornbill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/ideal.svg b/material/.icons/fontawesome/brands/ideal.svg index 11b81baf9..ddc8b0069 100644 --- a/material/.icons/fontawesome/brands/ideal.svg +++ b/material/.icons/fontawesome/brands/ideal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/innosoft.svg b/material/.icons/fontawesome/brands/innosoft.svg index c6540883b..f7648a9ae 100644 --- a/material/.icons/fontawesome/brands/innosoft.svg +++ b/material/.icons/fontawesome/brands/innosoft.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/instagram-square.svg b/material/.icons/fontawesome/brands/instagram-square.svg index 4338164bd..b1c94d869 100644 --- a/material/.icons/fontawesome/brands/instagram-square.svg +++ b/material/.icons/fontawesome/brands/instagram-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/itch-io.svg b/material/.icons/fontawesome/brands/itch-io.svg index ee2e014d7..c87fb703a 100644 --- a/material/.icons/fontawesome/brands/itch-io.svg +++ b/material/.icons/fontawesome/brands/itch-io.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/java.svg b/material/.icons/fontawesome/brands/java.svg index d3dd63ad2..15fc4ddc1 100644 --- a/material/.icons/fontawesome/brands/java.svg +++ b/material/.icons/fontawesome/brands/java.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/keybase.svg b/material/.icons/fontawesome/brands/keybase.svg index 5968b2fd9..be1135a36 100644 --- a/material/.icons/fontawesome/brands/keybase.svg +++ b/material/.icons/fontawesome/brands/keybase.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/laravel.svg b/material/.icons/fontawesome/brands/laravel.svg index a98d06cbf..f63639ad9 100644 --- a/material/.icons/fontawesome/brands/laravel.svg +++ b/material/.icons/fontawesome/brands/laravel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/linkedin-in.svg b/material/.icons/fontawesome/brands/linkedin-in.svg index 226b6f9ab..b65c89fba 100644 --- a/material/.icons/fontawesome/brands/linkedin-in.svg +++ b/material/.icons/fontawesome/brands/linkedin-in.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/mailchimp.svg b/material/.icons/fontawesome/brands/mailchimp.svg index c990e2865..8dff9bffa 100644 --- a/material/.icons/fontawesome/brands/mailchimp.svg +++ b/material/.icons/fontawesome/brands/mailchimp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/mandalorian.svg b/material/.icons/fontawesome/brands/mandalorian.svg index 0440e7dce..3ed75162f 100644 --- a/material/.icons/fontawesome/brands/mandalorian.svg +++ b/material/.icons/fontawesome/brands/mandalorian.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/mastodon.svg b/material/.icons/fontawesome/brands/mastodon.svg index 847e4b0ee..bb7c4285b 100644 --- a/material/.icons/fontawesome/brands/mastodon.svg +++ b/material/.icons/fontawesome/brands/mastodon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/mdb.svg b/material/.icons/fontawesome/brands/mdb.svg index 99e737b58..af962711c 100644 --- a/material/.icons/fontawesome/brands/mdb.svg +++ b/material/.icons/fontawesome/brands/mdb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/microblog.svg b/material/.icons/fontawesome/brands/microblog.svg index d1c0570c5..28925eb2a 100644 --- a/material/.icons/fontawesome/brands/microblog.svg +++ b/material/.icons/fontawesome/brands/microblog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/mixer.svg b/material/.icons/fontawesome/brands/mixer.svg index 785ab3927..49d95bb1f 100644 --- a/material/.icons/fontawesome/brands/mixer.svg +++ b/material/.icons/fontawesome/brands/mixer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/ns8.svg b/material/.icons/fontawesome/brands/ns8.svg index ca8d772dc..428b54ffb 100644 --- a/material/.icons/fontawesome/brands/ns8.svg +++ b/material/.icons/fontawesome/brands/ns8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/octopus-deploy.svg b/material/.icons/fontawesome/brands/octopus-deploy.svg index f77afca77..80e096a5f 100644 --- a/material/.icons/fontawesome/brands/octopus-deploy.svg +++ b/material/.icons/fontawesome/brands/octopus-deploy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/old-republic.svg b/material/.icons/fontawesome/brands/old-republic.svg index f941d36c4..8b62644c5 100644 --- a/material/.icons/fontawesome/brands/old-republic.svg +++ b/material/.icons/fontawesome/brands/old-republic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/orcid.svg b/material/.icons/fontawesome/brands/orcid.svg index 3b0a650fc..501fc7697 100644 --- a/material/.icons/fontawesome/brands/orcid.svg +++ b/material/.icons/fontawesome/brands/orcid.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/osi.svg b/material/.icons/fontawesome/brands/osi.svg index 7add2192f..f362cfd13 100644 --- a/material/.icons/fontawesome/brands/osi.svg +++ b/material/.icons/fontawesome/brands/osi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/penny-arcade.svg b/material/.icons/fontawesome/brands/penny-arcade.svg index 6644a5603..77dea2359 100644 --- a/material/.icons/fontawesome/brands/penny-arcade.svg +++ b/material/.icons/fontawesome/brands/penny-arcade.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/perbyte.svg b/material/.icons/fontawesome/brands/perbyte.svg index 45dc005f9..dc824a8ab 100644 --- a/material/.icons/fontawesome/brands/perbyte.svg +++ b/material/.icons/fontawesome/brands/perbyte.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/phoenix-squadron.svg b/material/.icons/fontawesome/brands/phoenix-squadron.svg index d07ac212b..961adc446 100644 --- a/material/.icons/fontawesome/brands/phoenix-squadron.svg +++ b/material/.icons/fontawesome/brands/phoenix-squadron.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/pied-piper.svg b/material/.icons/fontawesome/brands/pied-piper.svg index a4d0c3cd0..5f23038ff 100644 --- a/material/.icons/fontawesome/brands/pied-piper.svg +++ b/material/.icons/fontawesome/brands/pied-piper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/quinscape.svg b/material/.icons/fontawesome/brands/quinscape.svg index dd9822dd2..9b37185a8 100644 --- a/material/.icons/fontawesome/brands/quinscape.svg +++ b/material/.icons/fontawesome/brands/quinscape.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/ravelry.svg b/material/.icons/fontawesome/brands/ravelry.svg index fdc107351..a95b445e5 100644 --- a/material/.icons/fontawesome/brands/ravelry.svg +++ b/material/.icons/fontawesome/brands/ravelry.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/reacteurope.svg b/material/.icons/fontawesome/brands/reacteurope.svg index 9bb1c8c50..5a626d807 100644 --- a/material/.icons/fontawesome/brands/reacteurope.svg +++ b/material/.icons/fontawesome/brands/reacteurope.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/redhat.svg b/material/.icons/fontawesome/brands/redhat.svg index 3d82184d1..0c2c9b817 100644 --- a/material/.icons/fontawesome/brands/redhat.svg +++ b/material/.icons/fontawesome/brands/redhat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/rev.svg b/material/.icons/fontawesome/brands/rev.svg index 22d6264c3..2574a1711 100644 --- a/material/.icons/fontawesome/brands/rev.svg +++ b/material/.icons/fontawesome/brands/rev.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/rocketchat.svg b/material/.icons/fontawesome/brands/rocketchat.svg index 260b80e75..95f4c2b52 100644 --- a/material/.icons/fontawesome/brands/rocketchat.svg +++ b/material/.icons/fontawesome/brands/rocketchat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/rust.svg b/material/.icons/fontawesome/brands/rust.svg index ee505436b..54267e47d 100644 --- a/material/.icons/fontawesome/brands/rust.svg +++ b/material/.icons/fontawesome/brands/rust.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/safari.svg b/material/.icons/fontawesome/brands/safari.svg index 98387b357..5e54c9067 100644 --- a/material/.icons/fontawesome/brands/safari.svg +++ b/material/.icons/fontawesome/brands/safari.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/salesforce.svg b/material/.icons/fontawesome/brands/salesforce.svg index 4ba079c7a..546e83358 100644 --- a/material/.icons/fontawesome/brands/salesforce.svg +++ b/material/.icons/fontawesome/brands/salesforce.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/sass.svg b/material/.icons/fontawesome/brands/sass.svg index 1f832a507..5543c1c70 100644 --- a/material/.icons/fontawesome/brands/sass.svg +++ b/material/.icons/fontawesome/brands/sass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/shopify.svg b/material/.icons/fontawesome/brands/shopify.svg index 09533c950..62b3b4c09 100644 --- a/material/.icons/fontawesome/brands/shopify.svg +++ b/material/.icons/fontawesome/brands/shopify.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/shopware.svg b/material/.icons/fontawesome/brands/shopware.svg index 02529ecff..8078f3c70 100644 --- a/material/.icons/fontawesome/brands/shopware.svg +++ b/material/.icons/fontawesome/brands/shopware.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/sith.svg b/material/.icons/fontawesome/brands/sith.svg index 98c96401a..cecd39d89 100644 --- a/material/.icons/fontawesome/brands/sith.svg +++ b/material/.icons/fontawesome/brands/sith.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/snapchat-ghost.svg b/material/.icons/fontawesome/brands/snapchat-ghost.svg index 30b14548c..4497f0cf5 100644 --- a/material/.icons/fontawesome/brands/snapchat-ghost.svg +++ b/material/.icons/fontawesome/brands/snapchat-ghost.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/sourcetree.svg b/material/.icons/fontawesome/brands/sourcetree.svg index d4a15c502..40f346dc2 100644 --- a/material/.icons/fontawesome/brands/sourcetree.svg +++ b/material/.icons/fontawesome/brands/sourcetree.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/speaker-deck.svg b/material/.icons/fontawesome/brands/speaker-deck.svg index 678132ee8..6816698a4 100644 --- a/material/.icons/fontawesome/brands/speaker-deck.svg +++ b/material/.icons/fontawesome/brands/speaker-deck.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/steam.svg b/material/.icons/fontawesome/brands/steam.svg index 62d2616c8..642650a88 100644 --- a/material/.icons/fontawesome/brands/steam.svg +++ b/material/.icons/fontawesome/brands/steam.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/stripe-s.svg b/material/.icons/fontawesome/brands/stripe-s.svg index 08c5eb9ee..d310daea2 100644 --- a/material/.icons/fontawesome/brands/stripe-s.svg +++ b/material/.icons/fontawesome/brands/stripe-s.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/suse.svg b/material/.icons/fontawesome/brands/suse.svg index a5a612d73..adb6390d0 100644 --- a/material/.icons/fontawesome/brands/suse.svg +++ b/material/.icons/fontawesome/brands/suse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/swift.svg b/material/.icons/fontawesome/brands/swift.svg index c3cda3c0d..d475cc18c 100644 --- a/material/.icons/fontawesome/brands/swift.svg +++ b/material/.icons/fontawesome/brands/swift.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/teamspeak.svg b/material/.icons/fontawesome/brands/teamspeak.svg index 507fef800..f430b5fb2 100644 --- a/material/.icons/fontawesome/brands/teamspeak.svg +++ b/material/.icons/fontawesome/brands/teamspeak.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/the-red-yeti.svg b/material/.icons/fontawesome/brands/the-red-yeti.svg index c6e8f07a5..f1af96f5f 100644 --- a/material/.icons/fontawesome/brands/the-red-yeti.svg +++ b/material/.icons/fontawesome/brands/the-red-yeti.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/themeisle.svg b/material/.icons/fontawesome/brands/themeisle.svg index 981483878..b93377556 100644 --- a/material/.icons/fontawesome/brands/themeisle.svg +++ b/material/.icons/fontawesome/brands/themeisle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/tiktok.svg b/material/.icons/fontawesome/brands/tiktok.svg index 57c4494f1..76600b276 100644 --- a/material/.icons/fontawesome/brands/tiktok.svg +++ b/material/.icons/fontawesome/brands/tiktok.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/tripadvisor.svg b/material/.icons/fontawesome/brands/tripadvisor.svg index ec18c575a..832ce77e7 100644 --- a/material/.icons/fontawesome/brands/tripadvisor.svg +++ b/material/.icons/fontawesome/brands/tripadvisor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/twitter-square.svg b/material/.icons/fontawesome/brands/twitter-square.svg index a754fd07f..0ca7e0b97 100644 --- a/material/.icons/fontawesome/brands/twitter-square.svg +++ b/material/.icons/fontawesome/brands/twitter-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/umbraco.svg b/material/.icons/fontawesome/brands/umbraco.svg index fad502dd3..454e11522 100644 --- a/material/.icons/fontawesome/brands/umbraco.svg +++ b/material/.icons/fontawesome/brands/umbraco.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/uncharted.svg b/material/.icons/fontawesome/brands/uncharted.svg index 66b8c24a9..410d14aca 100644 --- a/material/.icons/fontawesome/brands/uncharted.svg +++ b/material/.icons/fontawesome/brands/uncharted.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/watchman-monitoring.svg b/material/.icons/fontawesome/brands/watchman-monitoring.svg index 60b771333..47ee69180 100644 --- a/material/.icons/fontawesome/brands/watchman-monitoring.svg +++ b/material/.icons/fontawesome/brands/watchman-monitoring.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/waze.svg b/material/.icons/fontawesome/brands/waze.svg index 7bfebb1d1..237e23168 100644 --- a/material/.icons/fontawesome/brands/waze.svg +++ b/material/.icons/fontawesome/brands/waze.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/wolf-pack-battalion.svg b/material/.icons/fontawesome/brands/wolf-pack-battalion.svg index 0d03a6695..eb8e31275 100644 --- a/material/.icons/fontawesome/brands/wolf-pack-battalion.svg +++ b/material/.icons/fontawesome/brands/wolf-pack-battalion.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/yahoo.svg b/material/.icons/fontawesome/brands/yahoo.svg index 98f35bbdd..846626a9f 100644 --- a/material/.icons/fontawesome/brands/yahoo.svg +++ b/material/.icons/fontawesome/brands/yahoo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/yammer.svg b/material/.icons/fontawesome/brands/yammer.svg index ff483ed85..e9056787e 100644 --- a/material/.icons/fontawesome/brands/yammer.svg +++ b/material/.icons/fontawesome/brands/yammer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/brands/yelp.svg b/material/.icons/fontawesome/brands/yelp.svg index 43150f3a6..d057f5179 100644 --- a/material/.icons/fontawesome/brands/yelp.svg +++ b/material/.icons/fontawesome/brands/yelp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/bookmark.svg b/material/.icons/fontawesome/regular/bookmark.svg index 741b441f9..bd315e488 100644 --- a/material/.icons/fontawesome/regular/bookmark.svg +++ b/material/.icons/fontawesome/regular/bookmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/calendar-check.svg b/material/.icons/fontawesome/regular/calendar-check.svg index 55a9f20fc..3d98c5637 100644 --- a/material/.icons/fontawesome/regular/calendar-check.svg +++ b/material/.icons/fontawesome/regular/calendar-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/clone.svg b/material/.icons/fontawesome/regular/clone.svg index f9b3a6b8f..c9804bf33 100644 --- a/material/.icons/fontawesome/regular/clone.svg +++ b/material/.icons/fontawesome/regular/clone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/compass.svg b/material/.icons/fontawesome/regular/compass.svg index 225da3982..40e3c56c9 100644 --- a/material/.icons/fontawesome/regular/compass.svg +++ b/material/.icons/fontawesome/regular/compass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/copy.svg b/material/.icons/fontawesome/regular/copy.svg index 9875df30e..a488ff2c8 100644 --- a/material/.icons/fontawesome/regular/copy.svg +++ b/material/.icons/fontawesome/regular/copy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/copyright.svg b/material/.icons/fontawesome/regular/copyright.svg index 61318d6cd..2a81ca28a 100644 --- a/material/.icons/fontawesome/regular/copyright.svg +++ b/material/.icons/fontawesome/regular/copyright.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/envelope-open.svg b/material/.icons/fontawesome/regular/envelope-open.svg index 8aa3359e8..0b71db8f8 100644 --- a/material/.icons/fontawesome/regular/envelope-open.svg +++ b/material/.icons/fontawesome/regular/envelope-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/eye-slash.svg b/material/.icons/fontawesome/regular/eye-slash.svg index ac123231f..9e6b01dd6 100644 --- a/material/.icons/fontawesome/regular/eye-slash.svg +++ b/material/.icons/fontawesome/regular/eye-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/eye.svg b/material/.icons/fontawesome/regular/eye.svg index 2083b1060..09c934531 100644 --- a/material/.icons/fontawesome/regular/eye.svg +++ b/material/.icons/fontawesome/regular/eye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/file-audio.svg b/material/.icons/fontawesome/regular/file-audio.svg index 2b7c9ca7a..87c16005c 100644 --- a/material/.icons/fontawesome/regular/file-audio.svg +++ b/material/.icons/fontawesome/regular/file-audio.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/file-video.svg b/material/.icons/fontawesome/regular/file-video.svg index af025d5ac..ed02cdc11 100644 --- a/material/.icons/fontawesome/regular/file-video.svg +++ b/material/.icons/fontawesome/regular/file-video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/flag.svg b/material/.icons/fontawesome/regular/flag.svg index 352a6d35b..4df2e03fd 100644 --- a/material/.icons/fontawesome/regular/flag.svg +++ b/material/.icons/fontawesome/regular/flag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-lizard.svg b/material/.icons/fontawesome/regular/hand-lizard.svg index bdeca648c..6dba7ecf1 100644 --- a/material/.icons/fontawesome/regular/hand-lizard.svg +++ b/material/.icons/fontawesome/regular/hand-lizard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-paper.svg b/material/.icons/fontawesome/regular/hand-paper.svg index 6a0a7fc2b..afe7adb0a 100644 --- a/material/.icons/fontawesome/regular/hand-paper.svg +++ b/material/.icons/fontawesome/regular/hand-paper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-peace.svg b/material/.icons/fontawesome/regular/hand-peace.svg index e445ba62a..506209b2a 100644 --- a/material/.icons/fontawesome/regular/hand-peace.svg +++ b/material/.icons/fontawesome/regular/hand-peace.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-point-down.svg b/material/.icons/fontawesome/regular/hand-point-down.svg index d87f28ecc..08bc8d848 100644 --- a/material/.icons/fontawesome/regular/hand-point-down.svg +++ b/material/.icons/fontawesome/regular/hand-point-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-point-left.svg b/material/.icons/fontawesome/regular/hand-point-left.svg index 23e5b1392..82d664039 100644 --- a/material/.icons/fontawesome/regular/hand-point-left.svg +++ b/material/.icons/fontawesome/regular/hand-point-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-point-right.svg b/material/.icons/fontawesome/regular/hand-point-right.svg index cc7e062be..312c20933 100644 --- a/material/.icons/fontawesome/regular/hand-point-right.svg +++ b/material/.icons/fontawesome/regular/hand-point-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-point-up.svg b/material/.icons/fontawesome/regular/hand-point-up.svg index b7475816f..6f823c30e 100644 --- a/material/.icons/fontawesome/regular/hand-point-up.svg +++ b/material/.icons/fontawesome/regular/hand-point-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-pointer.svg b/material/.icons/fontawesome/regular/hand-pointer.svg index 8ce3eece7..1ff0b8eb0 100644 --- a/material/.icons/fontawesome/regular/hand-pointer.svg +++ b/material/.icons/fontawesome/regular/hand-pointer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-rock.svg b/material/.icons/fontawesome/regular/hand-rock.svg index 0fda3efda..a13011abf 100644 --- a/material/.icons/fontawesome/regular/hand-rock.svg +++ b/material/.icons/fontawesome/regular/hand-rock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-scissors.svg b/material/.icons/fontawesome/regular/hand-scissors.svg index 45c993027..3e0b478f2 100644 --- a/material/.icons/fontawesome/regular/hand-scissors.svg +++ b/material/.icons/fontawesome/regular/hand-scissors.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hand-spock.svg b/material/.icons/fontawesome/regular/hand-spock.svg index d61cda4dc..05dd2f349 100644 --- a/material/.icons/fontawesome/regular/hand-spock.svg +++ b/material/.icons/fontawesome/regular/hand-spock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/handshake.svg b/material/.icons/fontawesome/regular/handshake.svg index b395862de..1cb42aecb 100644 --- a/material/.icons/fontawesome/regular/handshake.svg +++ b/material/.icons/fontawesome/regular/handshake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hdd.svg b/material/.icons/fontawesome/regular/hdd.svg index 101b7a97c..dbf616fee 100644 --- a/material/.icons/fontawesome/regular/hdd.svg +++ b/material/.icons/fontawesome/regular/hdd.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/hospital.svg b/material/.icons/fontawesome/regular/hospital.svg index 07d145f6e..987728637 100644 --- a/material/.icons/fontawesome/regular/hospital.svg +++ b/material/.icons/fontawesome/regular/hospital.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/image.svg b/material/.icons/fontawesome/regular/image.svg index 235e3cffb..4f7dd8dd4 100644 --- a/material/.icons/fontawesome/regular/image.svg +++ b/material/.icons/fontawesome/regular/image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/images.svg b/material/.icons/fontawesome/regular/images.svg index 3a3945420..2371a0859 100644 --- a/material/.icons/fontawesome/regular/images.svg +++ b/material/.icons/fontawesome/regular/images.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/lightbulb.svg b/material/.icons/fontawesome/regular/lightbulb.svg index 90c250aff..abd6ebfe6 100644 --- a/material/.icons/fontawesome/regular/lightbulb.svg +++ b/material/.icons/fontawesome/regular/lightbulb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/list-alt.svg b/material/.icons/fontawesome/regular/list-alt.svg index 7df6fba00..1113bbcca 100644 --- a/material/.icons/fontawesome/regular/list-alt.svg +++ b/material/.icons/fontawesome/regular/list-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/map.svg b/material/.icons/fontawesome/regular/map.svg index 6c613d4f3..a5d2e7d40 100644 --- a/material/.icons/fontawesome/regular/map.svg +++ b/material/.icons/fontawesome/regular/map.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/money-bill-alt.svg b/material/.icons/fontawesome/regular/money-bill-alt.svg index 013118a36..4ce581e1f 100644 --- a/material/.icons/fontawesome/regular/money-bill-alt.svg +++ b/material/.icons/fontawesome/regular/money-bill-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/moon.svg b/material/.icons/fontawesome/regular/moon.svg index 91c3b80fe..30fb1151e 100644 --- a/material/.icons/fontawesome/regular/moon.svg +++ b/material/.icons/fontawesome/regular/moon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/registered.svg b/material/.icons/fontawesome/regular/registered.svg index db9e8da56..e5dc8a20b 100644 --- a/material/.icons/fontawesome/regular/registered.svg +++ b/material/.icons/fontawesome/regular/registered.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/save.svg b/material/.icons/fontawesome/regular/save.svg index d2245da43..16f6b8295 100644 --- a/material/.icons/fontawesome/regular/save.svg +++ b/material/.icons/fontawesome/regular/save.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/share-square.svg b/material/.icons/fontawesome/regular/share-square.svg index 6e678e9cc..aa9874881 100644 --- a/material/.icons/fontawesome/regular/share-square.svg +++ b/material/.icons/fontawesome/regular/share-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/sticky-note.svg b/material/.icons/fontawesome/regular/sticky-note.svg index 45919b2d8..0882390c7 100644 --- a/material/.icons/fontawesome/regular/sticky-note.svg +++ b/material/.icons/fontawesome/regular/sticky-note.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/regular/trash-alt.svg b/material/.icons/fontawesome/regular/trash-alt.svg index 69511ac79..e3eb2b018 100644 --- a/material/.icons/fontawesome/regular/trash-alt.svg +++ b/material/.icons/fontawesome/regular/trash-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/ad.svg b/material/.icons/fontawesome/solid/ad.svg index bd78e06da..42e4a52ef 100644 --- a/material/.icons/fontawesome/solid/ad.svg +++ b/material/.icons/fontawesome/solid/ad.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/align-center.svg b/material/.icons/fontawesome/solid/align-center.svg index 43b336674..b4cdc131e 100644 --- a/material/.icons/fontawesome/solid/align-center.svg +++ b/material/.icons/fontawesome/solid/align-center.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/align-justify.svg b/material/.icons/fontawesome/solid/align-justify.svg index 1e69256e6..d88b95906 100644 --- a/material/.icons/fontawesome/solid/align-justify.svg +++ b/material/.icons/fontawesome/solid/align-justify.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/align-left.svg b/material/.icons/fontawesome/solid/align-left.svg index d188e173a..0e57ddefc 100644 --- a/material/.icons/fontawesome/solid/align-left.svg +++ b/material/.icons/fontawesome/solid/align-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/align-right.svg b/material/.icons/fontawesome/solid/align-right.svg index 8d5f5e817..34b22e01c 100644 --- a/material/.icons/fontawesome/solid/align-right.svg +++ b/material/.icons/fontawesome/solid/align-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/american-sign-language-interpreting.svg b/material/.icons/fontawesome/solid/american-sign-language-interpreting.svg index d65a1664d..8bca61450 100644 --- a/material/.icons/fontawesome/solid/american-sign-language-interpreting.svg +++ b/material/.icons/fontawesome/solid/american-sign-language-interpreting.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/at.svg b/material/.icons/fontawesome/solid/at.svg index 846893f55..6f35c426b 100644 --- a/material/.icons/fontawesome/solid/at.svg +++ b/material/.icons/fontawesome/solid/at.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/atom.svg b/material/.icons/fontawesome/solid/atom.svg index b9f35da17..160c887db 100644 --- a/material/.icons/fontawesome/solid/atom.svg +++ b/material/.icons/fontawesome/solid/atom.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/audio-description.svg b/material/.icons/fontawesome/solid/audio-description.svg index 712578ee0..0e338ff6d 100644 --- a/material/.icons/fontawesome/solid/audio-description.svg +++ b/material/.icons/fontawesome/solid/audio-description.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/award.svg b/material/.icons/fontawesome/solid/award.svg index 3350fa6a7..a8c9de1de 100644 --- a/material/.icons/fontawesome/solid/award.svg +++ b/material/.icons/fontawesome/solid/award.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/backspace.svg b/material/.icons/fontawesome/solid/backspace.svg index b1c995223..078a9fba2 100644 --- a/material/.icons/fontawesome/solid/backspace.svg +++ b/material/.icons/fontawesome/solid/backspace.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/bacon.svg b/material/.icons/fontawesome/solid/bacon.svg index 3976fe30e..97bfedb04 100644 --- a/material/.icons/fontawesome/solid/bacon.svg +++ b/material/.icons/fontawesome/solid/bacon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/bacteria.svg b/material/.icons/fontawesome/solid/bacteria.svg index 54e094857..3c7cd09a9 100644 --- a/material/.icons/fontawesome/solid/bacteria.svg +++ b/material/.icons/fontawesome/solid/bacteria.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/bacterium.svg b/material/.icons/fontawesome/solid/bacterium.svg index d737a06a2..a5bf4a84a 100644 --- a/material/.icons/fontawesome/solid/bacterium.svg +++ b/material/.icons/fontawesome/solid/bacterium.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/bath.svg b/material/.icons/fontawesome/solid/bath.svg index 8f20e3c52..b2d333aaa 100644 --- a/material/.icons/fontawesome/solid/bath.svg +++ b/material/.icons/fontawesome/solid/bath.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/beer.svg b/material/.icons/fontawesome/solid/beer.svg index a4ad01aa2..692431b18 100644 --- a/material/.icons/fontawesome/solid/beer.svg +++ b/material/.icons/fontawesome/solid/beer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/bicycle.svg b/material/.icons/fontawesome/solid/bicycle.svg index 124ca5e14..4ef7ded2d 100644 --- a/material/.icons/fontawesome/solid/bicycle.svg +++ b/material/.icons/fontawesome/solid/bicycle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/biking.svg b/material/.icons/fontawesome/solid/biking.svg index f35f41e59..8fb1d71b2 100644 --- a/material/.icons/fontawesome/solid/biking.svg +++ b/material/.icons/fontawesome/solid/biking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/blind.svg b/material/.icons/fontawesome/solid/blind.svg index a16a89037..b1eddadfd 100644 --- a/material/.icons/fontawesome/solid/blind.svg +++ b/material/.icons/fontawesome/solid/blind.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/bold.svg b/material/.icons/fontawesome/solid/bold.svg index c58ae4872..d21f0d032 100644 --- a/material/.icons/fontawesome/solid/bold.svg +++ b/material/.icons/fontawesome/solid/bold.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/book-medical.svg b/material/.icons/fontawesome/solid/book-medical.svg index 64564f85b..e3c6c7177 100644 --- a/material/.icons/fontawesome/solid/book-medical.svg +++ b/material/.icons/fontawesome/solid/book-medical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/border-all.svg b/material/.icons/fontawesome/solid/border-all.svg index d5b7c918e..6e9124595 100644 --- a/material/.icons/fontawesome/solid/border-all.svg +++ b/material/.icons/fontawesome/solid/border-all.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/border-none.svg b/material/.icons/fontawesome/solid/border-none.svg index 2e53f36d4..b21c8a94a 100644 --- a/material/.icons/fontawesome/solid/border-none.svg +++ b/material/.icons/fontawesome/solid/border-none.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/border-style.svg b/material/.icons/fontawesome/solid/border-style.svg index 10ff9417e..fdc9a05ae 100644 --- a/material/.icons/fontawesome/solid/border-style.svg +++ b/material/.icons/fontawesome/solid/border-style.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/box-tissue.svg b/material/.icons/fontawesome/solid/box-tissue.svg index 48d9e8e38..b3135c7d7 100644 --- a/material/.icons/fontawesome/solid/box-tissue.svg +++ b/material/.icons/fontawesome/solid/box-tissue.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/bullhorn.svg b/material/.icons/fontawesome/solid/bullhorn.svg index 253742652..9c8637095 100644 --- a/material/.icons/fontawesome/solid/bullhorn.svg +++ b/material/.icons/fontawesome/solid/bullhorn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/cannabis.svg b/material/.icons/fontawesome/solid/cannabis.svg index f93e6b5e4..20ff4cd33 100644 --- a/material/.icons/fontawesome/solid/cannabis.svg +++ b/material/.icons/fontawesome/solid/cannabis.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/car-crash.svg b/material/.icons/fontawesome/solid/car-crash.svg index b117434f1..bd9c65c8c 100644 --- a/material/.icons/fontawesome/solid/car-crash.svg +++ b/material/.icons/fontawesome/solid/car-crash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/car-side.svg b/material/.icons/fontawesome/solid/car-side.svg index a65439899..9d5ac6c48 100644 --- a/material/.icons/fontawesome/solid/car-side.svg +++ b/material/.icons/fontawesome/solid/car-side.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/caravan.svg b/material/.icons/fontawesome/solid/caravan.svg index 95ef12571..314a9de0a 100644 --- a/material/.icons/fontawesome/solid/caravan.svg +++ b/material/.icons/fontawesome/solid/caravan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/cheese.svg b/material/.icons/fontawesome/solid/cheese.svg index f1856d50d..8ffcac48e 100644 --- a/material/.icons/fontawesome/solid/cheese.svg +++ b/material/.icons/fontawesome/solid/cheese.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/chess-bishop.svg b/material/.icons/fontawesome/solid/chess-bishop.svg index 13cc80079..1016f12a5 100644 --- a/material/.icons/fontawesome/solid/chess-bishop.svg +++ b/material/.icons/fontawesome/solid/chess-bishop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/chess-king.svg b/material/.icons/fontawesome/solid/chess-king.svg index 22165b875..35b0b3464 100644 --- a/material/.icons/fontawesome/solid/chess-king.svg +++ b/material/.icons/fontawesome/solid/chess-king.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/chess-knight.svg b/material/.icons/fontawesome/solid/chess-knight.svg index 4f50d227f..390cddf2e 100644 --- a/material/.icons/fontawesome/solid/chess-knight.svg +++ b/material/.icons/fontawesome/solid/chess-knight.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/chess-pawn.svg b/material/.icons/fontawesome/solid/chess-pawn.svg index 5c4bdeae3..d56f83ec3 100644 --- a/material/.icons/fontawesome/solid/chess-pawn.svg +++ b/material/.icons/fontawesome/solid/chess-pawn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/chess-queen.svg b/material/.icons/fontawesome/solid/chess-queen.svg index 701622311..fcc0934a8 100644 --- a/material/.icons/fontawesome/solid/chess-queen.svg +++ b/material/.icons/fontawesome/solid/chess-queen.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/chess-rook.svg b/material/.icons/fontawesome/solid/chess-rook.svg index 248f51261..f279758c7 100644 --- a/material/.icons/fontawesome/solid/chess-rook.svg +++ b/material/.icons/fontawesome/solid/chess-rook.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/chess.svg b/material/.icons/fontawesome/solid/chess.svg index ca77f3e5e..e46c64d4b 100644 --- a/material/.icons/fontawesome/solid/chess.svg +++ b/material/.icons/fontawesome/solid/chess.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/church.svg b/material/.icons/fontawesome/solid/church.svg index a9e57d50c..ffe29d9ae 100644 --- a/material/.icons/fontawesome/solid/church.svg +++ b/material/.icons/fontawesome/solid/church.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/clinic-medical.svg b/material/.icons/fontawesome/solid/clinic-medical.svg index fc72d08c5..efec191c6 100644 --- a/material/.icons/fontawesome/solid/clinic-medical.svg +++ b/material/.icons/fontawesome/solid/clinic-medical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/clipboard.svg b/material/.icons/fontawesome/solid/clipboard.svg index 103d885f4..1980a2bf1 100644 --- a/material/.icons/fontawesome/solid/clipboard.svg +++ b/material/.icons/fontawesome/solid/clipboard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/clock.svg b/material/.icons/fontawesome/solid/clock.svg index 43b47bf26..934af2a29 100644 --- a/material/.icons/fontawesome/solid/clock.svg +++ b/material/.icons/fontawesome/solid/clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/comment-dollar.svg b/material/.icons/fontawesome/solid/comment-dollar.svg index 5b2aaae44..c77a6f068 100644 --- a/material/.icons/fontawesome/solid/comment-dollar.svg +++ b/material/.icons/fontawesome/solid/comment-dollar.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/comment-medical.svg b/material/.icons/fontawesome/solid/comment-medical.svg index 6f8a3fdcc..8bb1e330b 100644 --- a/material/.icons/fontawesome/solid/comment-medical.svg +++ b/material/.icons/fontawesome/solid/comment-medical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/comments-dollar.svg b/material/.icons/fontawesome/solid/comments-dollar.svg index 1e1d7c9a2..aacfa1930 100644 --- a/material/.icons/fontawesome/solid/comments-dollar.svg +++ b/material/.icons/fontawesome/solid/comments-dollar.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/compass.svg b/material/.icons/fontawesome/solid/compass.svg index 680065854..e7f9cb9ac 100644 --- a/material/.icons/fontawesome/solid/compass.svg +++ b/material/.icons/fontawesome/solid/compass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/cookie-bite.svg b/material/.icons/fontawesome/solid/cookie-bite.svg index 5fa2c8d4f..42d566154 100644 --- a/material/.icons/fontawesome/solid/cookie-bite.svg +++ b/material/.icons/fontawesome/solid/cookie-bite.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/cookie.svg b/material/.icons/fontawesome/solid/cookie.svg index 6f26bdc39..06ab74524 100644 --- a/material/.icons/fontawesome/solid/cookie.svg +++ b/material/.icons/fontawesome/solid/cookie.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/copy.svg b/material/.icons/fontawesome/solid/copy.svg index dffe43e76..02534e7ca 100644 --- a/material/.icons/fontawesome/solid/copy.svg +++ b/material/.icons/fontawesome/solid/copy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/copyright.svg b/material/.icons/fontawesome/solid/copyright.svg index 36d7b91cb..eb5d4c61b 100644 --- a/material/.icons/fontawesome/solid/copyright.svg +++ b/material/.icons/fontawesome/solid/copyright.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/crow.svg b/material/.icons/fontawesome/solid/crow.svg index e982936ac..de91410af 100644 --- a/material/.icons/fontawesome/solid/crow.svg +++ b/material/.icons/fontawesome/solid/crow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/crutch.svg b/material/.icons/fontawesome/solid/crutch.svg index cc081dd47..a32ba7e1b 100644 --- a/material/.icons/fontawesome/solid/crutch.svg +++ b/material/.icons/fontawesome/solid/crutch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/disease.svg b/material/.icons/fontawesome/solid/disease.svg index dd01d4176..043d7c6b2 100644 --- a/material/.icons/fontawesome/solid/disease.svg +++ b/material/.icons/fontawesome/solid/disease.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/dog.svg b/material/.icons/fontawesome/solid/dog.svg index 1db543420..eb01895d3 100644 --- a/material/.icons/fontawesome/solid/dog.svg +++ b/material/.icons/fontawesome/solid/dog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/dragon.svg b/material/.icons/fontawesome/solid/dragon.svg index a94804030..c8ed5ebeb 100644 --- a/material/.icons/fontawesome/solid/dragon.svg +++ b/material/.icons/fontawesome/solid/dragon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/draw-polygon.svg b/material/.icons/fontawesome/solid/draw-polygon.svg index 0a9c61b74..99cd9994a 100644 --- a/material/.icons/fontawesome/solid/draw-polygon.svg +++ b/material/.icons/fontawesome/solid/draw-polygon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/drum.svg b/material/.icons/fontawesome/solid/drum.svg index dbc7b6d6a..e2ba640c8 100644 --- a/material/.icons/fontawesome/solid/drum.svg +++ b/material/.icons/fontawesome/solid/drum.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/drumstick-bite.svg b/material/.icons/fontawesome/solid/drumstick-bite.svg index 136788589..162f621e6 100644 --- a/material/.icons/fontawesome/solid/drumstick-bite.svg +++ b/material/.icons/fontawesome/solid/drumstick-bite.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/dungeon.svg b/material/.icons/fontawesome/solid/dungeon.svg index 48d55329f..a367bf4ce 100644 --- a/material/.icons/fontawesome/solid/dungeon.svg +++ b/material/.icons/fontawesome/solid/dungeon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/envelope-open-text.svg b/material/.icons/fontawesome/solid/envelope-open-text.svg index 61ecfa317..821168c0a 100644 --- a/material/.icons/fontawesome/solid/envelope-open-text.svg +++ b/material/.icons/fontawesome/solid/envelope-open-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/envelope-open.svg b/material/.icons/fontawesome/solid/envelope-open.svg index faed68051..947ae25a5 100644 --- a/material/.icons/fontawesome/solid/envelope-open.svg +++ b/material/.icons/fontawesome/solid/envelope-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/eraser.svg b/material/.icons/fontawesome/solid/eraser.svg index 4c6a0465b..1ba581e7c 100644 --- a/material/.icons/fontawesome/solid/eraser.svg +++ b/material/.icons/fontawesome/solid/eraser.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/euro-sign.svg b/material/.icons/fontawesome/solid/euro-sign.svg index 8e5025885..fd18c90de 100644 --- a/material/.icons/fontawesome/solid/euro-sign.svg +++ b/material/.icons/fontawesome/solid/euro-sign.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/expand-arrows-alt.svg b/material/.icons/fontawesome/solid/expand-arrows-alt.svg index ce405a126..c08ecffa0 100644 --- a/material/.icons/fontawesome/solid/expand-arrows-alt.svg +++ b/material/.icons/fontawesome/solid/expand-arrows-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/external-link-alt.svg b/material/.icons/fontawesome/solid/external-link-alt.svg index 0132297cc..fb7b65ccd 100644 --- a/material/.icons/fontawesome/solid/external-link-alt.svg +++ b/material/.icons/fontawesome/solid/external-link-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/eye-slash.svg b/material/.icons/fontawesome/solid/eye-slash.svg index d2898a170..7685eca24 100644 --- a/material/.icons/fontawesome/solid/eye-slash.svg +++ b/material/.icons/fontawesome/solid/eye-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/eye.svg b/material/.icons/fontawesome/solid/eye.svg index 3f000f15f..477e9ed9d 100644 --- a/material/.icons/fontawesome/solid/eye.svg +++ b/material/.icons/fontawesome/solid/eye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/fan.svg b/material/.icons/fontawesome/solid/fan.svg index dd50af56f..7cca18739 100644 --- a/material/.icons/fontawesome/solid/fan.svg +++ b/material/.icons/fontawesome/solid/fan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/faucet.svg b/material/.icons/fontawesome/solid/faucet.svg index f1a9b7ce8..61e47934a 100644 --- a/material/.icons/fontawesome/solid/faucet.svg +++ b/material/.icons/fontawesome/solid/faucet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/fax.svg b/material/.icons/fontawesome/solid/fax.svg index acb5db645..9c9cc8232 100644 --- a/material/.icons/fontawesome/solid/fax.svg +++ b/material/.icons/fontawesome/solid/fax.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/female.svg b/material/.icons/fontawesome/solid/female.svg index c20b5dd31..9bfc7ad6c 100644 --- a/material/.icons/fontawesome/solid/female.svg +++ b/material/.icons/fontawesome/solid/female.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/file-code.svg b/material/.icons/fontawesome/solid/file-code.svg index 65c4779de..4036f537f 100644 --- a/material/.icons/fontawesome/solid/file-code.svg +++ b/material/.icons/fontawesome/solid/file-code.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/file-contract.svg b/material/.icons/fontawesome/solid/file-contract.svg index 0a023feb4..d8b2bd69c 100644 --- a/material/.icons/fontawesome/solid/file-contract.svg +++ b/material/.icons/fontawesome/solid/file-contract.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/file-image.svg b/material/.icons/fontawesome/solid/file-image.svg index ad19e3122..6c87c8cf1 100644 --- a/material/.icons/fontawesome/solid/file-image.svg +++ b/material/.icons/fontawesome/solid/file-image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/file-video.svg b/material/.icons/fontawesome/solid/file-video.svg index b1001afd4..8de9f6cf6 100644 --- a/material/.icons/fontawesome/solid/file-video.svg +++ b/material/.icons/fontawesome/solid/file-video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/fingerprint.svg b/material/.icons/fontawesome/solid/fingerprint.svg index 3cd584178..f05ea3782 100644 --- a/material/.icons/fontawesome/solid/fingerprint.svg +++ b/material/.icons/fontawesome/solid/fingerprint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/fist-raised.svg b/material/.icons/fontawesome/solid/fist-raised.svg index 26f32ec96..27c77705c 100644 --- a/material/.icons/fontawesome/solid/fist-raised.svg +++ b/material/.icons/fontawesome/solid/fist-raised.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/flag.svg b/material/.icons/fontawesome/solid/flag.svg index f967752b0..eb95c9ca8 100644 --- a/material/.icons/fontawesome/solid/flag.svg +++ b/material/.icons/fontawesome/solid/flag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/folder-open.svg b/material/.icons/fontawesome/solid/folder-open.svg index a6a92edd2..57dcfa604 100644 --- a/material/.icons/fontawesome/solid/folder-open.svg +++ b/material/.icons/fontawesome/solid/folder-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/folder-plus.svg b/material/.icons/fontawesome/solid/folder-plus.svg index 9efcea8fa..fbe3f0157 100644 --- a/material/.icons/fontawesome/solid/folder-plus.svg +++ b/material/.icons/fontawesome/solid/folder-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/font.svg b/material/.icons/fontawesome/solid/font.svg index 6745a095e..a9f2a7a75 100644 --- a/material/.icons/fontawesome/solid/font.svg +++ b/material/.icons/fontawesome/solid/font.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/frog.svg b/material/.icons/fontawesome/solid/frog.svg index 8c072de92..96a9ea93b 100644 --- a/material/.icons/fontawesome/solid/frog.svg +++ b/material/.icons/fontawesome/solid/frog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/gamepad.svg b/material/.icons/fontawesome/solid/gamepad.svg index f39af0a4a..a1d2c131e 100644 --- a/material/.icons/fontawesome/solid/gamepad.svg +++ b/material/.icons/fontawesome/solid/gamepad.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/glasses.svg b/material/.icons/fontawesome/solid/glasses.svg index 51f3462ed..8b207a9be 100644 --- a/material/.icons/fontawesome/solid/glasses.svg +++ b/material/.icons/fontawesome/solid/glasses.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/globe-africa.svg b/material/.icons/fontawesome/solid/globe-africa.svg index 0cf09fbd3..50009fe52 100644 --- a/material/.icons/fontawesome/solid/globe-africa.svg +++ b/material/.icons/fontawesome/solid/globe-africa.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/globe-americas.svg b/material/.icons/fontawesome/solid/globe-americas.svg index 121a1f985..3e4462e74 100644 --- a/material/.icons/fontawesome/solid/globe-americas.svg +++ b/material/.icons/fontawesome/solid/globe-americas.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/globe-asia.svg b/material/.icons/fontawesome/solid/globe-asia.svg index 658160efd..5a160176d 100644 --- a/material/.icons/fontawesome/solid/globe-asia.svg +++ b/material/.icons/fontawesome/solid/globe-asia.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/greater-than.svg b/material/.icons/fontawesome/solid/greater-than.svg index 152a4bcc4..e4e3390a6 100644 --- a/material/.icons/fontawesome/solid/greater-than.svg +++ b/material/.icons/fontawesome/solid/greater-than.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/guitar.svg b/material/.icons/fontawesome/solid/guitar.svg index 2eb401dfa..db1f699f9 100644 --- a/material/.icons/fontawesome/solid/guitar.svg +++ b/material/.icons/fontawesome/solid/guitar.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hamburger.svg b/material/.icons/fontawesome/solid/hamburger.svg index e73c324ce..897f38da7 100644 --- a/material/.icons/fontawesome/solid/hamburger.svg +++ b/material/.icons/fontawesome/solid/hamburger.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hamsa.svg b/material/.icons/fontawesome/solid/hamsa.svg index b38511add..4ccb23adc 100644 --- a/material/.icons/fontawesome/solid/hamsa.svg +++ b/material/.icons/fontawesome/solid/hamsa.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-holding-medical.svg b/material/.icons/fontawesome/solid/hand-holding-medical.svg index 4af4748a4..b016b9698 100644 --- a/material/.icons/fontawesome/solid/hand-holding-medical.svg +++ b/material/.icons/fontawesome/solid/hand-holding-medical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-holding-usd.svg b/material/.icons/fontawesome/solid/hand-holding-usd.svg index 2bd108e67..78b57ef8a 100644 --- a/material/.icons/fontawesome/solid/hand-holding-usd.svg +++ b/material/.icons/fontawesome/solid/hand-holding-usd.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-lizard.svg b/material/.icons/fontawesome/solid/hand-lizard.svg index 7258eda1b..6d27f0adf 100644 --- a/material/.icons/fontawesome/solid/hand-lizard.svg +++ b/material/.icons/fontawesome/solid/hand-lizard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-middle-finger.svg b/material/.icons/fontawesome/solid/hand-middle-finger.svg index 52c9b4353..7b8964822 100644 --- a/material/.icons/fontawesome/solid/hand-middle-finger.svg +++ b/material/.icons/fontawesome/solid/hand-middle-finger.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-paper.svg b/material/.icons/fontawesome/solid/hand-paper.svg index af3ee7ad3..f4aadf12d 100644 --- a/material/.icons/fontawesome/solid/hand-paper.svg +++ b/material/.icons/fontawesome/solid/hand-paper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-peace.svg b/material/.icons/fontawesome/solid/hand-peace.svg index 3fcdaad98..8ed4eede1 100644 --- a/material/.icons/fontawesome/solid/hand-peace.svg +++ b/material/.icons/fontawesome/solid/hand-peace.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-pointer.svg b/material/.icons/fontawesome/solid/hand-pointer.svg index b4665d466..e1367b6c9 100644 --- a/material/.icons/fontawesome/solid/hand-pointer.svg +++ b/material/.icons/fontawesome/solid/hand-pointer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-scissors.svg b/material/.icons/fontawesome/solid/hand-scissors.svg index f05455804..a5996614a 100644 --- a/material/.icons/fontawesome/solid/hand-scissors.svg +++ b/material/.icons/fontawesome/solid/hand-scissors.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-sparkles.svg b/material/.icons/fontawesome/solid/hand-sparkles.svg index 38ce6749c..ba7b77cc1 100644 --- a/material/.icons/fontawesome/solid/hand-sparkles.svg +++ b/material/.icons/fontawesome/solid/hand-sparkles.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hand-spock.svg b/material/.icons/fontawesome/solid/hand-spock.svg index b6e722bd6..b71d31ff3 100644 --- a/material/.icons/fontawesome/solid/hand-spock.svg +++ b/material/.icons/fontawesome/solid/hand-spock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hands-wash.svg b/material/.icons/fontawesome/solid/hands-wash.svg index 14dd52282..88350075e 100644 --- a/material/.icons/fontawesome/solid/hands-wash.svg +++ b/material/.icons/fontawesome/solid/hands-wash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/handshake-alt-slash.svg b/material/.icons/fontawesome/solid/handshake-alt-slash.svg index c5f455bae..2189f08b1 100644 --- a/material/.icons/fontawesome/solid/handshake-alt-slash.svg +++ b/material/.icons/fontawesome/solid/handshake-alt-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/handshake-slash.svg b/material/.icons/fontawesome/solid/handshake-slash.svg index 3685b8b52..0050f60d1 100644 --- a/material/.icons/fontawesome/solid/handshake-slash.svg +++ b/material/.icons/fontawesome/solid/handshake-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hard-hat.svg b/material/.icons/fontawesome/solid/hard-hat.svg index bcbaa1e98..cbfa6acf0 100644 --- a/material/.icons/fontawesome/solid/hard-hat.svg +++ b/material/.icons/fontawesome/solid/hard-hat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hashtag.svg b/material/.icons/fontawesome/solid/hashtag.svg index 831f2659e..2a6094fe1 100644 --- a/material/.icons/fontawesome/solid/hashtag.svg +++ b/material/.icons/fontawesome/solid/hashtag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hat-cowboy-side.svg b/material/.icons/fontawesome/solid/hat-cowboy-side.svg index 4f0f7a328..0ba999fa7 100644 --- a/material/.icons/fontawesome/solid/hat-cowboy-side.svg +++ b/material/.icons/fontawesome/solid/hat-cowboy-side.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hat-cowboy.svg b/material/.icons/fontawesome/solid/hat-cowboy.svg index 764d3ce02..c02b9eaf1 100644 --- a/material/.icons/fontawesome/solid/hat-cowboy.svg +++ b/material/.icons/fontawesome/solid/hat-cowboy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hat-wizard.svg b/material/.icons/fontawesome/solid/hat-wizard.svg index a7e9f31ef..21d451091 100644 --- a/material/.icons/fontawesome/solid/hat-wizard.svg +++ b/material/.icons/fontawesome/solid/hat-wizard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hdd.svg b/material/.icons/fontawesome/solid/hdd.svg index b8d1672d1..cead9cff5 100644 --- a/material/.icons/fontawesome/solid/hdd.svg +++ b/material/.icons/fontawesome/solid/hdd.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/head-side-cough-slash.svg b/material/.icons/fontawesome/solid/head-side-cough-slash.svg index c7d943cea..1e557fed9 100644 --- a/material/.icons/fontawesome/solid/head-side-cough-slash.svg +++ b/material/.icons/fontawesome/solid/head-side-cough-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/head-side-cough.svg b/material/.icons/fontawesome/solid/head-side-cough.svg index 006a1c355..2461bb0a0 100644 --- a/material/.icons/fontawesome/solid/head-side-cough.svg +++ b/material/.icons/fontawesome/solid/head-side-cough.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/head-side-mask.svg b/material/.icons/fontawesome/solid/head-side-mask.svg index a8f521ee0..ed2b8a811 100644 --- a/material/.icons/fontawesome/solid/head-side-mask.svg +++ b/material/.icons/fontawesome/solid/head-side-mask.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/head-side-virus.svg b/material/.icons/fontawesome/solid/head-side-virus.svg index db6cf4f0a..cb2ac7967 100644 --- a/material/.icons/fontawesome/solid/head-side-virus.svg +++ b/material/.icons/fontawesome/solid/head-side-virus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/heading.svg b/material/.icons/fontawesome/solid/heading.svg index 86c2f0593..54d7e7d72 100644 --- a/material/.icons/fontawesome/solid/heading.svg +++ b/material/.icons/fontawesome/solid/heading.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/headphones.svg b/material/.icons/fontawesome/solid/headphones.svg index 013bac6fa..c97cde6a8 100644 --- a/material/.icons/fontawesome/solid/headphones.svg +++ b/material/.icons/fontawesome/solid/headphones.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/helicopter.svg b/material/.icons/fontawesome/solid/helicopter.svg index 3dd4f03ed..36c462e64 100644 --- a/material/.icons/fontawesome/solid/helicopter.svg +++ b/material/.icons/fontawesome/solid/helicopter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/highlighter.svg b/material/.icons/fontawesome/solid/highlighter.svg index ea4f67f6f..b32a63a56 100644 --- a/material/.icons/fontawesome/solid/highlighter.svg +++ b/material/.icons/fontawesome/solid/highlighter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hiking.svg b/material/.icons/fontawesome/solid/hiking.svg index 067d8bb6c..480a80412 100644 --- a/material/.icons/fontawesome/solid/hiking.svg +++ b/material/.icons/fontawesome/solid/hiking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/home.svg b/material/.icons/fontawesome/solid/home.svg index 0d0d49e4e..27ee7ab0c 100644 --- a/material/.icons/fontawesome/solid/home.svg +++ b/material/.icons/fontawesome/solid/home.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/horse.svg b/material/.icons/fontawesome/solid/horse.svg index 88892f5d6..079d8483f 100644 --- a/material/.icons/fontawesome/solid/horse.svg +++ b/material/.icons/fontawesome/solid/horse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hospital-user.svg b/material/.icons/fontawesome/solid/hospital-user.svg index 2c21de962..35bd90270 100644 --- a/material/.icons/fontawesome/solid/hospital-user.svg +++ b/material/.icons/fontawesome/solid/hospital-user.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hospital.svg b/material/.icons/fontawesome/solid/hospital.svg index e670862f8..5b6c7b456 100644 --- a/material/.icons/fontawesome/solid/hospital.svg +++ b/material/.icons/fontawesome/solid/hospital.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hot-tub.svg b/material/.icons/fontawesome/solid/hot-tub.svg index 402e0fde4..a49145e31 100644 --- a/material/.icons/fontawesome/solid/hot-tub.svg +++ b/material/.icons/fontawesome/solid/hot-tub.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hotdog.svg b/material/.icons/fontawesome/solid/hotdog.svg index 0d59d0e74..75962d440 100644 --- a/material/.icons/fontawesome/solid/hotdog.svg +++ b/material/.icons/fontawesome/solid/hotdog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/house-user.svg b/material/.icons/fontawesome/solid/house-user.svg index b699d3049..36c32ed54 100644 --- a/material/.icons/fontawesome/solid/house-user.svg +++ b/material/.icons/fontawesome/solid/house-user.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/hryvnia.svg b/material/.icons/fontawesome/solid/hryvnia.svg index d817adfa5..d93732606 100644 --- a/material/.icons/fontawesome/solid/hryvnia.svg +++ b/material/.icons/fontawesome/solid/hryvnia.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/ice-cream.svg b/material/.icons/fontawesome/solid/ice-cream.svg index 15085a96d..1f1bb339f 100644 --- a/material/.icons/fontawesome/solid/ice-cream.svg +++ b/material/.icons/fontawesome/solid/ice-cream.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/icons.svg b/material/.icons/fontawesome/solid/icons.svg index f7ed59c60..0f161378c 100644 --- a/material/.icons/fontawesome/solid/icons.svg +++ b/material/.icons/fontawesome/solid/icons.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/inbox.svg b/material/.icons/fontawesome/solid/inbox.svg index 74e065ffe..761d6c7b5 100644 --- a/material/.icons/fontawesome/solid/inbox.svg +++ b/material/.icons/fontawesome/solid/inbox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/indent.svg b/material/.icons/fontawesome/solid/indent.svg index e99bac6b1..340843489 100644 --- a/material/.icons/fontawesome/solid/indent.svg +++ b/material/.icons/fontawesome/solid/indent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/italic.svg b/material/.icons/fontawesome/solid/italic.svg index d05e744ff..f48619e87 100644 --- a/material/.icons/fontawesome/solid/italic.svg +++ b/material/.icons/fontawesome/solid/italic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/jedi.svg b/material/.icons/fontawesome/solid/jedi.svg index 020c30e29..bffbff79a 100644 --- a/material/.icons/fontawesome/solid/jedi.svg +++ b/material/.icons/fontawesome/solid/jedi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/joint.svg b/material/.icons/fontawesome/solid/joint.svg index 84cf5b91b..cd0c052e8 100644 --- a/material/.icons/fontawesome/solid/joint.svg +++ b/material/.icons/fontawesome/solid/joint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/journal-whills.svg b/material/.icons/fontawesome/solid/journal-whills.svg index c9606a3db..6156752a5 100644 --- a/material/.icons/fontawesome/solid/journal-whills.svg +++ b/material/.icons/fontawesome/solid/journal-whills.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/kaaba.svg b/material/.icons/fontawesome/solid/kaaba.svg index 1b0cb8518..7974f2208 100644 --- a/material/.icons/fontawesome/solid/kaaba.svg +++ b/material/.icons/fontawesome/solid/kaaba.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/key.svg b/material/.icons/fontawesome/solid/key.svg index dbe729099..e0bd4948a 100644 --- a/material/.icons/fontawesome/solid/key.svg +++ b/material/.icons/fontawesome/solid/key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/khanda.svg b/material/.icons/fontawesome/solid/khanda.svg index 763263710..625641bce 100644 --- a/material/.icons/fontawesome/solid/khanda.svg +++ b/material/.icons/fontawesome/solid/khanda.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/landmark.svg b/material/.icons/fontawesome/solid/landmark.svg index 90e5009b0..49f60927b 100644 --- a/material/.icons/fontawesome/solid/landmark.svg +++ b/material/.icons/fontawesome/solid/landmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/language.svg b/material/.icons/fontawesome/solid/language.svg index 32108d8c8..e45129e4e 100644 --- a/material/.icons/fontawesome/solid/language.svg +++ b/material/.icons/fontawesome/solid/language.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/laptop-house.svg b/material/.icons/fontawesome/solid/laptop-house.svg index 1f83435f2..aa5c4e451 100644 --- a/material/.icons/fontawesome/solid/laptop-house.svg +++ b/material/.icons/fontawesome/solid/laptop-house.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/laptop-medical.svg b/material/.icons/fontawesome/solid/laptop-medical.svg index 0cea89a61..a5f6b7dbd 100644 --- a/material/.icons/fontawesome/solid/laptop-medical.svg +++ b/material/.icons/fontawesome/solid/laptop-medical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/layer-group.svg b/material/.icons/fontawesome/solid/layer-group.svg index ecbec29f9..08ca45358 100644 --- a/material/.icons/fontawesome/solid/layer-group.svg +++ b/material/.icons/fontawesome/solid/layer-group.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/less-than.svg b/material/.icons/fontawesome/solid/less-than.svg index 5a72828e9..db80274a7 100644 --- a/material/.icons/fontawesome/solid/less-than.svg +++ b/material/.icons/fontawesome/solid/less-than.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/level-down-alt.svg b/material/.icons/fontawesome/solid/level-down-alt.svg index 9cd529024..523508722 100644 --- a/material/.icons/fontawesome/solid/level-down-alt.svg +++ b/material/.icons/fontawesome/solid/level-down-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/level-up-alt.svg b/material/.icons/fontawesome/solid/level-up-alt.svg index ea28ce8ed..a9672eb40 100644 --- a/material/.icons/fontawesome/solid/level-up-alt.svg +++ b/material/.icons/fontawesome/solid/level-up-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/life-ring.svg b/material/.icons/fontawesome/solid/life-ring.svg index 02ca0243a..da06ef464 100644 --- a/material/.icons/fontawesome/solid/life-ring.svg +++ b/material/.icons/fontawesome/solid/life-ring.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/lightbulb.svg b/material/.icons/fontawesome/solid/lightbulb.svg index 08338ad43..b5d654ba5 100644 --- a/material/.icons/fontawesome/solid/lightbulb.svg +++ b/material/.icons/fontawesome/solid/lightbulb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/link.svg b/material/.icons/fontawesome/solid/link.svg index c61fc5ef0..57caa9ffd 100644 --- a/material/.icons/fontawesome/solid/link.svg +++ b/material/.icons/fontawesome/solid/link.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/lira-sign.svg b/material/.icons/fontawesome/solid/lira-sign.svg index 007666043..802a0f519 100644 --- a/material/.icons/fontawesome/solid/lira-sign.svg +++ b/material/.icons/fontawesome/solid/lira-sign.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/list-ol.svg b/material/.icons/fontawesome/solid/list-ol.svg index 961855681..739857047 100644 --- a/material/.icons/fontawesome/solid/list-ol.svg +++ b/material/.icons/fontawesome/solid/list-ol.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/list-ul.svg b/material/.icons/fontawesome/solid/list-ul.svg index 7fa661d13..ae3ea22a0 100644 --- a/material/.icons/fontawesome/solid/list-ul.svg +++ b/material/.icons/fontawesome/solid/list-ul.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/list.svg b/material/.icons/fontawesome/solid/list.svg index 6345952ae..684186393 100644 --- a/material/.icons/fontawesome/solid/list.svg +++ b/material/.icons/fontawesome/solid/list.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/low-vision.svg b/material/.icons/fontawesome/solid/low-vision.svg index 64fbc1425..5b82a1bdb 100644 --- a/material/.icons/fontawesome/solid/low-vision.svg +++ b/material/.icons/fontawesome/solid/low-vision.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/lungs-virus.svg b/material/.icons/fontawesome/solid/lungs-virus.svg index 4a4c68036..50093a477 100644 --- a/material/.icons/fontawesome/solid/lungs-virus.svg +++ b/material/.icons/fontawesome/solid/lungs-virus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/lungs.svg b/material/.icons/fontawesome/solid/lungs.svg index cfc26ca34..9f2839152 100644 --- a/material/.icons/fontawesome/solid/lungs.svg +++ b/material/.icons/fontawesome/solid/lungs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/magnet.svg b/material/.icons/fontawesome/solid/magnet.svg index 16e44c4ad..4b68066c4 100644 --- a/material/.icons/fontawesome/solid/magnet.svg +++ b/material/.icons/fontawesome/solid/magnet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/map-marked-alt.svg b/material/.icons/fontawesome/solid/map-marked-alt.svg index 12cfe126b..a45ef9ff8 100644 --- a/material/.icons/fontawesome/solid/map-marked-alt.svg +++ b/material/.icons/fontawesome/solid/map-marked-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/map-marked.svg b/material/.icons/fontawesome/solid/map-marked.svg index 491814244..54b59531e 100644 --- a/material/.icons/fontawesome/solid/map-marked.svg +++ b/material/.icons/fontawesome/solid/map-marked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/map.svg b/material/.icons/fontawesome/solid/map.svg index 4f9aaf20a..bb623149e 100644 --- a/material/.icons/fontawesome/solid/map.svg +++ b/material/.icons/fontawesome/solid/map.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/marker.svg b/material/.icons/fontawesome/solid/marker.svg index bde41659c..6ee7cec2a 100644 --- a/material/.icons/fontawesome/solid/marker.svg +++ b/material/.icons/fontawesome/solid/marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/medal.svg b/material/.icons/fontawesome/solid/medal.svg index 520c13db9..6fe8e7ea6 100644 --- a/material/.icons/fontawesome/solid/medal.svg +++ b/material/.icons/fontawesome/solid/medal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/meteor.svg b/material/.icons/fontawesome/solid/meteor.svg index 5ba729164..593e63a0d 100644 --- a/material/.icons/fontawesome/solid/meteor.svg +++ b/material/.icons/fontawesome/solid/meteor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/microchip.svg b/material/.icons/fontawesome/solid/microchip.svg index 49acc0e22..4eb7e2d51 100644 --- a/material/.icons/fontawesome/solid/microchip.svg +++ b/material/.icons/fontawesome/solid/microchip.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/money-bill-alt.svg b/material/.icons/fontawesome/solid/money-bill-alt.svg index 41a1e5d72..50251552d 100644 --- a/material/.icons/fontawesome/solid/money-bill-alt.svg +++ b/material/.icons/fontawesome/solid/money-bill-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/monument.svg b/material/.icons/fontawesome/solid/monument.svg index 5dd373a7d..efb4af368 100644 --- a/material/.icons/fontawesome/solid/monument.svg +++ b/material/.icons/fontawesome/solid/monument.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/moon.svg b/material/.icons/fontawesome/solid/moon.svg index dd9ff7e89..b153f3445 100644 --- a/material/.icons/fontawesome/solid/moon.svg +++ b/material/.icons/fontawesome/solid/moon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/mortar-pestle.svg b/material/.icons/fontawesome/solid/mortar-pestle.svg index 56041707c..b6fb12c49 100644 --- a/material/.icons/fontawesome/solid/mortar-pestle.svg +++ b/material/.icons/fontawesome/solid/mortar-pestle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/mountain.svg b/material/.icons/fontawesome/solid/mountain.svg index 919fcd4ec..af4fc8197 100644 --- a/material/.icons/fontawesome/solid/mountain.svg +++ b/material/.icons/fontawesome/solid/mountain.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/mouse.svg b/material/.icons/fontawesome/solid/mouse.svg index dad8e470a..092d515b9 100644 --- a/material/.icons/fontawesome/solid/mouse.svg +++ b/material/.icons/fontawesome/solid/mouse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/music.svg b/material/.icons/fontawesome/solid/music.svg index 723dcfe43..7ad2b9bc7 100644 --- a/material/.icons/fontawesome/solid/music.svg +++ b/material/.icons/fontawesome/solid/music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/newspaper.svg b/material/.icons/fontawesome/solid/newspaper.svg index 48bcb02d5..477294260 100644 --- a/material/.icons/fontawesome/solid/newspaper.svg +++ b/material/.icons/fontawesome/solid/newspaper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/object-ungroup.svg b/material/.icons/fontawesome/solid/object-ungroup.svg index a66887b10..4c29c1e2a 100644 --- a/material/.icons/fontawesome/solid/object-ungroup.svg +++ b/material/.icons/fontawesome/solid/object-ungroup.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/oil-can.svg b/material/.icons/fontawesome/solid/oil-can.svg index 02a86938d..a4b303cb4 100644 --- a/material/.icons/fontawesome/solid/oil-can.svg +++ b/material/.icons/fontawesome/solid/oil-can.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/om.svg b/material/.icons/fontawesome/solid/om.svg index 34fbced80..acabc1da2 100644 --- a/material/.icons/fontawesome/solid/om.svg +++ b/material/.icons/fontawesome/solid/om.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/otter.svg b/material/.icons/fontawesome/solid/otter.svg index c908a04d0..e546e1c32 100644 --- a/material/.icons/fontawesome/solid/otter.svg +++ b/material/.icons/fontawesome/solid/otter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/outdent.svg b/material/.icons/fontawesome/solid/outdent.svg index 0f4749c73..586b77d05 100644 --- a/material/.icons/fontawesome/solid/outdent.svg +++ b/material/.icons/fontawesome/solid/outdent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/pager.svg b/material/.icons/fontawesome/solid/pager.svg index 896c919f8..db9409ba7 100644 --- a/material/.icons/fontawesome/solid/pager.svg +++ b/material/.icons/fontawesome/solid/pager.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/paragraph.svg b/material/.icons/fontawesome/solid/paragraph.svg index 9b31e4beb..1087303ce 100644 --- a/material/.icons/fontawesome/solid/paragraph.svg +++ b/material/.icons/fontawesome/solid/paragraph.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/paste.svg b/material/.icons/fontawesome/solid/paste.svg index 17707e9f4..1d49e2503 100644 --- a/material/.icons/fontawesome/solid/paste.svg +++ b/material/.icons/fontawesome/solid/paste.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/pen-alt.svg b/material/.icons/fontawesome/solid/pen-alt.svg index ab987aade..2b600cadb 100644 --- a/material/.icons/fontawesome/solid/pen-alt.svg +++ b/material/.icons/fontawesome/solid/pen-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/pen-fancy.svg b/material/.icons/fontawesome/solid/pen-fancy.svg index d51e1d595..8f4261c33 100644 --- a/material/.icons/fontawesome/solid/pen-fancy.svg +++ b/material/.icons/fontawesome/solid/pen-fancy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/pen-nib.svg b/material/.icons/fontawesome/solid/pen-nib.svg index 8f740779a..2a4cbee61 100644 --- a/material/.icons/fontawesome/solid/pen-nib.svg +++ b/material/.icons/fontawesome/solid/pen-nib.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/pencil-ruler.svg b/material/.icons/fontawesome/solid/pencil-ruler.svg index 572c35520..c62f131c2 100644 --- a/material/.icons/fontawesome/solid/pencil-ruler.svg +++ b/material/.icons/fontawesome/solid/pencil-ruler.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/people-arrows.svg b/material/.icons/fontawesome/solid/people-arrows.svg index a394be1dc..1f3cef1c9 100644 --- a/material/.icons/fontawesome/solid/people-arrows.svg +++ b/material/.icons/fontawesome/solid/people-arrows.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/pepper-hot.svg b/material/.icons/fontawesome/solid/pepper-hot.svg index a3811e448..76c1a9289 100644 --- a/material/.icons/fontawesome/solid/pepper-hot.svg +++ b/material/.icons/fontawesome/solid/pepper-hot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/percent.svg b/material/.icons/fontawesome/solid/percent.svg index 16106767c..4b1a8ff63 100644 --- a/material/.icons/fontawesome/solid/percent.svg +++ b/material/.icons/fontawesome/solid/percent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/phone-alt.svg b/material/.icons/fontawesome/solid/phone-alt.svg index 2f9362151..aa821dd13 100644 --- a/material/.icons/fontawesome/solid/phone-alt.svg +++ b/material/.icons/fontawesome/solid/phone-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/phone-square-alt.svg b/material/.icons/fontawesome/solid/phone-square-alt.svg index c3df7c77c..989645aab 100644 --- a/material/.icons/fontawesome/solid/phone-square-alt.svg +++ b/material/.icons/fontawesome/solid/phone-square-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/phone-square.svg b/material/.icons/fontawesome/solid/phone-square.svg index 0871b57a8..39ed96930 100644 --- a/material/.icons/fontawesome/solid/phone-square.svg +++ b/material/.icons/fontawesome/solid/phone-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/phone-volume.svg b/material/.icons/fontawesome/solid/phone-volume.svg index b9de1f3ba..872d95d1e 100644 --- a/material/.icons/fontawesome/solid/phone-volume.svg +++ b/material/.icons/fontawesome/solid/phone-volume.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/photo-video.svg b/material/.icons/fontawesome/solid/photo-video.svg index 745cf53c0..e67e558a8 100644 --- a/material/.icons/fontawesome/solid/photo-video.svg +++ b/material/.icons/fontawesome/solid/photo-video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/pizza-slice.svg b/material/.icons/fontawesome/solid/pizza-slice.svg index 764072a65..fcd660fca 100644 --- a/material/.icons/fontawesome/solid/pizza-slice.svg +++ b/material/.icons/fontawesome/solid/pizza-slice.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/place-of-worship.svg b/material/.icons/fontawesome/solid/place-of-worship.svg index 0998c6a02..7457df470 100644 --- a/material/.icons/fontawesome/solid/place-of-worship.svg +++ b/material/.icons/fontawesome/solid/place-of-worship.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/plane-arrival.svg b/material/.icons/fontawesome/solid/plane-arrival.svg index a8fc810b1..32bcc1811 100644 --- a/material/.icons/fontawesome/solid/plane-arrival.svg +++ b/material/.icons/fontawesome/solid/plane-arrival.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/plane-departure.svg b/material/.icons/fontawesome/solid/plane-departure.svg index b84c8f11b..ce73a432c 100644 --- a/material/.icons/fontawesome/solid/plane-departure.svg +++ b/material/.icons/fontawesome/solid/plane-departure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/plane-slash.svg b/material/.icons/fontawesome/solid/plane-slash.svg index 58097c429..650a7ae49 100644 --- a/material/.icons/fontawesome/solid/plane-slash.svg +++ b/material/.icons/fontawesome/solid/plane-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/plane.svg b/material/.icons/fontawesome/solid/plane.svg index 964d452fb..6a75a9f7a 100644 --- a/material/.icons/fontawesome/solid/plane.svg +++ b/material/.icons/fontawesome/solid/plane.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/plug.svg b/material/.icons/fontawesome/solid/plug.svg index 68218d074..fb6d32fb4 100644 --- a/material/.icons/fontawesome/solid/plug.svg +++ b/material/.icons/fontawesome/solid/plug.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/praying-hands.svg b/material/.icons/fontawesome/solid/praying-hands.svg index 6756d8c8c..86a68f0c6 100644 --- a/material/.icons/fontawesome/solid/praying-hands.svg +++ b/material/.icons/fontawesome/solid/praying-hands.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/pump-medical.svg b/material/.icons/fontawesome/solid/pump-medical.svg index ba0a1d432..79f8413ba 100644 --- a/material/.icons/fontawesome/solid/pump-medical.svg +++ b/material/.icons/fontawesome/solid/pump-medical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/pump-soap.svg b/material/.icons/fontawesome/solid/pump-soap.svg index 6fd1d5e12..990fc6f65 100644 --- a/material/.icons/fontawesome/solid/pump-soap.svg +++ b/material/.icons/fontawesome/solid/pump-soap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/quran.svg b/material/.icons/fontawesome/solid/quran.svg index a40a656db..8cf9e47ec 100644 --- a/material/.icons/fontawesome/solid/quran.svg +++ b/material/.icons/fontawesome/solid/quran.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/random.svg b/material/.icons/fontawesome/solid/random.svg index c6e56dc66..3c23b13ca 100644 --- a/material/.icons/fontawesome/solid/random.svg +++ b/material/.icons/fontawesome/solid/random.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/receipt.svg b/material/.icons/fontawesome/solid/receipt.svg index 60d8a6c02..ea298f9c1 100644 --- a/material/.icons/fontawesome/solid/receipt.svg +++ b/material/.icons/fontawesome/solid/receipt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/record-vinyl.svg b/material/.icons/fontawesome/solid/record-vinyl.svg index bffe9269a..b63b60c1c 100644 --- a/material/.icons/fontawesome/solid/record-vinyl.svg +++ b/material/.icons/fontawesome/solid/record-vinyl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/redo.svg b/material/.icons/fontawesome/solid/redo.svg index 85da0c0b7..da6c6c145 100644 --- a/material/.icons/fontawesome/solid/redo.svg +++ b/material/.icons/fontawesome/solid/redo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/registered.svg b/material/.icons/fontawesome/solid/registered.svg index 7d883448e..115cc7043 100644 --- a/material/.icons/fontawesome/solid/registered.svg +++ b/material/.icons/fontawesome/solid/registered.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/remove-format.svg b/material/.icons/fontawesome/solid/remove-format.svg index 3d1bd2eb5..9aa73276a 100644 --- a/material/.icons/fontawesome/solid/remove-format.svg +++ b/material/.icons/fontawesome/solid/remove-format.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/reply-all.svg b/material/.icons/fontawesome/solid/reply-all.svg index 41b428a42..32886acb2 100644 --- a/material/.icons/fontawesome/solid/reply-all.svg +++ b/material/.icons/fontawesome/solid/reply-all.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/retweet.svg b/material/.icons/fontawesome/solid/retweet.svg index 6181bf526..6c8111bc6 100644 --- a/material/.icons/fontawesome/solid/retweet.svg +++ b/material/.icons/fontawesome/solid/retweet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/road.svg b/material/.icons/fontawesome/solid/road.svg index 6cc2df2bf..782342674 100644 --- a/material/.icons/fontawesome/solid/road.svg +++ b/material/.icons/fontawesome/solid/road.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/robot.svg b/material/.icons/fontawesome/solid/robot.svg index d2383dfdc..568a9b7c0 100644 --- a/material/.icons/fontawesome/solid/robot.svg +++ b/material/.icons/fontawesome/solid/robot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/rocket.svg b/material/.icons/fontawesome/solid/rocket.svg index 0fcaaec02..6a3c3d085 100644 --- a/material/.icons/fontawesome/solid/rocket.svg +++ b/material/.icons/fontawesome/solid/rocket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/rupee-sign.svg b/material/.icons/fontawesome/solid/rupee-sign.svg index b7144973b..52e319ca1 100644 --- a/material/.icons/fontawesome/solid/rupee-sign.svg +++ b/material/.icons/fontawesome/solid/rupee-sign.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/satellite-dish.svg b/material/.icons/fontawesome/solid/satellite-dish.svg index 7b53497c2..a75855215 100644 --- a/material/.icons/fontawesome/solid/satellite-dish.svg +++ b/material/.icons/fontawesome/solid/satellite-dish.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/satellite.svg b/material/.icons/fontawesome/solid/satellite.svg index cfddf1ce3..36d6f7fe1 100644 --- a/material/.icons/fontawesome/solid/satellite.svg +++ b/material/.icons/fontawesome/solid/satellite.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/save.svg b/material/.icons/fontawesome/solid/save.svg index 76494fd29..44298e3ec 100644 --- a/material/.icons/fontawesome/solid/save.svg +++ b/material/.icons/fontawesome/solid/save.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/school.svg b/material/.icons/fontawesome/solid/school.svg index 298fb88a4..21dffefb2 100644 --- a/material/.icons/fontawesome/solid/school.svg +++ b/material/.icons/fontawesome/solid/school.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/search-location.svg b/material/.icons/fontawesome/solid/search-location.svg index cae1a2bb6..b4cbdd898 100644 --- a/material/.icons/fontawesome/solid/search-location.svg +++ b/material/.icons/fontawesome/solid/search-location.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/shapes.svg b/material/.icons/fontawesome/solid/shapes.svg index 3880ff368..c923e5a6b 100644 --- a/material/.icons/fontawesome/solid/shapes.svg +++ b/material/.icons/fontawesome/solid/shapes.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/share-alt-square.svg b/material/.icons/fontawesome/solid/share-alt-square.svg index b1c9c0abb..7d48e4565 100644 --- a/material/.icons/fontawesome/solid/share-alt-square.svg +++ b/material/.icons/fontawesome/solid/share-alt-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/share-alt.svg b/material/.icons/fontawesome/solid/share-alt.svg index 34c8fcc2d..2f3151dfa 100644 --- a/material/.icons/fontawesome/solid/share-alt.svg +++ b/material/.icons/fontawesome/solid/share-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/share-square.svg b/material/.icons/fontawesome/solid/share-square.svg index c86740ad8..f66404d6f 100644 --- a/material/.icons/fontawesome/solid/share-square.svg +++ b/material/.icons/fontawesome/solid/share-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/shield-alt.svg b/material/.icons/fontawesome/solid/shield-alt.svg index f21eee0e1..380df3001 100644 --- a/material/.icons/fontawesome/solid/shield-alt.svg +++ b/material/.icons/fontawesome/solid/shield-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/shield-virus.svg b/material/.icons/fontawesome/solid/shield-virus.svg index 5110fd989..468596032 100644 --- a/material/.icons/fontawesome/solid/shield-virus.svg +++ b/material/.icons/fontawesome/solid/shield-virus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/ship.svg b/material/.icons/fontawesome/solid/ship.svg index 13a3d2ba8..61e031519 100644 --- a/material/.icons/fontawesome/solid/ship.svg +++ b/material/.icons/fontawesome/solid/ship.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/shower.svg b/material/.icons/fontawesome/solid/shower.svg index 9e332790d..cb476083d 100644 --- a/material/.icons/fontawesome/solid/shower.svg +++ b/material/.icons/fontawesome/solid/shower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/shuttle-van.svg b/material/.icons/fontawesome/solid/shuttle-van.svg index 820b13dff..7d75c807e 100644 --- a/material/.icons/fontawesome/solid/shuttle-van.svg +++ b/material/.icons/fontawesome/solid/shuttle-van.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sign-language.svg b/material/.icons/fontawesome/solid/sign-language.svg index 6602b6d3a..552cb4a60 100644 --- a/material/.icons/fontawesome/solid/sign-language.svg +++ b/material/.icons/fontawesome/solid/sign-language.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sink.svg b/material/.icons/fontawesome/solid/sink.svg index b55a76962..4f48214c3 100644 --- a/material/.icons/fontawesome/solid/sink.svg +++ b/material/.icons/fontawesome/solid/sink.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/soap.svg b/material/.icons/fontawesome/solid/soap.svg index 3c7638b50..aa6228732 100644 --- a/material/.icons/fontawesome/solid/soap.svg +++ b/material/.icons/fontawesome/solid/soap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/socks.svg b/material/.icons/fontawesome/solid/socks.svg index c8696f6be..1d17fa732 100644 --- a/material/.icons/fontawesome/solid/socks.svg +++ b/material/.icons/fontawesome/solid/socks.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-alpha-down-alt.svg b/material/.icons/fontawesome/solid/sort-alpha-down-alt.svg index ce88c9093..c34b5d1cd 100644 --- a/material/.icons/fontawesome/solid/sort-alpha-down-alt.svg +++ b/material/.icons/fontawesome/solid/sort-alpha-down-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-alpha-down.svg b/material/.icons/fontawesome/solid/sort-alpha-down.svg index e1e1d2133..7800320ad 100644 --- a/material/.icons/fontawesome/solid/sort-alpha-down.svg +++ b/material/.icons/fontawesome/solid/sort-alpha-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-alpha-up-alt.svg b/material/.icons/fontawesome/solid/sort-alpha-up-alt.svg index 194b0524b..0d6152312 100644 --- a/material/.icons/fontawesome/solid/sort-alpha-up-alt.svg +++ b/material/.icons/fontawesome/solid/sort-alpha-up-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-alpha-up.svg b/material/.icons/fontawesome/solid/sort-alpha-up.svg index f04200dcd..36c893214 100644 --- a/material/.icons/fontawesome/solid/sort-alpha-up.svg +++ b/material/.icons/fontawesome/solid/sort-alpha-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-amount-down-alt.svg b/material/.icons/fontawesome/solid/sort-amount-down-alt.svg index c3865bdf3..1a817dd88 100644 --- a/material/.icons/fontawesome/solid/sort-amount-down-alt.svg +++ b/material/.icons/fontawesome/solid/sort-amount-down-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-amount-down.svg b/material/.icons/fontawesome/solid/sort-amount-down.svg index 8c5c43833..92e08a229 100644 --- a/material/.icons/fontawesome/solid/sort-amount-down.svg +++ b/material/.icons/fontawesome/solid/sort-amount-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-amount-up-alt.svg b/material/.icons/fontawesome/solid/sort-amount-up-alt.svg index 3cf6a05a1..0fa39e1bd 100644 --- a/material/.icons/fontawesome/solid/sort-amount-up-alt.svg +++ b/material/.icons/fontawesome/solid/sort-amount-up-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-amount-up.svg b/material/.icons/fontawesome/solid/sort-amount-up.svg index 57a0e334b..aecbc0c64 100644 --- a/material/.icons/fontawesome/solid/sort-amount-up.svg +++ b/material/.icons/fontawesome/solid/sort-amount-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-numeric-down-alt.svg b/material/.icons/fontawesome/solid/sort-numeric-down-alt.svg index ba5c79ad6..ba1de58e5 100644 --- a/material/.icons/fontawesome/solid/sort-numeric-down-alt.svg +++ b/material/.icons/fontawesome/solid/sort-numeric-down-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-numeric-down.svg b/material/.icons/fontawesome/solid/sort-numeric-down.svg index 548a24384..c7c328220 100644 --- a/material/.icons/fontawesome/solid/sort-numeric-down.svg +++ b/material/.icons/fontawesome/solid/sort-numeric-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-numeric-up-alt.svg b/material/.icons/fontawesome/solid/sort-numeric-up-alt.svg index d804ec549..415c74884 100644 --- a/material/.icons/fontawesome/solid/sort-numeric-up-alt.svg +++ b/material/.icons/fontawesome/solid/sort-numeric-up-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sort-numeric-up.svg b/material/.icons/fontawesome/solid/sort-numeric-up.svg index 79d1c44c9..046f49c99 100644 --- a/material/.icons/fontawesome/solid/sort-numeric-up.svg +++ b/material/.icons/fontawesome/solid/sort-numeric-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/spa.svg b/material/.icons/fontawesome/solid/spa.svg index 53388af80..d6909e859 100644 --- a/material/.icons/fontawesome/solid/spa.svg +++ b/material/.icons/fontawesome/solid/spa.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/space-shuttle.svg b/material/.icons/fontawesome/solid/space-shuttle.svg index c3dd88453..1cf024de7 100644 --- a/material/.icons/fontawesome/solid/space-shuttle.svg +++ b/material/.icons/fontawesome/solid/space-shuttle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/spell-check.svg b/material/.icons/fontawesome/solid/spell-check.svg index bab1dbed9..d37442721 100644 --- a/material/.icons/fontawesome/solid/spell-check.svg +++ b/material/.icons/fontawesome/solid/spell-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/spider.svg b/material/.icons/fontawesome/solid/spider.svg index f2d7030b0..a805e79ec 100644 --- a/material/.icons/fontawesome/solid/spider.svg +++ b/material/.icons/fontawesome/solid/spider.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/square-root-alt.svg b/material/.icons/fontawesome/solid/square-root-alt.svg index c7e20a31c..d6f33adb3 100644 --- a/material/.icons/fontawesome/solid/square-root-alt.svg +++ b/material/.icons/fontawesome/solid/square-root-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/stopwatch-20.svg b/material/.icons/fontawesome/solid/stopwatch-20.svg index 8de6daa27..baca32d09 100644 --- a/material/.icons/fontawesome/solid/stopwatch-20.svg +++ b/material/.icons/fontawesome/solid/stopwatch-20.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/store-alt-slash.svg b/material/.icons/fontawesome/solid/store-alt-slash.svg index 292db4e87..5b9ea40fa 100644 --- a/material/.icons/fontawesome/solid/store-alt-slash.svg +++ b/material/.icons/fontawesome/solid/store-alt-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/store-slash.svg b/material/.icons/fontawesome/solid/store-slash.svg index cade88e57..c1134d9f0 100644 --- a/material/.icons/fontawesome/solid/store-slash.svg +++ b/material/.icons/fontawesome/solid/store-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/strikethrough.svg b/material/.icons/fontawesome/solid/strikethrough.svg index 9135f5dce..b7c31c762 100644 --- a/material/.icons/fontawesome/solid/strikethrough.svg +++ b/material/.icons/fontawesome/solid/strikethrough.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/stroopwafel.svg b/material/.icons/fontawesome/solid/stroopwafel.svg index 4d7369474..fdea44ca9 100644 --- a/material/.icons/fontawesome/solid/stroopwafel.svg +++ b/material/.icons/fontawesome/solid/stroopwafel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/subscript.svg b/material/.icons/fontawesome/solid/subscript.svg index b07e6379e..3b326b985 100644 --- a/material/.icons/fontawesome/solid/subscript.svg +++ b/material/.icons/fontawesome/solid/subscript.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/superscript.svg b/material/.icons/fontawesome/solid/superscript.svg index 869c1c0b5..2d7cf893a 100644 --- a/material/.icons/fontawesome/solid/superscript.svg +++ b/material/.icons/fontawesome/solid/superscript.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/swatchbook.svg b/material/.icons/fontawesome/solid/swatchbook.svg index 0a0a82edd..3c739c6b2 100644 --- a/material/.icons/fontawesome/solid/swatchbook.svg +++ b/material/.icons/fontawesome/solid/swatchbook.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/synagogue.svg b/material/.icons/fontawesome/solid/synagogue.svg index 12056ee7b..6f3d7c7d9 100644 --- a/material/.icons/fontawesome/solid/synagogue.svg +++ b/material/.icons/fontawesome/solid/synagogue.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/sync.svg b/material/.icons/fontawesome/solid/sync.svg index 39175f77f..9b6d20896 100644 --- a/material/.icons/fontawesome/solid/sync.svg +++ b/material/.icons/fontawesome/solid/sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/tag.svg b/material/.icons/fontawesome/solid/tag.svg index f54df34df..6793a2e0a 100644 --- a/material/.icons/fontawesome/solid/tag.svg +++ b/material/.icons/fontawesome/solid/tag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/tags.svg b/material/.icons/fontawesome/solid/tags.svg index 4ea728d53..192075b92 100644 --- a/material/.icons/fontawesome/solid/tags.svg +++ b/material/.icons/fontawesome/solid/tags.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/tasks.svg b/material/.icons/fontawesome/solid/tasks.svg index 05e6abbde..645dddd31 100644 --- a/material/.icons/fontawesome/solid/tasks.svg +++ b/material/.icons/fontawesome/solid/tasks.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/text-height.svg b/material/.icons/fontawesome/solid/text-height.svg index 0cde86980..1dc01364a 100644 --- a/material/.icons/fontawesome/solid/text-height.svg +++ b/material/.icons/fontawesome/solid/text-height.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/text-width.svg b/material/.icons/fontawesome/solid/text-width.svg index 8d79728d6..63739852c 100644 --- a/material/.icons/fontawesome/solid/text-width.svg +++ b/material/.icons/fontawesome/solid/text-width.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/thumbs-down.svg b/material/.icons/fontawesome/solid/thumbs-down.svg index 7681fdeee..1cb6e676f 100644 --- a/material/.icons/fontawesome/solid/thumbs-down.svg +++ b/material/.icons/fontawesome/solid/thumbs-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/thumbtack.svg b/material/.icons/fontawesome/solid/thumbtack.svg index 132254aa4..7b98d281f 100644 --- a/material/.icons/fontawesome/solid/thumbtack.svg +++ b/material/.icons/fontawesome/solid/thumbtack.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/toilet-paper-slash.svg b/material/.icons/fontawesome/solid/toilet-paper-slash.svg index 1c2f2b82e..4ff45afe1 100644 --- a/material/.icons/fontawesome/solid/toilet-paper-slash.svg +++ b/material/.icons/fontawesome/solid/toilet-paper-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/torah.svg b/material/.icons/fontawesome/solid/torah.svg index 237b5f7ec..2fb1234e4 100644 --- a/material/.icons/fontawesome/solid/torah.svg +++ b/material/.icons/fontawesome/solid/torah.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/torii-gate.svg b/material/.icons/fontawesome/solid/torii-gate.svg index 8b2d5261c..e66bce7a3 100644 --- a/material/.icons/fontawesome/solid/torii-gate.svg +++ b/material/.icons/fontawesome/solid/torii-gate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/tractor.svg b/material/.icons/fontawesome/solid/tractor.svg index fe0dea7f3..5390d1cd6 100644 --- a/material/.icons/fontawesome/solid/tractor.svg +++ b/material/.icons/fontawesome/solid/tractor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/trailer.svg b/material/.icons/fontawesome/solid/trailer.svg index dbf1022d1..2d9617618 100644 --- a/material/.icons/fontawesome/solid/trailer.svg +++ b/material/.icons/fontawesome/solid/trailer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/trash-alt.svg b/material/.icons/fontawesome/solid/trash-alt.svg index acdf905f6..6305280ae 100644 --- a/material/.icons/fontawesome/solid/trash-alt.svg +++ b/material/.icons/fontawesome/solid/trash-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/trash-restore-alt.svg b/material/.icons/fontawesome/solid/trash-restore-alt.svg index 1b812d1c5..ba91cca82 100644 --- a/material/.icons/fontawesome/solid/trash-restore-alt.svg +++ b/material/.icons/fontawesome/solid/trash-restore-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/trash-restore.svg b/material/.icons/fontawesome/solid/trash-restore.svg index 65f6e999f..e3c351fc6 100644 --- a/material/.icons/fontawesome/solid/trash-restore.svg +++ b/material/.icons/fontawesome/solid/trash-restore.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/trash.svg b/material/.icons/fontawesome/solid/trash.svg index bbc002b06..dec54fa31 100644 --- a/material/.icons/fontawesome/solid/trash.svg +++ b/material/.icons/fontawesome/solid/trash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/truck-monster.svg b/material/.icons/fontawesome/solid/truck-monster.svg index b2855fb90..8f31fd30b 100644 --- a/material/.icons/fontawesome/solid/truck-monster.svg +++ b/material/.icons/fontawesome/solid/truck-monster.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/truck-pickup.svg b/material/.icons/fontawesome/solid/truck-pickup.svg index 37bc87d97..337e8aec4 100644 --- a/material/.icons/fontawesome/solid/truck-pickup.svg +++ b/material/.icons/fontawesome/solid/truck-pickup.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/tty.svg b/material/.icons/fontawesome/solid/tty.svg index 7a3bc4ace..acc1e3d35 100644 --- a/material/.icons/fontawesome/solid/tty.svg +++ b/material/.icons/fontawesome/solid/tty.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/tv.svg b/material/.icons/fontawesome/solid/tv.svg index 1080e94e7..4e33e6199 100644 --- a/material/.icons/fontawesome/solid/tv.svg +++ b/material/.icons/fontawesome/solid/tv.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/underline.svg b/material/.icons/fontawesome/solid/underline.svg index d2654366c..332619ab6 100644 --- a/material/.icons/fontawesome/solid/underline.svg +++ b/material/.icons/fontawesome/solid/underline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/university.svg b/material/.icons/fontawesome/solid/university.svg index 7abeb4df5..cf4d7859b 100644 --- a/material/.icons/fontawesome/solid/university.svg +++ b/material/.icons/fontawesome/solid/university.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/user-injured.svg b/material/.icons/fontawesome/solid/user-injured.svg index c0096dc71..57de4b9b9 100644 --- a/material/.icons/fontawesome/solid/user-injured.svg +++ b/material/.icons/fontawesome/solid/user-injured.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/user-lock.svg b/material/.icons/fontawesome/solid/user-lock.svg index 300b9dd45..b3be5dcb0 100644 --- a/material/.icons/fontawesome/solid/user-lock.svg +++ b/material/.icons/fontawesome/solid/user-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/user-nurse.svg b/material/.icons/fontawesome/solid/user-nurse.svg index 94e665f69..3000fcfd0 100644 --- a/material/.icons/fontawesome/solid/user-nurse.svg +++ b/material/.icons/fontawesome/solid/user-nurse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/users-slash.svg b/material/.icons/fontawesome/solid/users-slash.svg index 6f7e83396..f86534379 100644 --- a/material/.icons/fontawesome/solid/users-slash.svg +++ b/material/.icons/fontawesome/solid/users-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/vest-patches.svg b/material/.icons/fontawesome/solid/vest-patches.svg index c4273d576..97f0869d6 100644 --- a/material/.icons/fontawesome/solid/vest-patches.svg +++ b/material/.icons/fontawesome/solid/vest-patches.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/vest.svg b/material/.icons/fontawesome/solid/vest.svg index ff8dbd653..0e8218469 100644 --- a/material/.icons/fontawesome/solid/vest.svg +++ b/material/.icons/fontawesome/solid/vest.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/virus.svg b/material/.icons/fontawesome/solid/virus.svg index b0a2e48d6..3b91d76fe 100644 --- a/material/.icons/fontawesome/solid/virus.svg +++ b/material/.icons/fontawesome/solid/virus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/viruses.svg b/material/.icons/fontawesome/solid/viruses.svg index 492482da5..63936e469 100644 --- a/material/.icons/fontawesome/solid/viruses.svg +++ b/material/.icons/fontawesome/solid/viruses.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/voicemail.svg b/material/.icons/fontawesome/solid/voicemail.svg index e75e0d064..0eeddca33 100644 --- a/material/.icons/fontawesome/solid/voicemail.svg +++ b/material/.icons/fontawesome/solid/voicemail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/volleyball-ball.svg b/material/.icons/fontawesome/solid/volleyball-ball.svg index 3255dc9c4..cd179f283 100644 --- a/material/.icons/fontawesome/solid/volleyball-ball.svg +++ b/material/.icons/fontawesome/solid/volleyball-ball.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/volume-off.svg b/material/.icons/fontawesome/solid/volume-off.svg index 9bd55c954..f8962ed2e 100644 --- a/material/.icons/fontawesome/solid/volume-off.svg +++ b/material/.icons/fontawesome/solid/volume-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/warehouse.svg b/material/.icons/fontawesome/solid/warehouse.svg index 712b08264..2e827c02c 100644 --- a/material/.icons/fontawesome/solid/warehouse.svg +++ b/material/.icons/fontawesome/solid/warehouse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/wave-square.svg b/material/.icons/fontawesome/solid/wave-square.svg index 2b47a0c97..dba15b960 100644 --- a/material/.icons/fontawesome/solid/wave-square.svg +++ b/material/.icons/fontawesome/solid/wave-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/fontawesome/solid/wheelchair.svg b/material/.icons/fontawesome/solid/wheelchair.svg index abb35d560..e474ae3fc 100644 --- a/material/.icons/fontawesome/solid/wheelchair.svg +++ b/material/.icons/fontawesome/solid/wheelchair.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/logo.svg b/material/.icons/logo.svg index c0dd470f3..763eb2c29 100644 --- a/material/.icons/logo.svg +++ b/material/.icons/logo.svg @@ -1 +1,6 @@ - \ No newline at end of file + + + + + + diff --git a/material/.icons/material/ab-testing.svg b/material/.icons/material/ab-testing.svg index e0ea0cdb3..ca5902485 100644 --- a/material/.icons/material/ab-testing.svg +++ b/material/.icons/material/ab-testing.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/abjad-arabic.svg b/material/.icons/material/abjad-arabic.svg index 3cf54edd2..018d8f53a 100644 --- a/material/.icons/material/abjad-arabic.svg +++ b/material/.icons/material/abjad-arabic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/abjad-hebrew.svg b/material/.icons/material/abjad-hebrew.svg index d7f08c5a9..d3431aab1 100644 --- a/material/.icons/material/abjad-hebrew.svg +++ b/material/.icons/material/abjad-hebrew.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/access-point-check.svg b/material/.icons/material/access-point-check.svg index 05b252853..8a59f61c4 100644 --- a/material/.icons/material/access-point-check.svg +++ b/material/.icons/material/access-point-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/access-point-minus.svg b/material/.icons/material/access-point-minus.svg index 5e408b53a..96861c135 100644 --- a/material/.icons/material/access-point-minus.svg +++ b/material/.icons/material/access-point-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/access-point-network-off.svg b/material/.icons/material/access-point-network-off.svg index 1833501d1..e20400416 100644 --- a/material/.icons/material/access-point-network-off.svg +++ b/material/.icons/material/access-point-network-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/access-point-network.svg b/material/.icons/material/access-point-network.svg index 17c88daae..e3b79aaef 100644 --- a/material/.icons/material/access-point-network.svg +++ b/material/.icons/material/access-point-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/access-point-off.svg b/material/.icons/material/access-point-off.svg index e5e51b206..e3cc39afd 100644 --- a/material/.icons/material/access-point-off.svg +++ b/material/.icons/material/access-point-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/access-point-plus.svg b/material/.icons/material/access-point-plus.svg index 5d40648c8..c3419ba58 100644 --- a/material/.icons/material/access-point-plus.svg +++ b/material/.icons/material/access-point-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/access-point-remove.svg b/material/.icons/material/access-point-remove.svg index 19d2b1b4f..c02a56cf9 100644 --- a/material/.icons/material/access-point-remove.svg +++ b/material/.icons/material/access-point-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/access-point.svg b/material/.icons/material/access-point.svg index c4cd8578c..b62859aa5 100644 --- a/material/.icons/material/access-point.svg +++ b/material/.icons/material/access-point.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-alert-outline.svg b/material/.icons/material/account-alert-outline.svg index 3a9471b71..f98b1fdfd 100644 --- a/material/.icons/material/account-alert-outline.svg +++ b/material/.icons/material/account-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-alert.svg b/material/.icons/material/account-alert.svg index bf2412cbf..60c8a610a 100644 --- a/material/.icons/material/account-alert.svg +++ b/material/.icons/material/account-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-arrow-left-outline.svg b/material/.icons/material/account-arrow-left-outline.svg index 8d9918594..f7248880e 100644 --- a/material/.icons/material/account-arrow-left-outline.svg +++ b/material/.icons/material/account-arrow-left-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-arrow-left.svg b/material/.icons/material/account-arrow-left.svg index 5758aed81..3609d2f9f 100644 --- a/material/.icons/material/account-arrow-left.svg +++ b/material/.icons/material/account-arrow-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-arrow-right-outline.svg b/material/.icons/material/account-arrow-right-outline.svg index 8a111a7f4..4b8660e59 100644 --- a/material/.icons/material/account-arrow-right-outline.svg +++ b/material/.icons/material/account-arrow-right-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-arrow-right.svg b/material/.icons/material/account-arrow-right.svg index 3eee48a70..365eef69b 100644 --- a/material/.icons/material/account-arrow-right.svg +++ b/material/.icons/material/account-arrow-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-box-multiple-outline.svg b/material/.icons/material/account-box-multiple-outline.svg index 4c213a0a3..d480ce66b 100644 --- a/material/.icons/material/account-box-multiple-outline.svg +++ b/material/.icons/material/account-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-box-multiple.svg b/material/.icons/material/account-box-multiple.svg index 6d3b259bf..fda4c58ef 100644 --- a/material/.icons/material/account-box-multiple.svg +++ b/material/.icons/material/account-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-box-outline.svg b/material/.icons/material/account-box-outline.svg index c19214405..35f432709 100644 --- a/material/.icons/material/account-box-outline.svg +++ b/material/.icons/material/account-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-box.svg b/material/.icons/material/account-box.svg index e7eed83a0..1d264d759 100644 --- a/material/.icons/material/account-box.svg +++ b/material/.icons/material/account-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-cancel-outline.svg b/material/.icons/material/account-cancel-outline.svg index c2d5e2308..1aad74155 100644 --- a/material/.icons/material/account-cancel-outline.svg +++ b/material/.icons/material/account-cancel-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-cancel.svg b/material/.icons/material/account-cancel.svg index 18eb2671c..4df48873f 100644 --- a/material/.icons/material/account-cancel.svg +++ b/material/.icons/material/account-cancel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-cash-outline.svg b/material/.icons/material/account-cash-outline.svg index 91af66d5e..d5c1976b8 100644 --- a/material/.icons/material/account-cash-outline.svg +++ b/material/.icons/material/account-cash-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-cash.svg b/material/.icons/material/account-cash.svg index d83267626..9dc2d79cb 100644 --- a/material/.icons/material/account-cash.svg +++ b/material/.icons/material/account-cash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-check-outline.svg b/material/.icons/material/account-check-outline.svg index 28f459b06..722f4e823 100644 --- a/material/.icons/material/account-check-outline.svg +++ b/material/.icons/material/account-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-check.svg b/material/.icons/material/account-check.svg index 0217da5e8..c76b2d019 100644 --- a/material/.icons/material/account-check.svg +++ b/material/.icons/material/account-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-child-circle.svg b/material/.icons/material/account-child-circle.svg index 7f76f571e..b56f91329 100644 --- a/material/.icons/material/account-child-circle.svg +++ b/material/.icons/material/account-child-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-child.svg b/material/.icons/material/account-child.svg index 0971d37ae..eeeb29e23 100644 --- a/material/.icons/material/account-child.svg +++ b/material/.icons/material/account-child.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-circle-outline.svg b/material/.icons/material/account-circle-outline.svg index 10c6e99e1..ce89541c1 100644 --- a/material/.icons/material/account-circle-outline.svg +++ b/material/.icons/material/account-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-circle.svg b/material/.icons/material/account-circle.svg index 27f3e1d31..5a006d49a 100644 --- a/material/.icons/material/account-circle.svg +++ b/material/.icons/material/account-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-clock-outline.svg b/material/.icons/material/account-clock-outline.svg index 574ee3c57..3b7e27d1d 100644 --- a/material/.icons/material/account-clock-outline.svg +++ b/material/.icons/material/account-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-clock.svg b/material/.icons/material/account-clock.svg index e66aa75fa..dfd4834b2 100644 --- a/material/.icons/material/account-clock.svg +++ b/material/.icons/material/account-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-cog-outline.svg b/material/.icons/material/account-cog-outline.svg index 235c2f4f7..d989460a1 100644 --- a/material/.icons/material/account-cog-outline.svg +++ b/material/.icons/material/account-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-cog.svg b/material/.icons/material/account-cog.svg index ca6a9b37a..69f6d1eb5 100644 --- a/material/.icons/material/account-cog.svg +++ b/material/.icons/material/account-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-edit-outline.svg b/material/.icons/material/account-edit-outline.svg index d0d5cbe89..118b357a3 100644 --- a/material/.icons/material/account-edit-outline.svg +++ b/material/.icons/material/account-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-edit.svg b/material/.icons/material/account-edit.svg index 5366fc088..6cab7754f 100644 --- a/material/.icons/material/account-edit.svg +++ b/material/.icons/material/account-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-group-outline.svg b/material/.icons/material/account-group-outline.svg index 3da8dd500..cbe4d9c14 100644 --- a/material/.icons/material/account-group-outline.svg +++ b/material/.icons/material/account-group-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-group.svg b/material/.icons/material/account-group.svg index 13cce07a9..d726d46cd 100644 --- a/material/.icons/material/account-group.svg +++ b/material/.icons/material/account-group.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-hard-hat.svg b/material/.icons/material/account-hard-hat.svg index a1f17a430..9e3be0410 100644 --- a/material/.icons/material/account-hard-hat.svg +++ b/material/.icons/material/account-hard-hat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-heart-outline.svg b/material/.icons/material/account-heart-outline.svg index 0484c996c..78c4605a0 100644 --- a/material/.icons/material/account-heart-outline.svg +++ b/material/.icons/material/account-heart-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-heart.svg b/material/.icons/material/account-heart.svg index 6d6b30ce2..030f3bcd6 100644 --- a/material/.icons/material/account-heart.svg +++ b/material/.icons/material/account-heart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-key-outline.svg b/material/.icons/material/account-key-outline.svg index 2bc79434a..d4997c7ee 100644 --- a/material/.icons/material/account-key-outline.svg +++ b/material/.icons/material/account-key-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-key.svg b/material/.icons/material/account-key.svg index 19526b291..2fbe0757b 100644 --- a/material/.icons/material/account-key.svg +++ b/material/.icons/material/account-key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-lock-outline.svg b/material/.icons/material/account-lock-outline.svg index 9d9ffe4a2..ed0cb28c0 100644 --- a/material/.icons/material/account-lock-outline.svg +++ b/material/.icons/material/account-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-lock.svg b/material/.icons/material/account-lock.svg index c77566755..40a048bd0 100644 --- a/material/.icons/material/account-lock.svg +++ b/material/.icons/material/account-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-minus-outline.svg b/material/.icons/material/account-minus-outline.svg index a35d360b8..e1aceff04 100644 --- a/material/.icons/material/account-minus-outline.svg +++ b/material/.icons/material/account-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-minus.svg b/material/.icons/material/account-minus.svg index ee7d4b844..de8de21cc 100644 --- a/material/.icons/material/account-minus.svg +++ b/material/.icons/material/account-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple-check-outline.svg b/material/.icons/material/account-multiple-check-outline.svg index 94fd44d2f..aa1104c7b 100644 --- a/material/.icons/material/account-multiple-check-outline.svg +++ b/material/.icons/material/account-multiple-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple-check.svg b/material/.icons/material/account-multiple-check.svg index 92f634edc..2e12716c3 100644 --- a/material/.icons/material/account-multiple-check.svg +++ b/material/.icons/material/account-multiple-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple-minus-outline.svg b/material/.icons/material/account-multiple-minus-outline.svg index 3ca945cf8..e89afb489 100644 --- a/material/.icons/material/account-multiple-minus-outline.svg +++ b/material/.icons/material/account-multiple-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple-minus.svg b/material/.icons/material/account-multiple-minus.svg index d6f39cf00..e1a749f47 100644 --- a/material/.icons/material/account-multiple-minus.svg +++ b/material/.icons/material/account-multiple-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple-outline.svg b/material/.icons/material/account-multiple-outline.svg index 0e148191d..8d8172d67 100644 --- a/material/.icons/material/account-multiple-outline.svg +++ b/material/.icons/material/account-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple-plus-outline.svg b/material/.icons/material/account-multiple-plus-outline.svg index c7ccb4243..99ff0a101 100644 --- a/material/.icons/material/account-multiple-plus-outline.svg +++ b/material/.icons/material/account-multiple-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple-plus.svg b/material/.icons/material/account-multiple-plus.svg index 6c945342e..d2b33e584 100644 --- a/material/.icons/material/account-multiple-plus.svg +++ b/material/.icons/material/account-multiple-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple-remove-outline.svg b/material/.icons/material/account-multiple-remove-outline.svg index c6e88d185..92310d56c 100644 --- a/material/.icons/material/account-multiple-remove-outline.svg +++ b/material/.icons/material/account-multiple-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple-remove.svg b/material/.icons/material/account-multiple-remove.svg index b1c8d1692..13ee341b5 100644 --- a/material/.icons/material/account-multiple-remove.svg +++ b/material/.icons/material/account-multiple-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-multiple.svg b/material/.icons/material/account-multiple.svg index d3b5e9cdb..832f9ca17 100644 --- a/material/.icons/material/account-multiple.svg +++ b/material/.icons/material/account-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-music-outline.svg b/material/.icons/material/account-music-outline.svg index 647a79007..8b5595407 100644 --- a/material/.icons/material/account-music-outline.svg +++ b/material/.icons/material/account-music-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-music.svg b/material/.icons/material/account-music.svg index 8e362689d..72f58b959 100644 --- a/material/.icons/material/account-music.svg +++ b/material/.icons/material/account-music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-network-outline.svg b/material/.icons/material/account-network-outline.svg index b96c6f180..86f46548b 100644 --- a/material/.icons/material/account-network-outline.svg +++ b/material/.icons/material/account-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-network.svg b/material/.icons/material/account-network.svg index 792904df8..ea0b08dd4 100644 --- a/material/.icons/material/account-network.svg +++ b/material/.icons/material/account-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-off-outline.svg b/material/.icons/material/account-off-outline.svg index 25acfe9d1..6f9bc6eef 100644 --- a/material/.icons/material/account-off-outline.svg +++ b/material/.icons/material/account-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-off.svg b/material/.icons/material/account-off.svg index 61d494d6b..a114d0d30 100644 --- a/material/.icons/material/account-off.svg +++ b/material/.icons/material/account-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-outline.svg b/material/.icons/material/account-outline.svg index ac62ab0ba..17f2387b9 100644 --- a/material/.icons/material/account-outline.svg +++ b/material/.icons/material/account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-plus-outline.svg b/material/.icons/material/account-plus-outline.svg index b0e30e4cf..fe94ef505 100644 --- a/material/.icons/material/account-plus-outline.svg +++ b/material/.icons/material/account-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-plus.svg b/material/.icons/material/account-plus.svg index 6c555f634..232587c51 100644 --- a/material/.icons/material/account-plus.svg +++ b/material/.icons/material/account-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-question-outline.svg b/material/.icons/material/account-question-outline.svg index 0f508538c..ac2da7a2b 100644 --- a/material/.icons/material/account-question-outline.svg +++ b/material/.icons/material/account-question-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-question.svg b/material/.icons/material/account-question.svg index 8c5307088..7b9997ca4 100644 --- a/material/.icons/material/account-question.svg +++ b/material/.icons/material/account-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-reactivate-outline.svg b/material/.icons/material/account-reactivate-outline.svg index f181a304d..8fd1a6a51 100644 --- a/material/.icons/material/account-reactivate-outline.svg +++ b/material/.icons/material/account-reactivate-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-reactivate.svg b/material/.icons/material/account-reactivate.svg index b9ce60cdd..3f163b680 100644 --- a/material/.icons/material/account-reactivate.svg +++ b/material/.icons/material/account-reactivate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-remove-outline.svg b/material/.icons/material/account-remove-outline.svg index e0255b2eb..745c839c9 100644 --- a/material/.icons/material/account-remove-outline.svg +++ b/material/.icons/material/account-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-remove.svg b/material/.icons/material/account-remove.svg index 152292139..144f9c8eb 100644 --- a/material/.icons/material/account-remove.svg +++ b/material/.icons/material/account-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-search-outline.svg b/material/.icons/material/account-search-outline.svg index f71a03659..bc01c4662 100644 --- a/material/.icons/material/account-search-outline.svg +++ b/material/.icons/material/account-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-search.svg b/material/.icons/material/account-search.svg index debbcee03..30f38bff3 100644 --- a/material/.icons/material/account-search.svg +++ b/material/.icons/material/account-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-settings.svg b/material/.icons/material/account-settings.svg index 32cf47ae4..9b3aaf4b4 100644 --- a/material/.icons/material/account-settings.svg +++ b/material/.icons/material/account-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-star-outline.svg b/material/.icons/material/account-star-outline.svg index ca5d29535..9c434aed3 100644 --- a/material/.icons/material/account-star-outline.svg +++ b/material/.icons/material/account-star-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-star.svg b/material/.icons/material/account-star.svg index 1eed03cf7..8276c74e4 100644 --- a/material/.icons/material/account-star.svg +++ b/material/.icons/material/account-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-supervisor-circle-outline.svg b/material/.icons/material/account-supervisor-circle-outline.svg index 499209e28..70234089f 100644 --- a/material/.icons/material/account-supervisor-circle-outline.svg +++ b/material/.icons/material/account-supervisor-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-supervisor-circle.svg b/material/.icons/material/account-supervisor-circle.svg index 2faae88fe..ead0e72ce 100644 --- a/material/.icons/material/account-supervisor-circle.svg +++ b/material/.icons/material/account-supervisor-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-supervisor-outline.svg b/material/.icons/material/account-supervisor-outline.svg index e38f5bc07..9fb9d6cb4 100644 --- a/material/.icons/material/account-supervisor-outline.svg +++ b/material/.icons/material/account-supervisor-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-supervisor.svg b/material/.icons/material/account-supervisor.svg index acf3dcbe2..7bb9cb59a 100644 --- a/material/.icons/material/account-supervisor.svg +++ b/material/.icons/material/account-supervisor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-tie-voice-off-outline.svg b/material/.icons/material/account-tie-voice-off-outline.svg index be3736769..5b4bc0927 100644 --- a/material/.icons/material/account-tie-voice-off-outline.svg +++ b/material/.icons/material/account-tie-voice-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account-voice.svg b/material/.icons/material/account-voice.svg index a079819ee..23254d991 100644 --- a/material/.icons/material/account-voice.svg +++ b/material/.icons/material/account-voice.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/account.svg b/material/.icons/material/account.svg index 8c8e27ce4..10f898bf3 100644 --- a/material/.icons/material/account.svg +++ b/material/.icons/material/account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/adjust.svg b/material/.icons/material/adjust.svg index 27c4ee78b..276450021 100644 --- a/material/.icons/material/adjust.svg +++ b/material/.icons/material/adjust.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/air-conditioner.svg b/material/.icons/material/air-conditioner.svg index 7998c01c8..50f750521 100644 --- a/material/.icons/material/air-conditioner.svg +++ b/material/.icons/material/air-conditioner.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/air-filter.svg b/material/.icons/material/air-filter.svg index 9c0d62283..d4430215c 100644 --- a/material/.icons/material/air-filter.svg +++ b/material/.icons/material/air-filter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/air-humidifier.svg b/material/.icons/material/air-humidifier.svg index ec0fca9c7..99dbc5432 100644 --- a/material/.icons/material/air-humidifier.svg +++ b/material/.icons/material/air-humidifier.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/air-purifier.svg b/material/.icons/material/air-purifier.svg index 89e541ff3..286f21db4 100644 --- a/material/.icons/material/air-purifier.svg +++ b/material/.icons/material/air-purifier.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/airbag.svg b/material/.icons/material/airbag.svg index 8919f9a91..4c908682f 100644 --- a/material/.icons/material/airbag.svg +++ b/material/.icons/material/airbag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/airballoon.svg b/material/.icons/material/airballoon.svg index 8c3acccbc..159b93cd3 100644 --- a/material/.icons/material/airballoon.svg +++ b/material/.icons/material/airballoon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/airplane-off.svg b/material/.icons/material/airplane-off.svg index f0b8669fa..5d4d98174 100644 --- a/material/.icons/material/airplane-off.svg +++ b/material/.icons/material/airplane-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/airplane.svg b/material/.icons/material/airplane.svg index 6c3d68551..dbf1ee6ca 100644 --- a/material/.icons/material/airplane.svg +++ b/material/.icons/material/airplane.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/airport.svg b/material/.icons/material/airport.svg index 988c0e76d..4def00d93 100644 --- a/material/.icons/material/airport.svg +++ b/material/.icons/material/airport.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-bell.svg b/material/.icons/material/alarm-bell.svg index 77d5f8c51..d5125bdc5 100644 --- a/material/.icons/material/alarm-bell.svg +++ b/material/.icons/material/alarm-bell.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-check.svg b/material/.icons/material/alarm-check.svg index b0c5f450c..8a3308a66 100644 --- a/material/.icons/material/alarm-check.svg +++ b/material/.icons/material/alarm-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-light-outline.svg b/material/.icons/material/alarm-light-outline.svg index b667f8e76..7bc4939f0 100644 --- a/material/.icons/material/alarm-light-outline.svg +++ b/material/.icons/material/alarm-light-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-light.svg b/material/.icons/material/alarm-light.svg index 5dd310895..fcacca38a 100644 --- a/material/.icons/material/alarm-light.svg +++ b/material/.icons/material/alarm-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-multiple.svg b/material/.icons/material/alarm-multiple.svg index 814946669..3d92f7a8a 100644 --- a/material/.icons/material/alarm-multiple.svg +++ b/material/.icons/material/alarm-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-note-off.svg b/material/.icons/material/alarm-note-off.svg index 1e346a8cd..b45fa3aaa 100644 --- a/material/.icons/material/alarm-note-off.svg +++ b/material/.icons/material/alarm-note-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-note.svg b/material/.icons/material/alarm-note.svg index 339cd8518..dfb630297 100644 --- a/material/.icons/material/alarm-note.svg +++ b/material/.icons/material/alarm-note.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-off.svg b/material/.icons/material/alarm-off.svg index b338a7b20..fee023bc3 100644 --- a/material/.icons/material/alarm-off.svg +++ b/material/.icons/material/alarm-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-plus.svg b/material/.icons/material/alarm-plus.svg index 02c01a75e..f3dc492ba 100644 --- a/material/.icons/material/alarm-plus.svg +++ b/material/.icons/material/alarm-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm-snooze.svg b/material/.icons/material/alarm-snooze.svg index 5c989942a..f9256f9f7 100644 --- a/material/.icons/material/alarm-snooze.svg +++ b/material/.icons/material/alarm-snooze.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alarm.svg b/material/.icons/material/alarm.svg index 69b39770c..8f2fc8a37 100644 --- a/material/.icons/material/alarm.svg +++ b/material/.icons/material/alarm.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/album.svg b/material/.icons/material/album.svg index 4ed9b5535..2bd8985af 100644 --- a/material/.icons/material/album.svg +++ b/material/.icons/material/album.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alert-box-outline.svg b/material/.icons/material/alert-box-outline.svg index 478da97bf..2cb7b617a 100644 --- a/material/.icons/material/alert-box-outline.svg +++ b/material/.icons/material/alert-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alert-box.svg b/material/.icons/material/alert-box.svg index cc8f77175..645db626a 100644 --- a/material/.icons/material/alert-box.svg +++ b/material/.icons/material/alert-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alert-circle-check.svg b/material/.icons/material/alert-circle-check.svg index 70aa7be5f..737dd2db3 100644 --- a/material/.icons/material/alert-circle-check.svg +++ b/material/.icons/material/alert-circle-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alert-circle-outline.svg b/material/.icons/material/alert-circle-outline.svg index c5a93e71f..7015bc6b3 100644 --- a/material/.icons/material/alert-circle-outline.svg +++ b/material/.icons/material/alert-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alert-circle.svg b/material/.icons/material/alert-circle.svg index ef4d3e65e..d735fa80f 100644 --- a/material/.icons/material/alert-circle.svg +++ b/material/.icons/material/alert-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/all-inclusive.svg b/material/.icons/material/all-inclusive.svg index ea8ba39d9..37ca8b68b 100644 --- a/material/.icons/material/all-inclusive.svg +++ b/material/.icons/material/all-inclusive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/allergy.svg b/material/.icons/material/allergy.svg index 0b3cbc5cd..4d812b4ae 100644 --- a/material/.icons/material/allergy.svg +++ b/material/.icons/material/allergy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-a-box-outline.svg b/material/.icons/material/alpha-a-box-outline.svg index 9b874994b..d0582bcdc 100644 --- a/material/.icons/material/alpha-a-box-outline.svg +++ b/material/.icons/material/alpha-a-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-a-box.svg b/material/.icons/material/alpha-a-box.svg index 4c83f1fe6..3a7267584 100644 --- a/material/.icons/material/alpha-a-box.svg +++ b/material/.icons/material/alpha-a-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-a-circle-outline.svg b/material/.icons/material/alpha-a-circle-outline.svg index 672f598ec..2fdd7263c 100644 --- a/material/.icons/material/alpha-a-circle-outline.svg +++ b/material/.icons/material/alpha-a-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-a-circle.svg b/material/.icons/material/alpha-a-circle.svg index bf8561388..c45177d83 100644 --- a/material/.icons/material/alpha-a-circle.svg +++ b/material/.icons/material/alpha-a-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-a.svg b/material/.icons/material/alpha-a.svg index c9d66ee63..e5d5c9e4f 100644 --- a/material/.icons/material/alpha-a.svg +++ b/material/.icons/material/alpha-a.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-b-box-outline.svg b/material/.icons/material/alpha-b-box-outline.svg index 3ca921084..fb53dbade 100644 --- a/material/.icons/material/alpha-b-box-outline.svg +++ b/material/.icons/material/alpha-b-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-b-box.svg b/material/.icons/material/alpha-b-box.svg index 41129985f..c3cb0e19a 100644 --- a/material/.icons/material/alpha-b-box.svg +++ b/material/.icons/material/alpha-b-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-b-circle-outline.svg b/material/.icons/material/alpha-b-circle-outline.svg index 3d3106b79..e98933958 100644 --- a/material/.icons/material/alpha-b-circle-outline.svg +++ b/material/.icons/material/alpha-b-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-b-circle.svg b/material/.icons/material/alpha-b-circle.svg index 49797d619..7d68efc02 100644 --- a/material/.icons/material/alpha-b-circle.svg +++ b/material/.icons/material/alpha-b-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-b.svg b/material/.icons/material/alpha-b.svg index 7f536b56d..5a41ff6ee 100644 --- a/material/.icons/material/alpha-b.svg +++ b/material/.icons/material/alpha-b.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-c-box-outline.svg b/material/.icons/material/alpha-c-box-outline.svg index aad88088b..a2a9d8c8e 100644 --- a/material/.icons/material/alpha-c-box-outline.svg +++ b/material/.icons/material/alpha-c-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-c-box.svg b/material/.icons/material/alpha-c-box.svg index 5ec96817c..85740307d 100644 --- a/material/.icons/material/alpha-c-box.svg +++ b/material/.icons/material/alpha-c-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-c-circle-outline.svg b/material/.icons/material/alpha-c-circle-outline.svg index 0be86caec..08fdf20f2 100644 --- a/material/.icons/material/alpha-c-circle-outline.svg +++ b/material/.icons/material/alpha-c-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-c-circle.svg b/material/.icons/material/alpha-c-circle.svg index 0ac61aa61..fec5302d9 100644 --- a/material/.icons/material/alpha-c-circle.svg +++ b/material/.icons/material/alpha-c-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-c.svg b/material/.icons/material/alpha-c.svg index 6f0a107a9..bc917d379 100644 --- a/material/.icons/material/alpha-c.svg +++ b/material/.icons/material/alpha-c.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-d-box-outline.svg b/material/.icons/material/alpha-d-box-outline.svg index 33a306211..1f9542233 100644 --- a/material/.icons/material/alpha-d-box-outline.svg +++ b/material/.icons/material/alpha-d-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-d-box.svg b/material/.icons/material/alpha-d-box.svg index e8f62099b..e26b5a2b8 100644 --- a/material/.icons/material/alpha-d-box.svg +++ b/material/.icons/material/alpha-d-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-d-circle-outline.svg b/material/.icons/material/alpha-d-circle-outline.svg index 0bd16e491..21489685f 100644 --- a/material/.icons/material/alpha-d-circle-outline.svg +++ b/material/.icons/material/alpha-d-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-d-circle.svg b/material/.icons/material/alpha-d-circle.svg index 59c63b753..6fd11ef19 100644 --- a/material/.icons/material/alpha-d-circle.svg +++ b/material/.icons/material/alpha-d-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-d.svg b/material/.icons/material/alpha-d.svg index 0722a99f5..6182739c2 100644 --- a/material/.icons/material/alpha-d.svg +++ b/material/.icons/material/alpha-d.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-e-box-outline.svg b/material/.icons/material/alpha-e-box-outline.svg index 80e1a7b49..2fbbe804f 100644 --- a/material/.icons/material/alpha-e-box-outline.svg +++ b/material/.icons/material/alpha-e-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-e-box.svg b/material/.icons/material/alpha-e-box.svg index 31e8cab36..26007cf8c 100644 --- a/material/.icons/material/alpha-e-box.svg +++ b/material/.icons/material/alpha-e-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-e-circle-outline.svg b/material/.icons/material/alpha-e-circle-outline.svg index ed633c030..e97069544 100644 --- a/material/.icons/material/alpha-e-circle-outline.svg +++ b/material/.icons/material/alpha-e-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-e-circle.svg b/material/.icons/material/alpha-e-circle.svg index 1e096ad62..4bc7fcec4 100644 --- a/material/.icons/material/alpha-e-circle.svg +++ b/material/.icons/material/alpha-e-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-f-box-outline.svg b/material/.icons/material/alpha-f-box-outline.svg index d2b68b8e0..76a4d6da0 100644 --- a/material/.icons/material/alpha-f-box-outline.svg +++ b/material/.icons/material/alpha-f-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-f-box.svg b/material/.icons/material/alpha-f-box.svg index cfc263d10..97fd71839 100644 --- a/material/.icons/material/alpha-f-box.svg +++ b/material/.icons/material/alpha-f-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-f-circle-outline.svg b/material/.icons/material/alpha-f-circle-outline.svg index 5937a4b96..c5afe892b 100644 --- a/material/.icons/material/alpha-f-circle-outline.svg +++ b/material/.icons/material/alpha-f-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-f-circle.svg b/material/.icons/material/alpha-f-circle.svg index 58ce2df1b..47d29e7a6 100644 --- a/material/.icons/material/alpha-f-circle.svg +++ b/material/.icons/material/alpha-f-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-g-box-outline.svg b/material/.icons/material/alpha-g-box-outline.svg index 2ba9ac0e4..de3443984 100644 --- a/material/.icons/material/alpha-g-box-outline.svg +++ b/material/.icons/material/alpha-g-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-g-box.svg b/material/.icons/material/alpha-g-box.svg index db4242192..0cb2018b4 100644 --- a/material/.icons/material/alpha-g-box.svg +++ b/material/.icons/material/alpha-g-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-g-circle-outline.svg b/material/.icons/material/alpha-g-circle-outline.svg index 009c655db..b0a455b4a 100644 --- a/material/.icons/material/alpha-g-circle-outline.svg +++ b/material/.icons/material/alpha-g-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-g-circle.svg b/material/.icons/material/alpha-g-circle.svg index ba47383d2..46a1fd252 100644 --- a/material/.icons/material/alpha-g-circle.svg +++ b/material/.icons/material/alpha-g-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-g.svg b/material/.icons/material/alpha-g.svg index 03b6319aa..769148bca 100644 --- a/material/.icons/material/alpha-g.svg +++ b/material/.icons/material/alpha-g.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-h-box-outline.svg b/material/.icons/material/alpha-h-box-outline.svg index 149cc78ab..ddc35942d 100644 --- a/material/.icons/material/alpha-h-box-outline.svg +++ b/material/.icons/material/alpha-h-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-h-box.svg b/material/.icons/material/alpha-h-box.svg index cf243df78..005cf25e5 100644 --- a/material/.icons/material/alpha-h-box.svg +++ b/material/.icons/material/alpha-h-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-h-circle-outline.svg b/material/.icons/material/alpha-h-circle-outline.svg index 31636eb9a..4f829e09d 100644 --- a/material/.icons/material/alpha-h-circle-outline.svg +++ b/material/.icons/material/alpha-h-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-h-circle.svg b/material/.icons/material/alpha-h-circle.svg index fa53e0215..2fa21722c 100644 --- a/material/.icons/material/alpha-h-circle.svg +++ b/material/.icons/material/alpha-h-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-i-box-outline.svg b/material/.icons/material/alpha-i-box-outline.svg index 32fd60fa9..e20a06a4d 100644 --- a/material/.icons/material/alpha-i-box-outline.svg +++ b/material/.icons/material/alpha-i-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-i-box.svg b/material/.icons/material/alpha-i-box.svg index 8ef7eb640..f1f5d8747 100644 --- a/material/.icons/material/alpha-i-box.svg +++ b/material/.icons/material/alpha-i-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-i-circle-outline.svg b/material/.icons/material/alpha-i-circle-outline.svg index 3fd5f41f0..ea1024baf 100644 --- a/material/.icons/material/alpha-i-circle-outline.svg +++ b/material/.icons/material/alpha-i-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-i-circle.svg b/material/.icons/material/alpha-i-circle.svg index e908474f7..a746cd4ec 100644 --- a/material/.icons/material/alpha-i-circle.svg +++ b/material/.icons/material/alpha-i-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-j-box-outline.svg b/material/.icons/material/alpha-j-box-outline.svg index 7698dc73f..fa9b0c0e0 100644 --- a/material/.icons/material/alpha-j-box-outline.svg +++ b/material/.icons/material/alpha-j-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-j-box.svg b/material/.icons/material/alpha-j-box.svg index 79fa44b11..ec1a5cfa0 100644 --- a/material/.icons/material/alpha-j-box.svg +++ b/material/.icons/material/alpha-j-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-j-circle-outline.svg b/material/.icons/material/alpha-j-circle-outline.svg index ee1812bb8..9df6bbc01 100644 --- a/material/.icons/material/alpha-j-circle-outline.svg +++ b/material/.icons/material/alpha-j-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-j-circle.svg b/material/.icons/material/alpha-j-circle.svg index 92786a94e..ab19e4c41 100644 --- a/material/.icons/material/alpha-j-circle.svg +++ b/material/.icons/material/alpha-j-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-j.svg b/material/.icons/material/alpha-j.svg index 024fc3e08..11e503232 100644 --- a/material/.icons/material/alpha-j.svg +++ b/material/.icons/material/alpha-j.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-k-box-outline.svg b/material/.icons/material/alpha-k-box-outline.svg index 1ac4519df..39e5c5b7d 100644 --- a/material/.icons/material/alpha-k-box-outline.svg +++ b/material/.icons/material/alpha-k-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-k-box.svg b/material/.icons/material/alpha-k-box.svg index 290cb09be..6742ae509 100644 --- a/material/.icons/material/alpha-k-box.svg +++ b/material/.icons/material/alpha-k-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-k-circle-outline.svg b/material/.icons/material/alpha-k-circle-outline.svg index 4a9cc669f..2c3796cbf 100644 --- a/material/.icons/material/alpha-k-circle-outline.svg +++ b/material/.icons/material/alpha-k-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-k-circle.svg b/material/.icons/material/alpha-k-circle.svg index dbb5d74f5..8e46dfa4f 100644 --- a/material/.icons/material/alpha-k-circle.svg +++ b/material/.icons/material/alpha-k-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-l-box-outline.svg b/material/.icons/material/alpha-l-box-outline.svg index 363370d65..304224dd2 100644 --- a/material/.icons/material/alpha-l-box-outline.svg +++ b/material/.icons/material/alpha-l-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-l-box.svg b/material/.icons/material/alpha-l-box.svg index 12641c8f1..121f7cc27 100644 --- a/material/.icons/material/alpha-l-box.svg +++ b/material/.icons/material/alpha-l-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-l-circle-outline.svg b/material/.icons/material/alpha-l-circle-outline.svg index 52436e02f..ed91cb30b 100644 --- a/material/.icons/material/alpha-l-circle-outline.svg +++ b/material/.icons/material/alpha-l-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-l-circle.svg b/material/.icons/material/alpha-l-circle.svg index c2bac6c35..9cf48f797 100644 --- a/material/.icons/material/alpha-l-circle.svg +++ b/material/.icons/material/alpha-l-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-m-box-outline.svg b/material/.icons/material/alpha-m-box-outline.svg index b6b78d287..507bb7dbf 100644 --- a/material/.icons/material/alpha-m-box-outline.svg +++ b/material/.icons/material/alpha-m-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-m-box.svg b/material/.icons/material/alpha-m-box.svg index 08732d0b5..ddbb55bd1 100644 --- a/material/.icons/material/alpha-m-box.svg +++ b/material/.icons/material/alpha-m-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-m-circle-outline.svg b/material/.icons/material/alpha-m-circle-outline.svg index 6be9ffdbc..a61e591ac 100644 --- a/material/.icons/material/alpha-m-circle-outline.svg +++ b/material/.icons/material/alpha-m-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-m-circle.svg b/material/.icons/material/alpha-m-circle.svg index b07275d8d..9168b9fbf 100644 --- a/material/.icons/material/alpha-m-circle.svg +++ b/material/.icons/material/alpha-m-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-m.svg b/material/.icons/material/alpha-m.svg index 5e1c5a545..638ede0ee 100644 --- a/material/.icons/material/alpha-m.svg +++ b/material/.icons/material/alpha-m.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-n-box-outline.svg b/material/.icons/material/alpha-n-box-outline.svg index 0429e49c2..844b8b0a0 100644 --- a/material/.icons/material/alpha-n-box-outline.svg +++ b/material/.icons/material/alpha-n-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-n-box.svg b/material/.icons/material/alpha-n-box.svg index cd3c704d6..37a00ae72 100644 --- a/material/.icons/material/alpha-n-box.svg +++ b/material/.icons/material/alpha-n-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-n-circle-outline.svg b/material/.icons/material/alpha-n-circle-outline.svg index e023e9368..58bf4506b 100644 --- a/material/.icons/material/alpha-n-circle-outline.svg +++ b/material/.icons/material/alpha-n-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-n-circle.svg b/material/.icons/material/alpha-n-circle.svg index b986f3d2d..4167ede85 100644 --- a/material/.icons/material/alpha-n-circle.svg +++ b/material/.icons/material/alpha-n-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-o-box-outline.svg b/material/.icons/material/alpha-o-box-outline.svg index feda654b9..6e0c71bde 100644 --- a/material/.icons/material/alpha-o-box-outline.svg +++ b/material/.icons/material/alpha-o-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-o-box.svg b/material/.icons/material/alpha-o-box.svg index 1dffe5436..3a66aabb6 100644 --- a/material/.icons/material/alpha-o-box.svg +++ b/material/.icons/material/alpha-o-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-o-circle-outline.svg b/material/.icons/material/alpha-o-circle-outline.svg index bdbd537d1..6ce5b9720 100644 --- a/material/.icons/material/alpha-o-circle-outline.svg +++ b/material/.icons/material/alpha-o-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-o-circle.svg b/material/.icons/material/alpha-o-circle.svg index 9c22b102a..492e9fbd3 100644 --- a/material/.icons/material/alpha-o-circle.svg +++ b/material/.icons/material/alpha-o-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-o.svg b/material/.icons/material/alpha-o.svg index 7b55d3926..478f01a3a 100644 --- a/material/.icons/material/alpha-o.svg +++ b/material/.icons/material/alpha-o.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-p-box-outline.svg b/material/.icons/material/alpha-p-box-outline.svg index 5851cb370..841530710 100644 --- a/material/.icons/material/alpha-p-box-outline.svg +++ b/material/.icons/material/alpha-p-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-p-box.svg b/material/.icons/material/alpha-p-box.svg index 45fab6f4f..10c27e4f8 100644 --- a/material/.icons/material/alpha-p-box.svg +++ b/material/.icons/material/alpha-p-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-p-circle-outline.svg b/material/.icons/material/alpha-p-circle-outline.svg index c78353235..dd74830cc 100644 --- a/material/.icons/material/alpha-p-circle-outline.svg +++ b/material/.icons/material/alpha-p-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-p-circle.svg b/material/.icons/material/alpha-p-circle.svg index ff1c39739..1f9cfc445 100644 --- a/material/.icons/material/alpha-p-circle.svg +++ b/material/.icons/material/alpha-p-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-p.svg b/material/.icons/material/alpha-p.svg index 438597e4a..a07c93220 100644 --- a/material/.icons/material/alpha-p.svg +++ b/material/.icons/material/alpha-p.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-q-box-outline.svg b/material/.icons/material/alpha-q-box-outline.svg index abf30dc0c..25b0848c0 100644 --- a/material/.icons/material/alpha-q-box-outline.svg +++ b/material/.icons/material/alpha-q-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-q-box.svg b/material/.icons/material/alpha-q-box.svg index a3bfaa82f..8bee2e804 100644 --- a/material/.icons/material/alpha-q-box.svg +++ b/material/.icons/material/alpha-q-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-q-circle-outline.svg b/material/.icons/material/alpha-q-circle-outline.svg index 67fe62caa..5390ed2f0 100644 --- a/material/.icons/material/alpha-q-circle-outline.svg +++ b/material/.icons/material/alpha-q-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-q-circle.svg b/material/.icons/material/alpha-q-circle.svg index f5bf425b0..7c7a3506d 100644 --- a/material/.icons/material/alpha-q-circle.svg +++ b/material/.icons/material/alpha-q-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-q.svg b/material/.icons/material/alpha-q.svg index fa3e76efd..232b9b444 100644 --- a/material/.icons/material/alpha-q.svg +++ b/material/.icons/material/alpha-q.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-r-box-outline.svg b/material/.icons/material/alpha-r-box-outline.svg index 3913c45e3..d0883769d 100644 --- a/material/.icons/material/alpha-r-box-outline.svg +++ b/material/.icons/material/alpha-r-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-r-box.svg b/material/.icons/material/alpha-r-box.svg index 9c3907301..663ee32bf 100644 --- a/material/.icons/material/alpha-r-box.svg +++ b/material/.icons/material/alpha-r-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-r-circle-outline.svg b/material/.icons/material/alpha-r-circle-outline.svg index 12a079d80..2cacf50fb 100644 --- a/material/.icons/material/alpha-r-circle-outline.svg +++ b/material/.icons/material/alpha-r-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-r-circle.svg b/material/.icons/material/alpha-r-circle.svg index a626740f6..b675c6560 100644 --- a/material/.icons/material/alpha-r-circle.svg +++ b/material/.icons/material/alpha-r-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-r.svg b/material/.icons/material/alpha-r.svg index 551e4390c..1ac2fae33 100644 --- a/material/.icons/material/alpha-r.svg +++ b/material/.icons/material/alpha-r.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-s-box-outline.svg b/material/.icons/material/alpha-s-box-outline.svg index d4051ef70..b73ac2884 100644 --- a/material/.icons/material/alpha-s-box-outline.svg +++ b/material/.icons/material/alpha-s-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-s-box.svg b/material/.icons/material/alpha-s-box.svg index 9622fb3bb..6afd8513a 100644 --- a/material/.icons/material/alpha-s-box.svg +++ b/material/.icons/material/alpha-s-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-s-circle-outline.svg b/material/.icons/material/alpha-s-circle-outline.svg index e7310b5ed..d1ec21d1b 100644 --- a/material/.icons/material/alpha-s-circle-outline.svg +++ b/material/.icons/material/alpha-s-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-s-circle.svg b/material/.icons/material/alpha-s-circle.svg index 77558cf1f..b84c33f74 100644 --- a/material/.icons/material/alpha-s-circle.svg +++ b/material/.icons/material/alpha-s-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-s.svg b/material/.icons/material/alpha-s.svg index f11da32d3..93c096550 100644 --- a/material/.icons/material/alpha-s.svg +++ b/material/.icons/material/alpha-s.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-t-box-outline.svg b/material/.icons/material/alpha-t-box-outline.svg index ecf2102bd..dca6f8afb 100644 --- a/material/.icons/material/alpha-t-box-outline.svg +++ b/material/.icons/material/alpha-t-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-t-box.svg b/material/.icons/material/alpha-t-box.svg index 8c3cb4bf1..59db8bbd5 100644 --- a/material/.icons/material/alpha-t-box.svg +++ b/material/.icons/material/alpha-t-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-t-circle-outline.svg b/material/.icons/material/alpha-t-circle-outline.svg index 64e2f2f82..d3543c189 100644 --- a/material/.icons/material/alpha-t-circle-outline.svg +++ b/material/.icons/material/alpha-t-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-t-circle.svg b/material/.icons/material/alpha-t-circle.svg index f356e7bd1..ae739b169 100644 --- a/material/.icons/material/alpha-t-circle.svg +++ b/material/.icons/material/alpha-t-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-u-box-outline.svg b/material/.icons/material/alpha-u-box-outline.svg index 8374e32fa..58bbb92d8 100644 --- a/material/.icons/material/alpha-u-box-outline.svg +++ b/material/.icons/material/alpha-u-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-u-box.svg b/material/.icons/material/alpha-u-box.svg index f91c6fc01..423e438e7 100644 --- a/material/.icons/material/alpha-u-box.svg +++ b/material/.icons/material/alpha-u-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-u-circle-outline.svg b/material/.icons/material/alpha-u-circle-outline.svg index d840c19d6..656f4e827 100644 --- a/material/.icons/material/alpha-u-circle-outline.svg +++ b/material/.icons/material/alpha-u-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-u-circle.svg b/material/.icons/material/alpha-u-circle.svg index e0d395df4..560e5567d 100644 --- a/material/.icons/material/alpha-u-circle.svg +++ b/material/.icons/material/alpha-u-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-u.svg b/material/.icons/material/alpha-u.svg index aec7b135f..124a91016 100644 --- a/material/.icons/material/alpha-u.svg +++ b/material/.icons/material/alpha-u.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-v-box-outline.svg b/material/.icons/material/alpha-v-box-outline.svg index 79d243f94..58767b006 100644 --- a/material/.icons/material/alpha-v-box-outline.svg +++ b/material/.icons/material/alpha-v-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-v-box.svg b/material/.icons/material/alpha-v-box.svg index 978e0bce2..77ce1aa94 100644 --- a/material/.icons/material/alpha-v-box.svg +++ b/material/.icons/material/alpha-v-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-v-circle-outline.svg b/material/.icons/material/alpha-v-circle-outline.svg index e435df33e..7c7735058 100644 --- a/material/.icons/material/alpha-v-circle-outline.svg +++ b/material/.icons/material/alpha-v-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-v-circle.svg b/material/.icons/material/alpha-v-circle.svg index da5484c8e..a52c5e3ec 100644 --- a/material/.icons/material/alpha-v-circle.svg +++ b/material/.icons/material/alpha-v-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-w-box-outline.svg b/material/.icons/material/alpha-w-box-outline.svg index d3a16898e..421e57d00 100644 --- a/material/.icons/material/alpha-w-box-outline.svg +++ b/material/.icons/material/alpha-w-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-w-box.svg b/material/.icons/material/alpha-w-box.svg index 7565e0767..ff12f8510 100644 --- a/material/.icons/material/alpha-w-box.svg +++ b/material/.icons/material/alpha-w-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-w-circle-outline.svg b/material/.icons/material/alpha-w-circle-outline.svg index 8ece081df..e5faea245 100644 --- a/material/.icons/material/alpha-w-circle-outline.svg +++ b/material/.icons/material/alpha-w-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-w-circle.svg b/material/.icons/material/alpha-w-circle.svg index eab29ecec..d94187d5a 100644 --- a/material/.icons/material/alpha-w-circle.svg +++ b/material/.icons/material/alpha-w-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-w.svg b/material/.icons/material/alpha-w.svg index fcd4844bb..d631d390b 100644 --- a/material/.icons/material/alpha-w.svg +++ b/material/.icons/material/alpha-w.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-x-box-outline.svg b/material/.icons/material/alpha-x-box-outline.svg index 3aac7a5b7..e0bbb9f15 100644 --- a/material/.icons/material/alpha-x-box-outline.svg +++ b/material/.icons/material/alpha-x-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-x-box.svg b/material/.icons/material/alpha-x-box.svg index c809a34a1..0c28c9a46 100644 --- a/material/.icons/material/alpha-x-box.svg +++ b/material/.icons/material/alpha-x-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-x-circle-outline.svg b/material/.icons/material/alpha-x-circle-outline.svg index 8f1152aa0..02b58d382 100644 --- a/material/.icons/material/alpha-x-circle-outline.svg +++ b/material/.icons/material/alpha-x-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-x-circle.svg b/material/.icons/material/alpha-x-circle.svg index ca7d58f1e..aaa0318c7 100644 --- a/material/.icons/material/alpha-x-circle.svg +++ b/material/.icons/material/alpha-x-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-y-box-outline.svg b/material/.icons/material/alpha-y-box-outline.svg index a090d126c..7c4016651 100644 --- a/material/.icons/material/alpha-y-box-outline.svg +++ b/material/.icons/material/alpha-y-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-y-box.svg b/material/.icons/material/alpha-y-box.svg index 30e5130c9..aa4252137 100644 --- a/material/.icons/material/alpha-y-box.svg +++ b/material/.icons/material/alpha-y-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-y-circle-outline.svg b/material/.icons/material/alpha-y-circle-outline.svg index ec072156b..a81e25119 100644 --- a/material/.icons/material/alpha-y-circle-outline.svg +++ b/material/.icons/material/alpha-y-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-y-circle.svg b/material/.icons/material/alpha-y-circle.svg index ac1adea8e..c8998c1b6 100644 --- a/material/.icons/material/alpha-y-circle.svg +++ b/material/.icons/material/alpha-y-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-z-box-outline.svg b/material/.icons/material/alpha-z-box-outline.svg index 794988118..079924580 100644 --- a/material/.icons/material/alpha-z-box-outline.svg +++ b/material/.icons/material/alpha-z-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-z-box.svg b/material/.icons/material/alpha-z-box.svg index e6eda50d4..8f1b10290 100644 --- a/material/.icons/material/alpha-z-box.svg +++ b/material/.icons/material/alpha-z-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-z-circle-outline.svg b/material/.icons/material/alpha-z-circle-outline.svg index d0072f44d..9a69efed9 100644 --- a/material/.icons/material/alpha-z-circle-outline.svg +++ b/material/.icons/material/alpha-z-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alpha-z-circle.svg b/material/.icons/material/alpha-z-circle.svg index ddfb246ac..564594efa 100644 --- a/material/.icons/material/alpha-z-circle.svg +++ b/material/.icons/material/alpha-z-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alphabetical-off.svg b/material/.icons/material/alphabetical-off.svg index 477fbc212..3c7b5181f 100644 --- a/material/.icons/material/alphabetical-off.svg +++ b/material/.icons/material/alphabetical-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alphabetical-variant-off.svg b/material/.icons/material/alphabetical-variant-off.svg index ba0464b05..71b756f8d 100644 --- a/material/.icons/material/alphabetical-variant-off.svg +++ b/material/.icons/material/alphabetical-variant-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alphabetical-variant.svg b/material/.icons/material/alphabetical-variant.svg index ca1ffe668..f2b227d5b 100644 --- a/material/.icons/material/alphabetical-variant.svg +++ b/material/.icons/material/alphabetical-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/alphabetical.svg b/material/.icons/material/alphabetical.svg index ff47a0951..bb306e389 100644 --- a/material/.icons/material/alphabetical.svg +++ b/material/.icons/material/alphabetical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/amazon-alexa.svg b/material/.icons/material/amazon-alexa.svg index 7d0dda019..0ca88b7a3 100644 --- a/material/.icons/material/amazon-alexa.svg +++ b/material/.icons/material/amazon-alexa.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ambulance.svg b/material/.icons/material/ambulance.svg index b1e91ce31..ba8ccc0ee 100644 --- a/material/.icons/material/ambulance.svg +++ b/material/.icons/material/ambulance.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/amplifier.svg b/material/.icons/material/amplifier.svg index ee4df907d..c98bc806e 100644 --- a/material/.icons/material/amplifier.svg +++ b/material/.icons/material/amplifier.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/anchor.svg b/material/.icons/material/anchor.svg index 8eaf7df10..aa184c502 100644 --- a/material/.icons/material/anchor.svg +++ b/material/.icons/material/anchor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/android-debug-bridge.svg b/material/.icons/material/android-debug-bridge.svg index de679fe62..6b966b8ca 100644 --- a/material/.icons/material/android-debug-bridge.svg +++ b/material/.icons/material/android-debug-bridge.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/android-messages.svg b/material/.icons/material/android-messages.svg index 24752adac..7484cd472 100644 --- a/material/.icons/material/android-messages.svg +++ b/material/.icons/material/android-messages.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/android-studio.svg b/material/.icons/material/android-studio.svg index d7cf5cc7e..7b4c5aa7c 100644 --- a/material/.icons/material/android-studio.svg +++ b/material/.icons/material/android-studio.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/android.svg b/material/.icons/material/android.svg index cda890949..d4af9a606 100644 --- a/material/.icons/material/android.svg +++ b/material/.icons/material/android.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/angle-obtuse.svg b/material/.icons/material/angle-obtuse.svg index 069679b8a..f6256a535 100644 --- a/material/.icons/material/angle-obtuse.svg +++ b/material/.icons/material/angle-obtuse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/animation-outline.svg b/material/.icons/material/animation-outline.svg index 13c2b0132..cae2a0694 100644 --- a/material/.icons/material/animation-outline.svg +++ b/material/.icons/material/animation-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/animation-play-outline.svg b/material/.icons/material/animation-play-outline.svg index 3a29a93b4..135919c37 100644 --- a/material/.icons/material/animation-play-outline.svg +++ b/material/.icons/material/animation-play-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/apache-kafka.svg b/material/.icons/material/apache-kafka.svg index 928cfb53c..92880cea9 100644 --- a/material/.icons/material/apache-kafka.svg +++ b/material/.icons/material/apache-kafka.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/api-off.svg b/material/.icons/material/api-off.svg index cd2c72ceb..d879bcf7f 100644 --- a/material/.icons/material/api-off.svg +++ b/material/.icons/material/api-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/api.svg b/material/.icons/material/api.svg index 4502b8288..d2662e87b 100644 --- a/material/.icons/material/api.svg +++ b/material/.icons/material/api.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/apple-airplay.svg b/material/.icons/material/apple-airplay.svg index 393771f7a..bf169067d 100644 --- a/material/.icons/material/apple-airplay.svg +++ b/material/.icons/material/apple-airplay.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/apple-finder.svg b/material/.icons/material/apple-finder.svg index 370d8d293..2e89762b1 100644 --- a/material/.icons/material/apple-finder.svg +++ b/material/.icons/material/apple-finder.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/apple-icloud.svg b/material/.icons/material/apple-icloud.svg index 1bd184633..dabd8fcb4 100644 --- a/material/.icons/material/apple-icloud.svg +++ b/material/.icons/material/apple-icloud.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/apple-ios.svg b/material/.icons/material/apple-ios.svg index 20f1bcbc7..eec18e1e0 100644 --- a/material/.icons/material/apple-ios.svg +++ b/material/.icons/material/apple-ios.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/apple-keyboard-command.svg b/material/.icons/material/apple-keyboard-command.svg index 1bdaef95f..fa8e61c87 100644 --- a/material/.icons/material/apple-keyboard-command.svg +++ b/material/.icons/material/apple-keyboard-command.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/apple-safari.svg b/material/.icons/material/apple-safari.svg index 7ea5c93b5..f09606400 100644 --- a/material/.icons/material/apple-safari.svg +++ b/material/.icons/material/apple-safari.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/application-cog.svg b/material/.icons/material/application-cog.svg index 8a9d80bb5..79e53caaf 100644 --- a/material/.icons/material/application-cog.svg +++ b/material/.icons/material/application-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/application-export.svg b/material/.icons/material/application-export.svg index 801a39329..5e65c4b90 100644 --- a/material/.icons/material/application-export.svg +++ b/material/.icons/material/application-export.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/application-import.svg b/material/.icons/material/application-import.svg index 8c90d3182..e5c1f7cd9 100644 --- a/material/.icons/material/application-import.svg +++ b/material/.icons/material/application-import.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/application-settings.svg b/material/.icons/material/application-settings.svg index 24215ae42..3d835c84c 100644 --- a/material/.icons/material/application-settings.svg +++ b/material/.icons/material/application-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/application.svg b/material/.icons/material/application.svg index b98217b9a..226d7d310 100644 --- a/material/.icons/material/application.svg +++ b/material/.icons/material/application.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/apps-box.svg b/material/.icons/material/apps-box.svg index 1dc3ebb60..55a4ba5bd 100644 --- a/material/.icons/material/apps-box.svg +++ b/material/.icons/material/apps-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/archive.svg b/material/.icons/material/archive.svg index 0c2f4b118..45d39cb78 100644 --- a/material/.icons/material/archive.svg +++ b/material/.icons/material/archive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-decision-auto-outline.svg b/material/.icons/material/arrow-decision-auto-outline.svg index 6a1ecb40d..aa665b17e 100644 --- a/material/.icons/material/arrow-decision-auto-outline.svg +++ b/material/.icons/material/arrow-decision-auto-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-decision-auto.svg b/material/.icons/material/arrow-decision-auto.svg index 2c2c6b19a..c217f4f2c 100644 --- a/material/.icons/material/arrow-decision-auto.svg +++ b/material/.icons/material/arrow-decision-auto.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-decision-outline.svg b/material/.icons/material/arrow-decision-outline.svg index e934cc3a2..1bb437ee5 100644 --- a/material/.icons/material/arrow-decision-outline.svg +++ b/material/.icons/material/arrow-decision-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-decision.svg b/material/.icons/material/arrow-decision.svg index a6f7a242b..0e44803f4 100644 --- a/material/.icons/material/arrow-decision.svg +++ b/material/.icons/material/arrow-decision.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-bold-box-outline.svg b/material/.icons/material/arrow-down-bold-box-outline.svg index 993731cc9..1992ab9b7 100644 --- a/material/.icons/material/arrow-down-bold-box-outline.svg +++ b/material/.icons/material/arrow-down-bold-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-bold-box.svg b/material/.icons/material/arrow-down-bold-box.svg index 9e7df2ba0..cf02af75e 100644 --- a/material/.icons/material/arrow-down-bold-box.svg +++ b/material/.icons/material/arrow-down-bold-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-bold-circle-outline.svg b/material/.icons/material/arrow-down-bold-circle-outline.svg index d88e25019..a46751f83 100644 --- a/material/.icons/material/arrow-down-bold-circle-outline.svg +++ b/material/.icons/material/arrow-down-bold-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-bold-circle.svg b/material/.icons/material/arrow-down-bold-circle.svg index 56ea715ea..88445961c 100644 --- a/material/.icons/material/arrow-down-bold-circle.svg +++ b/material/.icons/material/arrow-down-bold-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-bold-hexagon-outline.svg b/material/.icons/material/arrow-down-bold-hexagon-outline.svg index 55a53f217..2fe8aedba 100644 --- a/material/.icons/material/arrow-down-bold-hexagon-outline.svg +++ b/material/.icons/material/arrow-down-bold-hexagon-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-box.svg b/material/.icons/material/arrow-down-box.svg index 54ad4a442..dd0e6be0d 100644 --- a/material/.icons/material/arrow-down-box.svg +++ b/material/.icons/material/arrow-down-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-circle-outline.svg b/material/.icons/material/arrow-down-circle-outline.svg index 24571eefb..6e6eea81e 100644 --- a/material/.icons/material/arrow-down-circle-outline.svg +++ b/material/.icons/material/arrow-down-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-circle.svg b/material/.icons/material/arrow-down-circle.svg index 53bf9297c..e20451b2f 100644 --- a/material/.icons/material/arrow-down-circle.svg +++ b/material/.icons/material/arrow-down-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-drop-circle-outline.svg b/material/.icons/material/arrow-down-drop-circle-outline.svg index 4de0fba77..50b2abb96 100644 --- a/material/.icons/material/arrow-down-drop-circle-outline.svg +++ b/material/.icons/material/arrow-down-drop-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-down-drop-circle.svg b/material/.icons/material/arrow-down-drop-circle.svg index b7bf510db..afe06edd6 100644 --- a/material/.icons/material/arrow-down-drop-circle.svg +++ b/material/.icons/material/arrow-down-drop-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-bold-box-outline.svg b/material/.icons/material/arrow-left-bold-box-outline.svg index c4aa8b3b0..0bfe8d379 100644 --- a/material/.icons/material/arrow-left-bold-box-outline.svg +++ b/material/.icons/material/arrow-left-bold-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-bold-box.svg b/material/.icons/material/arrow-left-bold-box.svg index 45265fc06..7a7f834bd 100644 --- a/material/.icons/material/arrow-left-bold-box.svg +++ b/material/.icons/material/arrow-left-bold-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-bold-circle-outline.svg b/material/.icons/material/arrow-left-bold-circle-outline.svg index e4c4beb98..988f47703 100644 --- a/material/.icons/material/arrow-left-bold-circle-outline.svg +++ b/material/.icons/material/arrow-left-bold-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-bold-circle.svg b/material/.icons/material/arrow-left-bold-circle.svg index f210f4818..1386e05ec 100644 --- a/material/.icons/material/arrow-left-bold-circle.svg +++ b/material/.icons/material/arrow-left-bold-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-bold-hexagon-outline.svg b/material/.icons/material/arrow-left-bold-hexagon-outline.svg index e85903612..76bfc29c1 100644 --- a/material/.icons/material/arrow-left-bold-hexagon-outline.svg +++ b/material/.icons/material/arrow-left-bold-hexagon-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-box.svg b/material/.icons/material/arrow-left-box.svg index 0754624ab..284b92242 100644 --- a/material/.icons/material/arrow-left-box.svg +++ b/material/.icons/material/arrow-left-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-circle-outline.svg b/material/.icons/material/arrow-left-circle-outline.svg index 1abc78e6e..10e642ed1 100644 --- a/material/.icons/material/arrow-left-circle-outline.svg +++ b/material/.icons/material/arrow-left-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-circle.svg b/material/.icons/material/arrow-left-circle.svg index be2cf65d8..0afd39601 100644 --- a/material/.icons/material/arrow-left-circle.svg +++ b/material/.icons/material/arrow-left-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-drop-circle-outline.svg b/material/.icons/material/arrow-left-drop-circle-outline.svg index 1592233c4..bd1809c2e 100644 --- a/material/.icons/material/arrow-left-drop-circle-outline.svg +++ b/material/.icons/material/arrow-left-drop-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-left-drop-circle.svg b/material/.icons/material/arrow-left-drop-circle.svg index 5d5bb7eb1..9969ffb0a 100644 --- a/material/.icons/material/arrow-left-drop-circle.svg +++ b/material/.icons/material/arrow-left-drop-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-bold-box-outline.svg b/material/.icons/material/arrow-right-bold-box-outline.svg index b856e8fe4..0cc573b38 100644 --- a/material/.icons/material/arrow-right-bold-box-outline.svg +++ b/material/.icons/material/arrow-right-bold-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-bold-box.svg b/material/.icons/material/arrow-right-bold-box.svg index 42869bef3..cde0aca56 100644 --- a/material/.icons/material/arrow-right-bold-box.svg +++ b/material/.icons/material/arrow-right-bold-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-bold-circle-outline.svg b/material/.icons/material/arrow-right-bold-circle-outline.svg index bd02570d0..c7a858612 100644 --- a/material/.icons/material/arrow-right-bold-circle-outline.svg +++ b/material/.icons/material/arrow-right-bold-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-bold-circle.svg b/material/.icons/material/arrow-right-bold-circle.svg index 6732c65e8..f2d82616e 100644 --- a/material/.icons/material/arrow-right-bold-circle.svg +++ b/material/.icons/material/arrow-right-bold-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-bold-hexagon-outline.svg b/material/.icons/material/arrow-right-bold-hexagon-outline.svg index fdaa4a0b6..df27f3335 100644 --- a/material/.icons/material/arrow-right-bold-hexagon-outline.svg +++ b/material/.icons/material/arrow-right-bold-hexagon-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-box.svg b/material/.icons/material/arrow-right-box.svg index fb82145cf..b4ce535d6 100644 --- a/material/.icons/material/arrow-right-box.svg +++ b/material/.icons/material/arrow-right-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-circle-outline.svg b/material/.icons/material/arrow-right-circle-outline.svg index fb0a093cf..1a289c9bf 100644 --- a/material/.icons/material/arrow-right-circle-outline.svg +++ b/material/.icons/material/arrow-right-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-circle.svg b/material/.icons/material/arrow-right-circle.svg index b77ed1d9f..21fb5fb22 100644 --- a/material/.icons/material/arrow-right-circle.svg +++ b/material/.icons/material/arrow-right-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-drop-circle-outline.svg b/material/.icons/material/arrow-right-drop-circle-outline.svg index 5b12a3dad..c110e66aa 100644 --- a/material/.icons/material/arrow-right-drop-circle-outline.svg +++ b/material/.icons/material/arrow-right-drop-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-right-drop-circle.svg b/material/.icons/material/arrow-right-drop-circle.svg index 282d3dc77..28c4d52b4 100644 --- a/material/.icons/material/arrow-right-drop-circle.svg +++ b/material/.icons/material/arrow-right-drop-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-bold-box-outline.svg b/material/.icons/material/arrow-up-bold-box-outline.svg index 67a3ab4f0..84b4ae318 100644 --- a/material/.icons/material/arrow-up-bold-box-outline.svg +++ b/material/.icons/material/arrow-up-bold-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-bold-box.svg b/material/.icons/material/arrow-up-bold-box.svg index 595ab8f23..b634c2193 100644 --- a/material/.icons/material/arrow-up-bold-box.svg +++ b/material/.icons/material/arrow-up-bold-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-bold-circle-outline.svg b/material/.icons/material/arrow-up-bold-circle-outline.svg index 6b078e444..325e31173 100644 --- a/material/.icons/material/arrow-up-bold-circle-outline.svg +++ b/material/.icons/material/arrow-up-bold-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-bold-circle.svg b/material/.icons/material/arrow-up-bold-circle.svg index f861693e0..58f11aba1 100644 --- a/material/.icons/material/arrow-up-bold-circle.svg +++ b/material/.icons/material/arrow-up-bold-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-bold-hexagon-outline.svg b/material/.icons/material/arrow-up-bold-hexagon-outline.svg index 22c04ae58..1e9230e59 100644 --- a/material/.icons/material/arrow-up-bold-hexagon-outline.svg +++ b/material/.icons/material/arrow-up-bold-hexagon-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-box.svg b/material/.icons/material/arrow-up-box.svg index 9a66b2113..273d55631 100644 --- a/material/.icons/material/arrow-up-box.svg +++ b/material/.icons/material/arrow-up-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-circle-outline.svg b/material/.icons/material/arrow-up-circle-outline.svg index 30008b3ac..6796c7d1f 100644 --- a/material/.icons/material/arrow-up-circle-outline.svg +++ b/material/.icons/material/arrow-up-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-circle.svg b/material/.icons/material/arrow-up-circle.svg index dfa0e2115..ecc34cb19 100644 --- a/material/.icons/material/arrow-up-circle.svg +++ b/material/.icons/material/arrow-up-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-drop-circle-outline.svg b/material/.icons/material/arrow-up-drop-circle-outline.svg index ffe732769..967d965e0 100644 --- a/material/.icons/material/arrow-up-drop-circle-outline.svg +++ b/material/.icons/material/arrow-up-drop-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/arrow-up-drop-circle.svg b/material/.icons/material/arrow-up-drop-circle.svg index 43ab7f4c7..c1787e96a 100644 --- a/material/.icons/material/arrow-up-drop-circle.svg +++ b/material/.icons/material/arrow-up-drop-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/artstation.svg b/material/.icons/material/artstation.svg index bd314a011..1f036c16f 100644 --- a/material/.icons/material/artstation.svg +++ b/material/.icons/material/artstation.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/aspect-ratio.svg b/material/.icons/material/aspect-ratio.svg index 2e3e17500..9751249b1 100644 --- a/material/.icons/material/aspect-ratio.svg +++ b/material/.icons/material/aspect-ratio.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/assistant.svg b/material/.icons/material/assistant.svg index 35ea26cee..88a0cd4cc 100644 --- a/material/.icons/material/assistant.svg +++ b/material/.icons/material/assistant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/atlassian.svg b/material/.icons/material/atlassian.svg index a4b317563..b59510dac 100644 --- a/material/.icons/material/atlassian.svg +++ b/material/.icons/material/atlassian.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/atm.svg b/material/.icons/material/atm.svg index 2170b1939..d813129aa 100644 --- a/material/.icons/material/atm.svg +++ b/material/.icons/material/atm.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/atom-variant.svg b/material/.icons/material/atom-variant.svg index 5b783f7c6..3e45506a4 100644 --- a/material/.icons/material/atom-variant.svg +++ b/material/.icons/material/atom-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/atom.svg b/material/.icons/material/atom.svg index a65dd3dd3..30240cd59 100644 --- a/material/.icons/material/atom.svg +++ b/material/.icons/material/atom.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/attachment.svg b/material/.icons/material/attachment.svg index 0f4eb3176..fb7fe9344 100644 --- a/material/.icons/material/attachment.svg +++ b/material/.icons/material/attachment.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/audio-video.svg b/material/.icons/material/audio-video.svg index 327cd06b0..c4fd2fedb 100644 --- a/material/.icons/material/audio-video.svg +++ b/material/.icons/material/audio-video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/augmented-reality.svg b/material/.icons/material/augmented-reality.svg index 332ea2b03..3311d09f0 100644 --- a/material/.icons/material/augmented-reality.svg +++ b/material/.icons/material/augmented-reality.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/autorenew.svg b/material/.icons/material/autorenew.svg index be150e220..823d77d3a 100644 --- a/material/.icons/material/autorenew.svg +++ b/material/.icons/material/autorenew.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/av-timer.svg b/material/.icons/material/av-timer.svg index d6fa5fae7..ddf60c031 100644 --- a/material/.icons/material/av-timer.svg +++ b/material/.icons/material/av-timer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/aws.svg b/material/.icons/material/aws.svg index 71d48cb07..47e374770 100644 --- a/material/.icons/material/aws.svg +++ b/material/.icons/material/aws.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/babel.svg b/material/.icons/material/babel.svg index 5188009ee..64eea1396 100644 --- a/material/.icons/material/babel.svg +++ b/material/.icons/material/babel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baby-bottle-outline.svg b/material/.icons/material/baby-bottle-outline.svg index 18f481c77..68167b15c 100644 --- a/material/.icons/material/baby-bottle-outline.svg +++ b/material/.icons/material/baby-bottle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baby-bottle.svg b/material/.icons/material/baby-bottle.svg index 594ee0a9d..2be6ff997 100644 --- a/material/.icons/material/baby-bottle.svg +++ b/material/.icons/material/baby-bottle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baby-buggy.svg b/material/.icons/material/baby-buggy.svg index e815cb86c..5f600341a 100644 --- a/material/.icons/material/baby-buggy.svg +++ b/material/.icons/material/baby-buggy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baby-carriage.svg b/material/.icons/material/baby-carriage.svg index b09f4d6d3..55c4bc406 100644 --- a/material/.icons/material/baby-carriage.svg +++ b/material/.icons/material/baby-carriage.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baby-face-outline.svg b/material/.icons/material/baby-face-outline.svg index 978776941..3fc0b8ed8 100644 --- a/material/.icons/material/baby-face-outline.svg +++ b/material/.icons/material/baby-face-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baby-face.svg b/material/.icons/material/baby-face.svg index 48223cba2..f8fbcd1e7 100644 --- a/material/.icons/material/baby-face.svg +++ b/material/.icons/material/baby-face.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baby.svg b/material/.icons/material/baby.svg index c54d3d098..029b4c138 100644 --- a/material/.icons/material/baby.svg +++ b/material/.icons/material/baby.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/backspace-outline.svg b/material/.icons/material/backspace-outline.svg index 5164f0582..3feae4670 100644 --- a/material/.icons/material/backspace-outline.svg +++ b/material/.icons/material/backspace-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/backspace-reverse-outline.svg b/material/.icons/material/backspace-reverse-outline.svg index f14cd3e45..c5b710380 100644 --- a/material/.icons/material/backspace-reverse-outline.svg +++ b/material/.icons/material/backspace-reverse-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/backspace-reverse.svg b/material/.icons/material/backspace-reverse.svg index 86e22efbf..b692b1b0d 100644 --- a/material/.icons/material/backspace-reverse.svg +++ b/material/.icons/material/backspace-reverse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/backspace.svg b/material/.icons/material/backspace.svg index b5722e6b0..07daab901 100644 --- a/material/.icons/material/backspace.svg +++ b/material/.icons/material/backspace.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/backup-restore.svg b/material/.icons/material/backup-restore.svg index 8b5d8c2e3..89f6b1732 100644 --- a/material/.icons/material/backup-restore.svg +++ b/material/.icons/material/backup-restore.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bacteria-outline.svg b/material/.icons/material/bacteria-outline.svg index 67cacdba5..3c969efbc 100644 --- a/material/.icons/material/bacteria-outline.svg +++ b/material/.icons/material/bacteria-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bacteria.svg b/material/.icons/material/bacteria.svg index 7b7bdf449..c6e078a7a 100644 --- a/material/.icons/material/bacteria.svg +++ b/material/.icons/material/bacteria.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/badge-account-alert-outline.svg b/material/.icons/material/badge-account-alert-outline.svg index 229d52c0d..2ae3b393d 100644 --- a/material/.icons/material/badge-account-alert-outline.svg +++ b/material/.icons/material/badge-account-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/badge-account-alert.svg b/material/.icons/material/badge-account-alert.svg index 5c20015b1..7475579eb 100644 --- a/material/.icons/material/badge-account-alert.svg +++ b/material/.icons/material/badge-account-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/badge-account-horizontal-outline.svg b/material/.icons/material/badge-account-horizontal-outline.svg index 0442f31e2..94e77471b 100644 --- a/material/.icons/material/badge-account-horizontal-outline.svg +++ b/material/.icons/material/badge-account-horizontal-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/badge-account-horizontal.svg b/material/.icons/material/badge-account-horizontal.svg index b5a0cb346..fc541d806 100644 --- a/material/.icons/material/badge-account-horizontal.svg +++ b/material/.icons/material/badge-account-horizontal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/badge-account-outline.svg b/material/.icons/material/badge-account-outline.svg index 057c629aa..80849204e 100644 --- a/material/.icons/material/badge-account-outline.svg +++ b/material/.icons/material/badge-account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/badge-account.svg b/material/.icons/material/badge-account.svg index 820167722..8392893b1 100644 --- a/material/.icons/material/badge-account.svg +++ b/material/.icons/material/badge-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/badminton.svg b/material/.icons/material/badminton.svg index acf5edace..2ff3c1f98 100644 --- a/material/.icons/material/badminton.svg +++ b/material/.icons/material/badminton.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bag-carry-on-check.svg b/material/.icons/material/bag-carry-on-check.svg index 90b6a207b..fc6b72320 100644 --- a/material/.icons/material/bag-carry-on-check.svg +++ b/material/.icons/material/bag-carry-on-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bag-personal-off-outline.svg b/material/.icons/material/bag-personal-off-outline.svg index 10d9abd64..162599233 100644 --- a/material/.icons/material/bag-personal-off-outline.svg +++ b/material/.icons/material/bag-personal-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bag-personal-off.svg b/material/.icons/material/bag-personal-off.svg index 2100909ae..083bd8a73 100644 --- a/material/.icons/material/bag-personal-off.svg +++ b/material/.icons/material/bag-personal-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bag-personal-outline.svg b/material/.icons/material/bag-personal-outline.svg index 34d38c05a..2f7e5a82d 100644 --- a/material/.icons/material/bag-personal-outline.svg +++ b/material/.icons/material/bag-personal-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bag-personal.svg b/material/.icons/material/bag-personal.svg index f18faed03..7ded152d1 100644 --- a/material/.icons/material/bag-personal.svg +++ b/material/.icons/material/bag-personal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baguette.svg b/material/.icons/material/baguette.svg index 63aa1d14f..2b7002316 100644 --- a/material/.icons/material/baguette.svg +++ b/material/.icons/material/baguette.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/balloon.svg b/material/.icons/material/balloon.svg index a3c6434e1..6025d8297 100644 --- a/material/.icons/material/balloon.svg +++ b/material/.icons/material/balloon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ballot-outline.svg b/material/.icons/material/ballot-outline.svg index 37ceeefe8..9d3fba2dd 100644 --- a/material/.icons/material/ballot-outline.svg +++ b/material/.icons/material/ballot-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ballot-recount-outline.svg b/material/.icons/material/ballot-recount-outline.svg index f0a7a5744..660246199 100644 --- a/material/.icons/material/ballot-recount-outline.svg +++ b/material/.icons/material/ballot-recount-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ballot-recount.svg b/material/.icons/material/ballot-recount.svg index 930a88595..b24ad5475 100644 --- a/material/.icons/material/ballot-recount.svg +++ b/material/.icons/material/ballot-recount.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ballot.svg b/material/.icons/material/ballot.svg index 938ff3bdf..1da1422b0 100644 --- a/material/.icons/material/ballot.svg +++ b/material/.icons/material/ballot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bandage.svg b/material/.icons/material/bandage.svg index 5b1acd9e4..d9ef016f8 100644 --- a/material/.icons/material/bandage.svg +++ b/material/.icons/material/bandage.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/barcode-scan.svg b/material/.icons/material/barcode-scan.svg index 05989399c..74083d1b8 100644 --- a/material/.icons/material/barcode-scan.svg +++ b/material/.icons/material/barcode-scan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/barley-off.svg b/material/.icons/material/barley-off.svg index 31a553a48..2eb09be3c 100644 --- a/material/.icons/material/barley-off.svg +++ b/material/.icons/material/barley-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/barrel.svg b/material/.icons/material/barrel.svg index e419e5954..e8e8e0f0f 100644 --- a/material/.icons/material/barrel.svg +++ b/material/.icons/material/barrel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baseball-bat.svg b/material/.icons/material/baseball-bat.svg index 84ce882ae..e7755bf2d 100644 --- a/material/.icons/material/baseball-bat.svg +++ b/material/.icons/material/baseball-bat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/baseball.svg b/material/.icons/material/baseball.svg index c5d5c7186..560f94aaa 100644 --- a/material/.icons/material/baseball.svg +++ b/material/.icons/material/baseball.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-fill.svg b/material/.icons/material/basket-fill.svg index 6db01f2cb..7f818a14d 100644 --- a/material/.icons/material/basket-fill.svg +++ b/material/.icons/material/basket-fill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-minus-outline.svg b/material/.icons/material/basket-minus-outline.svg index f401fd494..6488dbc76 100644 --- a/material/.icons/material/basket-minus-outline.svg +++ b/material/.icons/material/basket-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-minus.svg b/material/.icons/material/basket-minus.svg index 13c4024dd..27d5aa5b5 100644 --- a/material/.icons/material/basket-minus.svg +++ b/material/.icons/material/basket-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-off-outline.svg b/material/.icons/material/basket-off-outline.svg index 71a475501..6d88817b8 100644 --- a/material/.icons/material/basket-off-outline.svg +++ b/material/.icons/material/basket-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-off.svg b/material/.icons/material/basket-off.svg index 33b288798..dd4cbde40 100644 --- a/material/.icons/material/basket-off.svg +++ b/material/.icons/material/basket-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-outline.svg b/material/.icons/material/basket-outline.svg index a09ac33d9..e09554769 100644 --- a/material/.icons/material/basket-outline.svg +++ b/material/.icons/material/basket-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-plus-outline.svg b/material/.icons/material/basket-plus-outline.svg index f2aaa9bbd..ce91a011b 100644 --- a/material/.icons/material/basket-plus-outline.svg +++ b/material/.icons/material/basket-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-plus.svg b/material/.icons/material/basket-plus.svg index 81526388e..c36e897cc 100644 --- a/material/.icons/material/basket-plus.svg +++ b/material/.icons/material/basket-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-remove-outline.svg b/material/.icons/material/basket-remove-outline.svg index 5464c4587..fa5057e45 100644 --- a/material/.icons/material/basket-remove-outline.svg +++ b/material/.icons/material/basket-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-remove.svg b/material/.icons/material/basket-remove.svg index 2de57bfb6..7d1eda25b 100644 --- a/material/.icons/material/basket-remove.svg +++ b/material/.icons/material/basket-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket-unfill.svg b/material/.icons/material/basket-unfill.svg index c89c6d98f..68d6daa1a 100644 --- a/material/.icons/material/basket-unfill.svg +++ b/material/.icons/material/basket-unfill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basket.svg b/material/.icons/material/basket.svg index 82543e8c7..e574b0156 100644 --- a/material/.icons/material/basket.svg +++ b/material/.icons/material/basket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basketball-hoop-outline.svg b/material/.icons/material/basketball-hoop-outline.svg index aebe7cc25..a1e509d24 100644 --- a/material/.icons/material/basketball-hoop-outline.svg +++ b/material/.icons/material/basketball-hoop-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basketball-hoop.svg b/material/.icons/material/basketball-hoop.svg index b8813d4f2..7c8e64fc1 100644 --- a/material/.icons/material/basketball-hoop.svg +++ b/material/.icons/material/basketball-hoop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/basketball.svg b/material/.icons/material/basketball.svg index d02547a39..69ef6ab80 100644 --- a/material/.icons/material/basketball.svg +++ b/material/.icons/material/basketball.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-10-bluetooth.svg b/material/.icons/material/battery-10-bluetooth.svg index a0c2452b4..4dcf83d8c 100644 --- a/material/.icons/material/battery-10-bluetooth.svg +++ b/material/.icons/material/battery-10-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-10.svg b/material/.icons/material/battery-10.svg index b69922a3e..bed4599cb 100644 --- a/material/.icons/material/battery-10.svg +++ b/material/.icons/material/battery-10.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-20-bluetooth.svg b/material/.icons/material/battery-20-bluetooth.svg index 0d3351532..ad5c4070a 100644 --- a/material/.icons/material/battery-20-bluetooth.svg +++ b/material/.icons/material/battery-20-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-20.svg b/material/.icons/material/battery-20.svg index 8d00e4014..c92d2726b 100644 --- a/material/.icons/material/battery-20.svg +++ b/material/.icons/material/battery-20.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-30-bluetooth.svg b/material/.icons/material/battery-30-bluetooth.svg index ef814fda9..4b9fe9014 100644 --- a/material/.icons/material/battery-30-bluetooth.svg +++ b/material/.icons/material/battery-30-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-30.svg b/material/.icons/material/battery-30.svg index 8cef06dce..a6e1e5094 100644 --- a/material/.icons/material/battery-30.svg +++ b/material/.icons/material/battery-30.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-40-bluetooth.svg b/material/.icons/material/battery-40-bluetooth.svg index f09fdf50e..0c4979371 100644 --- a/material/.icons/material/battery-40-bluetooth.svg +++ b/material/.icons/material/battery-40-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-40.svg b/material/.icons/material/battery-40.svg index 026a6bb45..b75cf136d 100644 --- a/material/.icons/material/battery-40.svg +++ b/material/.icons/material/battery-40.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-50-bluetooth.svg b/material/.icons/material/battery-50-bluetooth.svg index 59c7aa46c..2d90a1404 100644 --- a/material/.icons/material/battery-50-bluetooth.svg +++ b/material/.icons/material/battery-50-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-50.svg b/material/.icons/material/battery-50.svg index 0a7adf52d..51dfda14b 100644 --- a/material/.icons/material/battery-50.svg +++ b/material/.icons/material/battery-50.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-60-bluetooth.svg b/material/.icons/material/battery-60-bluetooth.svg index eed8eaa75..a233e1d89 100644 --- a/material/.icons/material/battery-60-bluetooth.svg +++ b/material/.icons/material/battery-60-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-60.svg b/material/.icons/material/battery-60.svg index 858daeff7..05f345bd2 100644 --- a/material/.icons/material/battery-60.svg +++ b/material/.icons/material/battery-60.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-70-bluetooth.svg b/material/.icons/material/battery-70-bluetooth.svg index d66b2679e..d26538fc9 100644 --- a/material/.icons/material/battery-70-bluetooth.svg +++ b/material/.icons/material/battery-70-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-70.svg b/material/.icons/material/battery-70.svg index 48d019d97..b211c37cc 100644 --- a/material/.icons/material/battery-70.svg +++ b/material/.icons/material/battery-70.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-80-bluetooth.svg b/material/.icons/material/battery-80-bluetooth.svg index 179770282..35f5dca53 100644 --- a/material/.icons/material/battery-80-bluetooth.svg +++ b/material/.icons/material/battery-80-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-80.svg b/material/.icons/material/battery-80.svg index b1e8ddc84..de3dd5960 100644 --- a/material/.icons/material/battery-80.svg +++ b/material/.icons/material/battery-80.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-90-bluetooth.svg b/material/.icons/material/battery-90-bluetooth.svg index 2d8f89988..e785377d9 100644 --- a/material/.icons/material/battery-90-bluetooth.svg +++ b/material/.icons/material/battery-90-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-90.svg b/material/.icons/material/battery-90.svg index 07d8ba45b..0f7098bd1 100644 --- a/material/.icons/material/battery-90.svg +++ b/material/.icons/material/battery-90.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-bluetooth-variant.svg b/material/.icons/material/battery-bluetooth-variant.svg index 17dab376f..8c9bb9529 100644 --- a/material/.icons/material/battery-bluetooth-variant.svg +++ b/material/.icons/material/battery-bluetooth-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-bluetooth.svg b/material/.icons/material/battery-bluetooth.svg index 06477d6ea..f9eb95237 100644 --- a/material/.icons/material/battery-bluetooth.svg +++ b/material/.icons/material/battery-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-10.svg b/material/.icons/material/battery-charging-10.svg index 3ffcbcfe9..a8828f1da 100644 --- a/material/.icons/material/battery-charging-10.svg +++ b/material/.icons/material/battery-charging-10.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-100.svg b/material/.icons/material/battery-charging-100.svg index c974b7acc..64afa2f84 100644 --- a/material/.icons/material/battery-charging-100.svg +++ b/material/.icons/material/battery-charging-100.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-20.svg b/material/.icons/material/battery-charging-20.svg index 95bf9b914..0879b7ee6 100644 --- a/material/.icons/material/battery-charging-20.svg +++ b/material/.icons/material/battery-charging-20.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-30.svg b/material/.icons/material/battery-charging-30.svg index e68517383..23a9fac2f 100644 --- a/material/.icons/material/battery-charging-30.svg +++ b/material/.icons/material/battery-charging-30.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-50.svg b/material/.icons/material/battery-charging-50.svg index 3ae1fefd3..c139c2780 100644 --- a/material/.icons/material/battery-charging-50.svg +++ b/material/.icons/material/battery-charging-50.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-60.svg b/material/.icons/material/battery-charging-60.svg index 850f50fbb..9cc2ffdd1 100644 --- a/material/.icons/material/battery-charging-60.svg +++ b/material/.icons/material/battery-charging-60.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-70.svg b/material/.icons/material/battery-charging-70.svg index 6fc2366be..1ec4a454f 100644 --- a/material/.icons/material/battery-charging-70.svg +++ b/material/.icons/material/battery-charging-70.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-80.svg b/material/.icons/material/battery-charging-80.svg index eaea3bacf..97625bd45 100644 --- a/material/.icons/material/battery-charging-80.svg +++ b/material/.icons/material/battery-charging-80.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-90.svg b/material/.icons/material/battery-charging-90.svg index 34644768f..677d745b0 100644 --- a/material/.icons/material/battery-charging-90.svg +++ b/material/.icons/material/battery-charging-90.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-outline.svg b/material/.icons/material/battery-charging-outline.svg index bde0f404c..378370277 100644 --- a/material/.icons/material/battery-charging-outline.svg +++ b/material/.icons/material/battery-charging-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-10.svg b/material/.icons/material/battery-charging-wireless-10.svg index 125b95f0f..d0ce45b19 100644 --- a/material/.icons/material/battery-charging-wireless-10.svg +++ b/material/.icons/material/battery-charging-wireless-10.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-20.svg b/material/.icons/material/battery-charging-wireless-20.svg index ff03f9971..81e8fdc64 100644 --- a/material/.icons/material/battery-charging-wireless-20.svg +++ b/material/.icons/material/battery-charging-wireless-20.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-30.svg b/material/.icons/material/battery-charging-wireless-30.svg index 47ca7a878..72d4c284d 100644 --- a/material/.icons/material/battery-charging-wireless-30.svg +++ b/material/.icons/material/battery-charging-wireless-30.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-40.svg b/material/.icons/material/battery-charging-wireless-40.svg index be660874e..e883e350a 100644 --- a/material/.icons/material/battery-charging-wireless-40.svg +++ b/material/.icons/material/battery-charging-wireless-40.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-50.svg b/material/.icons/material/battery-charging-wireless-50.svg index 44b0999d0..1f190eb91 100644 --- a/material/.icons/material/battery-charging-wireless-50.svg +++ b/material/.icons/material/battery-charging-wireless-50.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-60.svg b/material/.icons/material/battery-charging-wireless-60.svg index cd9ac6d30..3cf55dfa8 100644 --- a/material/.icons/material/battery-charging-wireless-60.svg +++ b/material/.icons/material/battery-charging-wireless-60.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-70.svg b/material/.icons/material/battery-charging-wireless-70.svg index 33964dec5..bc8794ac1 100644 --- a/material/.icons/material/battery-charging-wireless-70.svg +++ b/material/.icons/material/battery-charging-wireless-70.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-80.svg b/material/.icons/material/battery-charging-wireless-80.svg index de64767b5..03a5cfe38 100644 --- a/material/.icons/material/battery-charging-wireless-80.svg +++ b/material/.icons/material/battery-charging-wireless-80.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-90.svg b/material/.icons/material/battery-charging-wireless-90.svg index 95ea15efc..0cbc6c24e 100644 --- a/material/.icons/material/battery-charging-wireless-90.svg +++ b/material/.icons/material/battery-charging-wireless-90.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless-outline.svg b/material/.icons/material/battery-charging-wireless-outline.svg index 50c46123f..52e95697f 100644 --- a/material/.icons/material/battery-charging-wireless-outline.svg +++ b/material/.icons/material/battery-charging-wireless-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging-wireless.svg b/material/.icons/material/battery-charging-wireless.svg index 6e0b4c2ca..20c041360 100644 --- a/material/.icons/material/battery-charging-wireless.svg +++ b/material/.icons/material/battery-charging-wireless.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-charging.svg b/material/.icons/material/battery-charging.svg index 75a258007..3bcb3ee87 100644 --- a/material/.icons/material/battery-charging.svg +++ b/material/.icons/material/battery-charging.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-heart-variant.svg b/material/.icons/material/battery-heart-variant.svg index 4efc92fc6..70ce8faf0 100644 --- a/material/.icons/material/battery-heart-variant.svg +++ b/material/.icons/material/battery-heart-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-heart.svg b/material/.icons/material/battery-heart.svg index b83f3aa55..8a4700754 100644 --- a/material/.icons/material/battery-heart.svg +++ b/material/.icons/material/battery-heart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-minus.svg b/material/.icons/material/battery-minus.svg index 38b9ad0bb..bc199f45c 100644 --- a/material/.icons/material/battery-minus.svg +++ b/material/.icons/material/battery-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-negative.svg b/material/.icons/material/battery-negative.svg index d7648ca93..f1c89226a 100644 --- a/material/.icons/material/battery-negative.svg +++ b/material/.icons/material/battery-negative.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-off-outline.svg b/material/.icons/material/battery-off-outline.svg index 5dc8d6e34..c1a57789c 100644 --- a/material/.icons/material/battery-off-outline.svg +++ b/material/.icons/material/battery-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-off.svg b/material/.icons/material/battery-off.svg index bd09a2078..702683102 100644 --- a/material/.icons/material/battery-off.svg +++ b/material/.icons/material/battery-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-outline.svg b/material/.icons/material/battery-outline.svg index 0bbfdae21..96739bebb 100644 --- a/material/.icons/material/battery-outline.svg +++ b/material/.icons/material/battery-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-plus.svg b/material/.icons/material/battery-plus.svg index 6a8f6b203..4b2847831 100644 --- a/material/.icons/material/battery-plus.svg +++ b/material/.icons/material/battery-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-positive.svg b/material/.icons/material/battery-positive.svg index 5577a1fb8..31be20521 100644 --- a/material/.icons/material/battery-positive.svg +++ b/material/.icons/material/battery-positive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-unknown-bluetooth.svg b/material/.icons/material/battery-unknown-bluetooth.svg index 4297ed2be..1b4c35d5f 100644 --- a/material/.icons/material/battery-unknown-bluetooth.svg +++ b/material/.icons/material/battery-unknown-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery-unknown.svg b/material/.icons/material/battery-unknown.svg index 1deafb416..931c85932 100644 --- a/material/.icons/material/battery-unknown.svg +++ b/material/.icons/material/battery-unknown.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/battery.svg b/material/.icons/material/battery.svg index daec250b5..d1c3e081b 100644 --- a/material/.icons/material/battery.svg +++ b/material/.icons/material/battery.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beach.svg b/material/.icons/material/beach.svg index 4b02f9caa..52ea848c2 100644 --- a/material/.icons/material/beach.svg +++ b/material/.icons/material/beach.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-alert-outline.svg b/material/.icons/material/beaker-alert-outline.svg index f144958ad..55fb16189 100644 --- a/material/.icons/material/beaker-alert-outline.svg +++ b/material/.icons/material/beaker-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-check-outline.svg b/material/.icons/material/beaker-check-outline.svg index 6bfff2dce..c18461537 100644 --- a/material/.icons/material/beaker-check-outline.svg +++ b/material/.icons/material/beaker-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-check.svg b/material/.icons/material/beaker-check.svg index 3f733d02f..7076e092a 100644 --- a/material/.icons/material/beaker-check.svg +++ b/material/.icons/material/beaker-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-minus-outline.svg b/material/.icons/material/beaker-minus-outline.svg index 76e6f146c..4efadacaf 100644 --- a/material/.icons/material/beaker-minus-outline.svg +++ b/material/.icons/material/beaker-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-minus.svg b/material/.icons/material/beaker-minus.svg index 9154dc91e..030d0bf3e 100644 --- a/material/.icons/material/beaker-minus.svg +++ b/material/.icons/material/beaker-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-outline.svg b/material/.icons/material/beaker-outline.svg index ed40c4747..b5b4e19e8 100644 --- a/material/.icons/material/beaker-outline.svg +++ b/material/.icons/material/beaker-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-plus-outline.svg b/material/.icons/material/beaker-plus-outline.svg index ee87b1674..be820f617 100644 --- a/material/.icons/material/beaker-plus-outline.svg +++ b/material/.icons/material/beaker-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-plus.svg b/material/.icons/material/beaker-plus.svg index 0fe8a0a87..5e277aab7 100644 --- a/material/.icons/material/beaker-plus.svg +++ b/material/.icons/material/beaker-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-question-outline.svg b/material/.icons/material/beaker-question-outline.svg index 7414119cf..255766125 100644 --- a/material/.icons/material/beaker-question-outline.svg +++ b/material/.icons/material/beaker-question-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-remove-outline.svg b/material/.icons/material/beaker-remove-outline.svg index ea2c0a440..963e5cb0e 100644 --- a/material/.icons/material/beaker-remove-outline.svg +++ b/material/.icons/material/beaker-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker-remove.svg b/material/.icons/material/beaker-remove.svg index 53c714d8c..42a0d1255 100644 --- a/material/.icons/material/beaker-remove.svg +++ b/material/.icons/material/beaker-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beaker.svg b/material/.icons/material/beaker.svg index 9d9814d5b..1de699159 100644 --- a/material/.icons/material/beaker.svg +++ b/material/.icons/material/beaker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bed-double.svg b/material/.icons/material/bed-double.svg index 6a4f025f5..141661aba 100644 --- a/material/.icons/material/bed-double.svg +++ b/material/.icons/material/bed-double.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bed-empty.svg b/material/.icons/material/bed-empty.svg index 0f016529f..114f69abd 100644 --- a/material/.icons/material/bed-empty.svg +++ b/material/.icons/material/bed-empty.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bed-king-outline.svg b/material/.icons/material/bed-king-outline.svg index e1b9fc634..08fd3be0d 100644 --- a/material/.icons/material/bed-king-outline.svg +++ b/material/.icons/material/bed-king-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bed-queen-outline.svg b/material/.icons/material/bed-queen-outline.svg index c9d0bacbf..39fe54e0c 100644 --- a/material/.icons/material/bed-queen-outline.svg +++ b/material/.icons/material/bed-queen-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bed-queen.svg b/material/.icons/material/bed-queen.svg index 908e0d9d7..c218b3910 100644 --- a/material/.icons/material/bed-queen.svg +++ b/material/.icons/material/bed-queen.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bed-single-outline.svg b/material/.icons/material/bed-single-outline.svg index 9b826b32b..ab1cc3e10 100644 --- a/material/.icons/material/bed-single-outline.svg +++ b/material/.icons/material/bed-single-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bed-single.svg b/material/.icons/material/bed-single.svg index d463f2776..cffe89d0a 100644 --- a/material/.icons/material/bed-single.svg +++ b/material/.icons/material/bed-single.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bed.svg b/material/.icons/material/bed.svg index bc64a4a92..fddfa574d 100644 --- a/material/.icons/material/bed.svg +++ b/material/.icons/material/bed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/beekeeper.svg b/material/.icons/material/beekeeper.svg index b02d2c039..5eaab48c9 100644 --- a/material/.icons/material/beekeeper.svg +++ b/material/.icons/material/beekeeper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-alert-outline.svg b/material/.icons/material/bell-alert-outline.svg index 730ba0b08..c030b0bc3 100644 --- a/material/.icons/material/bell-alert-outline.svg +++ b/material/.icons/material/bell-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-alert.svg b/material/.icons/material/bell-alert.svg index ecc345b8d..f82db9723 100644 --- a/material/.icons/material/bell-alert.svg +++ b/material/.icons/material/bell-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-cancel-outline.svg b/material/.icons/material/bell-cancel-outline.svg index 50685f005..7a694799e 100644 --- a/material/.icons/material/bell-cancel-outline.svg +++ b/material/.icons/material/bell-cancel-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-cancel.svg b/material/.icons/material/bell-cancel.svg index 86235bae0..7cbd77f6a 100644 --- a/material/.icons/material/bell-cancel.svg +++ b/material/.icons/material/bell-cancel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-check-outline.svg b/material/.icons/material/bell-check-outline.svg index 257fe6f34..05f5ee089 100644 --- a/material/.icons/material/bell-check-outline.svg +++ b/material/.icons/material/bell-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-check.svg b/material/.icons/material/bell-check.svg index 0f50d1e52..50eab45a4 100644 --- a/material/.icons/material/bell-check.svg +++ b/material/.icons/material/bell-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-circle-outline.svg b/material/.icons/material/bell-circle-outline.svg index 00b7f9d30..3115e27b2 100644 --- a/material/.icons/material/bell-circle-outline.svg +++ b/material/.icons/material/bell-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-circle.svg b/material/.icons/material/bell-circle.svg index d99ae224c..71faa40d3 100644 --- a/material/.icons/material/bell-circle.svg +++ b/material/.icons/material/bell-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-minus-outline.svg b/material/.icons/material/bell-minus-outline.svg index 5ddaa4381..2010ccd50 100644 --- a/material/.icons/material/bell-minus-outline.svg +++ b/material/.icons/material/bell-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-minus.svg b/material/.icons/material/bell-minus.svg index ea94aecc9..7c3d41fd2 100644 --- a/material/.icons/material/bell-minus.svg +++ b/material/.icons/material/bell-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-off-outline.svg b/material/.icons/material/bell-off-outline.svg index f44cd647a..53912b35a 100644 --- a/material/.icons/material/bell-off-outline.svg +++ b/material/.icons/material/bell-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-off.svg b/material/.icons/material/bell-off.svg index d2d3c1683..fcede5348 100644 --- a/material/.icons/material/bell-off.svg +++ b/material/.icons/material/bell-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-outline.svg b/material/.icons/material/bell-outline.svg index 02e22a881..51361f4c6 100644 --- a/material/.icons/material/bell-outline.svg +++ b/material/.icons/material/bell-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-plus-outline.svg b/material/.icons/material/bell-plus-outline.svg index 0e2bbdacf..a48048658 100644 --- a/material/.icons/material/bell-plus-outline.svg +++ b/material/.icons/material/bell-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-plus.svg b/material/.icons/material/bell-plus.svg index 5d0e78132..b67f3f42d 100644 --- a/material/.icons/material/bell-plus.svg +++ b/material/.icons/material/bell-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-remove-outline.svg b/material/.icons/material/bell-remove-outline.svg index 82f8f3534..90d8ede26 100644 --- a/material/.icons/material/bell-remove-outline.svg +++ b/material/.icons/material/bell-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-remove.svg b/material/.icons/material/bell-remove.svg index 671d60671..a85b16e1b 100644 --- a/material/.icons/material/bell-remove.svg +++ b/material/.icons/material/bell-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-ring-outline.svg b/material/.icons/material/bell-ring-outline.svg index 1b4808be0..e8ebc2a74 100644 --- a/material/.icons/material/bell-ring-outline.svg +++ b/material/.icons/material/bell-ring-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-ring.svg b/material/.icons/material/bell-ring.svg index 29dcc4b56..99130cab1 100644 --- a/material/.icons/material/bell-ring.svg +++ b/material/.icons/material/bell-ring.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-sleep-outline.svg b/material/.icons/material/bell-sleep-outline.svg index 91b963e6b..4e810717a 100644 --- a/material/.icons/material/bell-sleep-outline.svg +++ b/material/.icons/material/bell-sleep-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell-sleep.svg b/material/.icons/material/bell-sleep.svg index 12239bce5..5e736220f 100644 --- a/material/.icons/material/bell-sleep.svg +++ b/material/.icons/material/bell-sleep.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bell.svg b/material/.icons/material/bell.svg index 232b52d51..71af32f09 100644 --- a/material/.icons/material/bell.svg +++ b/material/.icons/material/bell.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/betamax.svg b/material/.icons/material/betamax.svg index c4cb82aeb..90b3557a4 100644 --- a/material/.icons/material/betamax.svg +++ b/material/.icons/material/betamax.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/biathlon.svg b/material/.icons/material/biathlon.svg index c50df2b06..1f806a6a7 100644 --- a/material/.icons/material/biathlon.svg +++ b/material/.icons/material/biathlon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bicycle-basket.svg b/material/.icons/material/bicycle-basket.svg index 1ff995b6e..d33575c18 100644 --- a/material/.icons/material/bicycle-basket.svg +++ b/material/.icons/material/bicycle-basket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bicycle-electric.svg b/material/.icons/material/bicycle-electric.svg index c7eb73c2f..28bd2da90 100644 --- a/material/.icons/material/bicycle-electric.svg +++ b/material/.icons/material/bicycle-electric.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bicycle-penny-farthing.svg b/material/.icons/material/bicycle-penny-farthing.svg index b25588dc7..5a92ce7f8 100644 --- a/material/.icons/material/bicycle-penny-farthing.svg +++ b/material/.icons/material/bicycle-penny-farthing.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bicycle.svg b/material/.icons/material/bicycle.svg index 039233977..27d91d1a5 100644 --- a/material/.icons/material/bicycle.svg +++ b/material/.icons/material/bicycle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bike.svg b/material/.icons/material/bike.svg index 3d118b5be..06ed19372 100644 --- a/material/.icons/material/bike.svg +++ b/material/.icons/material/bike.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/billboard.svg b/material/.icons/material/billboard.svg index 0face38d0..18b44cbfd 100644 --- a/material/.icons/material/billboard.svg +++ b/material/.icons/material/billboard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/billiards-rack.svg b/material/.icons/material/billiards-rack.svg index 2d2f124ff..249b5f37d 100644 --- a/material/.icons/material/billiards-rack.svg +++ b/material/.icons/material/billiards-rack.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/billiards.svg b/material/.icons/material/billiards.svg index 0f559b402..072c4b386 100644 --- a/material/.icons/material/billiards.svg +++ b/material/.icons/material/billiards.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/binoculars.svg b/material/.icons/material/binoculars.svg index f16c51cb6..14976702c 100644 --- a/material/.icons/material/binoculars.svg +++ b/material/.icons/material/binoculars.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bio.svg b/material/.icons/material/bio.svg index 580331901..c6164127e 100644 --- a/material/.icons/material/bio.svg +++ b/material/.icons/material/bio.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/biohazard.svg b/material/.icons/material/biohazard.svg index 57b6dcf18..132c45d9e 100644 --- a/material/.icons/material/biohazard.svg +++ b/material/.icons/material/biohazard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bird.svg b/material/.icons/material/bird.svg index 77ef5d102..54c9de964 100644 --- a/material/.icons/material/bird.svg +++ b/material/.icons/material/bird.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bitbucket.svg b/material/.icons/material/bitbucket.svg index 6b9ac1404..4a9412e8f 100644 --- a/material/.icons/material/bitbucket.svg +++ b/material/.icons/material/bitbucket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bitcoin.svg b/material/.icons/material/bitcoin.svg index 3e0d035d7..2e94d0aa2 100644 --- a/material/.icons/material/bitcoin.svg +++ b/material/.icons/material/bitcoin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/black-mesa.svg b/material/.icons/material/black-mesa.svg index 4b06cd8e1..44cb85c0b 100644 --- a/material/.icons/material/black-mesa.svg +++ b/material/.icons/material/black-mesa.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/blender-software.svg b/material/.icons/material/blender-software.svg index 6df5f7ae1..8d71e5e18 100644 --- a/material/.icons/material/blender-software.svg +++ b/material/.icons/material/blender-software.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/blender.svg b/material/.icons/material/blender.svg index 5ebee136e..8f60bffb5 100644 --- a/material/.icons/material/blender.svg +++ b/material/.icons/material/blender.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/blinds-open.svg b/material/.icons/material/blinds-open.svg index 46c52603a..48145c65b 100644 --- a/material/.icons/material/blinds-open.svg +++ b/material/.icons/material/blinds-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/blinds.svg b/material/.icons/material/blinds.svg index 74a7ea340..aad70a5c8 100644 --- a/material/.icons/material/blinds.svg +++ b/material/.icons/material/blinds.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/block-helper.svg b/material/.icons/material/block-helper.svg index 91a083ba0..2b35d965d 100644 --- a/material/.icons/material/block-helper.svg +++ b/material/.icons/material/block-helper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/blood-bag.svg b/material/.icons/material/blood-bag.svg index 8d98f59c0..eb4a5b6ad 100644 --- a/material/.icons/material/blood-bag.svg +++ b/material/.icons/material/blood-bag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bluetooth-audio.svg b/material/.icons/material/bluetooth-audio.svg index 1ff78d75d..492cb5db1 100644 --- a/material/.icons/material/bluetooth-audio.svg +++ b/material/.icons/material/bluetooth-audio.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/blur-linear.svg b/material/.icons/material/blur-linear.svg index 92f411ce2..625e67b55 100644 --- a/material/.icons/material/blur-linear.svg +++ b/material/.icons/material/blur-linear.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/blur-off.svg b/material/.icons/material/blur-off.svg index 64d405df0..215b20364 100644 --- a/material/.icons/material/blur-off.svg +++ b/material/.icons/material/blur-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/blur-radial.svg b/material/.icons/material/blur-radial.svg index be4729b71..3f4e59cbf 100644 --- a/material/.icons/material/blur-radial.svg +++ b/material/.icons/material/blur-radial.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/blur.svg b/material/.icons/material/blur.svg index 30be25827..bf8da09f7 100644 --- a/material/.icons/material/blur.svg +++ b/material/.icons/material/blur.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bomb-off.svg b/material/.icons/material/bomb-off.svg index 1182c7d1a..8caf4ff58 100644 --- a/material/.icons/material/bomb-off.svg +++ b/material/.icons/material/bomb-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bomb.svg b/material/.icons/material/bomb.svg index d8ede823c..1aa8040fc 100644 --- a/material/.icons/material/bomb.svg +++ b/material/.icons/material/bomb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bone.svg b/material/.icons/material/bone.svg index a69634103..e33477a60 100644 --- a/material/.icons/material/bone.svg +++ b/material/.icons/material/bone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-account-outline.svg b/material/.icons/material/book-account-outline.svg index 1b25c0749..e10cb7b53 100644 --- a/material/.icons/material/book-account-outline.svg +++ b/material/.icons/material/book-account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-account.svg b/material/.icons/material/book-account.svg index 2604e329f..d3d4befa4 100644 --- a/material/.icons/material/book-account.svg +++ b/material/.icons/material/book-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-alert-outline.svg b/material/.icons/material/book-alert-outline.svg index 665114410..d2d48d652 100644 --- a/material/.icons/material/book-alert-outline.svg +++ b/material/.icons/material/book-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-alert.svg b/material/.icons/material/book-alert.svg index a5bfcf8a2..6a23d060c 100644 --- a/material/.icons/material/book-alert.svg +++ b/material/.icons/material/book-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-alphabet.svg b/material/.icons/material/book-alphabet.svg index 77f52838c..69dce55fa 100644 --- a/material/.icons/material/book-alphabet.svg +++ b/material/.icons/material/book-alphabet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-arrow-down-outline.svg b/material/.icons/material/book-arrow-down-outline.svg index 2f17fbfa8..aa278c33e 100644 --- a/material/.icons/material/book-arrow-down-outline.svg +++ b/material/.icons/material/book-arrow-down-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-arrow-down.svg b/material/.icons/material/book-arrow-down.svg index 3ed72c09d..84c476d43 100644 --- a/material/.icons/material/book-arrow-down.svg +++ b/material/.icons/material/book-arrow-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-arrow-left-outline.svg b/material/.icons/material/book-arrow-left-outline.svg index 54067e925..2e984fd9a 100644 --- a/material/.icons/material/book-arrow-left-outline.svg +++ b/material/.icons/material/book-arrow-left-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-arrow-left.svg b/material/.icons/material/book-arrow-left.svg index 1a21bf418..b1059a50c 100644 --- a/material/.icons/material/book-arrow-left.svg +++ b/material/.icons/material/book-arrow-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-arrow-right-outline.svg b/material/.icons/material/book-arrow-right-outline.svg index fd93098e7..5b0855010 100644 --- a/material/.icons/material/book-arrow-right-outline.svg +++ b/material/.icons/material/book-arrow-right-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-arrow-right.svg b/material/.icons/material/book-arrow-right.svg index 74d512232..05bce10c3 100644 --- a/material/.icons/material/book-arrow-right.svg +++ b/material/.icons/material/book-arrow-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-arrow-up-outline.svg b/material/.icons/material/book-arrow-up-outline.svg index c4db1a09b..92391da81 100644 --- a/material/.icons/material/book-arrow-up-outline.svg +++ b/material/.icons/material/book-arrow-up-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-arrow-up.svg b/material/.icons/material/book-arrow-up.svg index 690491788..dce7a05f0 100644 --- a/material/.icons/material/book-arrow-up.svg +++ b/material/.icons/material/book-arrow-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-cancel-outline.svg b/material/.icons/material/book-cancel-outline.svg index 9f23ff984..42caaca89 100644 --- a/material/.icons/material/book-cancel-outline.svg +++ b/material/.icons/material/book-cancel-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-cancel.svg b/material/.icons/material/book-cancel.svg index 714420d61..c6a753460 100644 --- a/material/.icons/material/book-cancel.svg +++ b/material/.icons/material/book-cancel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-check.svg b/material/.icons/material/book-check.svg index cfc9ab58a..59bc008d4 100644 --- a/material/.icons/material/book-check.svg +++ b/material/.icons/material/book-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-clock-outline.svg b/material/.icons/material/book-clock-outline.svg index 310cafc4d..50740c350 100644 --- a/material/.icons/material/book-clock-outline.svg +++ b/material/.icons/material/book-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-clock.svg b/material/.icons/material/book-clock.svg index 664a25c1d..41dabcd2c 100644 --- a/material/.icons/material/book-clock.svg +++ b/material/.icons/material/book-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-cog-outline.svg b/material/.icons/material/book-cog-outline.svg index 1a00e27b5..53acf7441 100644 --- a/material/.icons/material/book-cog-outline.svg +++ b/material/.icons/material/book-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-cog.svg b/material/.icons/material/book-cog.svg index d85f8b0db..7f3cfac58 100644 --- a/material/.icons/material/book-cog.svg +++ b/material/.icons/material/book-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-cross.svg b/material/.icons/material/book-cross.svg index e2296a9a9..870876209 100644 --- a/material/.icons/material/book-cross.svg +++ b/material/.icons/material/book-cross.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-edit-outline.svg b/material/.icons/material/book-edit-outline.svg index 0b1c68706..8f8881277 100644 --- a/material/.icons/material/book-edit-outline.svg +++ b/material/.icons/material/book-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-edit.svg b/material/.icons/material/book-edit.svg index 6f9d338c3..b85539d53 100644 --- a/material/.icons/material/book-edit.svg +++ b/material/.icons/material/book-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-education-outline.svg b/material/.icons/material/book-education-outline.svg index 818b22e12..cd6a38063 100644 --- a/material/.icons/material/book-education-outline.svg +++ b/material/.icons/material/book-education-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-education.svg b/material/.icons/material/book-education.svg index c9368855d..e1aae0430 100644 --- a/material/.icons/material/book-education.svg +++ b/material/.icons/material/book-education.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-information-variant.svg b/material/.icons/material/book-information-variant.svg index 07c4a00c6..8c0b68b09 100644 --- a/material/.icons/material/book-information-variant.svg +++ b/material/.icons/material/book-information-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-lock-open-outline.svg b/material/.icons/material/book-lock-open-outline.svg index b29202fcb..481256f90 100644 --- a/material/.icons/material/book-lock-open-outline.svg +++ b/material/.icons/material/book-lock-open-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-lock-open.svg b/material/.icons/material/book-lock-open.svg index 968b1b049..16a406f02 100644 --- a/material/.icons/material/book-lock-open.svg +++ b/material/.icons/material/book-lock-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-lock-outline.svg b/material/.icons/material/book-lock-outline.svg index 0624d64c0..7c23f1be3 100644 --- a/material/.icons/material/book-lock-outline.svg +++ b/material/.icons/material/book-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-lock.svg b/material/.icons/material/book-lock.svg index a3198c323..ee3e53858 100644 --- a/material/.icons/material/book-lock.svg +++ b/material/.icons/material/book-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-marker-outline.svg b/material/.icons/material/book-marker-outline.svg index 17304737e..522508e80 100644 --- a/material/.icons/material/book-marker-outline.svg +++ b/material/.icons/material/book-marker-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-marker.svg b/material/.icons/material/book-marker.svg index 1674027ee..57c0d6e52 100644 --- a/material/.icons/material/book-marker.svg +++ b/material/.icons/material/book-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-minus-multiple-outline.svg b/material/.icons/material/book-minus-multiple-outline.svg index 0a0069cf6..ff0244459 100644 --- a/material/.icons/material/book-minus-multiple-outline.svg +++ b/material/.icons/material/book-minus-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-minus-multiple.svg b/material/.icons/material/book-minus-multiple.svg index 2b3a8013c..b268d95f7 100644 --- a/material/.icons/material/book-minus-multiple.svg +++ b/material/.icons/material/book-minus-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-minus-outline.svg b/material/.icons/material/book-minus-outline.svg index 12926c069..103ec7b66 100644 --- a/material/.icons/material/book-minus-outline.svg +++ b/material/.icons/material/book-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-minus.svg b/material/.icons/material/book-minus.svg index 72f9a8f99..2852a0ccd 100644 --- a/material/.icons/material/book-minus.svg +++ b/material/.icons/material/book-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-multiple-outline.svg b/material/.icons/material/book-multiple-outline.svg index 700c224fa..2d59b0445 100644 --- a/material/.icons/material/book-multiple-outline.svg +++ b/material/.icons/material/book-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-multiple.svg b/material/.icons/material/book-multiple.svg index 06a4d9e2f..5baaf3f5a 100644 --- a/material/.icons/material/book-multiple.svg +++ b/material/.icons/material/book-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-music-outline.svg b/material/.icons/material/book-music-outline.svg index ab51797bb..a18a4cb17 100644 --- a/material/.icons/material/book-music-outline.svg +++ b/material/.icons/material/book-music-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-music.svg b/material/.icons/material/book-music.svg index c32941712..a315d7fd4 100644 --- a/material/.icons/material/book-music.svg +++ b/material/.icons/material/book-music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-off-outline.svg b/material/.icons/material/book-off-outline.svg index 88c066c89..a278b70f1 100644 --- a/material/.icons/material/book-off-outline.svg +++ b/material/.icons/material/book-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-off.svg b/material/.icons/material/book-off.svg index 7b877f642..36ad8d913 100644 --- a/material/.icons/material/book-off.svg +++ b/material/.icons/material/book-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-open-outline.svg b/material/.icons/material/book-open-outline.svg index d16ef1c91..0f8533a96 100644 --- a/material/.icons/material/book-open-outline.svg +++ b/material/.icons/material/book-open-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-open-variant.svg b/material/.icons/material/book-open-variant.svg index d50735eeb..911f96f49 100644 --- a/material/.icons/material/book-open-variant.svg +++ b/material/.icons/material/book-open-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-open.svg b/material/.icons/material/book-open.svg index 039970601..225cc231a 100644 --- a/material/.icons/material/book-open.svg +++ b/material/.icons/material/book-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-outline.svg b/material/.icons/material/book-outline.svg index abacfb8f8..41cf6fde1 100644 --- a/material/.icons/material/book-outline.svg +++ b/material/.icons/material/book-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-play-outline.svg b/material/.icons/material/book-play-outline.svg index 12195aeb4..b7d65eca8 100644 --- a/material/.icons/material/book-play-outline.svg +++ b/material/.icons/material/book-play-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-play.svg b/material/.icons/material/book-play.svg index f9f95afa9..9ecb29942 100644 --- a/material/.icons/material/book-play.svg +++ b/material/.icons/material/book-play.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-plus-multiple-outline.svg b/material/.icons/material/book-plus-multiple-outline.svg index 1a5e9b25a..43bc7a06b 100644 --- a/material/.icons/material/book-plus-multiple-outline.svg +++ b/material/.icons/material/book-plus-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-plus-multiple.svg b/material/.icons/material/book-plus-multiple.svg index 695ecacd5..4a86ab8fe 100644 --- a/material/.icons/material/book-plus-multiple.svg +++ b/material/.icons/material/book-plus-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-plus-outline.svg b/material/.icons/material/book-plus-outline.svg index 4f8fb25bf..44b8df4c9 100644 --- a/material/.icons/material/book-plus-outline.svg +++ b/material/.icons/material/book-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-plus.svg b/material/.icons/material/book-plus.svg index 7a46c7ac2..fe850d738 100644 --- a/material/.icons/material/book-plus.svg +++ b/material/.icons/material/book-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-refresh-outline.svg b/material/.icons/material/book-refresh-outline.svg index 2cbced82d..74b36a6a4 100644 --- a/material/.icons/material/book-refresh-outline.svg +++ b/material/.icons/material/book-refresh-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-refresh.svg b/material/.icons/material/book-refresh.svg index ff107f4b9..f97e8ab59 100644 --- a/material/.icons/material/book-refresh.svg +++ b/material/.icons/material/book-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-remove-multiple-outline.svg b/material/.icons/material/book-remove-multiple-outline.svg index 2b3979a23..5d1793abd 100644 --- a/material/.icons/material/book-remove-multiple-outline.svg +++ b/material/.icons/material/book-remove-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-remove-multiple.svg b/material/.icons/material/book-remove-multiple.svg index 20a496989..49df70c56 100644 --- a/material/.icons/material/book-remove-multiple.svg +++ b/material/.icons/material/book-remove-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-remove-outline.svg b/material/.icons/material/book-remove-outline.svg index aab6576a7..2491885f1 100644 --- a/material/.icons/material/book-remove-outline.svg +++ b/material/.icons/material/book-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-remove.svg b/material/.icons/material/book-remove.svg index 2acf75801..7ea66a314 100644 --- a/material/.icons/material/book-remove.svg +++ b/material/.icons/material/book-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-search-outline.svg b/material/.icons/material/book-search-outline.svg index 3e57bac89..ad2e091b0 100644 --- a/material/.icons/material/book-search-outline.svg +++ b/material/.icons/material/book-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-search.svg b/material/.icons/material/book-search.svg index 7ca56ea0f..012e4e28b 100644 --- a/material/.icons/material/book-search.svg +++ b/material/.icons/material/book-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-settings.svg b/material/.icons/material/book-settings.svg index dd8fbadc0..f02b74397 100644 --- a/material/.icons/material/book-settings.svg +++ b/material/.icons/material/book-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-sync-outline.svg b/material/.icons/material/book-sync-outline.svg index 540557fae..57b5692cb 100644 --- a/material/.icons/material/book-sync-outline.svg +++ b/material/.icons/material/book-sync-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-sync.svg b/material/.icons/material/book-sync.svg index 3297f065c..02b147698 100644 --- a/material/.icons/material/book-sync.svg +++ b/material/.icons/material/book-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-variant-multiple.svg b/material/.icons/material/book-variant-multiple.svg index 5c15b5946..b6e212dcd 100644 --- a/material/.icons/material/book-variant-multiple.svg +++ b/material/.icons/material/book-variant-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book-variant.svg b/material/.icons/material/book-variant.svg index eed94a8d0..693f01f83 100644 --- a/material/.icons/material/book-variant.svg +++ b/material/.icons/material/book-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/book.svg b/material/.icons/material/book.svg index ef7c148be..af7713531 100644 --- a/material/.icons/material/book.svg +++ b/material/.icons/material/book.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-check.svg b/material/.icons/material/bookmark-check.svg index 4c501c5a7..c1b305fed 100644 --- a/material/.icons/material/bookmark-check.svg +++ b/material/.icons/material/bookmark-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-minus-outline.svg b/material/.icons/material/bookmark-minus-outline.svg index 1c9a28c56..b7178fc65 100644 --- a/material/.icons/material/bookmark-minus-outline.svg +++ b/material/.icons/material/bookmark-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-minus.svg b/material/.icons/material/bookmark-minus.svg index b280e84b7..06ae1bf32 100644 --- a/material/.icons/material/bookmark-minus.svg +++ b/material/.icons/material/bookmark-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-multiple-outline.svg b/material/.icons/material/bookmark-multiple-outline.svg index 9b228361e..6e40b4600 100644 --- a/material/.icons/material/bookmark-multiple-outline.svg +++ b/material/.icons/material/bookmark-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-multiple.svg b/material/.icons/material/bookmark-multiple.svg index 814794aaf..697b9d368 100644 --- a/material/.icons/material/bookmark-multiple.svg +++ b/material/.icons/material/bookmark-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-music-outline.svg b/material/.icons/material/bookmark-music-outline.svg index 7149718aa..5df83cbc2 100644 --- a/material/.icons/material/bookmark-music-outline.svg +++ b/material/.icons/material/bookmark-music-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-music.svg b/material/.icons/material/bookmark-music.svg index a59a564d2..dd625b322 100644 --- a/material/.icons/material/bookmark-music.svg +++ b/material/.icons/material/bookmark-music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-off-outline.svg b/material/.icons/material/bookmark-off-outline.svg index 26f13f686..e33021a6b 100644 --- a/material/.icons/material/bookmark-off-outline.svg +++ b/material/.icons/material/bookmark-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-off.svg b/material/.icons/material/bookmark-off.svg index 6b11b3558..0afd2672c 100644 --- a/material/.icons/material/bookmark-off.svg +++ b/material/.icons/material/bookmark-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-outline.svg b/material/.icons/material/bookmark-outline.svg index 214543491..ead849fb4 100644 --- a/material/.icons/material/bookmark-outline.svg +++ b/material/.icons/material/bookmark-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-plus-outline.svg b/material/.icons/material/bookmark-plus-outline.svg index 7ef987aab..3e46dec4e 100644 --- a/material/.icons/material/bookmark-plus-outline.svg +++ b/material/.icons/material/bookmark-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-plus.svg b/material/.icons/material/bookmark-plus.svg index ac704fd9f..d7bc4bd3f 100644 --- a/material/.icons/material/bookmark-plus.svg +++ b/material/.icons/material/bookmark-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-remove-outline.svg b/material/.icons/material/bookmark-remove-outline.svg index 55c847040..79c17cf82 100644 --- a/material/.icons/material/bookmark-remove-outline.svg +++ b/material/.icons/material/bookmark-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark-remove.svg b/material/.icons/material/bookmark-remove.svg index 244e49ea6..18375af54 100644 --- a/material/.icons/material/bookmark-remove.svg +++ b/material/.icons/material/bookmark-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bookmark.svg b/material/.icons/material/bookmark.svg index ac19d189e..f65fc08a7 100644 --- a/material/.icons/material/bookmark.svg +++ b/material/.icons/material/bookmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/boom-gate-down-outline.svg b/material/.icons/material/boom-gate-down-outline.svg index f0fcf6b93..ff01007c3 100644 --- a/material/.icons/material/boom-gate-down-outline.svg +++ b/material/.icons/material/boom-gate-down-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/boom-gate-down.svg b/material/.icons/material/boom-gate-down.svg index f1d68299e..16c06b638 100644 --- a/material/.icons/material/boom-gate-down.svg +++ b/material/.icons/material/boom-gate-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/boom-gate-outline.svg b/material/.icons/material/boom-gate-outline.svg index feac8d991..94de4eb9b 100644 --- a/material/.icons/material/boom-gate-outline.svg +++ b/material/.icons/material/boom-gate-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/boom-gate-up-outline.svg b/material/.icons/material/boom-gate-up-outline.svg index 15c765908..447e85430 100644 --- a/material/.icons/material/boom-gate-up-outline.svg +++ b/material/.icons/material/boom-gate-up-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/boom-gate-up.svg b/material/.icons/material/boom-gate-up.svg index 4f30a973b..d1eae41a3 100644 --- a/material/.icons/material/boom-gate-up.svg +++ b/material/.icons/material/boom-gate-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/boom-gate.svg b/material/.icons/material/boom-gate.svg index fcc816c29..d04fe19b9 100644 --- a/material/.icons/material/boom-gate.svg +++ b/material/.icons/material/boom-gate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/boombox.svg b/material/.icons/material/boombox.svg index ac654b1aa..15025858f 100644 --- a/material/.icons/material/boombox.svg +++ b/material/.icons/material/boombox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bottle-soda-classic-outline.svg b/material/.icons/material/bottle-soda-classic-outline.svg index f3008e360..e11e58282 100644 --- a/material/.icons/material/bottle-soda-classic-outline.svg +++ b/material/.icons/material/bottle-soda-classic-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bottle-soda-classic.svg b/material/.icons/material/bottle-soda-classic.svg index 97ff8938c..ad07832f9 100644 --- a/material/.icons/material/bottle-soda-classic.svg +++ b/material/.icons/material/bottle-soda-classic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bottle-soda-outline.svg b/material/.icons/material/bottle-soda-outline.svg index b1e11f8d8..053b598d5 100644 --- a/material/.icons/material/bottle-soda-outline.svg +++ b/material/.icons/material/bottle-soda-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bottle-soda.svg b/material/.icons/material/bottle-soda.svg index 36d6bb787..0e30c7c28 100644 --- a/material/.icons/material/bottle-soda.svg +++ b/material/.icons/material/bottle-soda.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bottle-tonic-skull-outline.svg b/material/.icons/material/bottle-tonic-skull-outline.svg index 0d15a0bc6..b019b3e90 100644 --- a/material/.icons/material/bottle-tonic-skull-outline.svg +++ b/material/.icons/material/bottle-tonic-skull-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bottle-tonic-skull.svg b/material/.icons/material/bottle-tonic-skull.svg index 4cedebd93..764d4cddd 100644 --- a/material/.icons/material/bottle-tonic-skull.svg +++ b/material/.icons/material/bottle-tonic-skull.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bottle-wine.svg b/material/.icons/material/bottle-wine.svg index 8120d34ea..2cd156e9b 100644 --- a/material/.icons/material/bottle-wine.svg +++ b/material/.icons/material/bottle-wine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bowling.svg b/material/.icons/material/bowling.svg index 696003429..dfc506c8e 100644 --- a/material/.icons/material/bowling.svg +++ b/material/.icons/material/bowling.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/box.svg b/material/.icons/material/box.svg index 1593c7865..50eae3ed9 100644 --- a/material/.icons/material/box.svg +++ b/material/.icons/material/box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/boxing-glove.svg b/material/.icons/material/boxing-glove.svg index de7137ed4..1aa93188c 100644 --- a/material/.icons/material/boxing-glove.svg +++ b/material/.icons/material/boxing-glove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/braille.svg b/material/.icons/material/braille.svg index 2b25249de..8f8f9bf48 100644 --- a/material/.icons/material/braille.svg +++ b/material/.icons/material/braille.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brain.svg b/material/.icons/material/brain.svg index 97cfe013b..22c5ffea9 100644 --- a/material/.icons/material/brain.svg +++ b/material/.icons/material/brain.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-account-outline.svg b/material/.icons/material/briefcase-account-outline.svg index 75934eb39..5b7eadaf3 100644 --- a/material/.icons/material/briefcase-account-outline.svg +++ b/material/.icons/material/briefcase-account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-account.svg b/material/.icons/material/briefcase-account.svg index c1b590cd6..9f6892818 100644 --- a/material/.icons/material/briefcase-account.svg +++ b/material/.icons/material/briefcase-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-check.svg b/material/.icons/material/briefcase-check.svg index bdde48447..2b94ff731 100644 --- a/material/.icons/material/briefcase-check.svg +++ b/material/.icons/material/briefcase-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-clock-outline.svg b/material/.icons/material/briefcase-clock-outline.svg index 1e45d4de8..efddc7649 100644 --- a/material/.icons/material/briefcase-clock-outline.svg +++ b/material/.icons/material/briefcase-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-clock.svg b/material/.icons/material/briefcase-clock.svg index abb7f669b..69b0bb748 100644 --- a/material/.icons/material/briefcase-clock.svg +++ b/material/.icons/material/briefcase-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-download-outline.svg b/material/.icons/material/briefcase-download-outline.svg index 818fcca49..3888afbf8 100644 --- a/material/.icons/material/briefcase-download-outline.svg +++ b/material/.icons/material/briefcase-download-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-download.svg b/material/.icons/material/briefcase-download.svg index da244f0b9..3be14b57f 100644 --- a/material/.icons/material/briefcase-download.svg +++ b/material/.icons/material/briefcase-download.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-edit-outline.svg b/material/.icons/material/briefcase-edit-outline.svg index 58e0138ff..d0292aa8d 100644 --- a/material/.icons/material/briefcase-edit-outline.svg +++ b/material/.icons/material/briefcase-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-edit.svg b/material/.icons/material/briefcase-edit.svg index 4d36f2cff..127293e1b 100644 --- a/material/.icons/material/briefcase-edit.svg +++ b/material/.icons/material/briefcase-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-minus-outline.svg b/material/.icons/material/briefcase-minus-outline.svg index fba82ad36..f924f3d14 100644 --- a/material/.icons/material/briefcase-minus-outline.svg +++ b/material/.icons/material/briefcase-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-minus.svg b/material/.icons/material/briefcase-minus.svg index cfe47a599..f8ecdf2a1 100644 --- a/material/.icons/material/briefcase-minus.svg +++ b/material/.icons/material/briefcase-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-off.svg b/material/.icons/material/briefcase-off.svg index 2b15bab25..f678c4fb2 100644 --- a/material/.icons/material/briefcase-off.svg +++ b/material/.icons/material/briefcase-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-plus-outline.svg b/material/.icons/material/briefcase-plus-outline.svg index eff0d4e9d..ff7223c0f 100644 --- a/material/.icons/material/briefcase-plus-outline.svg +++ b/material/.icons/material/briefcase-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-plus.svg b/material/.icons/material/briefcase-plus.svg index 49f1f94f0..73dafca64 100644 --- a/material/.icons/material/briefcase-plus.svg +++ b/material/.icons/material/briefcase-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-remove-outline.svg b/material/.icons/material/briefcase-remove-outline.svg index 345d2ab78..35cdfc1c4 100644 --- a/material/.icons/material/briefcase-remove-outline.svg +++ b/material/.icons/material/briefcase-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-remove.svg b/material/.icons/material/briefcase-remove.svg index 8d063fe09..2f9c347da 100644 --- a/material/.icons/material/briefcase-remove.svg +++ b/material/.icons/material/briefcase-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-search-outline.svg b/material/.icons/material/briefcase-search-outline.svg index 137729906..076cf6bda 100644 --- a/material/.icons/material/briefcase-search-outline.svg +++ b/material/.icons/material/briefcase-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-search.svg b/material/.icons/material/briefcase-search.svg index 58f7343ae..df3fc9f43 100644 --- a/material/.icons/material/briefcase-search.svg +++ b/material/.icons/material/briefcase-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-upload-outline.svg b/material/.icons/material/briefcase-upload-outline.svg index d4f171891..c468ccf5b 100644 --- a/material/.icons/material/briefcase-upload-outline.svg +++ b/material/.icons/material/briefcase-upload-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase-upload.svg b/material/.icons/material/briefcase-upload.svg index a8d78bdbf..e50c591d6 100644 --- a/material/.icons/material/briefcase-upload.svg +++ b/material/.icons/material/briefcase-upload.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/briefcase.svg b/material/.icons/material/briefcase.svg index 4d18b9d58..86364aeea 100644 --- a/material/.icons/material/briefcase.svg +++ b/material/.icons/material/briefcase.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brightness-1.svg b/material/.icons/material/brightness-1.svg index 7a824a8eb..f7823f4f7 100644 --- a/material/.icons/material/brightness-1.svg +++ b/material/.icons/material/brightness-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brightness-2.svg b/material/.icons/material/brightness-2.svg index fa448860a..ce5e024e8 100644 --- a/material/.icons/material/brightness-2.svg +++ b/material/.icons/material/brightness-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brightness-3.svg b/material/.icons/material/brightness-3.svg index 9f42ded9a..4dfeaa43d 100644 --- a/material/.icons/material/brightness-3.svg +++ b/material/.icons/material/brightness-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brightness-4.svg b/material/.icons/material/brightness-4.svg index 5fc3613bd..1dfa77402 100644 --- a/material/.icons/material/brightness-4.svg +++ b/material/.icons/material/brightness-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brightness-5.svg b/material/.icons/material/brightness-5.svg index 70b251ba5..fd57a6fab 100644 --- a/material/.icons/material/brightness-5.svg +++ b/material/.icons/material/brightness-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brightness-6.svg b/material/.icons/material/brightness-6.svg index 875d81881..abbdac606 100644 --- a/material/.icons/material/brightness-6.svg +++ b/material/.icons/material/brightness-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brightness-7.svg b/material/.icons/material/brightness-7.svg index 7c2e177fd..41d12b9d6 100644 --- a/material/.icons/material/brightness-7.svg +++ b/material/.icons/material/brightness-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brightness-percent.svg b/material/.icons/material/brightness-percent.svg index 7cc3c4851..0a9fce3f7 100644 --- a/material/.icons/material/brightness-percent.svg +++ b/material/.icons/material/brightness-percent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/brush.svg b/material/.icons/material/brush.svg index fc4bd78a5..0a04179e0 100644 --- a/material/.icons/material/brush.svg +++ b/material/.icons/material/brush.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/buddhism.svg b/material/.icons/material/buddhism.svg index 85bbc5799..3c474372d 100644 --- a/material/.icons/material/buddhism.svg +++ b/material/.icons/material/buddhism.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/buffer.svg b/material/.icons/material/buffer.svg index 0c8da7642..d52b04e65 100644 --- a/material/.icons/material/buffer.svg +++ b/material/.icons/material/buffer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bug-check-outline.svg b/material/.icons/material/bug-check-outline.svg index 82fcc5d06..6c2d08229 100644 --- a/material/.icons/material/bug-check-outline.svg +++ b/material/.icons/material/bug-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bug-check.svg b/material/.icons/material/bug-check.svg index 23bb96879..947591a25 100644 --- a/material/.icons/material/bug-check.svg +++ b/material/.icons/material/bug-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bug-outline.svg b/material/.icons/material/bug-outline.svg index d4ac67cbb..c10c1aea0 100644 --- a/material/.icons/material/bug-outline.svg +++ b/material/.icons/material/bug-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bug.svg b/material/.icons/material/bug.svg index f2aea3596..8e0c7b7de 100644 --- a/material/.icons/material/bug.svg +++ b/material/.icons/material/bug.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bulldozer.svg b/material/.icons/material/bulldozer.svg index 0e23d711c..64b72cdfa 100644 --- a/material/.icons/material/bulldozer.svg +++ b/material/.icons/material/bulldozer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bulletin-board.svg b/material/.icons/material/bulletin-board.svg index 6625b3ece..e1d6b7c16 100644 --- a/material/.icons/material/bulletin-board.svg +++ b/material/.icons/material/bulletin-board.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bullhorn-outline.svg b/material/.icons/material/bullhorn-outline.svg index 042de5049..2981162c0 100644 --- a/material/.icons/material/bullhorn-outline.svg +++ b/material/.icons/material/bullhorn-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bullhorn.svg b/material/.icons/material/bullhorn.svg index f478d42e6..5bb23a442 100644 --- a/material/.icons/material/bullhorn.svg +++ b/material/.icons/material/bullhorn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bullseye-arrow.svg b/material/.icons/material/bullseye-arrow.svg index 047cfd445..ea7db553d 100644 --- a/material/.icons/material/bullseye-arrow.svg +++ b/material/.icons/material/bullseye-arrow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bullseye.svg b/material/.icons/material/bullseye.svg index a615d31ca..a2c1cfc42 100644 --- a/material/.icons/material/bullseye.svg +++ b/material/.icons/material/bullseye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bunk-bed.svg b/material/.icons/material/bunk-bed.svg index 2343acc09..435f58139 100644 --- a/material/.icons/material/bunk-bed.svg +++ b/material/.icons/material/bunk-bed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-alert.svg b/material/.icons/material/bus-alert.svg index 929596fe2..1ae8e8760 100644 --- a/material/.icons/material/bus-alert.svg +++ b/material/.icons/material/bus-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-articulated-end.svg b/material/.icons/material/bus-articulated-end.svg index d7349d9ef..085963c3b 100644 --- a/material/.icons/material/bus-articulated-end.svg +++ b/material/.icons/material/bus-articulated-end.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-articulated-front.svg b/material/.icons/material/bus-articulated-front.svg index cc307f78a..f83e75567 100644 --- a/material/.icons/material/bus-articulated-front.svg +++ b/material/.icons/material/bus-articulated-front.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-clock.svg b/material/.icons/material/bus-clock.svg index 2a933647f..bf7a5f9aa 100644 --- a/material/.icons/material/bus-clock.svg +++ b/material/.icons/material/bus-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-double-decker.svg b/material/.icons/material/bus-double-decker.svg index 36ecd7626..b3a9cc2ca 100644 --- a/material/.icons/material/bus-double-decker.svg +++ b/material/.icons/material/bus-double-decker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-marker.svg b/material/.icons/material/bus-marker.svg index 5e2bd2632..3b5808927 100644 --- a/material/.icons/material/bus-marker.svg +++ b/material/.icons/material/bus-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-school.svg b/material/.icons/material/bus-school.svg index 478cc7b59..542234384 100644 --- a/material/.icons/material/bus-school.svg +++ b/material/.icons/material/bus-school.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-side.svg b/material/.icons/material/bus-side.svg index e25e02341..a339d2ebf 100644 --- a/material/.icons/material/bus-side.svg +++ b/material/.icons/material/bus-side.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-stop-covered.svg b/material/.icons/material/bus-stop-covered.svg index a6d9c020a..8564d83b7 100644 --- a/material/.icons/material/bus-stop-covered.svg +++ b/material/.icons/material/bus-stop-covered.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-stop-uncovered.svg b/material/.icons/material/bus-stop-uncovered.svg index cac5be91a..958265ee4 100644 --- a/material/.icons/material/bus-stop-uncovered.svg +++ b/material/.icons/material/bus-stop-uncovered.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus-stop.svg b/material/.icons/material/bus-stop.svg index 0cdccf63f..1ac77ccc0 100644 --- a/material/.icons/material/bus-stop.svg +++ b/material/.icons/material/bus-stop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/bus.svg b/material/.icons/material/bus.svg index 67ab70d34..250d88c39 100644 --- a/material/.icons/material/bus.svg +++ b/material/.icons/material/bus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/butterfly-outline.svg b/material/.icons/material/butterfly-outline.svg index a9d27ce76..d89e95864 100644 --- a/material/.icons/material/butterfly-outline.svg +++ b/material/.icons/material/butterfly-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/butterfly.svg b/material/.icons/material/butterfly.svg index d293465dd..5fbacb3be 100644 --- a/material/.icons/material/butterfly.svg +++ b/material/.icons/material/butterfly.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cable-data.svg b/material/.icons/material/cable-data.svg index 87d075570..709075eea 100644 --- a/material/.icons/material/cable-data.svg +++ b/material/.icons/material/cable-data.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cached.svg b/material/.icons/material/cached.svg index b749b01b1..7fceba543 100644 --- a/material/.icons/material/cached.svg +++ b/material/.icons/material/cached.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cactus.svg b/material/.icons/material/cactus.svg index 0ae564eef..88da74ae7 100644 --- a/material/.icons/material/cactus.svg +++ b/material/.icons/material/cactus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cake-layered.svg b/material/.icons/material/cake-layered.svg index 942d48994..8f8dd185f 100644 --- a/material/.icons/material/cake-layered.svg +++ b/material/.icons/material/cake-layered.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cake-variant.svg b/material/.icons/material/cake-variant.svg index 48c73b282..a12d21802 100644 --- a/material/.icons/material/cake-variant.svg +++ b/material/.icons/material/cake-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cake.svg b/material/.icons/material/cake.svg index 7ef075d65..6fa68b05b 100644 --- a/material/.icons/material/cake.svg +++ b/material/.icons/material/cake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calculator.svg b/material/.icons/material/calculator.svg index e2593cd2d..d47b7d644 100644 --- a/material/.icons/material/calculator.svg +++ b/material/.icons/material/calculator.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-account-outline.svg b/material/.icons/material/calendar-account-outline.svg index 892de0679..2db83c76e 100644 --- a/material/.icons/material/calendar-account-outline.svg +++ b/material/.icons/material/calendar-account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-account.svg b/material/.icons/material/calendar-account.svg index 5c954b744..1acdb1b9d 100644 --- a/material/.icons/material/calendar-account.svg +++ b/material/.icons/material/calendar-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-alert.svg b/material/.icons/material/calendar-alert.svg index 599d69832..70b295efd 100644 --- a/material/.icons/material/calendar-alert.svg +++ b/material/.icons/material/calendar-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-arrow-left.svg b/material/.icons/material/calendar-arrow-left.svg index 1290dd801..6a18f6ea3 100644 --- a/material/.icons/material/calendar-arrow-left.svg +++ b/material/.icons/material/calendar-arrow-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-arrow-right.svg b/material/.icons/material/calendar-arrow-right.svg index 57355fa2d..6ece99afa 100644 --- a/material/.icons/material/calendar-arrow-right.svg +++ b/material/.icons/material/calendar-arrow-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-blank-multiple.svg b/material/.icons/material/calendar-blank-multiple.svg index 9d3c3f8a7..0dd6a6240 100644 --- a/material/.icons/material/calendar-blank-multiple.svg +++ b/material/.icons/material/calendar-blank-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-blank-outline.svg b/material/.icons/material/calendar-blank-outline.svg index e19a138a2..28fb1fb26 100644 --- a/material/.icons/material/calendar-blank-outline.svg +++ b/material/.icons/material/calendar-blank-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-blank.svg b/material/.icons/material/calendar-blank.svg index 338f349d3..f24b6c1dd 100644 --- a/material/.icons/material/calendar-blank.svg +++ b/material/.icons/material/calendar-blank.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-check-outline.svg b/material/.icons/material/calendar-check-outline.svg index 8224c4a52..c1793ce4a 100644 --- a/material/.icons/material/calendar-check-outline.svg +++ b/material/.icons/material/calendar-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-check.svg b/material/.icons/material/calendar-check.svg index 47a966552..00002650c 100644 --- a/material/.icons/material/calendar-check.svg +++ b/material/.icons/material/calendar-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-clock-outline.svg b/material/.icons/material/calendar-clock-outline.svg index ce7d33c19..fef185b60 100644 --- a/material/.icons/material/calendar-clock-outline.svg +++ b/material/.icons/material/calendar-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-clock.svg b/material/.icons/material/calendar-clock.svg index 8efb1f058..76220db05 100644 --- a/material/.icons/material/calendar-clock.svg +++ b/material/.icons/material/calendar-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-cursor.svg b/material/.icons/material/calendar-cursor.svg index e9369d943..fda2e41e6 100644 --- a/material/.icons/material/calendar-cursor.svg +++ b/material/.icons/material/calendar-cursor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-edit.svg b/material/.icons/material/calendar-edit.svg index 3d630216e..6d8ea800b 100644 --- a/material/.icons/material/calendar-edit.svg +++ b/material/.icons/material/calendar-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-end.svg b/material/.icons/material/calendar-end.svg index 808039a6a..cf0d5691e 100644 --- a/material/.icons/material/calendar-end.svg +++ b/material/.icons/material/calendar-end.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-export.svg b/material/.icons/material/calendar-export.svg index 768e026e8..c75eab0bd 100644 --- a/material/.icons/material/calendar-export.svg +++ b/material/.icons/material/calendar-export.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-heart.svg b/material/.icons/material/calendar-heart.svg index ddfb00c37..628c4417a 100644 --- a/material/.icons/material/calendar-heart.svg +++ b/material/.icons/material/calendar-heart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-import.svg b/material/.icons/material/calendar-import.svg index b5998aa5a..459948fa1 100644 --- a/material/.icons/material/calendar-import.svg +++ b/material/.icons/material/calendar-import.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-lock-outline.svg b/material/.icons/material/calendar-lock-outline.svg index d218b19bd..7958f1ba3 100644 --- a/material/.icons/material/calendar-lock-outline.svg +++ b/material/.icons/material/calendar-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-lock.svg b/material/.icons/material/calendar-lock.svg index 7a2754b62..f09fdd07a 100644 --- a/material/.icons/material/calendar-lock.svg +++ b/material/.icons/material/calendar-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-minus.svg b/material/.icons/material/calendar-minus.svg index d2a757958..538c0dbff 100644 --- a/material/.icons/material/calendar-minus.svg +++ b/material/.icons/material/calendar-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-month-outline.svg b/material/.icons/material/calendar-month-outline.svg index 25cd8a446..90822adb0 100644 --- a/material/.icons/material/calendar-month-outline.svg +++ b/material/.icons/material/calendar-month-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-month.svg b/material/.icons/material/calendar-month.svg index 43f4213f9..e6a405681 100644 --- a/material/.icons/material/calendar-month.svg +++ b/material/.icons/material/calendar-month.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-multiple-check.svg b/material/.icons/material/calendar-multiple-check.svg index 7fdadd886..fbc482a84 100644 --- a/material/.icons/material/calendar-multiple-check.svg +++ b/material/.icons/material/calendar-multiple-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-multiple.svg b/material/.icons/material/calendar-multiple.svg index c0209455d..e8e255586 100644 --- a/material/.icons/material/calendar-multiple.svg +++ b/material/.icons/material/calendar-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-multiselect.svg b/material/.icons/material/calendar-multiselect.svg index 9b905a9a2..d0aa21987 100644 --- a/material/.icons/material/calendar-multiselect.svg +++ b/material/.icons/material/calendar-multiselect.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-outline.svg b/material/.icons/material/calendar-outline.svg index 67c0c6ecd..63dff5b67 100644 --- a/material/.icons/material/calendar-outline.svg +++ b/material/.icons/material/calendar-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-plus.svg b/material/.icons/material/calendar-plus.svg index c217d9fa1..f3942a9ba 100644 --- a/material/.icons/material/calendar-plus.svg +++ b/material/.icons/material/calendar-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-question.svg b/material/.icons/material/calendar-question.svg index 343e755a5..734dd32aa 100644 --- a/material/.icons/material/calendar-question.svg +++ b/material/.icons/material/calendar-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-range-outline.svg b/material/.icons/material/calendar-range-outline.svg index c418d99dd..66e95ff52 100644 --- a/material/.icons/material/calendar-range-outline.svg +++ b/material/.icons/material/calendar-range-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-range.svg b/material/.icons/material/calendar-range.svg index 02e73a0b1..3fa1aad4c 100644 --- a/material/.icons/material/calendar-range.svg +++ b/material/.icons/material/calendar-range.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-remove-outline.svg b/material/.icons/material/calendar-remove-outline.svg index 4a604c28b..64ae0491b 100644 --- a/material/.icons/material/calendar-remove-outline.svg +++ b/material/.icons/material/calendar-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-remove.svg b/material/.icons/material/calendar-remove.svg index fab2227fe..08b5c3fa9 100644 --- a/material/.icons/material/calendar-remove.svg +++ b/material/.icons/material/calendar-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-search.svg b/material/.icons/material/calendar-search.svg index 8f811284a..8daf995f6 100644 --- a/material/.icons/material/calendar-search.svg +++ b/material/.icons/material/calendar-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-star.svg b/material/.icons/material/calendar-star.svg index 869b16592..3bfc1d430 100644 --- a/material/.icons/material/calendar-star.svg +++ b/material/.icons/material/calendar-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-start.svg b/material/.icons/material/calendar-start.svg index 18bb124a4..2c36e4bb5 100644 --- a/material/.icons/material/calendar-start.svg +++ b/material/.icons/material/calendar-start.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-sync-outline.svg b/material/.icons/material/calendar-sync-outline.svg index a2dd55a49..4b5a09e33 100644 --- a/material/.icons/material/calendar-sync-outline.svg +++ b/material/.icons/material/calendar-sync-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-sync.svg b/material/.icons/material/calendar-sync.svg index fa241e8c6..960679087 100644 --- a/material/.icons/material/calendar-sync.svg +++ b/material/.icons/material/calendar-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-text-outline.svg b/material/.icons/material/calendar-text-outline.svg index 0f66f19c8..687991d5c 100644 --- a/material/.icons/material/calendar-text-outline.svg +++ b/material/.icons/material/calendar-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-text.svg b/material/.icons/material/calendar-text.svg index b498553d8..d402610c6 100644 --- a/material/.icons/material/calendar-text.svg +++ b/material/.icons/material/calendar-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-today.svg b/material/.icons/material/calendar-today.svg index 77dfde059..17a66dc7f 100644 --- a/material/.icons/material/calendar-today.svg +++ b/material/.icons/material/calendar-today.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-week-begin.svg b/material/.icons/material/calendar-week-begin.svg index 1c3f04570..3e4157d8c 100644 --- a/material/.icons/material/calendar-week-begin.svg +++ b/material/.icons/material/calendar-week-begin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-week.svg b/material/.icons/material/calendar-week.svg index 6a262aec7..293d896ee 100644 --- a/material/.icons/material/calendar-week.svg +++ b/material/.icons/material/calendar-week.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-weekend-outline.svg b/material/.icons/material/calendar-weekend-outline.svg index 9cd9513a0..eec46adbf 100644 --- a/material/.icons/material/calendar-weekend-outline.svg +++ b/material/.icons/material/calendar-weekend-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar-weekend.svg b/material/.icons/material/calendar-weekend.svg index 454546069..82af2e5ce 100644 --- a/material/.icons/material/calendar-weekend.svg +++ b/material/.icons/material/calendar-weekend.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/calendar.svg b/material/.icons/material/calendar.svg index c423ffc37..5acbbb008 100644 --- a/material/.icons/material/calendar.svg +++ b/material/.icons/material/calendar.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-account.svg b/material/.icons/material/camera-account.svg index 167c69468..ee8a4f23e 100644 --- a/material/.icons/material/camera-account.svg +++ b/material/.icons/material/camera-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-burst.svg b/material/.icons/material/camera-burst.svg index 32dbe1a0b..1495bdbd9 100644 --- a/material/.icons/material/camera-burst.svg +++ b/material/.icons/material/camera-burst.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-enhance-outline.svg b/material/.icons/material/camera-enhance-outline.svg index 1c39e95b5..e2289fc21 100644 --- a/material/.icons/material/camera-enhance-outline.svg +++ b/material/.icons/material/camera-enhance-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-enhance.svg b/material/.icons/material/camera-enhance.svg index 109346a1d..5f56a99d4 100644 --- a/material/.icons/material/camera-enhance.svg +++ b/material/.icons/material/camera-enhance.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-flip-outline.svg b/material/.icons/material/camera-flip-outline.svg index ba9c18f17..10c851d34 100644 --- a/material/.icons/material/camera-flip-outline.svg +++ b/material/.icons/material/camera-flip-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-flip.svg b/material/.icons/material/camera-flip.svg index b26ab6bc7..9b6f1bfa5 100644 --- a/material/.icons/material/camera-flip.svg +++ b/material/.icons/material/camera-flip.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-front-variant.svg b/material/.icons/material/camera-front-variant.svg index 2a9bfc03e..9322577ce 100644 --- a/material/.icons/material/camera-front-variant.svg +++ b/material/.icons/material/camera-front-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-front.svg b/material/.icons/material/camera-front.svg index b712842e2..ddbe38948 100644 --- a/material/.icons/material/camera-front.svg +++ b/material/.icons/material/camera-front.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-gopro.svg b/material/.icons/material/camera-gopro.svg index 2d4b0fc39..886d41b3c 100644 --- a/material/.icons/material/camera-gopro.svg +++ b/material/.icons/material/camera-gopro.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-image.svg b/material/.icons/material/camera-image.svg index b7f3042e4..b2dfcb339 100644 --- a/material/.icons/material/camera-image.svg +++ b/material/.icons/material/camera-image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-iris.svg b/material/.icons/material/camera-iris.svg index 843d897c1..974a612eb 100644 --- a/material/.icons/material/camera-iris.svg +++ b/material/.icons/material/camera-iris.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-metering-center.svg b/material/.icons/material/camera-metering-center.svg index 471ab1e8e..d80acf7b3 100644 --- a/material/.icons/material/camera-metering-center.svg +++ b/material/.icons/material/camera-metering-center.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-metering-matrix.svg b/material/.icons/material/camera-metering-matrix.svg index 148a07bcc..0acbcfa31 100644 --- a/material/.icons/material/camera-metering-matrix.svg +++ b/material/.icons/material/camera-metering-matrix.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-metering-partial.svg b/material/.icons/material/camera-metering-partial.svg index 67717c80c..1000a837d 100644 --- a/material/.icons/material/camera-metering-partial.svg +++ b/material/.icons/material/camera-metering-partial.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-metering-spot.svg b/material/.icons/material/camera-metering-spot.svg index 28f6f8c5f..839fdd9bc 100644 --- a/material/.icons/material/camera-metering-spot.svg +++ b/material/.icons/material/camera-metering-spot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-off.svg b/material/.icons/material/camera-off.svg index 18de4f8c4..3b7c3d5de 100644 --- a/material/.icons/material/camera-off.svg +++ b/material/.icons/material/camera-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-outline.svg b/material/.icons/material/camera-outline.svg index 655e5f148..1745cb2e2 100644 --- a/material/.icons/material/camera-outline.svg +++ b/material/.icons/material/camera-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-party-mode.svg b/material/.icons/material/camera-party-mode.svg index 9e159241c..089960fc4 100644 --- a/material/.icons/material/camera-party-mode.svg +++ b/material/.icons/material/camera-party-mode.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-plus-outline.svg b/material/.icons/material/camera-plus-outline.svg index 3b77bdf1b..6150524a9 100644 --- a/material/.icons/material/camera-plus-outline.svg +++ b/material/.icons/material/camera-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-plus.svg b/material/.icons/material/camera-plus.svg index 2ac1c6f2c..4d1316508 100644 --- a/material/.icons/material/camera-plus.svg +++ b/material/.icons/material/camera-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-rear-variant.svg b/material/.icons/material/camera-rear-variant.svg index 1d34386d2..52fb75653 100644 --- a/material/.icons/material/camera-rear-variant.svg +++ b/material/.icons/material/camera-rear-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-rear.svg b/material/.icons/material/camera-rear.svg index 4631aaa0a..6a2171a0a 100644 --- a/material/.icons/material/camera-rear.svg +++ b/material/.icons/material/camera-rear.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-retake-outline.svg b/material/.icons/material/camera-retake-outline.svg index eb28a722f..05a90182e 100644 --- a/material/.icons/material/camera-retake-outline.svg +++ b/material/.icons/material/camera-retake-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-retake.svg b/material/.icons/material/camera-retake.svg index fe8fd1816..57c2db3d5 100644 --- a/material/.icons/material/camera-retake.svg +++ b/material/.icons/material/camera-retake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-switch.svg b/material/.icons/material/camera-switch.svg index a0111f517..041a72fb6 100644 --- a/material/.icons/material/camera-switch.svg +++ b/material/.icons/material/camera-switch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-timer.svg b/material/.icons/material/camera-timer.svg index 96a49de4c..8be8b29e8 100644 --- a/material/.icons/material/camera-timer.svg +++ b/material/.icons/material/camera-timer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-wireless-outline.svg b/material/.icons/material/camera-wireless-outline.svg index 57d0817ef..a96120329 100644 --- a/material/.icons/material/camera-wireless-outline.svg +++ b/material/.icons/material/camera-wireless-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera-wireless.svg b/material/.icons/material/camera-wireless.svg index 25895588d..4911268e5 100644 --- a/material/.icons/material/camera-wireless.svg +++ b/material/.icons/material/camera-wireless.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/camera.svg b/material/.icons/material/camera.svg index 444222023..89a80a602 100644 --- a/material/.icons/material/camera.svg +++ b/material/.icons/material/camera.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/campfire.svg b/material/.icons/material/campfire.svg index 8e44a6f87..4fee0571c 100644 --- a/material/.icons/material/campfire.svg +++ b/material/.icons/material/campfire.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/candle.svg b/material/.icons/material/candle.svg index 301bff0c7..226bf3185 100644 --- a/material/.icons/material/candle.svg +++ b/material/.icons/material/candle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/candycane.svg b/material/.icons/material/candycane.svg index 71c289835..d244e961d 100644 --- a/material/.icons/material/candycane.svg +++ b/material/.icons/material/candycane.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/caps-lock.svg b/material/.icons/material/caps-lock.svg index 897346923..4c772659e 100644 --- a/material/.icons/material/caps-lock.svg +++ b/material/.icons/material/caps-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-back.svg b/material/.icons/material/car-back.svg index 4df2d27d1..a007d03ee 100644 --- a/material/.icons/material/car-back.svg +++ b/material/.icons/material/car-back.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-brake-abs.svg b/material/.icons/material/car-brake-abs.svg index 1f8e530f3..bf24ffb81 100644 --- a/material/.icons/material/car-brake-abs.svg +++ b/material/.icons/material/car-brake-abs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-brake-alert.svg b/material/.icons/material/car-brake-alert.svg index 7fb386a8b..b29ac7252 100644 --- a/material/.icons/material/car-brake-alert.svg +++ b/material/.icons/material/car-brake-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-brake-parking.svg b/material/.icons/material/car-brake-parking.svg index 27998bc14..59c396c49 100644 --- a/material/.icons/material/car-brake-parking.svg +++ b/material/.icons/material/car-brake-parking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-cog.svg b/material/.icons/material/car-cog.svg index 1b98824f8..0f805044c 100644 --- a/material/.icons/material/car-cog.svg +++ b/material/.icons/material/car-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-connected.svg b/material/.icons/material/car-connected.svg index aae939579..1c906a240 100644 --- a/material/.icons/material/car-connected.svg +++ b/material/.icons/material/car-connected.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-convertible.svg b/material/.icons/material/car-convertible.svg index f4ccb5547..b92da7471 100644 --- a/material/.icons/material/car-convertible.svg +++ b/material/.icons/material/car-convertible.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-cruise-control.svg b/material/.icons/material/car-cruise-control.svg index 6b90c0bee..3db0f4069 100644 --- a/material/.icons/material/car-cruise-control.svg +++ b/material/.icons/material/car-cruise-control.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-defrost-rear.svg b/material/.icons/material/car-defrost-rear.svg index 044e0df71..d77a068e4 100644 --- a/material/.icons/material/car-defrost-rear.svg +++ b/material/.icons/material/car-defrost-rear.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-door-lock.svg b/material/.icons/material/car-door-lock.svg index 48e5a031d..0611fb5a5 100644 --- a/material/.icons/material/car-door-lock.svg +++ b/material/.icons/material/car-door-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-door.svg b/material/.icons/material/car-door.svg index a9f039a32..6ccdee6d8 100644 --- a/material/.icons/material/car-door.svg +++ b/material/.icons/material/car-door.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-emergency.svg b/material/.icons/material/car-emergency.svg index 873ff15a3..65cd64e3a 100644 --- a/material/.icons/material/car-emergency.svg +++ b/material/.icons/material/car-emergency.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-esp.svg b/material/.icons/material/car-esp.svg index 2e8b7173e..1a8fe9f18 100644 --- a/material/.icons/material/car-esp.svg +++ b/material/.icons/material/car-esp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-estate.svg b/material/.icons/material/car-estate.svg index 6e005b7ed..fea405e51 100644 --- a/material/.icons/material/car-estate.svg +++ b/material/.icons/material/car-estate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-hatchback.svg b/material/.icons/material/car-hatchback.svg index ffaa2ee81..a72690d79 100644 --- a/material/.icons/material/car-hatchback.svg +++ b/material/.icons/material/car-hatchback.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-info.svg b/material/.icons/material/car-info.svg index fb3221062..1eba75d28 100644 --- a/material/.icons/material/car-info.svg +++ b/material/.icons/material/car-info.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-key.svg b/material/.icons/material/car-key.svg index b622dda7b..5da410181 100644 --- a/material/.icons/material/car-key.svg +++ b/material/.icons/material/car-key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-limousine.svg b/material/.icons/material/car-limousine.svg index 931c47031..6b9f3e730 100644 --- a/material/.icons/material/car-limousine.svg +++ b/material/.icons/material/car-limousine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-multiple.svg b/material/.icons/material/car-multiple.svg index 68c41fe85..de2966734 100644 --- a/material/.icons/material/car-multiple.svg +++ b/material/.icons/material/car-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-off.svg b/material/.icons/material/car-off.svg index 8083aff2d..471a4bc8c 100644 --- a/material/.icons/material/car-off.svg +++ b/material/.icons/material/car-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-pickup.svg b/material/.icons/material/car-pickup.svg index 9804467c2..5af20609d 100644 --- a/material/.icons/material/car-pickup.svg +++ b/material/.icons/material/car-pickup.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-settings.svg b/material/.icons/material/car-settings.svg index ccefd0408..c5e0aa68b 100644 --- a/material/.icons/material/car-settings.svg +++ b/material/.icons/material/car-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-side.svg b/material/.icons/material/car-side.svg index 45c8f6cdc..336301e7e 100644 --- a/material/.icons/material/car-side.svg +++ b/material/.icons/material/car-side.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-sports.svg b/material/.icons/material/car-sports.svg index 66e416874..2ffe78c9d 100644 --- a/material/.icons/material/car-sports.svg +++ b/material/.icons/material/car-sports.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-tire-alert.svg b/material/.icons/material/car-tire-alert.svg index 2310a71de..0e4958629 100644 --- a/material/.icons/material/car-tire-alert.svg +++ b/material/.icons/material/car-tire-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-turbocharger.svg b/material/.icons/material/car-turbocharger.svg index 3608bf8da..ff36769a0 100644 --- a/material/.icons/material/car-turbocharger.svg +++ b/material/.icons/material/car-turbocharger.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-wash.svg b/material/.icons/material/car-wash.svg index d64472dee..67844d403 100644 --- a/material/.icons/material/car-wash.svg +++ b/material/.icons/material/car-wash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-windshield-outline.svg b/material/.icons/material/car-windshield-outline.svg index 329e7b4be..6bcf6615c 100644 --- a/material/.icons/material/car-windshield-outline.svg +++ b/material/.icons/material/car-windshield-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car-windshield.svg b/material/.icons/material/car-windshield.svg index 918217f29..e33dd1483 100644 --- a/material/.icons/material/car-windshield.svg +++ b/material/.icons/material/car-windshield.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/car.svg b/material/.icons/material/car.svg index 1eb068c84..6eff68b78 100644 --- a/material/.icons/material/car.svg +++ b/material/.icons/material/car.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/carabiner.svg b/material/.icons/material/carabiner.svg index 2b0811369..64cfe7b26 100644 --- a/material/.icons/material/carabiner.svg +++ b/material/.icons/material/carabiner.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/caravan.svg b/material/.icons/material/caravan.svg index 5618e71c9..0986fc53e 100644 --- a/material/.icons/material/caravan.svg +++ b/material/.icons/material/caravan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-account-details-outline.svg b/material/.icons/material/card-account-details-outline.svg index 0cfc3b1f6..a0812cd6b 100644 --- a/material/.icons/material/card-account-details-outline.svg +++ b/material/.icons/material/card-account-details-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-account-details-star-outline.svg b/material/.icons/material/card-account-details-star-outline.svg index b04af34f3..a48162931 100644 --- a/material/.icons/material/card-account-details-star-outline.svg +++ b/material/.icons/material/card-account-details-star-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-account-details-star.svg b/material/.icons/material/card-account-details-star.svg index aee2febd7..66cec09f6 100644 --- a/material/.icons/material/card-account-details-star.svg +++ b/material/.icons/material/card-account-details-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-account-details.svg b/material/.icons/material/card-account-details.svg index 3e2cd20be..32fefba3f 100644 --- a/material/.icons/material/card-account-details.svg +++ b/material/.icons/material/card-account-details.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-account-mail-outline.svg b/material/.icons/material/card-account-mail-outline.svg index b3ec2be71..90ce6c039 100644 --- a/material/.icons/material/card-account-mail-outline.svg +++ b/material/.icons/material/card-account-mail-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-account-mail.svg b/material/.icons/material/card-account-mail.svg index ed2a7d747..0facb0004 100644 --- a/material/.icons/material/card-account-mail.svg +++ b/material/.icons/material/card-account-mail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-account-phone-outline.svg b/material/.icons/material/card-account-phone-outline.svg index 6b4adf2da..4dba365fc 100644 --- a/material/.icons/material/card-account-phone-outline.svg +++ b/material/.icons/material/card-account-phone-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-account-phone.svg b/material/.icons/material/card-account-phone.svg index f9860b638..3c19110a1 100644 --- a/material/.icons/material/card-account-phone.svg +++ b/material/.icons/material/card-account-phone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-bulleted-off-outline.svg b/material/.icons/material/card-bulleted-off-outline.svg index 3e2367627..502738678 100644 --- a/material/.icons/material/card-bulleted-off-outline.svg +++ b/material/.icons/material/card-bulleted-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-bulleted-off.svg b/material/.icons/material/card-bulleted-off.svg index 70db1fac8..1025f1fbe 100644 --- a/material/.icons/material/card-bulleted-off.svg +++ b/material/.icons/material/card-bulleted-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-bulleted-outline.svg b/material/.icons/material/card-bulleted-outline.svg index 310e71853..0d8bcceda 100644 --- a/material/.icons/material/card-bulleted-outline.svg +++ b/material/.icons/material/card-bulleted-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-bulleted-settings-outline.svg b/material/.icons/material/card-bulleted-settings-outline.svg index a3ab93096..8ae426eb9 100644 --- a/material/.icons/material/card-bulleted-settings-outline.svg +++ b/material/.icons/material/card-bulleted-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-bulleted-settings.svg b/material/.icons/material/card-bulleted-settings.svg index f2b9be34c..7fc56e334 100644 --- a/material/.icons/material/card-bulleted-settings.svg +++ b/material/.icons/material/card-bulleted-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-bulleted.svg b/material/.icons/material/card-bulleted.svg index 83574f3f1..97ad5e233 100644 --- a/material/.icons/material/card-bulleted.svg +++ b/material/.icons/material/card-bulleted.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-minus-outline.svg b/material/.icons/material/card-minus-outline.svg index 09539a044..7821ee7a9 100644 --- a/material/.icons/material/card-minus-outline.svg +++ b/material/.icons/material/card-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-minus.svg b/material/.icons/material/card-minus.svg index c7a4e755e..30b293135 100644 --- a/material/.icons/material/card-minus.svg +++ b/material/.icons/material/card-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-off-outline.svg b/material/.icons/material/card-off-outline.svg index 778f4affc..b62abf4f0 100644 --- a/material/.icons/material/card-off-outline.svg +++ b/material/.icons/material/card-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-off.svg b/material/.icons/material/card-off.svg index 52d32746c..f8252faba 100644 --- a/material/.icons/material/card-off.svg +++ b/material/.icons/material/card-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-outline.svg b/material/.icons/material/card-outline.svg index f598d2801..eed2f13e1 100644 --- a/material/.icons/material/card-outline.svg +++ b/material/.icons/material/card-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-plus-outline.svg b/material/.icons/material/card-plus-outline.svg index 2f7f5d321..44fef4553 100644 --- a/material/.icons/material/card-plus-outline.svg +++ b/material/.icons/material/card-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-plus.svg b/material/.icons/material/card-plus.svg index 52e644539..e0d9e07ef 100644 --- a/material/.icons/material/card-plus.svg +++ b/material/.icons/material/card-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-remove-outline.svg b/material/.icons/material/card-remove-outline.svg index dc925a5f4..15216f4a4 100644 --- a/material/.icons/material/card-remove-outline.svg +++ b/material/.icons/material/card-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-remove.svg b/material/.icons/material/card-remove.svg index 9e26237b2..4af816d95 100644 --- a/material/.icons/material/card-remove.svg +++ b/material/.icons/material/card-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-search-outline.svg b/material/.icons/material/card-search-outline.svg index 389807c55..6549ae343 100644 --- a/material/.icons/material/card-search-outline.svg +++ b/material/.icons/material/card-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-search.svg b/material/.icons/material/card-search.svg index d1882aba7..74bd44898 100644 --- a/material/.icons/material/card-search.svg +++ b/material/.icons/material/card-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-text-outline.svg b/material/.icons/material/card-text-outline.svg index fbe63cecd..274a6bd7f 100644 --- a/material/.icons/material/card-text-outline.svg +++ b/material/.icons/material/card-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card-text.svg b/material/.icons/material/card-text.svg index f5e3f2119..5b4bbcefb 100644 --- a/material/.icons/material/card-text.svg +++ b/material/.icons/material/card-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/card.svg b/material/.icons/material/card.svg index 7ef6332be..384c0f13c 100644 --- a/material/.icons/material/card.svg +++ b/material/.icons/material/card.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cards-club.svg b/material/.icons/material/cards-club.svg index a77ece010..fe4f3018a 100644 --- a/material/.icons/material/cards-club.svg +++ b/material/.icons/material/cards-club.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cards-outline.svg b/material/.icons/material/cards-outline.svg index e0ecfa798..03ef4b68a 100644 --- a/material/.icons/material/cards-outline.svg +++ b/material/.icons/material/cards-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cards-playing-outline.svg b/material/.icons/material/cards-playing-outline.svg index 41621783e..c8ed9dad4 100644 --- a/material/.icons/material/cards-playing-outline.svg +++ b/material/.icons/material/cards-playing-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cards-variant.svg b/material/.icons/material/cards-variant.svg index 193dcd67a..3dd665a1b 100644 --- a/material/.icons/material/cards-variant.svg +++ b/material/.icons/material/cards-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cards.svg b/material/.icons/material/cards.svg index 009e7db6f..0dc49b118 100644 --- a/material/.icons/material/cards.svg +++ b/material/.icons/material/cards.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/carrot.svg b/material/.icons/material/carrot.svg index 0d38cb53c..e930f427a 100644 --- a/material/.icons/material/carrot.svg +++ b/material/.icons/material/carrot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-arrow-down.svg b/material/.icons/material/cart-arrow-down.svg index fac27672e..bd41eaf88 100644 --- a/material/.icons/material/cart-arrow-down.svg +++ b/material/.icons/material/cart-arrow-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-arrow-right.svg b/material/.icons/material/cart-arrow-right.svg index 3967ea0d5..6a8c30d5b 100644 --- a/material/.icons/material/cart-arrow-right.svg +++ b/material/.icons/material/cart-arrow-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-arrow-up.svg b/material/.icons/material/cart-arrow-up.svg index 689af2862..bd1c6c36a 100644 --- a/material/.icons/material/cart-arrow-up.svg +++ b/material/.icons/material/cart-arrow-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-check.svg b/material/.icons/material/cart-check.svg index 6ae1323fa..ebd140941 100644 --- a/material/.icons/material/cart-check.svg +++ b/material/.icons/material/cart-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-minus.svg b/material/.icons/material/cart-minus.svg index 9135e077b..0e2b01de9 100644 --- a/material/.icons/material/cart-minus.svg +++ b/material/.icons/material/cart-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-off.svg b/material/.icons/material/cart-off.svg index 27ab8f92f..e1c0fcad4 100644 --- a/material/.icons/material/cart-off.svg +++ b/material/.icons/material/cart-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-outline.svg b/material/.icons/material/cart-outline.svg index f82ed2e22..f20c1528e 100644 --- a/material/.icons/material/cart-outline.svg +++ b/material/.icons/material/cart-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-plus.svg b/material/.icons/material/cart-plus.svg index 70be3a4d7..c7df8cb3a 100644 --- a/material/.icons/material/cart-plus.svg +++ b/material/.icons/material/cart-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-remove.svg b/material/.icons/material/cart-remove.svg index 637fc2c0b..21d26c70d 100644 --- a/material/.icons/material/cart-remove.svg +++ b/material/.icons/material/cart-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart-variant.svg b/material/.icons/material/cart-variant.svg index 81b51470b..ed4697729 100644 --- a/material/.icons/material/cart-variant.svg +++ b/material/.icons/material/cart-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cart.svg b/material/.icons/material/cart.svg index a8eb75e2d..dc2bfc9b1 100644 --- a/material/.icons/material/cart.svg +++ b/material/.icons/material/cart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/case-sensitive-alt.svg b/material/.icons/material/case-sensitive-alt.svg index 783c6e1f2..6517b5c13 100644 --- a/material/.icons/material/case-sensitive-alt.svg +++ b/material/.icons/material/case-sensitive-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-100.svg b/material/.icons/material/cash-100.svg index d6baf1773..9b5ce36e3 100644 --- a/material/.icons/material/cash-100.svg +++ b/material/.icons/material/cash-100.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-check.svg b/material/.icons/material/cash-check.svg index 927a4c83b..c618f6749 100644 --- a/material/.icons/material/cash-check.svg +++ b/material/.icons/material/cash-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-lock-open.svg b/material/.icons/material/cash-lock-open.svg index 12ea2110e..2f519be46 100644 --- a/material/.icons/material/cash-lock-open.svg +++ b/material/.icons/material/cash-lock-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-lock.svg b/material/.icons/material/cash-lock.svg index 678e12436..abcbec6ea 100644 --- a/material/.icons/material/cash-lock.svg +++ b/material/.icons/material/cash-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-marker.svg b/material/.icons/material/cash-marker.svg index 82031f48f..8686c92b4 100644 --- a/material/.icons/material/cash-marker.svg +++ b/material/.icons/material/cash-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-minus.svg b/material/.icons/material/cash-minus.svg index f9d149e89..320477c50 100644 --- a/material/.icons/material/cash-minus.svg +++ b/material/.icons/material/cash-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-multiple.svg b/material/.icons/material/cash-multiple.svg index 059c09c7e..b2a1ba8f8 100644 --- a/material/.icons/material/cash-multiple.svg +++ b/material/.icons/material/cash-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-plus.svg b/material/.icons/material/cash-plus.svg index 85beb49c3..539eb483a 100644 --- a/material/.icons/material/cash-plus.svg +++ b/material/.icons/material/cash-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-refund.svg b/material/.icons/material/cash-refund.svg index 88bc9b47e..b858d0545 100644 --- a/material/.icons/material/cash-refund.svg +++ b/material/.icons/material/cash-refund.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-remove.svg b/material/.icons/material/cash-remove.svg index 032264981..ad34e385d 100644 --- a/material/.icons/material/cash-remove.svg +++ b/material/.icons/material/cash-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-usd-outline.svg b/material/.icons/material/cash-usd-outline.svg index bc170dbe2..6dc4c88c0 100644 --- a/material/.icons/material/cash-usd-outline.svg +++ b/material/.icons/material/cash-usd-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash-usd.svg b/material/.icons/material/cash-usd.svg index 66bbb2e71..55f8dd77d 100644 --- a/material/.icons/material/cash-usd.svg +++ b/material/.icons/material/cash-usd.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cash.svg b/material/.icons/material/cash.svg index 30060f208..cf43a5b17 100644 --- a/material/.icons/material/cash.svg +++ b/material/.icons/material/cash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cassette.svg b/material/.icons/material/cassette.svg index a8c50164e..16b6b5548 100644 --- a/material/.icons/material/cassette.svg +++ b/material/.icons/material/cassette.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cast-connected.svg b/material/.icons/material/cast-connected.svg index 5485cc5ed..82c1e9edd 100644 --- a/material/.icons/material/cast-connected.svg +++ b/material/.icons/material/cast-connected.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cast-education.svg b/material/.icons/material/cast-education.svg index a720a92de..9ea668653 100644 --- a/material/.icons/material/cast-education.svg +++ b/material/.icons/material/cast-education.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cast-off.svg b/material/.icons/material/cast-off.svg index a622c6bd8..c582b51a3 100644 --- a/material/.icons/material/cast-off.svg +++ b/material/.icons/material/cast-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cast.svg b/material/.icons/material/cast.svg index d8a6d623a..d1a892c66 100644 --- a/material/.icons/material/cast.svg +++ b/material/.icons/material/cast.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/castle.svg b/material/.icons/material/castle.svg index 66594a8a6..977a81372 100644 --- a/material/.icons/material/castle.svg +++ b/material/.icons/material/castle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cat.svg b/material/.icons/material/cat.svg index e117cf313..bf0628071 100644 --- a/material/.icons/material/cat.svg +++ b/material/.icons/material/cat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cctv.svg b/material/.icons/material/cctv.svg index 3d11a0ee8..12142a337 100644 --- a/material/.icons/material/cctv.svg +++ b/material/.icons/material/cctv.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ceiling-light.svg b/material/.icons/material/ceiling-light.svg index 7ae8cdabb..12f32172b 100644 --- a/material/.icons/material/ceiling-light.svg +++ b/material/.icons/material/ceiling-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-android.svg b/material/.icons/material/cellphone-android.svg index 4f5b8b019..8bd4afb66 100644 --- a/material/.icons/material/cellphone-android.svg +++ b/material/.icons/material/cellphone-android.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-arrow-down.svg b/material/.icons/material/cellphone-arrow-down.svg index fc02a00cc..5854b1c49 100644 --- a/material/.icons/material/cellphone-arrow-down.svg +++ b/material/.icons/material/cellphone-arrow-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-basic.svg b/material/.icons/material/cellphone-basic.svg index 802c9e69e..17de10885 100644 --- a/material/.icons/material/cellphone-basic.svg +++ b/material/.icons/material/cellphone-basic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-charging.svg b/material/.icons/material/cellphone-charging.svg index 0b67d1142..4b404902d 100644 --- a/material/.icons/material/cellphone-charging.svg +++ b/material/.icons/material/cellphone-charging.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-cog.svg b/material/.icons/material/cellphone-cog.svg index 7e8a5c708..9009f59bd 100644 --- a/material/.icons/material/cellphone-cog.svg +++ b/material/.icons/material/cellphone-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-dock.svg b/material/.icons/material/cellphone-dock.svg index d336c85dc..58500572e 100644 --- a/material/.icons/material/cellphone-dock.svg +++ b/material/.icons/material/cellphone-dock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-erase.svg b/material/.icons/material/cellphone-erase.svg index c2229ecd5..8f08fba7c 100644 --- a/material/.icons/material/cellphone-erase.svg +++ b/material/.icons/material/cellphone-erase.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-iphone.svg b/material/.icons/material/cellphone-iphone.svg index 7f0075c00..fba076099 100644 --- a/material/.icons/material/cellphone-iphone.svg +++ b/material/.icons/material/cellphone-iphone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-key.svg b/material/.icons/material/cellphone-key.svg index 8c1417695..0d48380eb 100644 --- a/material/.icons/material/cellphone-key.svg +++ b/material/.icons/material/cellphone-key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-link-off.svg b/material/.icons/material/cellphone-link-off.svg index 4d40d5612..378f45a13 100644 --- a/material/.icons/material/cellphone-link-off.svg +++ b/material/.icons/material/cellphone-link-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-link.svg b/material/.icons/material/cellphone-link.svg index 3c47b4dc9..6aa8a76fb 100644 --- a/material/.icons/material/cellphone-link.svg +++ b/material/.icons/material/cellphone-link.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-lock.svg b/material/.icons/material/cellphone-lock.svg index fceb322ab..1fad28036 100644 --- a/material/.icons/material/cellphone-lock.svg +++ b/material/.icons/material/cellphone-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-message-off.svg b/material/.icons/material/cellphone-message-off.svg index 3478232dd..f6f21aecd 100644 --- a/material/.icons/material/cellphone-message-off.svg +++ b/material/.icons/material/cellphone-message-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-message.svg b/material/.icons/material/cellphone-message.svg index 7111606af..7317b7e6f 100644 --- a/material/.icons/material/cellphone-message.svg +++ b/material/.icons/material/cellphone-message.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-nfc-off.svg b/material/.icons/material/cellphone-nfc-off.svg index 940da82bf..09dae4067 100644 --- a/material/.icons/material/cellphone-nfc-off.svg +++ b/material/.icons/material/cellphone-nfc-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-nfc.svg b/material/.icons/material/cellphone-nfc.svg index 7cb0c8af6..c8285bf0c 100644 --- a/material/.icons/material/cellphone-nfc.svg +++ b/material/.icons/material/cellphone-nfc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-off.svg b/material/.icons/material/cellphone-off.svg index c575182fe..65c6b66a0 100644 --- a/material/.icons/material/cellphone-off.svg +++ b/material/.icons/material/cellphone-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-play.svg b/material/.icons/material/cellphone-play.svg index 9c37d40c5..13b7800b1 100644 --- a/material/.icons/material/cellphone-play.svg +++ b/material/.icons/material/cellphone-play.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-screenshot.svg b/material/.icons/material/cellphone-screenshot.svg index fe8220464..1d22a69e8 100644 --- a/material/.icons/material/cellphone-screenshot.svg +++ b/material/.icons/material/cellphone-screenshot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-settings.svg b/material/.icons/material/cellphone-settings.svg index b51950151..f7af862d2 100644 --- a/material/.icons/material/cellphone-settings.svg +++ b/material/.icons/material/cellphone-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-sound.svg b/material/.icons/material/cellphone-sound.svg index 5838679eb..93f60fc5a 100644 --- a/material/.icons/material/cellphone-sound.svg +++ b/material/.icons/material/cellphone-sound.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-text.svg b/material/.icons/material/cellphone-text.svg index 4315484ec..2a5c1402a 100644 --- a/material/.icons/material/cellphone-text.svg +++ b/material/.icons/material/cellphone-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone-wireless.svg b/material/.icons/material/cellphone-wireless.svg index bbbb05747..550fbf9b4 100644 --- a/material/.icons/material/cellphone-wireless.svg +++ b/material/.icons/material/cellphone-wireless.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cellphone.svg b/material/.icons/material/cellphone.svg index d043f2df7..f5d753304 100644 --- a/material/.icons/material/cellphone.svg +++ b/material/.icons/material/cellphone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/celtic-cross.svg b/material/.icons/material/celtic-cross.svg index 21b9c6507..3cff27844 100644 --- a/material/.icons/material/celtic-cross.svg +++ b/material/.icons/material/celtic-cross.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/certificate-outline.svg b/material/.icons/material/certificate-outline.svg index 3449cebad..5daad0068 100644 --- a/material/.icons/material/certificate-outline.svg +++ b/material/.icons/material/certificate-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/certificate.svg b/material/.icons/material/certificate.svg index eb6196bb0..7e65aadff 100644 --- a/material/.icons/material/certificate.svg +++ b/material/.icons/material/certificate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/charity.svg b/material/.icons/material/charity.svg index b6bf37043..fbf812d55 100644 --- a/material/.icons/material/charity.svg +++ b/material/.icons/material/charity.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chart-arc.svg b/material/.icons/material/chart-arc.svg index 7a9c7e14b..6c5f10cd9 100644 --- a/material/.icons/material/chart-arc.svg +++ b/material/.icons/material/chart-arc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chart-bubble.svg b/material/.icons/material/chart-bubble.svg index bbe2b9d68..7025684bb 100644 --- a/material/.icons/material/chart-bubble.svg +++ b/material/.icons/material/chart-bubble.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chart-donut-variant.svg b/material/.icons/material/chart-donut-variant.svg index f00966123..c24bb2223 100644 --- a/material/.icons/material/chart-donut-variant.svg +++ b/material/.icons/material/chart-donut-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chart-donut.svg b/material/.icons/material/chart-donut.svg index 82761c959..808cb7311 100644 --- a/material/.icons/material/chart-donut.svg +++ b/material/.icons/material/chart-donut.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chart-ppf.svg b/material/.icons/material/chart-ppf.svg index 5c080ac0e..d53e4238a 100644 --- a/material/.icons/material/chart-ppf.svg +++ b/material/.icons/material/chart-ppf.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chart-scatter-plot.svg b/material/.icons/material/chart-scatter-plot.svg index 1ce486346..c7fbfef19 100644 --- a/material/.icons/material/chart-scatter-plot.svg +++ b/material/.icons/material/chart-scatter-plot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chart-timeline-variant.svg b/material/.icons/material/chart-timeline-variant.svg index dc1a3e47b..6aa87a3fe 100644 --- a/material/.icons/material/chart-timeline-variant.svg +++ b/material/.icons/material/chart-timeline-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-alert-outline.svg b/material/.icons/material/chat-alert-outline.svg index 572ce06a9..40970c644 100644 --- a/material/.icons/material/chat-alert-outline.svg +++ b/material/.icons/material/chat-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-minus-outline.svg b/material/.icons/material/chat-minus-outline.svg index 477960ca3..97e47e421 100644 --- a/material/.icons/material/chat-minus-outline.svg +++ b/material/.icons/material/chat-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-minus.svg b/material/.icons/material/chat-minus.svg index 2e19cf9d5..f5ffffdd4 100644 --- a/material/.icons/material/chat-minus.svg +++ b/material/.icons/material/chat-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-outline.svg b/material/.icons/material/chat-outline.svg index e170846dc..fb803bfc5 100644 --- a/material/.icons/material/chat-outline.svg +++ b/material/.icons/material/chat-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-plus-outline.svg b/material/.icons/material/chat-plus-outline.svg index 9486cacf3..8bd17539d 100644 --- a/material/.icons/material/chat-plus-outline.svg +++ b/material/.icons/material/chat-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-plus.svg b/material/.icons/material/chat-plus.svg index 2871f55c5..909ec933b 100644 --- a/material/.icons/material/chat-plus.svg +++ b/material/.icons/material/chat-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-processing-outline.svg b/material/.icons/material/chat-processing-outline.svg index cd7f9c196..14b7cb09b 100644 --- a/material/.icons/material/chat-processing-outline.svg +++ b/material/.icons/material/chat-processing-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-remove-outline.svg b/material/.icons/material/chat-remove-outline.svg index a09929b78..4800cbbfc 100644 --- a/material/.icons/material/chat-remove-outline.svg +++ b/material/.icons/material/chat-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-remove.svg b/material/.icons/material/chat-remove.svg index 2c5bcbfe1..5ccd2b96d 100644 --- a/material/.icons/material/chat-remove.svg +++ b/material/.icons/material/chat-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chat-sleep-outline.svg b/material/.icons/material/chat-sleep-outline.svg index 9f66ede48..aebeccf0f 100644 --- a/material/.icons/material/chat-sleep-outline.svg +++ b/material/.icons/material/chat-sleep-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/check-box-multiple-outline.svg b/material/.icons/material/check-box-multiple-outline.svg index 1367c125b..faf2d6e14 100644 --- a/material/.icons/material/check-box-multiple-outline.svg +++ b/material/.icons/material/check-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/check-box-outline.svg b/material/.icons/material/check-box-outline.svg index 4cba7654f..d72723b92 100644 --- a/material/.icons/material/check-box-outline.svg +++ b/material/.icons/material/check-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/check-network-outline.svg b/material/.icons/material/check-network-outline.svg index de4f13bc2..eaa13d3bf 100644 --- a/material/.icons/material/check-network-outline.svg +++ b/material/.icons/material/check-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/check-network.svg b/material/.icons/material/check-network.svg index 283988f99..0438f236a 100644 --- a/material/.icons/material/check-network.svg +++ b/material/.icons/material/check-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/check-underline-circle-outline.svg b/material/.icons/material/check-underline-circle-outline.svg index 7095b718b..3d63829e3 100644 --- a/material/.icons/material/check-underline-circle-outline.svg +++ b/material/.icons/material/check-underline-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/check-underline-circle.svg b/material/.icons/material/check-underline-circle.svg index cebdb85a8..7bc80ec4f 100644 --- a/material/.icons/material/check-underline-circle.svg +++ b/material/.icons/material/check-underline-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-blank-circle-outline.svg b/material/.icons/material/checkbox-blank-circle-outline.svg index e986852fe..d16843bb0 100644 --- a/material/.icons/material/checkbox-blank-circle-outline.svg +++ b/material/.icons/material/checkbox-blank-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-blank-circle.svg b/material/.icons/material/checkbox-blank-circle.svg index 0f0f814e2..be0c6da44 100644 --- a/material/.icons/material/checkbox-blank-circle.svg +++ b/material/.icons/material/checkbox-blank-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-blank-off-outline.svg b/material/.icons/material/checkbox-blank-off-outline.svg index 8dac7027b..7e392bd45 100644 --- a/material/.icons/material/checkbox-blank-off-outline.svg +++ b/material/.icons/material/checkbox-blank-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-blank-off.svg b/material/.icons/material/checkbox-blank-off.svg index 0cefc726c..4738b7536 100644 --- a/material/.icons/material/checkbox-blank-off.svg +++ b/material/.icons/material/checkbox-blank-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-blank-outline.svg b/material/.icons/material/checkbox-blank-outline.svg index 7d5babd91..8ee7a4647 100644 --- a/material/.icons/material/checkbox-blank-outline.svg +++ b/material/.icons/material/checkbox-blank-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-blank.svg b/material/.icons/material/checkbox-blank.svg index a0537331c..e2cf12c34 100644 --- a/material/.icons/material/checkbox-blank.svg +++ b/material/.icons/material/checkbox-blank.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-intermediate.svg b/material/.icons/material/checkbox-intermediate.svg index e42241521..e24058ba0 100644 --- a/material/.icons/material/checkbox-intermediate.svg +++ b/material/.icons/material/checkbox-intermediate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-marked-circle-outline.svg b/material/.icons/material/checkbox-marked-circle-outline.svg index 9eafbe84e..1227badb2 100644 --- a/material/.icons/material/checkbox-marked-circle-outline.svg +++ b/material/.icons/material/checkbox-marked-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-marked-circle.svg b/material/.icons/material/checkbox-marked-circle.svg index 5cd5a7128..a74ca9e08 100644 --- a/material/.icons/material/checkbox-marked-circle.svg +++ b/material/.icons/material/checkbox-marked-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-marked-outline.svg b/material/.icons/material/checkbox-marked-outline.svg index 4504a84d7..a9180146e 100644 --- a/material/.icons/material/checkbox-marked-outline.svg +++ b/material/.icons/material/checkbox-marked-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-marked.svg b/material/.icons/material/checkbox-marked.svg index 2417071c3..06a629355 100644 --- a/material/.icons/material/checkbox-marked.svg +++ b/material/.icons/material/checkbox-marked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-multiple-blank-circle-outline.svg b/material/.icons/material/checkbox-multiple-blank-circle-outline.svg index 17ccdb2bc..fb659432b 100644 --- a/material/.icons/material/checkbox-multiple-blank-circle-outline.svg +++ b/material/.icons/material/checkbox-multiple-blank-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-multiple-blank-circle.svg b/material/.icons/material/checkbox-multiple-blank-circle.svg index 0615d499c..ada9f711f 100644 --- a/material/.icons/material/checkbox-multiple-blank-circle.svg +++ b/material/.icons/material/checkbox-multiple-blank-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-multiple-blank-outline.svg b/material/.icons/material/checkbox-multiple-blank-outline.svg index 0023da2f1..d423f8b43 100644 --- a/material/.icons/material/checkbox-multiple-blank-outline.svg +++ b/material/.icons/material/checkbox-multiple-blank-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-multiple-blank.svg b/material/.icons/material/checkbox-multiple-blank.svg index eb804999a..2bee4d462 100644 --- a/material/.icons/material/checkbox-multiple-blank.svg +++ b/material/.icons/material/checkbox-multiple-blank.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-multiple-marked-circle-outline.svg b/material/.icons/material/checkbox-multiple-marked-circle-outline.svg index 580949390..a83c532db 100644 --- a/material/.icons/material/checkbox-multiple-marked-circle-outline.svg +++ b/material/.icons/material/checkbox-multiple-marked-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-multiple-marked-circle.svg b/material/.icons/material/checkbox-multiple-marked-circle.svg index 43e55bb06..ea5b1f602 100644 --- a/material/.icons/material/checkbox-multiple-marked-circle.svg +++ b/material/.icons/material/checkbox-multiple-marked-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-multiple-marked-outline.svg b/material/.icons/material/checkbox-multiple-marked-outline.svg index 55745d0a0..3bb9a8741 100644 --- a/material/.icons/material/checkbox-multiple-marked-outline.svg +++ b/material/.icons/material/checkbox-multiple-marked-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/checkbox-multiple-marked.svg b/material/.icons/material/checkbox-multiple-marked.svg index 794a93d56..f5136c42e 100644 --- a/material/.icons/material/checkbox-multiple-marked.svg +++ b/material/.icons/material/checkbox-multiple-marked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cheese.svg b/material/.icons/material/cheese.svg index 9b142a580..d99d6c2c2 100644 --- a/material/.icons/material/cheese.svg +++ b/material/.icons/material/cheese.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chef-hat.svg b/material/.icons/material/chef-hat.svg index ff186d666..b0d4cc6f4 100644 --- a/material/.icons/material/chef-hat.svg +++ b/material/.icons/material/chef-hat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chemical-weapon.svg b/material/.icons/material/chemical-weapon.svg index b69e2cf22..71d4aeda7 100644 --- a/material/.icons/material/chemical-weapon.svg +++ b/material/.icons/material/chemical-weapon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chess-bishop.svg b/material/.icons/material/chess-bishop.svg index 3852fb75a..5c6884ba0 100644 --- a/material/.icons/material/chess-bishop.svg +++ b/material/.icons/material/chess-bishop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chess-king.svg b/material/.icons/material/chess-king.svg index bcc52f4f6..1b10057f4 100644 --- a/material/.icons/material/chess-king.svg +++ b/material/.icons/material/chess-king.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chess-knight.svg b/material/.icons/material/chess-knight.svg index 8a90ef1b0..49ac1d615 100644 --- a/material/.icons/material/chess-knight.svg +++ b/material/.icons/material/chess-knight.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chess-pawn.svg b/material/.icons/material/chess-pawn.svg index f2f11c069..62fc74957 100644 --- a/material/.icons/material/chess-pawn.svg +++ b/material/.icons/material/chess-pawn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chess-queen.svg b/material/.icons/material/chess-queen.svg index 8f425b630..f78c7d051 100644 --- a/material/.icons/material/chess-queen.svg +++ b/material/.icons/material/chess-queen.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-down-box-outline.svg b/material/.icons/material/chevron-down-box-outline.svg index d3f8daa6b..7dd8ed192 100644 --- a/material/.icons/material/chevron-down-box-outline.svg +++ b/material/.icons/material/chevron-down-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-down-box.svg b/material/.icons/material/chevron-down-box.svg index 86f68e3b2..cb7e88cd4 100644 --- a/material/.icons/material/chevron-down-box.svg +++ b/material/.icons/material/chevron-down-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-down-circle-outline.svg b/material/.icons/material/chevron-down-circle-outline.svg index b447fe1fc..16ebd5c7b 100644 --- a/material/.icons/material/chevron-down-circle-outline.svg +++ b/material/.icons/material/chevron-down-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-down-circle.svg b/material/.icons/material/chevron-down-circle.svg index 8ff2f075e..4f4febc1b 100644 --- a/material/.icons/material/chevron-down-circle.svg +++ b/material/.icons/material/chevron-down-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-left-box-outline.svg b/material/.icons/material/chevron-left-box-outline.svg index 20e12679a..221863546 100644 --- a/material/.icons/material/chevron-left-box-outline.svg +++ b/material/.icons/material/chevron-left-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-left-box.svg b/material/.icons/material/chevron-left-box.svg index 5b9e446e9..5a7515aa4 100644 --- a/material/.icons/material/chevron-left-box.svg +++ b/material/.icons/material/chevron-left-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-left-circle-outline.svg b/material/.icons/material/chevron-left-circle-outline.svg index 5866f07f5..53b17d3ab 100644 --- a/material/.icons/material/chevron-left-circle-outline.svg +++ b/material/.icons/material/chevron-left-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-left-circle.svg b/material/.icons/material/chevron-left-circle.svg index a123441b9..43086fde9 100644 --- a/material/.icons/material/chevron-left-circle.svg +++ b/material/.icons/material/chevron-left-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-right-box-outline.svg b/material/.icons/material/chevron-right-box-outline.svg index 763d29316..620adad5b 100644 --- a/material/.icons/material/chevron-right-box-outline.svg +++ b/material/.icons/material/chevron-right-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-right-box.svg b/material/.icons/material/chevron-right-box.svg index 3f344b501..fa85941d6 100644 --- a/material/.icons/material/chevron-right-box.svg +++ b/material/.icons/material/chevron-right-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-right-circle-outline.svg b/material/.icons/material/chevron-right-circle-outline.svg index ec2484925..a03157e0a 100644 --- a/material/.icons/material/chevron-right-circle-outline.svg +++ b/material/.icons/material/chevron-right-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-right-circle.svg b/material/.icons/material/chevron-right-circle.svg index 1548d76fd..44b03dd06 100644 --- a/material/.icons/material/chevron-right-circle.svg +++ b/material/.icons/material/chevron-right-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-up-box-outline.svg b/material/.icons/material/chevron-up-box-outline.svg index d2dcae07f..a0672f2e7 100644 --- a/material/.icons/material/chevron-up-box-outline.svg +++ b/material/.icons/material/chevron-up-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-up-box.svg b/material/.icons/material/chevron-up-box.svg index 28e2e996c..27c97fb42 100644 --- a/material/.icons/material/chevron-up-box.svg +++ b/material/.icons/material/chevron-up-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-up-circle-outline.svg b/material/.icons/material/chevron-up-circle-outline.svg index 62f1d44be..d5c993eea 100644 --- a/material/.icons/material/chevron-up-circle-outline.svg +++ b/material/.icons/material/chevron-up-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chevron-up-circle.svg b/material/.icons/material/chevron-up-circle.svg index 78f227ccc..f074a8e0a 100644 --- a/material/.icons/material/chevron-up-circle.svg +++ b/material/.icons/material/chevron-up-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chili-hot.svg b/material/.icons/material/chili-hot.svg index 74f3a234b..9cef47950 100644 --- a/material/.icons/material/chili-hot.svg +++ b/material/.icons/material/chili-hot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chili-medium.svg b/material/.icons/material/chili-medium.svg index f371cd86e..7ec998bee 100644 --- a/material/.icons/material/chili-medium.svg +++ b/material/.icons/material/chili-medium.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/chili-mild.svg b/material/.icons/material/chili-mild.svg index cd0196f2d..df554069e 100644 --- a/material/.icons/material/chili-mild.svg +++ b/material/.icons/material/chili-mild.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/church.svg b/material/.icons/material/church.svg index 5229d03c1..18baf62cf 100644 --- a/material/.icons/material/church.svg +++ b/material/.icons/material/church.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cigar-off.svg b/material/.icons/material/cigar-off.svg index 10c27d5fe..0fb131513 100644 --- a/material/.icons/material/cigar-off.svg +++ b/material/.icons/material/cigar-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cigar.svg b/material/.icons/material/cigar.svg index a22286b6f..16b3aa91f 100644 --- a/material/.icons/material/cigar.svg +++ b/material/.icons/material/cigar.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-box-outline.svg b/material/.icons/material/circle-box-outline.svg index 509075b07..c98e94f76 100644 --- a/material/.icons/material/circle-box-outline.svg +++ b/material/.icons/material/circle-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-box.svg b/material/.icons/material/circle-box.svg index be513e549..ff6c5e29e 100644 --- a/material/.icons/material/circle-box.svg +++ b/material/.icons/material/circle-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-double.svg b/material/.icons/material/circle-double.svg index 3b04567b8..5a86c480b 100644 --- a/material/.icons/material/circle-double.svg +++ b/material/.icons/material/circle-double.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-edit-outline.svg b/material/.icons/material/circle-edit-outline.svg index fcc5afcbe..793331fb0 100644 --- a/material/.icons/material/circle-edit-outline.svg +++ b/material/.icons/material/circle-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-expand.svg b/material/.icons/material/circle-expand.svg index 15f2e2002..38c80ad04 100644 --- a/material/.icons/material/circle-expand.svg +++ b/material/.icons/material/circle-expand.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-half-full.svg b/material/.icons/material/circle-half-full.svg index 2e77d2cc6..1d7c7e4da 100644 --- a/material/.icons/material/circle-half-full.svg +++ b/material/.icons/material/circle-half-full.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-half.svg b/material/.icons/material/circle-half.svg index 463d8c9fe..a348c76ea 100644 --- a/material/.icons/material/circle-half.svg +++ b/material/.icons/material/circle-half.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-medium.svg b/material/.icons/material/circle-medium.svg index 5fb75fe39..8e9ecdb37 100644 --- a/material/.icons/material/circle-medium.svg +++ b/material/.icons/material/circle-medium.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-multiple-outline.svg b/material/.icons/material/circle-multiple-outline.svg index db81061d8..41ea8ca8b 100644 --- a/material/.icons/material/circle-multiple-outline.svg +++ b/material/.icons/material/circle-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-multiple.svg b/material/.icons/material/circle-multiple.svg index 4697d4417..46eee34d7 100644 --- a/material/.icons/material/circle-multiple.svg +++ b/material/.icons/material/circle-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-off-outline.svg b/material/.icons/material/circle-off-outline.svg index f9218ebfb..303de938c 100644 --- a/material/.icons/material/circle-off-outline.svg +++ b/material/.icons/material/circle-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-outline.svg b/material/.icons/material/circle-outline.svg index e986852fe..d16843bb0 100644 --- a/material/.icons/material/circle-outline.svg +++ b/material/.icons/material/circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle-small.svg b/material/.icons/material/circle-small.svg index caaa2678e..1450c7caa 100644 --- a/material/.icons/material/circle-small.svg +++ b/material/.icons/material/circle-small.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circle.svg b/material/.icons/material/circle.svg index 0f0f814e2..be0c6da44 100644 --- a/material/.icons/material/circle.svg +++ b/material/.icons/material/circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/circular-saw.svg b/material/.icons/material/circular-saw.svg index 87ce0a503..8dcd371ad 100644 --- a/material/.icons/material/circular-saw.svg +++ b/material/.icons/material/circular-saw.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/city-variant-outline.svg b/material/.icons/material/city-variant-outline.svg index f2a10566a..6d53dcb87 100644 --- a/material/.icons/material/city-variant-outline.svg +++ b/material/.icons/material/city-variant-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/city-variant.svg b/material/.icons/material/city-variant.svg index f197d0db6..01fcb2011 100644 --- a/material/.icons/material/city-variant.svg +++ b/material/.icons/material/city-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-account-outline.svg b/material/.icons/material/clipboard-account-outline.svg index 0f59464f3..a3319052e 100644 --- a/material/.icons/material/clipboard-account-outline.svg +++ b/material/.icons/material/clipboard-account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-account.svg b/material/.icons/material/clipboard-account.svg index 5a87185c8..7c10f2a83 100644 --- a/material/.icons/material/clipboard-account.svg +++ b/material/.icons/material/clipboard-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-alert-outline.svg b/material/.icons/material/clipboard-alert-outline.svg index c96c04e32..31986e8c9 100644 --- a/material/.icons/material/clipboard-alert-outline.svg +++ b/material/.icons/material/clipboard-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-alert.svg b/material/.icons/material/clipboard-alert.svg index f150b1c65..6633f1435 100644 --- a/material/.icons/material/clipboard-alert.svg +++ b/material/.icons/material/clipboard-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-arrow-down-outline.svg b/material/.icons/material/clipboard-arrow-down-outline.svg index b38f4cc52..861b364d1 100644 --- a/material/.icons/material/clipboard-arrow-down-outline.svg +++ b/material/.icons/material/clipboard-arrow-down-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-arrow-down.svg b/material/.icons/material/clipboard-arrow-down.svg index 56338439b..02607ea3a 100644 --- a/material/.icons/material/clipboard-arrow-down.svg +++ b/material/.icons/material/clipboard-arrow-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-arrow-left-outline.svg b/material/.icons/material/clipboard-arrow-left-outline.svg index c24ff5737..77bcdb8fb 100644 --- a/material/.icons/material/clipboard-arrow-left-outline.svg +++ b/material/.icons/material/clipboard-arrow-left-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-arrow-left.svg b/material/.icons/material/clipboard-arrow-left.svg index f095535f8..d47d157a2 100644 --- a/material/.icons/material/clipboard-arrow-left.svg +++ b/material/.icons/material/clipboard-arrow-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-arrow-right-outline.svg b/material/.icons/material/clipboard-arrow-right-outline.svg index a679a949f..0b24119ac 100644 --- a/material/.icons/material/clipboard-arrow-right-outline.svg +++ b/material/.icons/material/clipboard-arrow-right-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-arrow-right.svg b/material/.icons/material/clipboard-arrow-right.svg index ec2743032..58a82d55c 100644 --- a/material/.icons/material/clipboard-arrow-right.svg +++ b/material/.icons/material/clipboard-arrow-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-arrow-up-outline.svg b/material/.icons/material/clipboard-arrow-up-outline.svg index 86185ae46..01f9342ef 100644 --- a/material/.icons/material/clipboard-arrow-up-outline.svg +++ b/material/.icons/material/clipboard-arrow-up-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-arrow-up.svg b/material/.icons/material/clipboard-arrow-up.svg index f3bd24024..d12a4fea1 100644 --- a/material/.icons/material/clipboard-arrow-up.svg +++ b/material/.icons/material/clipboard-arrow-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-check-outline.svg b/material/.icons/material/clipboard-check-outline.svg index 092508fe6..98b206811 100644 --- a/material/.icons/material/clipboard-check-outline.svg +++ b/material/.icons/material/clipboard-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-check.svg b/material/.icons/material/clipboard-check.svg index b23250a3f..293bacd00 100644 --- a/material/.icons/material/clipboard-check.svg +++ b/material/.icons/material/clipboard-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-clock-outline.svg b/material/.icons/material/clipboard-clock-outline.svg index 9e3812820..de3ea810b 100644 --- a/material/.icons/material/clipboard-clock-outline.svg +++ b/material/.icons/material/clipboard-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-clock.svg b/material/.icons/material/clipboard-clock.svg index 96f4a4945..ffd6a01ac 100644 --- a/material/.icons/material/clipboard-clock.svg +++ b/material/.icons/material/clipboard-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-file-outline.svg b/material/.icons/material/clipboard-file-outline.svg index dc6a49a90..0309279c7 100644 --- a/material/.icons/material/clipboard-file-outline.svg +++ b/material/.icons/material/clipboard-file-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-file.svg b/material/.icons/material/clipboard-file.svg index cd7a2efd4..ac78fc23d 100644 --- a/material/.icons/material/clipboard-file.svg +++ b/material/.icons/material/clipboard-file.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-flow-outline.svg b/material/.icons/material/clipboard-flow-outline.svg index 0bf28a4a1..c1f2bf879 100644 --- a/material/.icons/material/clipboard-flow-outline.svg +++ b/material/.icons/material/clipboard-flow-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-flow.svg b/material/.icons/material/clipboard-flow.svg index 483552e06..6f5d7cd79 100644 --- a/material/.icons/material/clipboard-flow.svg +++ b/material/.icons/material/clipboard-flow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-minus-outline.svg b/material/.icons/material/clipboard-minus-outline.svg index 7ee7d9c6b..e7b4197ff 100644 --- a/material/.icons/material/clipboard-minus-outline.svg +++ b/material/.icons/material/clipboard-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-minus.svg b/material/.icons/material/clipboard-minus.svg index 2a754924c..55c278a92 100644 --- a/material/.icons/material/clipboard-minus.svg +++ b/material/.icons/material/clipboard-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-off-outline.svg b/material/.icons/material/clipboard-off-outline.svg index 628735c31..87a20563a 100644 --- a/material/.icons/material/clipboard-off-outline.svg +++ b/material/.icons/material/clipboard-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-off.svg b/material/.icons/material/clipboard-off.svg index eb78b6618..12623b758 100644 --- a/material/.icons/material/clipboard-off.svg +++ b/material/.icons/material/clipboard-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-outline.svg b/material/.icons/material/clipboard-outline.svg index 62b468b3d..0455ef892 100644 --- a/material/.icons/material/clipboard-outline.svg +++ b/material/.icons/material/clipboard-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-play-outline.svg b/material/.icons/material/clipboard-play-outline.svg index b91108e18..8a57489dd 100644 --- a/material/.icons/material/clipboard-play-outline.svg +++ b/material/.icons/material/clipboard-play-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-play.svg b/material/.icons/material/clipboard-play.svg index 0a0cacca5..a3afdd33b 100644 --- a/material/.icons/material/clipboard-play.svg +++ b/material/.icons/material/clipboard-play.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-plus-outline.svg b/material/.icons/material/clipboard-plus-outline.svg index 10b7bc9a6..bed5ff473 100644 --- a/material/.icons/material/clipboard-plus-outline.svg +++ b/material/.icons/material/clipboard-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-plus.svg b/material/.icons/material/clipboard-plus.svg index abaed68c1..1620b9152 100644 --- a/material/.icons/material/clipboard-plus.svg +++ b/material/.icons/material/clipboard-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-pulse-outline.svg b/material/.icons/material/clipboard-pulse-outline.svg index 9cfb2f6d1..b05358599 100644 --- a/material/.icons/material/clipboard-pulse-outline.svg +++ b/material/.icons/material/clipboard-pulse-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-pulse.svg b/material/.icons/material/clipboard-pulse.svg index 4e48b19f0..8e3194679 100644 --- a/material/.icons/material/clipboard-pulse.svg +++ b/material/.icons/material/clipboard-pulse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-remove-outline.svg b/material/.icons/material/clipboard-remove-outline.svg index 444460a8c..dbc67a622 100644 --- a/material/.icons/material/clipboard-remove-outline.svg +++ b/material/.icons/material/clipboard-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-remove.svg b/material/.icons/material/clipboard-remove.svg index 0e996eff6..0496da0cd 100644 --- a/material/.icons/material/clipboard-remove.svg +++ b/material/.icons/material/clipboard-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-search-outline.svg b/material/.icons/material/clipboard-search-outline.svg index ae7568725..8c71b785a 100644 --- a/material/.icons/material/clipboard-search-outline.svg +++ b/material/.icons/material/clipboard-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-search.svg b/material/.icons/material/clipboard-search.svg index 0d23c549b..38ddb8720 100644 --- a/material/.icons/material/clipboard-search.svg +++ b/material/.icons/material/clipboard-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-text-off-outline.svg b/material/.icons/material/clipboard-text-off-outline.svg index 6643fae50..73800ace3 100644 --- a/material/.icons/material/clipboard-text-off-outline.svg +++ b/material/.icons/material/clipboard-text-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-text-off.svg b/material/.icons/material/clipboard-text-off.svg index 06f40ee26..01f7fd8d5 100644 --- a/material/.icons/material/clipboard-text-off.svg +++ b/material/.icons/material/clipboard-text-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-text-outline.svg b/material/.icons/material/clipboard-text-outline.svg index 68acec280..521a0f86c 100644 --- a/material/.icons/material/clipboard-text-outline.svg +++ b/material/.icons/material/clipboard-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-text-play-outline.svg b/material/.icons/material/clipboard-text-play-outline.svg index fc215b0b5..c500ceccc 100644 --- a/material/.icons/material/clipboard-text-play-outline.svg +++ b/material/.icons/material/clipboard-text-play-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-text-play.svg b/material/.icons/material/clipboard-text-play.svg index 53f12d78d..92e5f4e22 100644 --- a/material/.icons/material/clipboard-text-play.svg +++ b/material/.icons/material/clipboard-text-play.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-text-search-outline.svg b/material/.icons/material/clipboard-text-search-outline.svg index 795b02e66..15dff9c13 100644 --- a/material/.icons/material/clipboard-text-search-outline.svg +++ b/material/.icons/material/clipboard-text-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-text-search.svg b/material/.icons/material/clipboard-text-search.svg index d2ec53013..bebc23543 100644 --- a/material/.icons/material/clipboard-text-search.svg +++ b/material/.icons/material/clipboard-text-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard-text.svg b/material/.icons/material/clipboard-text.svg index 044a86345..ff17bd3cb 100644 --- a/material/.icons/material/clipboard-text.svg +++ b/material/.icons/material/clipboard-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clipboard.svg b/material/.icons/material/clipboard.svg index 3321a5f0f..fde726987 100644 --- a/material/.icons/material/clipboard.svg +++ b/material/.icons/material/clipboard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clippy.svg b/material/.icons/material/clippy.svg index 7961902c7..868124a11 100644 --- a/material/.icons/material/clippy.svg +++ b/material/.icons/material/clippy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clock-digital.svg b/material/.icons/material/clock-digital.svg index 760936d7d..eb5941bef 100644 --- a/material/.icons/material/clock-digital.svg +++ b/material/.icons/material/clock-digital.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clock-end.svg b/material/.icons/material/clock-end.svg index 9c7a8b7b9..6ca901015 100644 --- a/material/.icons/material/clock-end.svg +++ b/material/.icons/material/clock-end.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clock-fast.svg b/material/.icons/material/clock-fast.svg index 264625aa5..2b7af7aab 100644 --- a/material/.icons/material/clock-fast.svg +++ b/material/.icons/material/clock-fast.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clock-in.svg b/material/.icons/material/clock-in.svg index 7b70f7e3f..833559743 100644 --- a/material/.icons/material/clock-in.svg +++ b/material/.icons/material/clock-in.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clock-out.svg b/material/.icons/material/clock-out.svg index 4f38c8f27..8f3fb1130 100644 --- a/material/.icons/material/clock-out.svg +++ b/material/.icons/material/clock-out.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clock-outline.svg b/material/.icons/material/clock-outline.svg index 7c7226355..05266d6c0 100644 --- a/material/.icons/material/clock-outline.svg +++ b/material/.icons/material/clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clock-start.svg b/material/.icons/material/clock-start.svg index 28da38821..422d84f52 100644 --- a/material/.icons/material/clock-start.svg +++ b/material/.icons/material/clock-start.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/clock.svg b/material/.icons/material/clock.svg index b44f88ae6..e957286d2 100644 --- a/material/.icons/material/clock.svg +++ b/material/.icons/material/clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/close-box-multiple-outline.svg b/material/.icons/material/close-box-multiple-outline.svg index 2c16e12a8..cd8fd152e 100644 --- a/material/.icons/material/close-box-multiple-outline.svg +++ b/material/.icons/material/close-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/close-box-multiple.svg b/material/.icons/material/close-box-multiple.svg index 0b81a5972..a55ff902a 100644 --- a/material/.icons/material/close-box-multiple.svg +++ b/material/.icons/material/close-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/close-box-outline.svg b/material/.icons/material/close-box-outline.svg index 0df25da89..e19297fb0 100644 --- a/material/.icons/material/close-box-outline.svg +++ b/material/.icons/material/close-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/close-box.svg b/material/.icons/material/close-box.svg index 182bb6dcb..68577cd89 100644 --- a/material/.icons/material/close-box.svg +++ b/material/.icons/material/close-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/close-network-outline.svg b/material/.icons/material/close-network-outline.svg index 292f0b2a3..9f88ce4ff 100644 --- a/material/.icons/material/close-network-outline.svg +++ b/material/.icons/material/close-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/close-network.svg b/material/.icons/material/close-network.svg index d34b1f9f3..6683ac9d0 100644 --- a/material/.icons/material/close-network.svg +++ b/material/.icons/material/close-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/closed-caption.svg b/material/.icons/material/closed-caption.svg index 9ea3333c2..b72f3a4d7 100644 --- a/material/.icons/material/closed-caption.svg +++ b/material/.icons/material/closed-caption.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-braces.svg b/material/.icons/material/cloud-braces.svg index fe5c02c7c..328479c64 100644 --- a/material/.icons/material/cloud-braces.svg +++ b/material/.icons/material/cloud-braces.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-check-outline.svg b/material/.icons/material/cloud-check-outline.svg index 9dc4b96d0..c4927271c 100644 --- a/material/.icons/material/cloud-check-outline.svg +++ b/material/.icons/material/cloud-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-check.svg b/material/.icons/material/cloud-check.svg index f52702b21..68ef9ee1e 100644 --- a/material/.icons/material/cloud-check.svg +++ b/material/.icons/material/cloud-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-circle.svg b/material/.icons/material/cloud-circle.svg index f6eab6936..805ba3ecc 100644 --- a/material/.icons/material/cloud-circle.svg +++ b/material/.icons/material/cloud-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-download-outline.svg b/material/.icons/material/cloud-download-outline.svg index 7dc488103..d5bdc5e0f 100644 --- a/material/.icons/material/cloud-download-outline.svg +++ b/material/.icons/material/cloud-download-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-download.svg b/material/.icons/material/cloud-download.svg index 87e13fafe..92b43b623 100644 --- a/material/.icons/material/cloud-download.svg +++ b/material/.icons/material/cloud-download.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-lock-outline.svg b/material/.icons/material/cloud-lock-outline.svg index 446e0d510..1497f9382 100644 --- a/material/.icons/material/cloud-lock-outline.svg +++ b/material/.icons/material/cloud-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-lock.svg b/material/.icons/material/cloud-lock.svg index 532603a8a..6aed9f720 100644 --- a/material/.icons/material/cloud-lock.svg +++ b/material/.icons/material/cloud-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-off-outline.svg b/material/.icons/material/cloud-off-outline.svg index 9cdb8180f..261b42448 100644 --- a/material/.icons/material/cloud-off-outline.svg +++ b/material/.icons/material/cloud-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-outline.svg b/material/.icons/material/cloud-outline.svg index 3b1fcd389..3be3fd144 100644 --- a/material/.icons/material/cloud-outline.svg +++ b/material/.icons/material/cloud-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-print-outline.svg b/material/.icons/material/cloud-print-outline.svg index c93c872c4..8ca82c933 100644 --- a/material/.icons/material/cloud-print-outline.svg +++ b/material/.icons/material/cloud-print-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-print.svg b/material/.icons/material/cloud-print.svg index 3f6922802..3178ebd56 100644 --- a/material/.icons/material/cloud-print.svg +++ b/material/.icons/material/cloud-print.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-question.svg b/material/.icons/material/cloud-question.svg index 119218a42..07af4e6cb 100644 --- a/material/.icons/material/cloud-question.svg +++ b/material/.icons/material/cloud-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-refresh.svg b/material/.icons/material/cloud-refresh.svg index df7f43fe3..1107d3fd4 100644 --- a/material/.icons/material/cloud-refresh.svg +++ b/material/.icons/material/cloud-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-search-outline.svg b/material/.icons/material/cloud-search-outline.svg index ffd5887bb..997ec54de 100644 --- a/material/.icons/material/cloud-search-outline.svg +++ b/material/.icons/material/cloud-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-search.svg b/material/.icons/material/cloud-search.svg index 6f61a53d6..fd57d1474 100644 --- a/material/.icons/material/cloud-search.svg +++ b/material/.icons/material/cloud-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-sync-outline.svg b/material/.icons/material/cloud-sync-outline.svg index 0c09ef8c2..c698eef07 100644 --- a/material/.icons/material/cloud-sync-outline.svg +++ b/material/.icons/material/cloud-sync-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-sync.svg b/material/.icons/material/cloud-sync.svg index 3e38c902c..27eb74a5b 100644 --- a/material/.icons/material/cloud-sync.svg +++ b/material/.icons/material/cloud-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-tags.svg b/material/.icons/material/cloud-tags.svg index 928219324..b746b28f6 100644 --- a/material/.icons/material/cloud-tags.svg +++ b/material/.icons/material/cloud-tags.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-upload-outline.svg b/material/.icons/material/cloud-upload-outline.svg index a2b946eeb..ed8e25bf2 100644 --- a/material/.icons/material/cloud-upload-outline.svg +++ b/material/.icons/material/cloud-upload-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud-upload.svg b/material/.icons/material/cloud-upload.svg index d06549a65..5f5a2d6a6 100644 --- a/material/.icons/material/cloud-upload.svg +++ b/material/.icons/material/cloud-upload.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cloud.svg b/material/.icons/material/cloud.svg index ce1396e17..83709a0f8 100644 --- a/material/.icons/material/cloud.svg +++ b/material/.icons/material/cloud.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/coat-rack.svg b/material/.icons/material/coat-rack.svg index c5df2c16b..f09d2d7ce 100644 --- a/material/.icons/material/coat-rack.svg +++ b/material/.icons/material/coat-rack.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-array.svg b/material/.icons/material/code-array.svg index 2d559ac12..817105282 100644 --- a/material/.icons/material/code-array.svg +++ b/material/.icons/material/code-array.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-braces.svg b/material/.icons/material/code-braces.svg index 0e6661c79..d8de36069 100644 --- a/material/.icons/material/code-braces.svg +++ b/material/.icons/material/code-braces.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-equal.svg b/material/.icons/material/code-equal.svg index 73d28bda8..6b079030a 100644 --- a/material/.icons/material/code-equal.svg +++ b/material/.icons/material/code-equal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-greater-than-or-equal.svg b/material/.icons/material/code-greater-than-or-equal.svg index 6c23ec7ee..dcb2c276e 100644 --- a/material/.icons/material/code-greater-than-or-equal.svg +++ b/material/.icons/material/code-greater-than-or-equal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-greater-than.svg b/material/.icons/material/code-greater-than.svg index 0b47fafb6..562756fed 100644 --- a/material/.icons/material/code-greater-than.svg +++ b/material/.icons/material/code-greater-than.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-json.svg b/material/.icons/material/code-json.svg index a2147502c..223d48cf8 100644 --- a/material/.icons/material/code-json.svg +++ b/material/.icons/material/code-json.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-less-than-or-equal.svg b/material/.icons/material/code-less-than-or-equal.svg index c5bf93bc1..1dadd46d6 100644 --- a/material/.icons/material/code-less-than-or-equal.svg +++ b/material/.icons/material/code-less-than-or-equal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-less-than.svg b/material/.icons/material/code-less-than.svg index c73b2290e..c61d0a736 100644 --- a/material/.icons/material/code-less-than.svg +++ b/material/.icons/material/code-less-than.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-not-equal-variant.svg b/material/.icons/material/code-not-equal-variant.svg index d97231264..229d35b19 100644 --- a/material/.icons/material/code-not-equal-variant.svg +++ b/material/.icons/material/code-not-equal-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-not-equal.svg b/material/.icons/material/code-not-equal.svg index ffde464ca..c484b034f 100644 --- a/material/.icons/material/code-not-equal.svg +++ b/material/.icons/material/code-not-equal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/code-string.svg b/material/.icons/material/code-string.svg index 6a8d31954..1b6d93164 100644 --- a/material/.icons/material/code-string.svg +++ b/material/.icons/material/code-string.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/codepen.svg b/material/.icons/material/codepen.svg index acd294419..1522847e8 100644 --- a/material/.icons/material/codepen.svg +++ b/material/.icons/material/codepen.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/coffee-maker.svg b/material/.icons/material/coffee-maker.svg index 36090f798..90faae5dc 100644 --- a/material/.icons/material/coffee-maker.svg +++ b/material/.icons/material/coffee-maker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/coffee-off.svg b/material/.icons/material/coffee-off.svg index 5b3c6682d..a60601d22 100644 --- a/material/.icons/material/coffee-off.svg +++ b/material/.icons/material/coffee-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/coffee-outline.svg b/material/.icons/material/coffee-outline.svg index 912761536..0f6140699 100644 --- a/material/.icons/material/coffee-outline.svg +++ b/material/.icons/material/coffee-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/coffee-to-go-outline.svg b/material/.icons/material/coffee-to-go-outline.svg index cedf7b7de..da0059fe5 100644 --- a/material/.icons/material/coffee-to-go-outline.svg +++ b/material/.icons/material/coffee-to-go-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/coffee-to-go.svg b/material/.icons/material/coffee-to-go.svg index 657e11e56..8c70b3ec2 100644 --- a/material/.icons/material/coffee-to-go.svg +++ b/material/.icons/material/coffee-to-go.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/coffee.svg b/material/.icons/material/coffee.svg index 00ce83f5e..1f0e0194a 100644 --- a/material/.icons/material/coffee.svg +++ b/material/.icons/material/coffee.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cog-box.svg b/material/.icons/material/cog-box.svg index 1171906c1..8164e2d31 100644 --- a/material/.icons/material/cog-box.svg +++ b/material/.icons/material/cog-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cog-clockwise.svg b/material/.icons/material/cog-clockwise.svg index 0a81cf1c1..a1d8736f4 100644 --- a/material/.icons/material/cog-clockwise.svg +++ b/material/.icons/material/cog-clockwise.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cog-counterclockwise.svg b/material/.icons/material/cog-counterclockwise.svg index b75bc9d1a..7ca0ac7b3 100644 --- a/material/.icons/material/cog-counterclockwise.svg +++ b/material/.icons/material/cog-counterclockwise.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cog-off-outline.svg b/material/.icons/material/cog-off-outline.svg index 7bf4481b5..dafc6adf0 100644 --- a/material/.icons/material/cog-off-outline.svg +++ b/material/.icons/material/cog-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cog-outline.svg b/material/.icons/material/cog-outline.svg index d09ba7341..3c0b0dde7 100644 --- a/material/.icons/material/cog-outline.svg +++ b/material/.icons/material/cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cog-transfer-outline.svg b/material/.icons/material/cog-transfer-outline.svg index 973fec891..fb648fd8d 100644 --- a/material/.icons/material/cog-transfer-outline.svg +++ b/material/.icons/material/cog-transfer-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cog-transfer.svg b/material/.icons/material/cog-transfer.svg index 535913174..861c3c3a2 100644 --- a/material/.icons/material/cog-transfer.svg +++ b/material/.icons/material/cog-transfer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cog.svg b/material/.icons/material/cog.svg index 5657c3f8e..d1c71337b 100644 --- a/material/.icons/material/cog.svg +++ b/material/.icons/material/cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cogs.svg b/material/.icons/material/cogs.svg index c4590054a..53b44adba 100644 --- a/material/.icons/material/cogs.svg +++ b/material/.icons/material/cogs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/collapse-all-outline.svg b/material/.icons/material/collapse-all-outline.svg index ab641059b..fe219869a 100644 --- a/material/.icons/material/collapse-all-outline.svg +++ b/material/.icons/material/collapse-all-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/collapse-all.svg b/material/.icons/material/collapse-all.svg index bdbf23601..13d542448 100644 --- a/material/.icons/material/collapse-all.svg +++ b/material/.icons/material/collapse-all.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comma-box-outline.svg b/material/.icons/material/comma-box-outline.svg index 0f7491939..182cae099 100644 --- a/material/.icons/material/comma-box-outline.svg +++ b/material/.icons/material/comma-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comma-box.svg b/material/.icons/material/comma-box.svg index 42a1c8433..18c269a3c 100644 --- a/material/.icons/material/comma-box.svg +++ b/material/.icons/material/comma-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comma-circle-outline.svg b/material/.icons/material/comma-circle-outline.svg index 730ced5bb..ce841413e 100644 --- a/material/.icons/material/comma-circle-outline.svg +++ b/material/.icons/material/comma-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comma-circle.svg b/material/.icons/material/comma-circle.svg index 5ee9da703..1b5ebaa02 100644 --- a/material/.icons/material/comma-circle.svg +++ b/material/.icons/material/comma-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-account-outline.svg b/material/.icons/material/comment-account-outline.svg index 2b04682ae..a4ae78422 100644 --- a/material/.icons/material/comment-account-outline.svg +++ b/material/.icons/material/comment-account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-account.svg b/material/.icons/material/comment-account.svg index d77e5e1fd..b403bd22f 100644 --- a/material/.icons/material/comment-account.svg +++ b/material/.icons/material/comment-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-alert-outline.svg b/material/.icons/material/comment-alert-outline.svg index 79b4cd2e1..455f181d3 100644 --- a/material/.icons/material/comment-alert-outline.svg +++ b/material/.icons/material/comment-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-check-outline.svg b/material/.icons/material/comment-check-outline.svg index bf3b1a951..ec05ecd17 100644 --- a/material/.icons/material/comment-check-outline.svg +++ b/material/.icons/material/comment-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-check.svg b/material/.icons/material/comment-check.svg index 5fb7e1808..6208bb972 100644 --- a/material/.icons/material/comment-check.svg +++ b/material/.icons/material/comment-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-edit-outline.svg b/material/.icons/material/comment-edit-outline.svg index d8b769a90..fec95a0c8 100644 --- a/material/.icons/material/comment-edit-outline.svg +++ b/material/.icons/material/comment-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-edit.svg b/material/.icons/material/comment-edit.svg index de41ccb6b..ebc9d7eb3 100644 --- a/material/.icons/material/comment-edit.svg +++ b/material/.icons/material/comment-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-eye-outline.svg b/material/.icons/material/comment-eye-outline.svg index 877a36330..2e1baac06 100644 --- a/material/.icons/material/comment-eye-outline.svg +++ b/material/.icons/material/comment-eye-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-eye.svg b/material/.icons/material/comment-eye.svg index 75e428d0e..89dd2683e 100644 --- a/material/.icons/material/comment-eye.svg +++ b/material/.icons/material/comment-eye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-minus-outline.svg b/material/.icons/material/comment-minus-outline.svg index 8a67181ae..831127a63 100644 --- a/material/.icons/material/comment-minus-outline.svg +++ b/material/.icons/material/comment-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-minus.svg b/material/.icons/material/comment-minus.svg index 0076b09f2..cd4091db1 100644 --- a/material/.icons/material/comment-minus.svg +++ b/material/.icons/material/comment-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-multiple-outline.svg b/material/.icons/material/comment-multiple-outline.svg index d6d4b874f..b62a948c1 100644 --- a/material/.icons/material/comment-multiple-outline.svg +++ b/material/.icons/material/comment-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-multiple.svg b/material/.icons/material/comment-multiple.svg index d7ede45fd..4c856ceb4 100644 --- a/material/.icons/material/comment-multiple.svg +++ b/material/.icons/material/comment-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-off-outline.svg b/material/.icons/material/comment-off-outline.svg index 549ad81c8..28812b157 100644 --- a/material/.icons/material/comment-off-outline.svg +++ b/material/.icons/material/comment-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-off.svg b/material/.icons/material/comment-off.svg index 7b99f7f04..84fa2b17e 100644 --- a/material/.icons/material/comment-off.svg +++ b/material/.icons/material/comment-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-outline.svg b/material/.icons/material/comment-outline.svg index edef540b3..cb3d0337f 100644 --- a/material/.icons/material/comment-outline.svg +++ b/material/.icons/material/comment-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-plus-outline.svg b/material/.icons/material/comment-plus-outline.svg index 53a0d8c62..b31864d9a 100644 --- a/material/.icons/material/comment-plus-outline.svg +++ b/material/.icons/material/comment-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-plus.svg b/material/.icons/material/comment-plus.svg index 0f24d9b2f..fe43ea17e 100644 --- a/material/.icons/material/comment-plus.svg +++ b/material/.icons/material/comment-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-processing-outline.svg b/material/.icons/material/comment-processing-outline.svg index 5a805aa0b..86c953fa7 100644 --- a/material/.icons/material/comment-processing-outline.svg +++ b/material/.icons/material/comment-processing-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-processing.svg b/material/.icons/material/comment-processing.svg index 78ecc8422..28a69a0fc 100644 --- a/material/.icons/material/comment-processing.svg +++ b/material/.icons/material/comment-processing.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-question-outline.svg b/material/.icons/material/comment-question-outline.svg index 7a54acb73..7761064d9 100644 --- a/material/.icons/material/comment-question-outline.svg +++ b/material/.icons/material/comment-question-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-question.svg b/material/.icons/material/comment-question.svg index f66c28c84..488152da3 100644 --- a/material/.icons/material/comment-question.svg +++ b/material/.icons/material/comment-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-remove-outline.svg b/material/.icons/material/comment-remove-outline.svg index 2f602f1b7..37f50c7e6 100644 --- a/material/.icons/material/comment-remove-outline.svg +++ b/material/.icons/material/comment-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-remove.svg b/material/.icons/material/comment-remove.svg index 175076c04..f59eaa341 100644 --- a/material/.icons/material/comment-remove.svg +++ b/material/.icons/material/comment-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-search-outline.svg b/material/.icons/material/comment-search-outline.svg index 73f617072..141b9bcf0 100644 --- a/material/.icons/material/comment-search-outline.svg +++ b/material/.icons/material/comment-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-search.svg b/material/.icons/material/comment-search.svg index ec7a40eb3..181551cf9 100644 --- a/material/.icons/material/comment-search.svg +++ b/material/.icons/material/comment-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-text-multiple-outline.svg b/material/.icons/material/comment-text-multiple-outline.svg index 4751e4d87..c8ff793db 100644 --- a/material/.icons/material/comment-text-multiple-outline.svg +++ b/material/.icons/material/comment-text-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-text-multiple.svg b/material/.icons/material/comment-text-multiple.svg index 5ccef3804..b87604e89 100644 --- a/material/.icons/material/comment-text-multiple.svg +++ b/material/.icons/material/comment-text-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-text-outline.svg b/material/.icons/material/comment-text-outline.svg index 0572a92c8..224f5354d 100644 --- a/material/.icons/material/comment-text-outline.svg +++ b/material/.icons/material/comment-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment-text.svg b/material/.icons/material/comment-text.svg index e8a8f4883..672e2a8d2 100644 --- a/material/.icons/material/comment-text.svg +++ b/material/.icons/material/comment-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/comment.svg b/material/.icons/material/comment.svg index 3273d4b59..a0da068f8 100644 --- a/material/.icons/material/comment.svg +++ b/material/.icons/material/comment.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/compare.svg b/material/.icons/material/compare.svg index 2b8375112..3e6ba8395 100644 --- a/material/.icons/material/compare.svg +++ b/material/.icons/material/compare.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/compass-off-outline.svg b/material/.icons/material/compass-off-outline.svg index 087533d5c..6757f0ce1 100644 --- a/material/.icons/material/compass-off-outline.svg +++ b/material/.icons/material/compass-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/compass-off.svg b/material/.icons/material/compass-off.svg index 4e1fd6dd0..515864dc5 100644 --- a/material/.icons/material/compass-off.svg +++ b/material/.icons/material/compass-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/compass-outline.svg b/material/.icons/material/compass-outline.svg index c3349538f..22f65bd8e 100644 --- a/material/.icons/material/compass-outline.svg +++ b/material/.icons/material/compass-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/compass.svg b/material/.icons/material/compass.svg index eee8f9c0b..73d0b9fcb 100644 --- a/material/.icons/material/compass.svg +++ b/material/.icons/material/compass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/concourse-ci.svg b/material/.icons/material/concourse-ci.svg index 368e78486..d803dc9d8 100644 --- a/material/.icons/material/concourse-ci.svg +++ b/material/.icons/material/concourse-ci.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/console-network-outline.svg b/material/.icons/material/console-network-outline.svg index 9f1b85379..bf6fa77d2 100644 --- a/material/.icons/material/console-network-outline.svg +++ b/material/.icons/material/console-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/console-network.svg b/material/.icons/material/console-network.svg index 657de4bda..a47994e15 100644 --- a/material/.icons/material/console-network.svg +++ b/material/.icons/material/console-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/console.svg b/material/.icons/material/console.svg index f2e532d28..3775a52a5 100644 --- a/material/.icons/material/console.svg +++ b/material/.icons/material/console.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/consolidate.svg b/material/.icons/material/consolidate.svg index 15cca12ff..fa2d71fbd 100644 --- a/material/.icons/material/consolidate.svg +++ b/material/.icons/material/consolidate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/contactless-payment.svg b/material/.icons/material/contactless-payment.svg index e51e1c645..4367a2494 100644 --- a/material/.icons/material/contactless-payment.svg +++ b/material/.icons/material/contactless-payment.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/contacts-outline.svg b/material/.icons/material/contacts-outline.svg index c9ffbe365..09ad1fc20 100644 --- a/material/.icons/material/contacts-outline.svg +++ b/material/.icons/material/contacts-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/contacts.svg b/material/.icons/material/contacts.svg index dd04860dd..ae47652a5 100644 --- a/material/.icons/material/contacts.svg +++ b/material/.icons/material/contacts.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-copy.svg b/material/.icons/material/content-copy.svg index 75de8edd5..3d0f5b32e 100644 --- a/material/.icons/material/content-copy.svg +++ b/material/.icons/material/content-copy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-cut.svg b/material/.icons/material/content-cut.svg index a8bd9eebd..01ef26681 100644 --- a/material/.icons/material/content-cut.svg +++ b/material/.icons/material/content-cut.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-duplicate.svg b/material/.icons/material/content-duplicate.svg index b06933aa4..3bf0b3636 100644 --- a/material/.icons/material/content-duplicate.svg +++ b/material/.icons/material/content-duplicate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-paste.svg b/material/.icons/material/content-paste.svg index 783f7529e..dfb47a03e 100644 --- a/material/.icons/material/content-paste.svg +++ b/material/.icons/material/content-paste.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-all-outline.svg b/material/.icons/material/content-save-all-outline.svg index 489c9bbbb..64cd3c0d8 100644 --- a/material/.icons/material/content-save-all-outline.svg +++ b/material/.icons/material/content-save-all-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-all.svg b/material/.icons/material/content-save-all.svg index 28decfc9a..7c52db07c 100644 --- a/material/.icons/material/content-save-all.svg +++ b/material/.icons/material/content-save-all.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-edit-outline.svg b/material/.icons/material/content-save-edit-outline.svg index fcd0404ce..fb2298480 100644 --- a/material/.icons/material/content-save-edit-outline.svg +++ b/material/.icons/material/content-save-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-edit.svg b/material/.icons/material/content-save-edit.svg index 4f85721f6..63db3675b 100644 --- a/material/.icons/material/content-save-edit.svg +++ b/material/.icons/material/content-save-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-move-outline.svg b/material/.icons/material/content-save-move-outline.svg index ffe9221a9..6361e104d 100644 --- a/material/.icons/material/content-save-move-outline.svg +++ b/material/.icons/material/content-save-move-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-move.svg b/material/.icons/material/content-save-move.svg index d857ab12c..209c3a24c 100644 --- a/material/.icons/material/content-save-move.svg +++ b/material/.icons/material/content-save-move.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-off-outline.svg b/material/.icons/material/content-save-off-outline.svg index e09cf835f..38be09467 100644 --- a/material/.icons/material/content-save-off-outline.svg +++ b/material/.icons/material/content-save-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-off.svg b/material/.icons/material/content-save-off.svg index 9aa838486..a22b0c26d 100644 --- a/material/.icons/material/content-save-off.svg +++ b/material/.icons/material/content-save-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-outline.svg b/material/.icons/material/content-save-outline.svg index 3ba1d25db..6465e6905 100644 --- a/material/.icons/material/content-save-outline.svg +++ b/material/.icons/material/content-save-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-settings-outline.svg b/material/.icons/material/content-save-settings-outline.svg index fd52204cc..d901ea461 100644 --- a/material/.icons/material/content-save-settings-outline.svg +++ b/material/.icons/material/content-save-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save-settings.svg b/material/.icons/material/content-save-settings.svg index eed86436c..20c88ba1f 100644 --- a/material/.icons/material/content-save-settings.svg +++ b/material/.icons/material/content-save-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/content-save.svg b/material/.icons/material/content-save.svg index 89f20542a..4ea364585 100644 --- a/material/.icons/material/content-save.svg +++ b/material/.icons/material/content-save.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/contrast-box.svg b/material/.icons/material/contrast-box.svg index 9bf4998b1..8514c2d81 100644 --- a/material/.icons/material/contrast-box.svg +++ b/material/.icons/material/contrast-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/contrast-circle.svg b/material/.icons/material/contrast-circle.svg index aec5cb8f0..b62ffd2b7 100644 --- a/material/.icons/material/contrast-circle.svg +++ b/material/.icons/material/contrast-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/contrast.svg b/material/.icons/material/contrast.svg index f3a970bf0..8e68e161d 100644 --- a/material/.icons/material/contrast.svg +++ b/material/.icons/material/contrast.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/controller-classic-outline.svg b/material/.icons/material/controller-classic-outline.svg index 4ae61402b..8f68fa784 100644 --- a/material/.icons/material/controller-classic-outline.svg +++ b/material/.icons/material/controller-classic-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/controller-classic.svg b/material/.icons/material/controller-classic.svg index abd68dfb0..7f9ec0ba7 100644 --- a/material/.icons/material/controller-classic.svg +++ b/material/.icons/material/controller-classic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-check-outline.svg b/material/.icons/material/cookie-check-outline.svg index 11351c6cd..0e61ab52d 100644 --- a/material/.icons/material/cookie-check-outline.svg +++ b/material/.icons/material/cookie-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-check.svg b/material/.icons/material/cookie-check.svg index 959d4b991..910015c08 100644 --- a/material/.icons/material/cookie-check.svg +++ b/material/.icons/material/cookie-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-clock-outline.svg b/material/.icons/material/cookie-clock-outline.svg index 3a9e8a0f8..4828818c0 100644 --- a/material/.icons/material/cookie-clock-outline.svg +++ b/material/.icons/material/cookie-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-clock.svg b/material/.icons/material/cookie-clock.svg index dc97be657..557173d3a 100644 --- a/material/.icons/material/cookie-clock.svg +++ b/material/.icons/material/cookie-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-cog-outline.svg b/material/.icons/material/cookie-cog-outline.svg index fa5d0071f..933331746 100644 --- a/material/.icons/material/cookie-cog-outline.svg +++ b/material/.icons/material/cookie-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-cog.svg b/material/.icons/material/cookie-cog.svg index 5a6b475a8..6b20c54a5 100644 --- a/material/.icons/material/cookie-cog.svg +++ b/material/.icons/material/cookie-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-edit-outline.svg b/material/.icons/material/cookie-edit-outline.svg index 6d7f488a0..a69751f75 100644 --- a/material/.icons/material/cookie-edit-outline.svg +++ b/material/.icons/material/cookie-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-edit.svg b/material/.icons/material/cookie-edit.svg index 48a494e05..1842956c3 100644 --- a/material/.icons/material/cookie-edit.svg +++ b/material/.icons/material/cookie-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-lock-outline.svg b/material/.icons/material/cookie-lock-outline.svg index 634ec1527..4a057b3b6 100644 --- a/material/.icons/material/cookie-lock-outline.svg +++ b/material/.icons/material/cookie-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-lock.svg b/material/.icons/material/cookie-lock.svg index f992b1172..f8ead78b6 100644 --- a/material/.icons/material/cookie-lock.svg +++ b/material/.icons/material/cookie-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-minus-outline.svg b/material/.icons/material/cookie-minus-outline.svg index ff0acf93e..2d77e635b 100644 --- a/material/.icons/material/cookie-minus-outline.svg +++ b/material/.icons/material/cookie-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-minus.svg b/material/.icons/material/cookie-minus.svg index 51b8455b2..73f7912a1 100644 --- a/material/.icons/material/cookie-minus.svg +++ b/material/.icons/material/cookie-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-off-outline.svg b/material/.icons/material/cookie-off-outline.svg index c191c4899..5f64ae303 100644 --- a/material/.icons/material/cookie-off-outline.svg +++ b/material/.icons/material/cookie-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-off.svg b/material/.icons/material/cookie-off.svg index 26973bb4d..d8c7fbc5f 100644 --- a/material/.icons/material/cookie-off.svg +++ b/material/.icons/material/cookie-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-outline.svg b/material/.icons/material/cookie-outline.svg index dc62b0ed5..ecb2c79e0 100644 --- a/material/.icons/material/cookie-outline.svg +++ b/material/.icons/material/cookie-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-plus-outline.svg b/material/.icons/material/cookie-plus-outline.svg index b69aa6588..125a83478 100644 --- a/material/.icons/material/cookie-plus-outline.svg +++ b/material/.icons/material/cookie-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-plus.svg b/material/.icons/material/cookie-plus.svg index caa52dad1..1964f540e 100644 --- a/material/.icons/material/cookie-plus.svg +++ b/material/.icons/material/cookie-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-refresh-outline.svg b/material/.icons/material/cookie-refresh-outline.svg index da0911583..b86c1cce4 100644 --- a/material/.icons/material/cookie-refresh-outline.svg +++ b/material/.icons/material/cookie-refresh-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-refresh.svg b/material/.icons/material/cookie-refresh.svg index 7d94349f1..235efa46a 100644 --- a/material/.icons/material/cookie-refresh.svg +++ b/material/.icons/material/cookie-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-remove-outline.svg b/material/.icons/material/cookie-remove-outline.svg index 86e88dcc5..d590fe987 100644 --- a/material/.icons/material/cookie-remove-outline.svg +++ b/material/.icons/material/cookie-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-remove.svg b/material/.icons/material/cookie-remove.svg index 839533f17..5d96a0d29 100644 --- a/material/.icons/material/cookie-remove.svg +++ b/material/.icons/material/cookie-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-settings-outline.svg b/material/.icons/material/cookie-settings-outline.svg index 0dd83c579..d03c616f4 100644 --- a/material/.icons/material/cookie-settings-outline.svg +++ b/material/.icons/material/cookie-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie-settings.svg b/material/.icons/material/cookie-settings.svg index 805450645..5c6bc0f97 100644 --- a/material/.icons/material/cookie-settings.svg +++ b/material/.icons/material/cookie-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cookie.svg b/material/.icons/material/cookie.svg index 654edc46f..b93b66b59 100644 --- a/material/.icons/material/cookie.svg +++ b/material/.icons/material/cookie.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/coolant-temperature.svg b/material/.icons/material/coolant-temperature.svg index 67164759a..3f59abc85 100644 --- a/material/.icons/material/coolant-temperature.svg +++ b/material/.icons/material/coolant-temperature.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/copyright.svg b/material/.icons/material/copyright.svg index 261950514..34bd5f27d 100644 --- a/material/.icons/material/copyright.svg +++ b/material/.icons/material/copyright.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/counter.svg b/material/.icons/material/counter.svg index 5634b4eb3..5f8b290da 100644 --- a/material/.icons/material/counter.svg +++ b/material/.icons/material/counter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cow.svg b/material/.icons/material/cow.svg index d1844e3ea..37298b0ca 100644 --- a/material/.icons/material/cow.svg +++ b/material/.icons/material/cow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cpu-32-bit.svg b/material/.icons/material/cpu-32-bit.svg index 839d6bbea..a82b7df25 100644 --- a/material/.icons/material/cpu-32-bit.svg +++ b/material/.icons/material/cpu-32-bit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cpu-64-bit.svg b/material/.icons/material/cpu-64-bit.svg index 329e24a55..5e7a717a3 100644 --- a/material/.icons/material/cpu-64-bit.svg +++ b/material/.icons/material/cpu-64-bit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crane.svg b/material/.icons/material/crane.svg index 889964ac2..904888d24 100644 --- a/material/.icons/material/crane.svg +++ b/material/.icons/material/crane.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/creative-commons.svg b/material/.icons/material/creative-commons.svg index f4b26d2aa..ec59d8cd1 100644 --- a/material/.icons/material/creative-commons.svg +++ b/material/.icons/material/creative-commons.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-check-outline.svg b/material/.icons/material/credit-card-check-outline.svg index 186aebcac..4a5cd26c9 100644 --- a/material/.icons/material/credit-card-check-outline.svg +++ b/material/.icons/material/credit-card-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-check.svg b/material/.icons/material/credit-card-check.svg index 5ebd36a95..cbc88afda 100644 --- a/material/.icons/material/credit-card-check.svg +++ b/material/.icons/material/credit-card-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-clock-outline.svg b/material/.icons/material/credit-card-clock-outline.svg index d3b803457..799065691 100644 --- a/material/.icons/material/credit-card-clock-outline.svg +++ b/material/.icons/material/credit-card-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-clock.svg b/material/.icons/material/credit-card-clock.svg index 91688e57d..c7aee6824 100644 --- a/material/.icons/material/credit-card-clock.svg +++ b/material/.icons/material/credit-card-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-marker-outline.svg b/material/.icons/material/credit-card-marker-outline.svg index bb6cb8255..561378187 100644 --- a/material/.icons/material/credit-card-marker-outline.svg +++ b/material/.icons/material/credit-card-marker-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-marker.svg b/material/.icons/material/credit-card-marker.svg index 52bfcb76e..edc61aa61 100644 --- a/material/.icons/material/credit-card-marker.svg +++ b/material/.icons/material/credit-card-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-minus-outline.svg b/material/.icons/material/credit-card-minus-outline.svg index da26f703c..c30f89847 100644 --- a/material/.icons/material/credit-card-minus-outline.svg +++ b/material/.icons/material/credit-card-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-minus.svg b/material/.icons/material/credit-card-minus.svg index a337a3224..b35b61c38 100644 --- a/material/.icons/material/credit-card-minus.svg +++ b/material/.icons/material/credit-card-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-multiple-outline.svg b/material/.icons/material/credit-card-multiple-outline.svg index 00b9366fd..b88199ae4 100644 --- a/material/.icons/material/credit-card-multiple-outline.svg +++ b/material/.icons/material/credit-card-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-multiple.svg b/material/.icons/material/credit-card-multiple.svg index dde612c9f..6dd6d3af4 100644 --- a/material/.icons/material/credit-card-multiple.svg +++ b/material/.icons/material/credit-card-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-off-outline.svg b/material/.icons/material/credit-card-off-outline.svg index 212e4600b..4913a49c4 100644 --- a/material/.icons/material/credit-card-off-outline.svg +++ b/material/.icons/material/credit-card-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-off.svg b/material/.icons/material/credit-card-off.svg index a9994dcb4..797c561ab 100644 --- a/material/.icons/material/credit-card-off.svg +++ b/material/.icons/material/credit-card-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-outline.svg b/material/.icons/material/credit-card-outline.svg index 5374aa231..f23e51280 100644 --- a/material/.icons/material/credit-card-outline.svg +++ b/material/.icons/material/credit-card-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-plus-outline.svg b/material/.icons/material/credit-card-plus-outline.svg index b1d512f36..0275d9892 100644 --- a/material/.icons/material/credit-card-plus-outline.svg +++ b/material/.icons/material/credit-card-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-plus.svg b/material/.icons/material/credit-card-plus.svg index 876ed2759..37e66acd5 100644 --- a/material/.icons/material/credit-card-plus.svg +++ b/material/.icons/material/credit-card-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-refresh-outline.svg b/material/.icons/material/credit-card-refresh-outline.svg index 7c3759462..904acf7a3 100644 --- a/material/.icons/material/credit-card-refresh-outline.svg +++ b/material/.icons/material/credit-card-refresh-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-refresh.svg b/material/.icons/material/credit-card-refresh.svg index 9493c658a..e3644c20b 100644 --- a/material/.icons/material/credit-card-refresh.svg +++ b/material/.icons/material/credit-card-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-refund-outline.svg b/material/.icons/material/credit-card-refund-outline.svg index 3d990026b..5f20283db 100644 --- a/material/.icons/material/credit-card-refund-outline.svg +++ b/material/.icons/material/credit-card-refund-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-refund.svg b/material/.icons/material/credit-card-refund.svg index 81b2b649c..3979c3f0f 100644 --- a/material/.icons/material/credit-card-refund.svg +++ b/material/.icons/material/credit-card-refund.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-remove-outline.svg b/material/.icons/material/credit-card-remove-outline.svg index 4d1c592e4..096feaa07 100644 --- a/material/.icons/material/credit-card-remove-outline.svg +++ b/material/.icons/material/credit-card-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-remove.svg b/material/.icons/material/credit-card-remove.svg index f80c1e763..b66283505 100644 --- a/material/.icons/material/credit-card-remove.svg +++ b/material/.icons/material/credit-card-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-scan-outline.svg b/material/.icons/material/credit-card-scan-outline.svg index c573efb9e..35386d920 100644 --- a/material/.icons/material/credit-card-scan-outline.svg +++ b/material/.icons/material/credit-card-scan-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-scan.svg b/material/.icons/material/credit-card-scan.svg index 347837641..b43de54df 100644 --- a/material/.icons/material/credit-card-scan.svg +++ b/material/.icons/material/credit-card-scan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-search-outline.svg b/material/.icons/material/credit-card-search-outline.svg index 28d11c33b..8e0f9f25f 100644 --- a/material/.icons/material/credit-card-search-outline.svg +++ b/material/.icons/material/credit-card-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-search.svg b/material/.icons/material/credit-card-search.svg index 5368e5361..7112e8016 100644 --- a/material/.icons/material/credit-card-search.svg +++ b/material/.icons/material/credit-card-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-settings-outline.svg b/material/.icons/material/credit-card-settings-outline.svg index d9556575f..e69bb0d13 100644 --- a/material/.icons/material/credit-card-settings-outline.svg +++ b/material/.icons/material/credit-card-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-settings.svg b/material/.icons/material/credit-card-settings.svg index 3f91768f2..42c8fee16 100644 --- a/material/.icons/material/credit-card-settings.svg +++ b/material/.icons/material/credit-card-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-sync-outline.svg b/material/.icons/material/credit-card-sync-outline.svg index 239cb20e0..da57d8a94 100644 --- a/material/.icons/material/credit-card-sync-outline.svg +++ b/material/.icons/material/credit-card-sync-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-sync.svg b/material/.icons/material/credit-card-sync.svg index 53d48e51f..c6073c6fb 100644 --- a/material/.icons/material/credit-card-sync.svg +++ b/material/.icons/material/credit-card-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-wireless-off-outline.svg b/material/.icons/material/credit-card-wireless-off-outline.svg index 9b8f9acd3..664b96303 100644 --- a/material/.icons/material/credit-card-wireless-off-outline.svg +++ b/material/.icons/material/credit-card-wireless-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-wireless-off.svg b/material/.icons/material/credit-card-wireless-off.svg index 0a26274c2..5ffd4fa90 100644 --- a/material/.icons/material/credit-card-wireless-off.svg +++ b/material/.icons/material/credit-card-wireless-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-wireless-outline.svg b/material/.icons/material/credit-card-wireless-outline.svg index 9ac646144..890e07125 100644 --- a/material/.icons/material/credit-card-wireless-outline.svg +++ b/material/.icons/material/credit-card-wireless-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card-wireless.svg b/material/.icons/material/credit-card-wireless.svg index 8257842d7..c32b1fa1f 100644 --- a/material/.icons/material/credit-card-wireless.svg +++ b/material/.icons/material/credit-card-wireless.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/credit-card.svg b/material/.icons/material/credit-card.svg index 52d2087da..2e54937e5 100644 --- a/material/.icons/material/credit-card.svg +++ b/material/.icons/material/credit-card.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cricket.svg b/material/.icons/material/cricket.svg index 7b89283ef..50d0346aa 100644 --- a/material/.icons/material/cricket.svg +++ b/material/.icons/material/cricket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crop-free.svg b/material/.icons/material/crop-free.svg index f8bf59f91..95be1377b 100644 --- a/material/.icons/material/crop-free.svg +++ b/material/.icons/material/crop-free.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crop-landscape.svg b/material/.icons/material/crop-landscape.svg index 4480ae5f0..f99ee4567 100644 --- a/material/.icons/material/crop-landscape.svg +++ b/material/.icons/material/crop-landscape.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crop-portrait.svg b/material/.icons/material/crop-portrait.svg index 171db11b8..b79609b22 100644 --- a/material/.icons/material/crop-portrait.svg +++ b/material/.icons/material/crop-portrait.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crop-rotate.svg b/material/.icons/material/crop-rotate.svg index 533ad95fe..71a9de7f3 100644 --- a/material/.icons/material/crop-rotate.svg +++ b/material/.icons/material/crop-rotate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crop-square.svg b/material/.icons/material/crop-square.svg index b45c7c4eb..79fde8b43 100644 --- a/material/.icons/material/crop-square.svg +++ b/material/.icons/material/crop-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crop.svg b/material/.icons/material/crop.svg index 74a1ab2c2..c3157699a 100644 --- a/material/.icons/material/crop.svg +++ b/material/.icons/material/crop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crosshairs-gps.svg b/material/.icons/material/crosshairs-gps.svg index f4d38e32c..6a62fb2a2 100644 --- a/material/.icons/material/crosshairs-gps.svg +++ b/material/.icons/material/crosshairs-gps.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crosshairs-off.svg b/material/.icons/material/crosshairs-off.svg index 333cd317f..5a4b10c22 100644 --- a/material/.icons/material/crosshairs-off.svg +++ b/material/.icons/material/crosshairs-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crosshairs.svg b/material/.icons/material/crosshairs.svg index 43a3095bc..6fa337bb9 100644 --- a/material/.icons/material/crosshairs.svg +++ b/material/.icons/material/crosshairs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cryengine.svg b/material/.icons/material/cryengine.svg index 44c67033f..f3822be2a 100644 --- a/material/.icons/material/cryengine.svg +++ b/material/.icons/material/cryengine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/crystal-ball.svg b/material/.icons/material/crystal-ball.svg index a564538a7..6f768dd29 100644 --- a/material/.icons/material/crystal-ball.svg +++ b/material/.icons/material/crystal-ball.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cube-off.svg b/material/.icons/material/cube-off.svg index f660679d0..6ec1a68c6 100644 --- a/material/.icons/material/cube-off.svg +++ b/material/.icons/material/cube-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cube-outline.svg b/material/.icons/material/cube-outline.svg index 9a0d5070e..3d69a67d4 100644 --- a/material/.icons/material/cube-outline.svg +++ b/material/.icons/material/cube-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cube.svg b/material/.icons/material/cube.svg index d05e0a1de..fa8b5486d 100644 --- a/material/.icons/material/cube.svg +++ b/material/.icons/material/cube.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cup-off.svg b/material/.icons/material/cup-off.svg index 67ed2a4f8..429b91415 100644 --- a/material/.icons/material/cup-off.svg +++ b/material/.icons/material/cup-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cup-water.svg b/material/.icons/material/cup-water.svg index c1420bfe8..663130a33 100644 --- a/material/.icons/material/cup-water.svg +++ b/material/.icons/material/cup-water.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cupboard-outline.svg b/material/.icons/material/cupboard-outline.svg index 2c25efb5c..61f5ef6f1 100644 --- a/material/.icons/material/cupboard-outline.svg +++ b/material/.icons/material/cupboard-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cupboard.svg b/material/.icons/material/cupboard.svg index 1ae291661..dc85f7667 100644 --- a/material/.icons/material/cupboard.svg +++ b/material/.icons/material/cupboard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cupcake.svg b/material/.icons/material/cupcake.svg index 94cf8e945..597356fb3 100644 --- a/material/.icons/material/cupcake.svg +++ b/material/.icons/material/cupcake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-bdt.svg b/material/.icons/material/currency-bdt.svg index 976989202..7fb553868 100644 --- a/material/.icons/material/currency-bdt.svg +++ b/material/.icons/material/currency-bdt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-brl.svg b/material/.icons/material/currency-brl.svg index bb80488ba..f648d5dcd 100644 --- a/material/.icons/material/currency-brl.svg +++ b/material/.icons/material/currency-brl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-btc.svg b/material/.icons/material/currency-btc.svg index ce8aaccd8..9615e26a1 100644 --- a/material/.icons/material/currency-btc.svg +++ b/material/.icons/material/currency-btc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-eur-off.svg b/material/.icons/material/currency-eur-off.svg index 76fd16a32..5fc6c2b42 100644 --- a/material/.icons/material/currency-eur-off.svg +++ b/material/.icons/material/currency-eur-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-eur.svg b/material/.icons/material/currency-eur.svg index 6116760b3..f7bc55ebc 100644 --- a/material/.icons/material/currency-eur.svg +++ b/material/.icons/material/currency-eur.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-ils.svg b/material/.icons/material/currency-ils.svg index e16c0a7e9..10837f70c 100644 --- a/material/.icons/material/currency-ils.svg +++ b/material/.icons/material/currency-ils.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-inr.svg b/material/.icons/material/currency-inr.svg index c75a20c71..52dbe9c04 100644 --- a/material/.icons/material/currency-inr.svg +++ b/material/.icons/material/currency-inr.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-rial.svg b/material/.icons/material/currency-rial.svg index 822f7778d..3633a487d 100644 --- a/material/.icons/material/currency-rial.svg +++ b/material/.icons/material/currency-rial.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-rub.svg b/material/.icons/material/currency-rub.svg index 70e29de92..55e0517a5 100644 --- a/material/.icons/material/currency-rub.svg +++ b/material/.icons/material/currency-rub.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-sign.svg b/material/.icons/material/currency-sign.svg index 3a785172f..8715d5f73 100644 --- a/material/.icons/material/currency-sign.svg +++ b/material/.icons/material/currency-sign.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-try.svg b/material/.icons/material/currency-try.svg index 60703daf3..76087df3d 100644 --- a/material/.icons/material/currency-try.svg +++ b/material/.icons/material/currency-try.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-twd.svg b/material/.icons/material/currency-twd.svg index d9a924e08..74e33dcf8 100644 --- a/material/.icons/material/currency-twd.svg +++ b/material/.icons/material/currency-twd.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-usd-circle-outline.svg b/material/.icons/material/currency-usd-circle-outline.svg index 4b950627e..f71188754 100644 --- a/material/.icons/material/currency-usd-circle-outline.svg +++ b/material/.icons/material/currency-usd-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/currency-usd-circle.svg b/material/.icons/material/currency-usd-circle.svg index 42908112c..7add7b4dc 100644 --- a/material/.icons/material/currency-usd-circle.svg +++ b/material/.icons/material/currency-usd-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cursor-default-click-outline.svg b/material/.icons/material/cursor-default-click-outline.svg index 830b25227..225b07152 100644 --- a/material/.icons/material/cursor-default-click-outline.svg +++ b/material/.icons/material/cursor-default-click-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cursor-default-click.svg b/material/.icons/material/cursor-default-click.svg index f9a9b91ed..4edff5ca9 100644 --- a/material/.icons/material/cursor-default-click.svg +++ b/material/.icons/material/cursor-default-click.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cursor-default-gesture-outline.svg b/material/.icons/material/cursor-default-gesture-outline.svg index 71c6564d3..981e74fa9 100644 --- a/material/.icons/material/cursor-default-gesture-outline.svg +++ b/material/.icons/material/cursor-default-gesture-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cursor-default-gesture.svg b/material/.icons/material/cursor-default-gesture.svg index dbc661c0b..41543c263 100644 --- a/material/.icons/material/cursor-default-gesture.svg +++ b/material/.icons/material/cursor-default-gesture.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cursor-default-outline.svg b/material/.icons/material/cursor-default-outline.svg index 49d299df5..ae1b9f430 100644 --- a/material/.icons/material/cursor-default-outline.svg +++ b/material/.icons/material/cursor-default-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cursor-default.svg b/material/.icons/material/cursor-default.svg index 03d6173a6..440ae06e5 100644 --- a/material/.icons/material/cursor-default.svg +++ b/material/.icons/material/cursor-default.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cursor-pointer.svg b/material/.icons/material/cursor-pointer.svg index 880edf00f..bb05a6f46 100644 --- a/material/.icons/material/cursor-pointer.svg +++ b/material/.icons/material/cursor-pointer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/cursor-text.svg b/material/.icons/material/cursor-text.svg index def0b1519..b9fd50fae 100644 --- a/material/.icons/material/cursor-text.svg +++ b/material/.icons/material/cursor-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dance-ballroom.svg b/material/.icons/material/dance-ballroom.svg index c6c1b5ee8..fff971896 100644 --- a/material/.icons/material/dance-ballroom.svg +++ b/material/.icons/material/dance-ballroom.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dance-pole.svg b/material/.icons/material/dance-pole.svg index ed920e8bd..361ad9a8a 100644 --- a/material/.icons/material/dance-pole.svg +++ b/material/.icons/material/dance-pole.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-arrow-down-outline.svg b/material/.icons/material/database-arrow-down-outline.svg index eab80ba97..85c2214a0 100644 --- a/material/.icons/material/database-arrow-down-outline.svg +++ b/material/.icons/material/database-arrow-down-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-arrow-down.svg b/material/.icons/material/database-arrow-down.svg index 325eb1f7e..86d17a73e 100644 --- a/material/.icons/material/database-arrow-down.svg +++ b/material/.icons/material/database-arrow-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-arrow-left-outline.svg b/material/.icons/material/database-arrow-left-outline.svg index 2d71edfde..6d4dd2021 100644 --- a/material/.icons/material/database-arrow-left-outline.svg +++ b/material/.icons/material/database-arrow-left-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-arrow-left.svg b/material/.icons/material/database-arrow-left.svg index 64e87bcc5..57112b35a 100644 --- a/material/.icons/material/database-arrow-left.svg +++ b/material/.icons/material/database-arrow-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-arrow-right-outline.svg b/material/.icons/material/database-arrow-right-outline.svg index 1f38935e0..0ea19fa56 100644 --- a/material/.icons/material/database-arrow-right-outline.svg +++ b/material/.icons/material/database-arrow-right-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-arrow-right.svg b/material/.icons/material/database-arrow-right.svg index 33a8798c8..d2c8ba918 100644 --- a/material/.icons/material/database-arrow-right.svg +++ b/material/.icons/material/database-arrow-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-arrow-up-outline.svg b/material/.icons/material/database-arrow-up-outline.svg index d01edbe21..c5f54e49b 100644 --- a/material/.icons/material/database-arrow-up-outline.svg +++ b/material/.icons/material/database-arrow-up-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-arrow-up.svg b/material/.icons/material/database-arrow-up.svg index 63f43d558..0d7043fac 100644 --- a/material/.icons/material/database-arrow-up.svg +++ b/material/.icons/material/database-arrow-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-check-outline.svg b/material/.icons/material/database-check-outline.svg index d05183d7f..be1516405 100644 --- a/material/.icons/material/database-check-outline.svg +++ b/material/.icons/material/database-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-clock-outline.svg b/material/.icons/material/database-clock-outline.svg index 2abb7423f..c4c16213f 100644 --- a/material/.icons/material/database-clock-outline.svg +++ b/material/.icons/material/database-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-clock.svg b/material/.icons/material/database-clock.svg index 04dc9db8b..d50b9baf1 100644 --- a/material/.icons/material/database-clock.svg +++ b/material/.icons/material/database-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-cog-outline.svg b/material/.icons/material/database-cog-outline.svg index eede0f3aa..5973ae4e1 100644 --- a/material/.icons/material/database-cog-outline.svg +++ b/material/.icons/material/database-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-cog.svg b/material/.icons/material/database-cog.svg index 6eb6af139..e82044be4 100644 --- a/material/.icons/material/database-cog.svg +++ b/material/.icons/material/database-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-edit.svg b/material/.icons/material/database-edit.svg index f44a6a3fd..31d7507ba 100644 --- a/material/.icons/material/database-edit.svg +++ b/material/.icons/material/database-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-lock-outline.svg b/material/.icons/material/database-lock-outline.svg index 93f06cfcc..39c65a90a 100644 --- a/material/.icons/material/database-lock-outline.svg +++ b/material/.icons/material/database-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-lock.svg b/material/.icons/material/database-lock.svg index 198f32ea8..a789b772d 100644 --- a/material/.icons/material/database-lock.svg +++ b/material/.icons/material/database-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-minus-outline.svg b/material/.icons/material/database-minus-outline.svg index 54bdd7a46..666e91cf6 100644 --- a/material/.icons/material/database-minus-outline.svg +++ b/material/.icons/material/database-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-plus-outline.svg b/material/.icons/material/database-plus-outline.svg index 854de418e..a92d7b041 100644 --- a/material/.icons/material/database-plus-outline.svg +++ b/material/.icons/material/database-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-refresh-outline.svg b/material/.icons/material/database-refresh-outline.svg index 784b07156..4fdb7710d 100644 --- a/material/.icons/material/database-refresh-outline.svg +++ b/material/.icons/material/database-refresh-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-refresh.svg b/material/.icons/material/database-refresh.svg index 98a354c72..17c81b186 100644 --- a/material/.icons/material/database-refresh.svg +++ b/material/.icons/material/database-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-remove-outline.svg b/material/.icons/material/database-remove-outline.svg index 25af50b1b..74c219a1a 100644 --- a/material/.icons/material/database-remove-outline.svg +++ b/material/.icons/material/database-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-search-outline.svg b/material/.icons/material/database-search-outline.svg index 65a278d44..2d6db599d 100644 --- a/material/.icons/material/database-search-outline.svg +++ b/material/.icons/material/database-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-search.svg b/material/.icons/material/database-search.svg index 71a9b9c1f..ec0c31d30 100644 --- a/material/.icons/material/database-search.svg +++ b/material/.icons/material/database-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-sync-outline.svg b/material/.icons/material/database-sync-outline.svg index 6ea45a131..3d5ecd6e9 100644 --- a/material/.icons/material/database-sync-outline.svg +++ b/material/.icons/material/database-sync-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/database-sync.svg b/material/.icons/material/database-sync.svg index a884c481e..cf14aeb97 100644 --- a/material/.icons/material/database-sync.svg +++ b/material/.icons/material/database-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/death-star-variant.svg b/material/.icons/material/death-star-variant.svg index df045765f..015a5e5d3 100644 --- a/material/.icons/material/death-star-variant.svg +++ b/material/.icons/material/death-star-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/death-star.svg b/material/.icons/material/death-star.svg index 9c858b911..a31188d10 100644 --- a/material/.icons/material/death-star.svg +++ b/material/.icons/material/death-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/deathly-hallows.svg b/material/.icons/material/deathly-hallows.svg index e5d1ab4a5..47886bb9d 100644 --- a/material/.icons/material/deathly-hallows.svg +++ b/material/.icons/material/deathly-hallows.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/debug-step-into.svg b/material/.icons/material/debug-step-into.svg index b5ac7582e..63b7d2161 100644 --- a/material/.icons/material/debug-step-into.svg +++ b/material/.icons/material/debug-step-into.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/debug-step-out.svg b/material/.icons/material/debug-step-out.svg index 2097480ef..cbe695d81 100644 --- a/material/.icons/material/debug-step-out.svg +++ b/material/.icons/material/debug-step-out.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/debug-step-over.svg b/material/.icons/material/debug-step-over.svg index 1baf27306..4d9411099 100644 --- a/material/.icons/material/debug-step-over.svg +++ b/material/.icons/material/debug-step-over.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/decimal-comma-decrease.svg b/material/.icons/material/decimal-comma-decrease.svg index 7e383abf5..0d38dce86 100644 --- a/material/.icons/material/decimal-comma-decrease.svg +++ b/material/.icons/material/decimal-comma-decrease.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/decimal-comma-increase.svg b/material/.icons/material/decimal-comma-increase.svg index 9b78718c7..52ad1537d 100644 --- a/material/.icons/material/decimal-comma-increase.svg +++ b/material/.icons/material/decimal-comma-increase.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/decimal-comma.svg b/material/.icons/material/decimal-comma.svg index 91751dabc..9e5445acd 100644 --- a/material/.icons/material/decimal-comma.svg +++ b/material/.icons/material/decimal-comma.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/decimal-decrease.svg b/material/.icons/material/decimal-decrease.svg index b97a963a5..1c79cc421 100644 --- a/material/.icons/material/decimal-decrease.svg +++ b/material/.icons/material/decimal-decrease.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/decimal-increase.svg b/material/.icons/material/decimal-increase.svg index 1fdc76c2d..6377a4b0b 100644 --- a/material/.icons/material/decimal-increase.svg +++ b/material/.icons/material/decimal-increase.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/decimal.svg b/material/.icons/material/decimal.svg index b233e7738..7a57af883 100644 --- a/material/.icons/material/decimal.svg +++ b/material/.icons/material/decimal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete-circle-outline.svg b/material/.icons/material/delete-circle-outline.svg index 6bd862bb5..f614ebebf 100644 --- a/material/.icons/material/delete-circle-outline.svg +++ b/material/.icons/material/delete-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete-circle.svg b/material/.icons/material/delete-circle.svg index 65209400b..69333e2c6 100644 --- a/material/.icons/material/delete-circle.svg +++ b/material/.icons/material/delete-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete-empty-outline.svg b/material/.icons/material/delete-empty-outline.svg index 4b42554de..a48ab9ec2 100644 --- a/material/.icons/material/delete-empty-outline.svg +++ b/material/.icons/material/delete-empty-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete-empty.svg b/material/.icons/material/delete-empty.svg index 46c813e63..183be24d6 100644 --- a/material/.icons/material/delete-empty.svg +++ b/material/.icons/material/delete-empty.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete-forever-outline.svg b/material/.icons/material/delete-forever-outline.svg index e93b11d3d..225e9ee7e 100644 --- a/material/.icons/material/delete-forever-outline.svg +++ b/material/.icons/material/delete-forever-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete-forever.svg b/material/.icons/material/delete-forever.svg index 7949096a9..53b23699c 100644 --- a/material/.icons/material/delete-forever.svg +++ b/material/.icons/material/delete-forever.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete-outline.svg b/material/.icons/material/delete-outline.svg index 760738770..3066ecf17 100644 --- a/material/.icons/material/delete-outline.svg +++ b/material/.icons/material/delete-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete-sweep-outline.svg b/material/.icons/material/delete-sweep-outline.svg index cbbffda29..992d13113 100644 --- a/material/.icons/material/delete-sweep-outline.svg +++ b/material/.icons/material/delete-sweep-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete-sweep.svg b/material/.icons/material/delete-sweep.svg index ede08b5e3..f2aed99d4 100644 --- a/material/.icons/material/delete-sweep.svg +++ b/material/.icons/material/delete-sweep.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/delete.svg b/material/.icons/material/delete.svg index faf6da349..5854d5c6c 100644 --- a/material/.icons/material/delete.svg +++ b/material/.icons/material/delete.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/desk-lamp.svg b/material/.icons/material/desk-lamp.svg index 47dc98285..f71ad8109 100644 --- a/material/.icons/material/desk-lamp.svg +++ b/material/.icons/material/desk-lamp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/deskphone.svg b/material/.icons/material/deskphone.svg index e6d07874d..d98d55225 100644 --- a/material/.icons/material/deskphone.svg +++ b/material/.icons/material/deskphone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/desktop-mac-dashboard.svg b/material/.icons/material/desktop-mac-dashboard.svg index f257e0a0e..8a2c33dc6 100644 --- a/material/.icons/material/desktop-mac-dashboard.svg +++ b/material/.icons/material/desktop-mac-dashboard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/desktop-mac.svg b/material/.icons/material/desktop-mac.svg index 77f9ea65e..d16a547c6 100644 --- a/material/.icons/material/desktop-mac.svg +++ b/material/.icons/material/desktop-mac.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/desktop-tower-monitor.svg b/material/.icons/material/desktop-tower-monitor.svg index afcbe399c..d5dcb78af 100644 --- a/material/.icons/material/desktop-tower-monitor.svg +++ b/material/.icons/material/desktop-tower-monitor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/desktop-tower.svg b/material/.icons/material/desktop-tower.svg index 1a7bb1314..a69d0a0f6 100644 --- a/material/.icons/material/desktop-tower.svg +++ b/material/.icons/material/desktop-tower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/developer-board.svg b/material/.icons/material/developer-board.svg index 3bb851f03..a7ef57ac6 100644 --- a/material/.icons/material/developer-board.svg +++ b/material/.icons/material/developer-board.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diabetes.svg b/material/.icons/material/diabetes.svg index 784a7fc05..fb28ed377 100644 --- a/material/.icons/material/diabetes.svg +++ b/material/.icons/material/diabetes.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dialpad.svg b/material/.icons/material/dialpad.svg index 0d81834d6..8d5c2a9e5 100644 --- a/material/.icons/material/dialpad.svg +++ b/material/.icons/material/dialpad.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diameter-outline.svg b/material/.icons/material/diameter-outline.svg index 3db68ade7..26b28ec1a 100644 --- a/material/.icons/material/diameter-outline.svg +++ b/material/.icons/material/diameter-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diameter-variant.svg b/material/.icons/material/diameter-variant.svg index 25d73e4a8..c435a9fac 100644 --- a/material/.icons/material/diameter-variant.svg +++ b/material/.icons/material/diameter-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diameter.svg b/material/.icons/material/diameter.svg index 765970714..f46365abd 100644 --- a/material/.icons/material/diameter.svg +++ b/material/.icons/material/diameter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-1-outline.svg b/material/.icons/material/dice-1-outline.svg index c7ac00028..427df7847 100644 --- a/material/.icons/material/dice-1-outline.svg +++ b/material/.icons/material/dice-1-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-1.svg b/material/.icons/material/dice-1.svg index 6c0c27772..baf4b2775 100644 --- a/material/.icons/material/dice-1.svg +++ b/material/.icons/material/dice-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-2-outline.svg b/material/.icons/material/dice-2-outline.svg index f380554c4..4618c6d92 100644 --- a/material/.icons/material/dice-2-outline.svg +++ b/material/.icons/material/dice-2-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-2.svg b/material/.icons/material/dice-2.svg index ecb46a041..cddd2788f 100644 --- a/material/.icons/material/dice-2.svg +++ b/material/.icons/material/dice-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-3.svg b/material/.icons/material/dice-3.svg index 6ef345483..72d60008e 100644 --- a/material/.icons/material/dice-3.svg +++ b/material/.icons/material/dice-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-4-outline.svg b/material/.icons/material/dice-4-outline.svg index 66cf76ac9..10ff87aa2 100644 --- a/material/.icons/material/dice-4-outline.svg +++ b/material/.icons/material/dice-4-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-4.svg b/material/.icons/material/dice-4.svg index 760cc74a5..0bf603009 100644 --- a/material/.icons/material/dice-4.svg +++ b/material/.icons/material/dice-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-5.svg b/material/.icons/material/dice-5.svg index 0f03c5aa3..cc677eb4b 100644 --- a/material/.icons/material/dice-5.svg +++ b/material/.icons/material/dice-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-6.svg b/material/.icons/material/dice-6.svg index f90e3104b..e05ce246c 100644 --- a/material/.icons/material/dice-6.svg +++ b/material/.icons/material/dice-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-d10-outline.svg b/material/.icons/material/dice-d10-outline.svg index 2f196cee3..06f7e0bf3 100644 --- a/material/.icons/material/dice-d10-outline.svg +++ b/material/.icons/material/dice-d10-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-d10.svg b/material/.icons/material/dice-d10.svg index f8aaa8877..06e2838ca 100644 --- a/material/.icons/material/dice-d10.svg +++ b/material/.icons/material/dice-d10.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-d20-outline.svg b/material/.icons/material/dice-d20-outline.svg index 797f4ac4f..7428a9ef8 100644 --- a/material/.icons/material/dice-d20-outline.svg +++ b/material/.icons/material/dice-d20-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-d4-outline.svg b/material/.icons/material/dice-d4-outline.svg index 8434d74d3..ad8ca3893 100644 --- a/material/.icons/material/dice-d4-outline.svg +++ b/material/.icons/material/dice-d4-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-d6-outline.svg b/material/.icons/material/dice-d6-outline.svg index ace5755c6..db7315d59 100644 --- a/material/.icons/material/dice-d6-outline.svg +++ b/material/.icons/material/dice-d6-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-d6.svg b/material/.icons/material/dice-d6.svg index cda4723d0..d86821ad4 100644 --- a/material/.icons/material/dice-d6.svg +++ b/material/.icons/material/dice-d6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dice-multiple.svg b/material/.icons/material/dice-multiple.svg index 83d939703..8117f7217 100644 --- a/material/.icons/material/dice-multiple.svg +++ b/material/.icons/material/dice-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dip-switch.svg b/material/.icons/material/dip-switch.svg index 57a9500dc..9e7171c82 100644 --- a/material/.icons/material/dip-switch.svg +++ b/material/.icons/material/dip-switch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/directions.svg b/material/.icons/material/directions.svg index 75e7395d1..77b6c2121 100644 --- a/material/.icons/material/directions.svg +++ b/material/.icons/material/directions.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/disc-player.svg b/material/.icons/material/disc-player.svg index 1339e637d..94ffc107e 100644 --- a/material/.icons/material/disc-player.svg +++ b/material/.icons/material/disc-player.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/disc.svg b/material/.icons/material/disc.svg index f4355908b..4179ade3f 100644 --- a/material/.icons/material/disc.svg +++ b/material/.icons/material/disc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/discord.svg b/material/.icons/material/discord.svg index 3d84e4d6c..9df8d13ff 100644 --- a/material/.icons/material/discord.svg +++ b/material/.icons/material/discord.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dishwasher-alert.svg b/material/.icons/material/dishwasher-alert.svg index 4d94273b0..c419adbd6 100644 --- a/material/.icons/material/dishwasher-alert.svg +++ b/material/.icons/material/dishwasher-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dishwasher-off.svg b/material/.icons/material/dishwasher-off.svg index 867e0baad..7f4dc02ce 100644 --- a/material/.icons/material/dishwasher-off.svg +++ b/material/.icons/material/dishwasher-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dishwasher.svg b/material/.icons/material/dishwasher.svg index ae9e1e709..59280b09a 100644 --- a/material/.icons/material/dishwasher.svg +++ b/material/.icons/material/dishwasher.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diving-flippers.svg b/material/.icons/material/diving-flippers.svg index 6c05f5edf..8fab095fa 100644 --- a/material/.icons/material/diving-flippers.svg +++ b/material/.icons/material/diving-flippers.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diving-helmet.svg b/material/.icons/material/diving-helmet.svg index 61e8d7968..df3aab57b 100644 --- a/material/.icons/material/diving-helmet.svg +++ b/material/.icons/material/diving-helmet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diving-scuba-tank-multiple.svg b/material/.icons/material/diving-scuba-tank-multiple.svg index 110c70e9d..b7d7151e8 100644 --- a/material/.icons/material/diving-scuba-tank-multiple.svg +++ b/material/.icons/material/diving-scuba-tank-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diving-scuba-tank.svg b/material/.icons/material/diving-scuba-tank.svg index 7d8591256..479e85488 100644 --- a/material/.icons/material/diving-scuba-tank.svg +++ b/material/.icons/material/diving-scuba-tank.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diving-scuba.svg b/material/.icons/material/diving-scuba.svg index 27ddfee33..214b8646a 100644 --- a/material/.icons/material/diving-scuba.svg +++ b/material/.icons/material/diving-scuba.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/diving-snorkel.svg b/material/.icons/material/diving-snorkel.svg index aa8046d79..76f442da1 100644 --- a/material/.icons/material/diving-snorkel.svg +++ b/material/.icons/material/diving-snorkel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/division-box.svg b/material/.icons/material/division-box.svg index dd97a7248..4b159682d 100644 --- a/material/.icons/material/division-box.svg +++ b/material/.icons/material/division-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/division.svg b/material/.icons/material/division.svg index ca1874484..b26a5d9e5 100644 --- a/material/.icons/material/division.svg +++ b/material/.icons/material/division.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dns-outline.svg b/material/.icons/material/dns-outline.svg index 010ed09e3..73245ecbe 100644 --- a/material/.icons/material/dns-outline.svg +++ b/material/.icons/material/dns-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dns.svg b/material/.icons/material/dns.svg index 8aa3656ba..4bd15ead3 100644 --- a/material/.icons/material/dns.svg +++ b/material/.icons/material/dns.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/do-not-disturb-off.svg b/material/.icons/material/do-not-disturb-off.svg index d1912fb37..4706ccec7 100644 --- a/material/.icons/material/do-not-disturb-off.svg +++ b/material/.icons/material/do-not-disturb-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/do-not-disturb.svg b/material/.icons/material/do-not-disturb.svg index ec8c39b49..4d3c793d0 100644 --- a/material/.icons/material/do-not-disturb.svg +++ b/material/.icons/material/do-not-disturb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dock-bottom.svg b/material/.icons/material/dock-bottom.svg index 8d64f6a0d..0f27250f2 100644 --- a/material/.icons/material/dock-bottom.svg +++ b/material/.icons/material/dock-bottom.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dock-left.svg b/material/.icons/material/dock-left.svg index 098621c62..7ace34d27 100644 --- a/material/.icons/material/dock-left.svg +++ b/material/.icons/material/dock-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dock-right.svg b/material/.icons/material/dock-right.svg index ceb04a1cd..da5d6b07a 100644 --- a/material/.icons/material/dock-right.svg +++ b/material/.icons/material/dock-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dock-top.svg b/material/.icons/material/dock-top.svg index f7a163b48..ac7bf6fcb 100644 --- a/material/.icons/material/dock-top.svg +++ b/material/.icons/material/dock-top.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dock-window.svg b/material/.icons/material/dock-window.svg index 8c943ee44..9974cb38f 100644 --- a/material/.icons/material/dock-window.svg +++ b/material/.icons/material/dock-window.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/docker.svg b/material/.icons/material/docker.svg index e0b3b8ab1..892b6bad0 100644 --- a/material/.icons/material/docker.svg +++ b/material/.icons/material/docker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/doctor.svg b/material/.icons/material/doctor.svg index 5269fa050..f5cad10d6 100644 --- a/material/.icons/material/doctor.svg +++ b/material/.icons/material/doctor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dog-service.svg b/material/.icons/material/dog-service.svg index dd873a81f..eb747f487 100644 --- a/material/.icons/material/dog-service.svg +++ b/material/.icons/material/dog-service.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dog.svg b/material/.icons/material/dog.svg index fc5cb59af..aa8853a80 100644 --- a/material/.icons/material/dog.svg +++ b/material/.icons/material/dog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dolly.svg b/material/.icons/material/dolly.svg index b1565ef81..7e8c34730 100644 --- a/material/.icons/material/dolly.svg +++ b/material/.icons/material/dolly.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/domain-plus.svg b/material/.icons/material/domain-plus.svg index 1b2871a4b..43c0f1e49 100644 --- a/material/.icons/material/domain-plus.svg +++ b/material/.icons/material/domain-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/domain-remove.svg b/material/.icons/material/domain-remove.svg index eb39debd4..ed1cd097b 100644 --- a/material/.icons/material/domain-remove.svg +++ b/material/.icons/material/domain-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dome-light.svg b/material/.icons/material/dome-light.svg index 12876bdca..3b02c8918 100644 --- a/material/.icons/material/dome-light.svg +++ b/material/.icons/material/dome-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/donkey.svg b/material/.icons/material/donkey.svg index 232836370..19ac2d358 100644 --- a/material/.icons/material/donkey.svg +++ b/material/.icons/material/donkey.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/door-closed-lock.svg b/material/.icons/material/door-closed-lock.svg index 0a33b125e..9b98f58b7 100644 --- a/material/.icons/material/door-closed-lock.svg +++ b/material/.icons/material/door-closed-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/doorbell-video.svg b/material/.icons/material/doorbell-video.svg index 9f55d8cfc..873acf6ef 100644 --- a/material/.icons/material/doorbell-video.svg +++ b/material/.icons/material/doorbell-video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dot-net.svg b/material/.icons/material/dot-net.svg index 48af82bc4..444be548a 100644 --- a/material/.icons/material/dot-net.svg +++ b/material/.icons/material/dot-net.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dots-horizontal-circle-outline.svg b/material/.icons/material/dots-horizontal-circle-outline.svg index 6047d4b05..62ca60efd 100644 --- a/material/.icons/material/dots-horizontal-circle-outline.svg +++ b/material/.icons/material/dots-horizontal-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dots-horizontal-circle.svg b/material/.icons/material/dots-horizontal-circle.svg index ab0796b47..2eb0b97c6 100644 --- a/material/.icons/material/dots-horizontal-circle.svg +++ b/material/.icons/material/dots-horizontal-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dots-horizontal.svg b/material/.icons/material/dots-horizontal.svg index 12ac139cc..a41ad8725 100644 --- a/material/.icons/material/dots-horizontal.svg +++ b/material/.icons/material/dots-horizontal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dots-vertical-circle-outline.svg b/material/.icons/material/dots-vertical-circle-outline.svg index b0cf493d8..b1ad2e2a3 100644 --- a/material/.icons/material/dots-vertical-circle-outline.svg +++ b/material/.icons/material/dots-vertical-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dots-vertical-circle.svg b/material/.icons/material/dots-vertical-circle.svg index ba7b8b53f..560406e40 100644 --- a/material/.icons/material/dots-vertical-circle.svg +++ b/material/.icons/material/dots-vertical-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dots-vertical.svg b/material/.icons/material/dots-vertical.svg index a6c3d6947..a01e09047 100644 --- a/material/.icons/material/dots-vertical.svg +++ b/material/.icons/material/dots-vertical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/download-box-outline.svg b/material/.icons/material/download-box-outline.svg index be443f50d..292010317 100644 --- a/material/.icons/material/download-box-outline.svg +++ b/material/.icons/material/download-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/download-box.svg b/material/.icons/material/download-box.svg index 9ac465eac..ab70912d2 100644 --- a/material/.icons/material/download-box.svg +++ b/material/.icons/material/download-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/download-lock-outline.svg b/material/.icons/material/download-lock-outline.svg index 76b5ba0d7..de84ae8a1 100644 --- a/material/.icons/material/download-lock-outline.svg +++ b/material/.icons/material/download-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/download-lock.svg b/material/.icons/material/download-lock.svg index 6ace43f57..c5921406c 100644 --- a/material/.icons/material/download-lock.svg +++ b/material/.icons/material/download-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/download-network-outline.svg b/material/.icons/material/download-network-outline.svg index 6c37dbd1a..0a8cfb816 100644 --- a/material/.icons/material/download-network-outline.svg +++ b/material/.icons/material/download-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/download-network.svg b/material/.icons/material/download-network.svg index 5a6b46433..68d2bdc4d 100644 --- a/material/.icons/material/download-network.svg +++ b/material/.icons/material/download-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/drag-variant.svg b/material/.icons/material/drag-variant.svg index 2c9049439..2f216540d 100644 --- a/material/.icons/material/drag-variant.svg +++ b/material/.icons/material/drag-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/drama-masks.svg b/material/.icons/material/drama-masks.svg index 0f8aa1dff..a55e7d976 100644 --- a/material/.icons/material/drama-masks.svg +++ b/material/.icons/material/drama-masks.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/draw.svg b/material/.icons/material/draw.svg index 6a21bc432..7bb8e20ee 100644 --- a/material/.icons/material/draw.svg +++ b/material/.icons/material/draw.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/drawing-box.svg b/material/.icons/material/drawing-box.svg index c4fbb2aaa..42e80a0d2 100644 --- a/material/.icons/material/drawing-box.svg +++ b/material/.icons/material/drawing-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/drawing.svg b/material/.icons/material/drawing.svg index a63ef74a8..95bebd35a 100644 --- a/material/.icons/material/drawing.svg +++ b/material/.icons/material/drawing.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dresser-outline.svg b/material/.icons/material/dresser-outline.svg index 8e17a2743..039a1ffb6 100644 --- a/material/.icons/material/dresser-outline.svg +++ b/material/.icons/material/dresser-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dresser.svg b/material/.icons/material/dresser.svg index e8d536e05..94b70b6a9 100644 --- a/material/.icons/material/dresser.svg +++ b/material/.icons/material/dresser.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/drone.svg b/material/.icons/material/drone.svg index ba2fb32c8..9a6669edd 100644 --- a/material/.icons/material/drone.svg +++ b/material/.icons/material/drone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/duck.svg b/material/.icons/material/duck.svg index 01e7613c1..6fffaab4d 100644 --- a/material/.icons/material/duck.svg +++ b/material/.icons/material/duck.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/dump-truck.svg b/material/.icons/material/dump-truck.svg index 321e4326d..e6555f862 100644 --- a/material/.icons/material/dump-truck.svg +++ b/material/.icons/material/dump-truck.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ear-hearing-off.svg b/material/.icons/material/ear-hearing-off.svg index 24ce4373c..8fb62e042 100644 --- a/material/.icons/material/ear-hearing-off.svg +++ b/material/.icons/material/ear-hearing-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ear-hearing.svg b/material/.icons/material/ear-hearing.svg index 9ef61ec58..bd33564fe 100644 --- a/material/.icons/material/ear-hearing.svg +++ b/material/.icons/material/ear-hearing.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/earth-box-minus.svg b/material/.icons/material/earth-box-minus.svg index 20850c616..34421c4df 100644 --- a/material/.icons/material/earth-box-minus.svg +++ b/material/.icons/material/earth-box-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/earth-box-off.svg b/material/.icons/material/earth-box-off.svg index 0ee8ccddd..bb8ab9d5c 100644 --- a/material/.icons/material/earth-box-off.svg +++ b/material/.icons/material/earth-box-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/earth-box-plus.svg b/material/.icons/material/earth-box-plus.svg index 060d7eb89..1a03b59fe 100644 --- a/material/.icons/material/earth-box-plus.svg +++ b/material/.icons/material/earth-box-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/earth-box-remove.svg b/material/.icons/material/earth-box-remove.svg index b1e83390f..09256bd58 100644 --- a/material/.icons/material/earth-box-remove.svg +++ b/material/.icons/material/earth-box-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/earth-box.svg b/material/.icons/material/earth-box.svg index 6ab74968f..e42b80756 100644 --- a/material/.icons/material/earth-box.svg +++ b/material/.icons/material/earth-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/earth-off.svg b/material/.icons/material/earth-off.svg index f6b1568e1..0d829f713 100644 --- a/material/.icons/material/earth-off.svg +++ b/material/.icons/material/earth-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/earth.svg b/material/.icons/material/earth.svg index 980428c82..aa9f3500c 100644 --- a/material/.icons/material/earth.svg +++ b/material/.icons/material/earth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/egg-easter.svg b/material/.icons/material/egg-easter.svg index 309956852..d7fdc2ed2 100644 --- a/material/.icons/material/egg-easter.svg +++ b/material/.icons/material/egg-easter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/egg-off-outline.svg b/material/.icons/material/egg-off-outline.svg index 2db9c1527..2b3ecd56a 100644 --- a/material/.icons/material/egg-off-outline.svg +++ b/material/.icons/material/egg-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/egg.svg b/material/.icons/material/egg.svg index adca6a488..482e03d66 100644 --- a/material/.icons/material/egg.svg +++ b/material/.icons/material/egg.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eiffel-tower.svg b/material/.icons/material/eiffel-tower.svg index bd63808f9..e1f484981 100644 --- a/material/.icons/material/eiffel-tower.svg +++ b/material/.icons/material/eiffel-tower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eight-track.svg b/material/.icons/material/eight-track.svg index fdb118b7e..b7f7a5862 100644 --- a/material/.icons/material/eight-track.svg +++ b/material/.icons/material/eight-track.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/electric-switch-closed.svg b/material/.icons/material/electric-switch-closed.svg index 162a16f09..cf9ccc51d 100644 --- a/material/.icons/material/electric-switch-closed.svg +++ b/material/.icons/material/electric-switch-closed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/electric-switch.svg b/material/.icons/material/electric-switch.svg index 174995a66..5a871f024 100644 --- a/material/.icons/material/electric-switch.svg +++ b/material/.icons/material/electric-switch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/electron-framework.svg b/material/.icons/material/electron-framework.svg index 17aacb712..7d38f21d4 100644 --- a/material/.icons/material/electron-framework.svg +++ b/material/.icons/material/electron-framework.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/elephant.svg b/material/.icons/material/elephant.svg index 7b1f72f0f..388c3c193 100644 --- a/material/.icons/material/elephant.svg +++ b/material/.icons/material/elephant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/elevator-down.svg b/material/.icons/material/elevator-down.svg index aede85f2f..b9932583f 100644 --- a/material/.icons/material/elevator-down.svg +++ b/material/.icons/material/elevator-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/elevator-up.svg b/material/.icons/material/elevator-up.svg index 80b22c4a8..79a54c7e0 100644 --- a/material/.icons/material/elevator-up.svg +++ b/material/.icons/material/elevator-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/elevator.svg b/material/.icons/material/elevator.svg index 18dcf37c4..7be8d8d05 100644 --- a/material/.icons/material/elevator.svg +++ b/material/.icons/material/elevator.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-box.svg b/material/.icons/material/email-box.svg index a0b0f0a39..d3e4afbf4 100644 --- a/material/.icons/material/email-box.svg +++ b/material/.icons/material/email-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-check.svg b/material/.icons/material/email-check.svg index 97d99fcce..ca4019501 100644 --- a/material/.icons/material/email-check.svg +++ b/material/.icons/material/email-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-edit-outline.svg b/material/.icons/material/email-edit-outline.svg index 3a84adee7..7997ab643 100644 --- a/material/.icons/material/email-edit-outline.svg +++ b/material/.icons/material/email-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-edit.svg b/material/.icons/material/email-edit.svg index debe578ae..c83dcc319 100644 --- a/material/.icons/material/email-edit.svg +++ b/material/.icons/material/email-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-lock.svg b/material/.icons/material/email-lock.svg index 420d891a4..c7a0a2771 100644 --- a/material/.icons/material/email-lock.svg +++ b/material/.icons/material/email-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-mark-as-unread.svg b/material/.icons/material/email-mark-as-unread.svg index 3b56410f0..e47e1caf7 100644 --- a/material/.icons/material/email-mark-as-unread.svg +++ b/material/.icons/material/email-mark-as-unread.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-minus.svg b/material/.icons/material/email-minus.svg index 42c605b6c..5a29629f5 100644 --- a/material/.icons/material/email-minus.svg +++ b/material/.icons/material/email-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-multiple.svg b/material/.icons/material/email-multiple.svg index 183eb6128..e236aa376 100644 --- a/material/.icons/material/email-multiple.svg +++ b/material/.icons/material/email-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-newsletter.svg b/material/.icons/material/email-newsletter.svg index d0d7bf4f6..b4a0bb59c 100644 --- a/material/.icons/material/email-newsletter.svg +++ b/material/.icons/material/email-newsletter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-open-multiple.svg b/material/.icons/material/email-open-multiple.svg index 46bfc0e4c..927ee2465 100644 --- a/material/.icons/material/email-open-multiple.svg +++ b/material/.icons/material/email-open-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-open.svg b/material/.icons/material/email-open.svg index eba2d3bb1..6a4996df7 100644 --- a/material/.icons/material/email-open.svg +++ b/material/.icons/material/email-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-plus.svg b/material/.icons/material/email-plus.svg index 6e3c3573d..bd0e3ff30 100644 --- a/material/.icons/material/email-plus.svg +++ b/material/.icons/material/email-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-receive-outline.svg b/material/.icons/material/email-receive-outline.svg index 16e7fce34..8c25a81b0 100644 --- a/material/.icons/material/email-receive-outline.svg +++ b/material/.icons/material/email-receive-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-receive.svg b/material/.icons/material/email-receive.svg index f81b1f8fb..7698985b2 100644 --- a/material/.icons/material/email-receive.svg +++ b/material/.icons/material/email-receive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-remove.svg b/material/.icons/material/email-remove.svg index bafbe0a2b..2fba38fec 100644 --- a/material/.icons/material/email-remove.svg +++ b/material/.icons/material/email-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-search-outline.svg b/material/.icons/material/email-search-outline.svg index 9bf6533cd..3c26d6c2f 100644 --- a/material/.icons/material/email-search-outline.svg +++ b/material/.icons/material/email-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-search.svg b/material/.icons/material/email-search.svg index 50c64d6e3..6bd8965d3 100644 --- a/material/.icons/material/email-search.svg +++ b/material/.icons/material/email-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-send-outline.svg b/material/.icons/material/email-send-outline.svg index ed4d557c9..b3a153974 100644 --- a/material/.icons/material/email-send-outline.svg +++ b/material/.icons/material/email-send-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-send.svg b/material/.icons/material/email-send.svg index ca78d7f3c..a3bce7482 100644 --- a/material/.icons/material/email-send.svg +++ b/material/.icons/material/email-send.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-sync-outline.svg b/material/.icons/material/email-sync-outline.svg index d7cc78764..947b9d914 100644 --- a/material/.icons/material/email-sync-outline.svg +++ b/material/.icons/material/email-sync-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-sync.svg b/material/.icons/material/email-sync.svg index d3ec8bc49..a11ac26fa 100644 --- a/material/.icons/material/email-sync.svg +++ b/material/.icons/material/email-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email-variant.svg b/material/.icons/material/email-variant.svg index 12677180b..63f84fdcb 100644 --- a/material/.icons/material/email-variant.svg +++ b/material/.icons/material/email-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/email.svg b/material/.icons/material/email.svg index 4f9c3de85..c88bb7a51 100644 --- a/material/.icons/material/email.svg +++ b/material/.icons/material/email.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-angry-outline.svg b/material/.icons/material/emoticon-angry-outline.svg index e9679ec17..054e90aa3 100644 --- a/material/.icons/material/emoticon-angry-outline.svg +++ b/material/.icons/material/emoticon-angry-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-angry.svg b/material/.icons/material/emoticon-angry.svg index 4d40fe8f9..b31e7c654 100644 --- a/material/.icons/material/emoticon-angry.svg +++ b/material/.icons/material/emoticon-angry.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-confused-outline.svg b/material/.icons/material/emoticon-confused-outline.svg index 5c985bb0a..e694b758b 100644 --- a/material/.icons/material/emoticon-confused-outline.svg +++ b/material/.icons/material/emoticon-confused-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-confused.svg b/material/.icons/material/emoticon-confused.svg index e1059cd76..51735a5f5 100644 --- a/material/.icons/material/emoticon-confused.svg +++ b/material/.icons/material/emoticon-confused.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-cool-outline.svg b/material/.icons/material/emoticon-cool-outline.svg index d76467fb5..e8a3ee6ce 100644 --- a/material/.icons/material/emoticon-cool-outline.svg +++ b/material/.icons/material/emoticon-cool-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-cool.svg b/material/.icons/material/emoticon-cool.svg index 4250915d6..7065baf94 100644 --- a/material/.icons/material/emoticon-cool.svg +++ b/material/.icons/material/emoticon-cool.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-cry-outline.svg b/material/.icons/material/emoticon-cry-outline.svg index 40846314f..215fc82be 100644 --- a/material/.icons/material/emoticon-cry-outline.svg +++ b/material/.icons/material/emoticon-cry-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-cry.svg b/material/.icons/material/emoticon-cry.svg index d7099c89f..2b8f0ad58 100644 --- a/material/.icons/material/emoticon-cry.svg +++ b/material/.icons/material/emoticon-cry.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-dead-outline.svg b/material/.icons/material/emoticon-dead-outline.svg index 32f11a2e3..ca2274a1a 100644 --- a/material/.icons/material/emoticon-dead-outline.svg +++ b/material/.icons/material/emoticon-dead-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-dead.svg b/material/.icons/material/emoticon-dead.svg index 0ba7681c2..862b067bc 100644 --- a/material/.icons/material/emoticon-dead.svg +++ b/material/.icons/material/emoticon-dead.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-devil-outline.svg b/material/.icons/material/emoticon-devil-outline.svg index e414e82bf..324517fd1 100644 --- a/material/.icons/material/emoticon-devil-outline.svg +++ b/material/.icons/material/emoticon-devil-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-devil.svg b/material/.icons/material/emoticon-devil.svg index ed9a611f1..e3a26441e 100644 --- a/material/.icons/material/emoticon-devil.svg +++ b/material/.icons/material/emoticon-devil.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-excited-outline.svg b/material/.icons/material/emoticon-excited-outline.svg index 47e700398..9a78e122b 100644 --- a/material/.icons/material/emoticon-excited-outline.svg +++ b/material/.icons/material/emoticon-excited-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-excited.svg b/material/.icons/material/emoticon-excited.svg index 6bd1cda3b..b76a08e83 100644 --- a/material/.icons/material/emoticon-excited.svg +++ b/material/.icons/material/emoticon-excited.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-happy-outline.svg b/material/.icons/material/emoticon-happy-outline.svg index ea37ea4a3..270da4254 100644 --- a/material/.icons/material/emoticon-happy-outline.svg +++ b/material/.icons/material/emoticon-happy-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-happy.svg b/material/.icons/material/emoticon-happy.svg index f1eccf2bb..3c503dea7 100644 --- a/material/.icons/material/emoticon-happy.svg +++ b/material/.icons/material/emoticon-happy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-kiss-outline.svg b/material/.icons/material/emoticon-kiss-outline.svg index 8fba79aac..e31e00b8a 100644 --- a/material/.icons/material/emoticon-kiss-outline.svg +++ b/material/.icons/material/emoticon-kiss-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-kiss.svg b/material/.icons/material/emoticon-kiss.svg index 191a2646a..5422af0ee 100644 --- a/material/.icons/material/emoticon-kiss.svg +++ b/material/.icons/material/emoticon-kiss.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-lol-outline.svg b/material/.icons/material/emoticon-lol-outline.svg index 75cb97d6d..c0b7e1739 100644 --- a/material/.icons/material/emoticon-lol-outline.svg +++ b/material/.icons/material/emoticon-lol-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-lol.svg b/material/.icons/material/emoticon-lol.svg index 74f0377c9..fae7311d1 100644 --- a/material/.icons/material/emoticon-lol.svg +++ b/material/.icons/material/emoticon-lol.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-neutral-outline.svg b/material/.icons/material/emoticon-neutral-outline.svg index dfac891bf..f9c426b15 100644 --- a/material/.icons/material/emoticon-neutral-outline.svg +++ b/material/.icons/material/emoticon-neutral-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-neutral.svg b/material/.icons/material/emoticon-neutral.svg index 1ab3b226c..01977baa7 100644 --- a/material/.icons/material/emoticon-neutral.svg +++ b/material/.icons/material/emoticon-neutral.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-outline.svg b/material/.icons/material/emoticon-outline.svg index d3df3801b..2e0367332 100644 --- a/material/.icons/material/emoticon-outline.svg +++ b/material/.icons/material/emoticon-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-poop-outline.svg b/material/.icons/material/emoticon-poop-outline.svg index 07a3bd82c..da0858508 100644 --- a/material/.icons/material/emoticon-poop-outline.svg +++ b/material/.icons/material/emoticon-poop-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-poop.svg b/material/.icons/material/emoticon-poop.svg index 78eef4d37..e3de4d8a6 100644 --- a/material/.icons/material/emoticon-poop.svg +++ b/material/.icons/material/emoticon-poop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-sad-outline.svg b/material/.icons/material/emoticon-sad-outline.svg index 866081ce1..76fd9ce69 100644 --- a/material/.icons/material/emoticon-sad-outline.svg +++ b/material/.icons/material/emoticon-sad-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-sad.svg b/material/.icons/material/emoticon-sad.svg index 096284ac3..49da8f490 100644 --- a/material/.icons/material/emoticon-sad.svg +++ b/material/.icons/material/emoticon-sad.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-sick-outline.svg b/material/.icons/material/emoticon-sick-outline.svg index 6588d067e..671c8a0a9 100644 --- a/material/.icons/material/emoticon-sick-outline.svg +++ b/material/.icons/material/emoticon-sick-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-sick.svg b/material/.icons/material/emoticon-sick.svg index 699361a65..2b61b4cb0 100644 --- a/material/.icons/material/emoticon-sick.svg +++ b/material/.icons/material/emoticon-sick.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-tongue-outline.svg b/material/.icons/material/emoticon-tongue-outline.svg index 1d5c4877d..177441c8f 100644 --- a/material/.icons/material/emoticon-tongue-outline.svg +++ b/material/.icons/material/emoticon-tongue-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-tongue.svg b/material/.icons/material/emoticon-tongue.svg index 2feb136f8..3c6423b67 100644 --- a/material/.icons/material/emoticon-tongue.svg +++ b/material/.icons/material/emoticon-tongue.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-wink-outline.svg b/material/.icons/material/emoticon-wink-outline.svg index 23d63bdc9..9aec14ad5 100644 --- a/material/.icons/material/emoticon-wink-outline.svg +++ b/material/.icons/material/emoticon-wink-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon-wink.svg b/material/.icons/material/emoticon-wink.svg index 146e74f92..9517427bf 100644 --- a/material/.icons/material/emoticon-wink.svg +++ b/material/.icons/material/emoticon-wink.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/emoticon.svg b/material/.icons/material/emoticon.svg index 8caf7f445..407058570 100644 --- a/material/.icons/material/emoticon.svg +++ b/material/.icons/material/emoticon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/equal-box.svg b/material/.icons/material/equal-box.svg index b4668c399..896ed4cae 100644 --- a/material/.icons/material/equal-box.svg +++ b/material/.icons/material/equal-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eraser.svg b/material/.icons/material/eraser.svg index 0cd034b92..ccfe2d80d 100644 --- a/material/.icons/material/eraser.svg +++ b/material/.icons/material/eraser.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/escalator-box.svg b/material/.icons/material/escalator-box.svg index 387a78e1c..5f1d68c04 100644 --- a/material/.icons/material/escalator-box.svg +++ b/material/.icons/material/escalator-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/escalator-down.svg b/material/.icons/material/escalator-down.svg index ab76d97c9..5812a5468 100644 --- a/material/.icons/material/escalator-down.svg +++ b/material/.icons/material/escalator-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/escalator-up.svg b/material/.icons/material/escalator-up.svg index c11144044..31010a4f3 100644 --- a/material/.icons/material/escalator-up.svg +++ b/material/.icons/material/escalator-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/escalator.svg b/material/.icons/material/escalator.svg index fe35fc109..1467714fb 100644 --- a/material/.icons/material/escalator.svg +++ b/material/.icons/material/escalator.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eslint.svg b/material/.icons/material/eslint.svg index 31113a4ff..1375042d5 100644 --- a/material/.icons/material/eslint.svg +++ b/material/.icons/material/eslint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/et.svg b/material/.icons/material/et.svg index 635c48cf6..f4a47000f 100644 --- a/material/.icons/material/et.svg +++ b/material/.icons/material/et.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ethernet.svg b/material/.icons/material/ethernet.svg index 5302c27a6..da2c81783 100644 --- a/material/.icons/material/ethernet.svg +++ b/material/.icons/material/ethernet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ev-plug-ccs1.svg b/material/.icons/material/ev-plug-ccs1.svg index b0a84fc5a..bca6229d9 100644 --- a/material/.icons/material/ev-plug-ccs1.svg +++ b/material/.icons/material/ev-plug-ccs1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ev-plug-ccs2.svg b/material/.icons/material/ev-plug-ccs2.svg index e15fcb4ef..c7dce4c4d 100644 --- a/material/.icons/material/ev-plug-ccs2.svg +++ b/material/.icons/material/ev-plug-ccs2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ev-plug-chademo.svg b/material/.icons/material/ev-plug-chademo.svg index cba4fdb6b..8bce64107 100644 --- a/material/.icons/material/ev-plug-chademo.svg +++ b/material/.icons/material/ev-plug-chademo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ev-plug-tesla.svg b/material/.icons/material/ev-plug-tesla.svg index abba2f13b..0155f0d45 100644 --- a/material/.icons/material/ev-plug-tesla.svg +++ b/material/.icons/material/ev-plug-tesla.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ev-plug-type1.svg b/material/.icons/material/ev-plug-type1.svg index c9b6d778a..b26385cc7 100644 --- a/material/.icons/material/ev-plug-type1.svg +++ b/material/.icons/material/ev-plug-type1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ev-plug-type2.svg b/material/.icons/material/ev-plug-type2.svg index e910cfdb3..f3d14f33f 100644 --- a/material/.icons/material/ev-plug-type2.svg +++ b/material/.icons/material/ev-plug-type2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ev-station.svg b/material/.icons/material/ev-station.svg index b3d8d503d..bcf94648c 100644 --- a/material/.icons/material/ev-station.svg +++ b/material/.icons/material/ev-station.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/excavator.svg b/material/.icons/material/excavator.svg index 57425f074..679c43343 100644 --- a/material/.icons/material/excavator.svg +++ b/material/.icons/material/excavator.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/exit-run.svg b/material/.icons/material/exit-run.svg index 827a353db..e3d26f2ba 100644 --- a/material/.icons/material/exit-run.svg +++ b/material/.icons/material/exit-run.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/exit-to-app.svg b/material/.icons/material/exit-to-app.svg index f81474153..a444ddcad 100644 --- a/material/.icons/material/exit-to-app.svg +++ b/material/.icons/material/exit-to-app.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/expand-all-outline.svg b/material/.icons/material/expand-all-outline.svg index 840d64528..524b9d315 100644 --- a/material/.icons/material/expand-all-outline.svg +++ b/material/.icons/material/expand-all-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/expand-all.svg b/material/.icons/material/expand-all.svg index 0681d162e..47526b491 100644 --- a/material/.icons/material/expand-all.svg +++ b/material/.icons/material/expand-all.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/expansion-card.svg b/material/.icons/material/expansion-card.svg index 3ddf4651e..f64ad4a51 100644 --- a/material/.icons/material/expansion-card.svg +++ b/material/.icons/material/expansion-card.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/exponent-box.svg b/material/.icons/material/exponent-box.svg index e5020b3bd..760fe2b59 100644 --- a/material/.icons/material/exponent-box.svg +++ b/material/.icons/material/exponent-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/export-variant.svg b/material/.icons/material/export-variant.svg index 329005401..384c7384f 100644 --- a/material/.icons/material/export-variant.svg +++ b/material/.icons/material/export-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/export.svg b/material/.icons/material/export.svg index 735d4150d..2cb98f577 100644 --- a/material/.icons/material/export.svg +++ b/material/.icons/material/export.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-check-outline.svg b/material/.icons/material/eye-check-outline.svg index af1cd83ee..91b1e5872 100644 --- a/material/.icons/material/eye-check-outline.svg +++ b/material/.icons/material/eye-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-check.svg b/material/.icons/material/eye-check.svg index 1a4c799da..f38c015b6 100644 --- a/material/.icons/material/eye-check.svg +++ b/material/.icons/material/eye-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-circle-outline.svg b/material/.icons/material/eye-circle-outline.svg index 85dd38291..64a2fedff 100644 --- a/material/.icons/material/eye-circle-outline.svg +++ b/material/.icons/material/eye-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-circle.svg b/material/.icons/material/eye-circle.svg index 3549f0211..1138def6c 100644 --- a/material/.icons/material/eye-circle.svg +++ b/material/.icons/material/eye-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-minus-outline.svg b/material/.icons/material/eye-minus-outline.svg index 640633fce..988728bff 100644 --- a/material/.icons/material/eye-minus-outline.svg +++ b/material/.icons/material/eye-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-minus.svg b/material/.icons/material/eye-minus.svg index 71e1bfbb5..37d29c53e 100644 --- a/material/.icons/material/eye-minus.svg +++ b/material/.icons/material/eye-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-off-outline.svg b/material/.icons/material/eye-off-outline.svg index 9319b4e00..994a3f93e 100644 --- a/material/.icons/material/eye-off-outline.svg +++ b/material/.icons/material/eye-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-off.svg b/material/.icons/material/eye-off.svg index 80e9a2db8..35075bcf6 100644 --- a/material/.icons/material/eye-off.svg +++ b/material/.icons/material/eye-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-outline.svg b/material/.icons/material/eye-outline.svg index b29990707..5060b82c0 100644 --- a/material/.icons/material/eye-outline.svg +++ b/material/.icons/material/eye-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-plus-outline.svg b/material/.icons/material/eye-plus-outline.svg index e0e0273ab..7ebaa2915 100644 --- a/material/.icons/material/eye-plus-outline.svg +++ b/material/.icons/material/eye-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-plus.svg b/material/.icons/material/eye-plus.svg index a26eddb6b..ed8ad97af 100644 --- a/material/.icons/material/eye-plus.svg +++ b/material/.icons/material/eye-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-remove-outline.svg b/material/.icons/material/eye-remove-outline.svg index 2afc26817..980198398 100644 --- a/material/.icons/material/eye-remove-outline.svg +++ b/material/.icons/material/eye-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-settings-outline.svg b/material/.icons/material/eye-settings-outline.svg index ae8c0f936..11a4f7139 100644 --- a/material/.icons/material/eye-settings-outline.svg +++ b/material/.icons/material/eye-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye-settings.svg b/material/.icons/material/eye-settings.svg index 6a0cbb695..f7b7b5637 100644 --- a/material/.icons/material/eye-settings.svg +++ b/material/.icons/material/eye-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eye.svg b/material/.icons/material/eye.svg index 5c8f02a0e..1a98dfe14 100644 --- a/material/.icons/material/eye.svg +++ b/material/.icons/material/eye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/eyedropper.svg b/material/.icons/material/eyedropper.svg index 31680d066..3f2a5646a 100644 --- a/material/.icons/material/eyedropper.svg +++ b/material/.icons/material/eyedropper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-agent.svg b/material/.icons/material/face-agent.svg index c1a420f19..bdea1789a 100644 --- a/material/.icons/material/face-agent.svg +++ b/material/.icons/material/face-agent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-mask-outline.svg b/material/.icons/material/face-mask-outline.svg index fa5396497..35eea2955 100644 --- a/material/.icons/material/face-mask-outline.svg +++ b/material/.icons/material/face-mask-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-mask.svg b/material/.icons/material/face-mask.svg index 1bec81796..336ede3c5 100644 --- a/material/.icons/material/face-mask.svg +++ b/material/.icons/material/face-mask.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-outline.svg b/material/.icons/material/face-outline.svg index 32fb8fea5..f5e056223 100644 --- a/material/.icons/material/face-outline.svg +++ b/material/.icons/material/face-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-profile-woman.svg b/material/.icons/material/face-profile-woman.svg index 4f2362ba3..4a40abd2a 100644 --- a/material/.icons/material/face-profile-woman.svg +++ b/material/.icons/material/face-profile-woman.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-profile.svg b/material/.icons/material/face-profile.svg index c351f2c1c..e47d60db1 100644 --- a/material/.icons/material/face-profile.svg +++ b/material/.icons/material/face-profile.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-recognition.svg b/material/.icons/material/face-recognition.svg index ead35f76e..9652ae562 100644 --- a/material/.icons/material/face-recognition.svg +++ b/material/.icons/material/face-recognition.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-shimmer-outline.svg b/material/.icons/material/face-shimmer-outline.svg index 9325b3f4d..b5ec6eb1f 100644 --- a/material/.icons/material/face-shimmer-outline.svg +++ b/material/.icons/material/face-shimmer-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-shimmer.svg b/material/.icons/material/face-shimmer.svg index 309f82024..8f10f25e2 100644 --- a/material/.icons/material/face-shimmer.svg +++ b/material/.icons/material/face-shimmer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-woman-outline.svg b/material/.icons/material/face-woman-outline.svg index feea3ce27..de86cb7c9 100644 --- a/material/.icons/material/face-woman-outline.svg +++ b/material/.icons/material/face-woman-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-woman-shimmer-outline.svg b/material/.icons/material/face-woman-shimmer-outline.svg index fe9987984..894f73d91 100644 --- a/material/.icons/material/face-woman-shimmer-outline.svg +++ b/material/.icons/material/face-woman-shimmer-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-woman-shimmer.svg b/material/.icons/material/face-woman-shimmer.svg index c496a9597..508c81c37 100644 --- a/material/.icons/material/face-woman-shimmer.svg +++ b/material/.icons/material/face-woman-shimmer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face-woman.svg b/material/.icons/material/face-woman.svg index 5de191e15..03a313d7a 100644 --- a/material/.icons/material/face-woman.svg +++ b/material/.icons/material/face-woman.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/face.svg b/material/.icons/material/face.svg index f1f825268..1181b1148 100644 --- a/material/.icons/material/face.svg +++ b/material/.icons/material/face.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/facebook-messenger.svg b/material/.icons/material/facebook-messenger.svg index 98c39c941..64aaa1932 100644 --- a/material/.icons/material/facebook-messenger.svg +++ b/material/.icons/material/facebook-messenger.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/facebook-workplace.svg b/material/.icons/material/facebook-workplace.svg index c1104eeaa..dddcf90b1 100644 --- a/material/.icons/material/facebook-workplace.svg +++ b/material/.icons/material/facebook-workplace.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/facebook.svg b/material/.icons/material/facebook.svg index 710064051..3003a6057 100644 --- a/material/.icons/material/facebook.svg +++ b/material/.icons/material/facebook.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/family-tree.svg b/material/.icons/material/family-tree.svg index 0d053661e..82153194d 100644 --- a/material/.icons/material/family-tree.svg +++ b/material/.icons/material/family-tree.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan-auto.svg b/material/.icons/material/fan-auto.svg index 40d895386..62c382c94 100644 --- a/material/.icons/material/fan-auto.svg +++ b/material/.icons/material/fan-auto.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan-chevron-down.svg b/material/.icons/material/fan-chevron-down.svg index f33ac9545..3d10562cb 100644 --- a/material/.icons/material/fan-chevron-down.svg +++ b/material/.icons/material/fan-chevron-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan-chevron-up.svg b/material/.icons/material/fan-chevron-up.svg index cef0007ac..398ee4ed4 100644 --- a/material/.icons/material/fan-chevron-up.svg +++ b/material/.icons/material/fan-chevron-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan-minus.svg b/material/.icons/material/fan-minus.svg index d1bb616eb..494cdb7a3 100644 --- a/material/.icons/material/fan-minus.svg +++ b/material/.icons/material/fan-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan-plus.svg b/material/.icons/material/fan-plus.svg index 5ee3ac159..45857af73 100644 --- a/material/.icons/material/fan-plus.svg +++ b/material/.icons/material/fan-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan-remove.svg b/material/.icons/material/fan-remove.svg index 30fcf062f..59c7e0827 100644 --- a/material/.icons/material/fan-remove.svg +++ b/material/.icons/material/fan-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan-speed-1.svg b/material/.icons/material/fan-speed-1.svg index 6169a5c7c..b05303228 100644 --- a/material/.icons/material/fan-speed-1.svg +++ b/material/.icons/material/fan-speed-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan-speed-2.svg b/material/.icons/material/fan-speed-2.svg index 2e37e2827..10fd31cd9 100644 --- a/material/.icons/material/fan-speed-2.svg +++ b/material/.icons/material/fan-speed-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan-speed-3.svg b/material/.icons/material/fan-speed-3.svg index 0a10a4e16..2313e35d3 100644 --- a/material/.icons/material/fan-speed-3.svg +++ b/material/.icons/material/fan-speed-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fan.svg b/material/.icons/material/fan.svg index 35374cb28..30ac2749f 100644 --- a/material/.icons/material/fan.svg +++ b/material/.icons/material/fan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fast-forward-10.svg b/material/.icons/material/fast-forward-10.svg index 95413f320..b63b9b6ab 100644 --- a/material/.icons/material/fast-forward-10.svg +++ b/material/.icons/material/fast-forward-10.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fast-forward-30.svg b/material/.icons/material/fast-forward-30.svg index 6fed60a9f..13656a74c 100644 --- a/material/.icons/material/fast-forward-30.svg +++ b/material/.icons/material/fast-forward-30.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fast-forward-5.svg b/material/.icons/material/fast-forward-5.svg index 8654742fb..4bc6b13b5 100644 --- a/material/.icons/material/fast-forward-5.svg +++ b/material/.icons/material/fast-forward-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fax.svg b/material/.icons/material/fax.svg index 4dcdf0076..ce819c967 100644 --- a/material/.icons/material/fax.svg +++ b/material/.icons/material/fax.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/feature-search-outline.svg b/material/.icons/material/feature-search-outline.svg index 412fe16c1..270e29a50 100644 --- a/material/.icons/material/feature-search-outline.svg +++ b/material/.icons/material/feature-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/feature-search.svg b/material/.icons/material/feature-search.svg index 79b0943be..3e07ec05b 100644 --- a/material/.icons/material/feature-search.svg +++ b/material/.icons/material/feature-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fedora.svg b/material/.icons/material/fedora.svg index 08854fc84..13025eb22 100644 --- a/material/.icons/material/fedora.svg +++ b/material/.icons/material/fedora.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ferris-wheel.svg b/material/.icons/material/ferris-wheel.svg index 5c039d2ae..67d609648 100644 --- a/material/.icons/material/ferris-wheel.svg +++ b/material/.icons/material/ferris-wheel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ferry.svg b/material/.icons/material/ferry.svg index 924fff580..bae1767cf 100644 --- a/material/.icons/material/ferry.svg +++ b/material/.icons/material/ferry.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-account-outline.svg b/material/.icons/material/file-account-outline.svg index 921f00f74..d174ef0df 100644 --- a/material/.icons/material/file-account-outline.svg +++ b/material/.icons/material/file-account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-account.svg b/material/.icons/material/file-account.svg index c4ada31f6..26de7c510 100644 --- a/material/.icons/material/file-account.svg +++ b/material/.icons/material/file-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-cabinet.svg b/material/.icons/material/file-cabinet.svg index 0aa9d95ba..8be3cdbaa 100644 --- a/material/.icons/material/file-cabinet.svg +++ b/material/.icons/material/file-cabinet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-cad-box.svg b/material/.icons/material/file-cad-box.svg index 682ab45d9..7fbb7fe95 100644 --- a/material/.icons/material/file-cad-box.svg +++ b/material/.icons/material/file-cad-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-cancel-outline.svg b/material/.icons/material/file-cancel-outline.svg index dbe2ab9a2..f797861c7 100644 --- a/material/.icons/material/file-cancel-outline.svg +++ b/material/.icons/material/file-cancel-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-cancel.svg b/material/.icons/material/file-cancel.svg index 0b0f10fe4..d5cd7a242 100644 --- a/material/.icons/material/file-cancel.svg +++ b/material/.icons/material/file-cancel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-certificate-outline.svg b/material/.icons/material/file-certificate-outline.svg index 9ff256778..72ab7f101 100644 --- a/material/.icons/material/file-certificate-outline.svg +++ b/material/.icons/material/file-certificate-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-certificate.svg b/material/.icons/material/file-certificate.svg index cb053d74f..b15793db7 100644 --- a/material/.icons/material/file-certificate.svg +++ b/material/.icons/material/file-certificate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-chart.svg b/material/.icons/material/file-chart.svg index 825c164dd..675b1d4a8 100644 --- a/material/.icons/material/file-chart.svg +++ b/material/.icons/material/file-chart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-check-outline.svg b/material/.icons/material/file-check-outline.svg index c349b9f02..8e93d2602 100644 --- a/material/.icons/material/file-check-outline.svg +++ b/material/.icons/material/file-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-check.svg b/material/.icons/material/file-check.svg index a665ba96c..024632ce2 100644 --- a/material/.icons/material/file-check.svg +++ b/material/.icons/material/file-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-clock-outline.svg b/material/.icons/material/file-clock-outline.svg index aba8d1f68..b86d60287 100644 --- a/material/.icons/material/file-clock-outline.svg +++ b/material/.icons/material/file-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-clock.svg b/material/.icons/material/file-clock.svg index 6c445657d..ed080b635 100644 --- a/material/.icons/material/file-clock.svg +++ b/material/.icons/material/file-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-cloud-outline.svg b/material/.icons/material/file-cloud-outline.svg index 37e462aad..075308d22 100644 --- a/material/.icons/material/file-cloud-outline.svg +++ b/material/.icons/material/file-cloud-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-cloud.svg b/material/.icons/material/file-cloud.svg index 5a4d0bb8a..c8289f12a 100644 --- a/material/.icons/material/file-cloud.svg +++ b/material/.icons/material/file-cloud.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-code-outline.svg b/material/.icons/material/file-code-outline.svg index 834b14865..a1f7efb43 100644 --- a/material/.icons/material/file-code-outline.svg +++ b/material/.icons/material/file-code-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-code.svg b/material/.icons/material/file-code.svg index 48237d6b8..558a8abc8 100644 --- a/material/.icons/material/file-code.svg +++ b/material/.icons/material/file-code.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-cog-outline.svg b/material/.icons/material/file-cog-outline.svg index 76c81deff..e3b8d3eb8 100644 --- a/material/.icons/material/file-cog-outline.svg +++ b/material/.icons/material/file-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-cog.svg b/material/.icons/material/file-cog.svg index a4bd9fb93..7e2935845 100644 --- a/material/.icons/material/file-cog.svg +++ b/material/.icons/material/file-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-compare.svg b/material/.icons/material/file-compare.svg index a01878b5d..66d454f76 100644 --- a/material/.icons/material/file-compare.svg +++ b/material/.icons/material/file-compare.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-document-edit-outline.svg b/material/.icons/material/file-document-edit-outline.svg index 2ed6d7f79..f302d5c5c 100644 --- a/material/.icons/material/file-document-edit-outline.svg +++ b/material/.icons/material/file-document-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-document-edit.svg b/material/.icons/material/file-document-edit.svg index 0a6ce0ed9..f0c271c71 100644 --- a/material/.icons/material/file-document-edit.svg +++ b/material/.icons/material/file-document-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-document-multiple.svg b/material/.icons/material/file-document-multiple.svg index 7677c04e2..2b2569b7e 100644 --- a/material/.icons/material/file-document-multiple.svg +++ b/material/.icons/material/file-document-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-document-outline.svg b/material/.icons/material/file-document-outline.svg index 7da78b247..fad26459a 100644 --- a/material/.icons/material/file-document-outline.svg +++ b/material/.icons/material/file-document-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-document.svg b/material/.icons/material/file-document.svg index 86b0320ad..04232349c 100644 --- a/material/.icons/material/file-document.svg +++ b/material/.icons/material/file-document.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-download-outline.svg b/material/.icons/material/file-download-outline.svg index 43833cb74..64e966a30 100644 --- a/material/.icons/material/file-download-outline.svg +++ b/material/.icons/material/file-download-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-excel-box.svg b/material/.icons/material/file-excel-box.svg index d88ec1482..fc11dfc84 100644 --- a/material/.icons/material/file-excel-box.svg +++ b/material/.icons/material/file-excel-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-excel-outline.svg b/material/.icons/material/file-excel-outline.svg index 329a5be61..525d18adf 100644 --- a/material/.icons/material/file-excel-outline.svg +++ b/material/.icons/material/file-excel-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-excel.svg b/material/.icons/material/file-excel.svg index 12bc77343..63884ef8b 100644 --- a/material/.icons/material/file-excel.svg +++ b/material/.icons/material/file-excel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-export.svg b/material/.icons/material/file-export.svg index 09dbb20da..8f77fe4cc 100644 --- a/material/.icons/material/file-export.svg +++ b/material/.icons/material/file-export.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-eye-outline.svg b/material/.icons/material/file-eye-outline.svg index e11e421d7..e020d80fa 100644 --- a/material/.icons/material/file-eye-outline.svg +++ b/material/.icons/material/file-eye-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-eye.svg b/material/.icons/material/file-eye.svg index 1a40e1b93..1d810b0e8 100644 --- a/material/.icons/material/file-eye.svg +++ b/material/.icons/material/file-eye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-find-outline.svg b/material/.icons/material/file-find-outline.svg index f6f608e23..478d7fbfb 100644 --- a/material/.icons/material/file-find-outline.svg +++ b/material/.icons/material/file-find-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-find.svg b/material/.icons/material/file-find.svg index d52ca3116..b78ba4150 100644 --- a/material/.icons/material/file-find.svg +++ b/material/.icons/material/file-find.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-hidden.svg b/material/.icons/material/file-hidden.svg index 93e068215..31e5c62a5 100644 --- a/material/.icons/material/file-hidden.svg +++ b/material/.icons/material/file-hidden.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-image-outline.svg b/material/.icons/material/file-image-outline.svg index a70e0683d..05df282e4 100644 --- a/material/.icons/material/file-image-outline.svg +++ b/material/.icons/material/file-image-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-image.svg b/material/.icons/material/file-image.svg index 0ac1bda09..79d63a2ec 100644 --- a/material/.icons/material/file-image.svg +++ b/material/.icons/material/file-image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-import-outline.svg b/material/.icons/material/file-import-outline.svg index 6b86de935..5ba62f117 100644 --- a/material/.icons/material/file-import-outline.svg +++ b/material/.icons/material/file-import-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-import.svg b/material/.icons/material/file-import.svg index 05338b807..f3eb0bed6 100644 --- a/material/.icons/material/file-import.svg +++ b/material/.icons/material/file-import.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-key-outline.svg b/material/.icons/material/file-key-outline.svg index fd49da16b..aacfdbced 100644 --- a/material/.icons/material/file-key-outline.svg +++ b/material/.icons/material/file-key-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-key.svg b/material/.icons/material/file-key.svg index 3d5a314b8..8308beabe 100644 --- a/material/.icons/material/file-key.svg +++ b/material/.icons/material/file-key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-link-outline.svg b/material/.icons/material/file-link-outline.svg index 8bff7c89a..7af45a6f1 100644 --- a/material/.icons/material/file-link-outline.svg +++ b/material/.icons/material/file-link-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-lock-outline.svg b/material/.icons/material/file-lock-outline.svg index 15a020fb6..493ac84e3 100644 --- a/material/.icons/material/file-lock-outline.svg +++ b/material/.icons/material/file-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-lock.svg b/material/.icons/material/file-lock.svg index fa4b42d3c..31a5d47a2 100644 --- a/material/.icons/material/file-lock.svg +++ b/material/.icons/material/file-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-move.svg b/material/.icons/material/file-move.svg index 037cf5f73..6213d0f13 100644 --- a/material/.icons/material/file-move.svg +++ b/material/.icons/material/file-move.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-multiple.svg b/material/.icons/material/file-multiple.svg index 3a950233c..3ba6b33b6 100644 --- a/material/.icons/material/file-multiple.svg +++ b/material/.icons/material/file-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-music-outline.svg b/material/.icons/material/file-music-outline.svg index bfdf751b1..a0c01d6c0 100644 --- a/material/.icons/material/file-music-outline.svg +++ b/material/.icons/material/file-music-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-music.svg b/material/.icons/material/file-music.svg index c677c283e..fee7985d2 100644 --- a/material/.icons/material/file-music.svg +++ b/material/.icons/material/file-music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-outline.svg b/material/.icons/material/file-outline.svg index dce81c85a..8b3892442 100644 --- a/material/.icons/material/file-outline.svg +++ b/material/.icons/material/file-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-pdf-box.svg b/material/.icons/material/file-pdf-box.svg index 77de5b82b..01a3b89ce 100644 --- a/material/.icons/material/file-pdf-box.svg +++ b/material/.icons/material/file-pdf-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-pdf-outline.svg b/material/.icons/material/file-pdf-outline.svg index 114197d3a..080b27bdc 100644 --- a/material/.icons/material/file-pdf-outline.svg +++ b/material/.icons/material/file-pdf-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-pdf.svg b/material/.icons/material/file-pdf.svg index 4240e2711..2c6baafa3 100644 --- a/material/.icons/material/file-pdf.svg +++ b/material/.icons/material/file-pdf.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-percent-outline.svg b/material/.icons/material/file-percent-outline.svg index b7d6cfd42..4391b6d75 100644 --- a/material/.icons/material/file-percent-outline.svg +++ b/material/.icons/material/file-percent-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-percent.svg b/material/.icons/material/file-percent.svg index 1b2db9fd0..c400fa054 100644 --- a/material/.icons/material/file-percent.svg +++ b/material/.icons/material/file-percent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-phone-outline.svg b/material/.icons/material/file-phone-outline.svg index 864846f41..f6a960251 100644 --- a/material/.icons/material/file-phone-outline.svg +++ b/material/.icons/material/file-phone-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-plus-outline.svg b/material/.icons/material/file-plus-outline.svg index 481f5d1ee..f8bb0966e 100644 --- a/material/.icons/material/file-plus-outline.svg +++ b/material/.icons/material/file-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-plus.svg b/material/.icons/material/file-plus.svg index 6d7fa4b3b..a38893308 100644 --- a/material/.icons/material/file-plus.svg +++ b/material/.icons/material/file-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-powerpoint-box.svg b/material/.icons/material/file-powerpoint-box.svg index 3417ae658..c24321031 100644 --- a/material/.icons/material/file-powerpoint-box.svg +++ b/material/.icons/material/file-powerpoint-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-powerpoint-outline.svg b/material/.icons/material/file-powerpoint-outline.svg index 6890f2d26..d87f38cb3 100644 --- a/material/.icons/material/file-powerpoint-outline.svg +++ b/material/.icons/material/file-powerpoint-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-powerpoint.svg b/material/.icons/material/file-powerpoint.svg index aa8361cc6..417bf9b96 100644 --- a/material/.icons/material/file-powerpoint.svg +++ b/material/.icons/material/file-powerpoint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-presentation-box.svg b/material/.icons/material/file-presentation-box.svg index 3b61eb7be..903f91570 100644 --- a/material/.icons/material/file-presentation-box.svg +++ b/material/.icons/material/file-presentation-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-question-outline.svg b/material/.icons/material/file-question-outline.svg index f23a02d6b..1dc7d38b9 100644 --- a/material/.icons/material/file-question-outline.svg +++ b/material/.icons/material/file-question-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-question.svg b/material/.icons/material/file-question.svg index 36001e6b0..750488306 100644 --- a/material/.icons/material/file-question.svg +++ b/material/.icons/material/file-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-refresh-outline.svg b/material/.icons/material/file-refresh-outline.svg index c464cf4d3..4a6537b0b 100644 --- a/material/.icons/material/file-refresh-outline.svg +++ b/material/.icons/material/file-refresh-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-refresh.svg b/material/.icons/material/file-refresh.svg index 8efdd602e..0c22c3381 100644 --- a/material/.icons/material/file-refresh.svg +++ b/material/.icons/material/file-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-remove-outline.svg b/material/.icons/material/file-remove-outline.svg index f25f58243..0e250dec1 100644 --- a/material/.icons/material/file-remove-outline.svg +++ b/material/.icons/material/file-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-remove.svg b/material/.icons/material/file-remove.svg index 4bc0651e6..9e63d5ba2 100644 --- a/material/.icons/material/file-remove.svg +++ b/material/.icons/material/file-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-replace-outline.svg b/material/.icons/material/file-replace-outline.svg index 6a67c6004..058283df1 100644 --- a/material/.icons/material/file-replace-outline.svg +++ b/material/.icons/material/file-replace-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-replace.svg b/material/.icons/material/file-replace.svg index c15df9361..fbeeffd44 100644 --- a/material/.icons/material/file-replace.svg +++ b/material/.icons/material/file-replace.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-restore-outline.svg b/material/.icons/material/file-restore-outline.svg index a453fd175..704d0a780 100644 --- a/material/.icons/material/file-restore-outline.svg +++ b/material/.icons/material/file-restore-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-restore.svg b/material/.icons/material/file-restore.svg index 305d2762e..92e26ebfa 100644 --- a/material/.icons/material/file-restore.svg +++ b/material/.icons/material/file-restore.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-search-outline.svg b/material/.icons/material/file-search-outline.svg index 9362e12ea..9fa5b1f5f 100644 --- a/material/.icons/material/file-search-outline.svg +++ b/material/.icons/material/file-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-search.svg b/material/.icons/material/file-search.svg index eae2c7d83..66e6544ed 100644 --- a/material/.icons/material/file-search.svg +++ b/material/.icons/material/file-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-send-outline.svg b/material/.icons/material/file-send-outline.svg index 5f7a0e104..f634a4648 100644 --- a/material/.icons/material/file-send-outline.svg +++ b/material/.icons/material/file-send-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-send.svg b/material/.icons/material/file-send.svg index 90a412d24..e7ab152a8 100644 --- a/material/.icons/material/file-send.svg +++ b/material/.icons/material/file-send.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-settings-outline.svg b/material/.icons/material/file-settings-outline.svg index e5581c5e3..142887a9f 100644 --- a/material/.icons/material/file-settings-outline.svg +++ b/material/.icons/material/file-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-settings.svg b/material/.icons/material/file-settings.svg index adeea637c..02632f6ad 100644 --- a/material/.icons/material/file-settings.svg +++ b/material/.icons/material/file-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-star.svg b/material/.icons/material/file-star.svg index a78675802..46a906c92 100644 --- a/material/.icons/material/file-star.svg +++ b/material/.icons/material/file-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-swap-outline.svg b/material/.icons/material/file-swap-outline.svg index bcdda41c4..5ae414eaa 100644 --- a/material/.icons/material/file-swap-outline.svg +++ b/material/.icons/material/file-swap-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-swap.svg b/material/.icons/material/file-swap.svg index 03c67055e..f2b2a1fef 100644 --- a/material/.icons/material/file-swap.svg +++ b/material/.icons/material/file-swap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-table-box-multiple.svg b/material/.icons/material/file-table-box-multiple.svg index 092ebca06..b36901900 100644 --- a/material/.icons/material/file-table-box-multiple.svg +++ b/material/.icons/material/file-table-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-table-box.svg b/material/.icons/material/file-table-box.svg index 9736d0aa3..7c24cdf75 100644 --- a/material/.icons/material/file-table-box.svg +++ b/material/.icons/material/file-table-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-table-outline.svg b/material/.icons/material/file-table-outline.svg index 3f253f870..814b7691d 100644 --- a/material/.icons/material/file-table-outline.svg +++ b/material/.icons/material/file-table-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-table.svg b/material/.icons/material/file-table.svg index bf71b14af..b0c1892d7 100644 --- a/material/.icons/material/file-table.svg +++ b/material/.icons/material/file-table.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-undo-outline.svg b/material/.icons/material/file-undo-outline.svg index b6fcae8e0..d3fb038cd 100644 --- a/material/.icons/material/file-undo-outline.svg +++ b/material/.icons/material/file-undo-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-undo.svg b/material/.icons/material/file-undo.svg index 86f1ffaae..7df2bd944 100644 --- a/material/.icons/material/file-undo.svg +++ b/material/.icons/material/file-undo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-upload-outline.svg b/material/.icons/material/file-upload-outline.svg index 61ba39f76..15e183881 100644 --- a/material/.icons/material/file-upload-outline.svg +++ b/material/.icons/material/file-upload-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-upload.svg b/material/.icons/material/file-upload.svg index 4e1c60756..498517712 100644 --- a/material/.icons/material/file-upload.svg +++ b/material/.icons/material/file-upload.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-video-outline.svg b/material/.icons/material/file-video-outline.svg index 36ac9ba22..0714c26a5 100644 --- a/material/.icons/material/file-video-outline.svg +++ b/material/.icons/material/file-video-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-video.svg b/material/.icons/material/file-video.svg index 4105d9dd5..3631b5e6d 100644 --- a/material/.icons/material/file-video.svg +++ b/material/.icons/material/file-video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-word-box.svg b/material/.icons/material/file-word-box.svg index 2026e0c44..fe3bd2e58 100644 --- a/material/.icons/material/file-word-box.svg +++ b/material/.icons/material/file-word-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-word-outline.svg b/material/.icons/material/file-word-outline.svg index f82f83aa3..7c6385069 100644 --- a/material/.icons/material/file-word-outline.svg +++ b/material/.icons/material/file-word-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file-word.svg b/material/.icons/material/file-word.svg index 72311177a..d23ca02d1 100644 --- a/material/.icons/material/file-word.svg +++ b/material/.icons/material/file-word.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/file.svg b/material/.icons/material/file.svg index 241694b47..c8ecaeb0b 100644 --- a/material/.icons/material/file.svg +++ b/material/.icons/material/file.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/film.svg b/material/.icons/material/film.svg index 4af1ef2fe..64d9ea6c5 100644 --- a/material/.icons/material/film.svg +++ b/material/.icons/material/film.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filmstrip-box-multiple.svg b/material/.icons/material/filmstrip-box-multiple.svg index df83d54da..9c86893b8 100644 --- a/material/.icons/material/filmstrip-box-multiple.svg +++ b/material/.icons/material/filmstrip-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-menu-outline.svg b/material/.icons/material/filter-menu-outline.svg index aee310af6..1d44d98aa 100644 --- a/material/.icons/material/filter-menu-outline.svg +++ b/material/.icons/material/filter-menu-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-menu.svg b/material/.icons/material/filter-menu.svg index 01c9badc3..ae7b7e543 100644 --- a/material/.icons/material/filter-menu.svg +++ b/material/.icons/material/filter-menu.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-minus-outline.svg b/material/.icons/material/filter-minus-outline.svg index 18c1d07df..6a7012112 100644 --- a/material/.icons/material/filter-minus-outline.svg +++ b/material/.icons/material/filter-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-minus.svg b/material/.icons/material/filter-minus.svg index a2ce26163..3be71a3be 100644 --- a/material/.icons/material/filter-minus.svg +++ b/material/.icons/material/filter-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-off-outline.svg b/material/.icons/material/filter-off-outline.svg index ced3b6dfc..2ee66a0e4 100644 --- a/material/.icons/material/filter-off-outline.svg +++ b/material/.icons/material/filter-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-off.svg b/material/.icons/material/filter-off.svg index f14c36c22..2171bf898 100644 --- a/material/.icons/material/filter-off.svg +++ b/material/.icons/material/filter-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-outline.svg b/material/.icons/material/filter-outline.svg index 985da8767..dd49683c4 100644 --- a/material/.icons/material/filter-outline.svg +++ b/material/.icons/material/filter-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-plus-outline.svg b/material/.icons/material/filter-plus-outline.svg index e306c2b49..f18edac6a 100644 --- a/material/.icons/material/filter-plus-outline.svg +++ b/material/.icons/material/filter-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-plus.svg b/material/.icons/material/filter-plus.svg index 303e219c7..4493fc882 100644 --- a/material/.icons/material/filter-plus.svg +++ b/material/.icons/material/filter-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-remove-outline.svg b/material/.icons/material/filter-remove-outline.svg index e97a2a49b..886f31fd4 100644 --- a/material/.icons/material/filter-remove-outline.svg +++ b/material/.icons/material/filter-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter-remove.svg b/material/.icons/material/filter-remove.svg index 888d71848..e2e609dd4 100644 --- a/material/.icons/material/filter-remove.svg +++ b/material/.icons/material/filter-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/filter.svg b/material/.icons/material/filter.svg index 42bca90c4..7082974f8 100644 --- a/material/.icons/material/filter.svg +++ b/material/.icons/material/filter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/find-replace.svg b/material/.icons/material/find-replace.svg index f672f797f..faad8fd84 100644 --- a/material/.icons/material/find-replace.svg +++ b/material/.icons/material/find-replace.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fingerprint-off.svg b/material/.icons/material/fingerprint-off.svg index c726b16bb..0de9d202d 100644 --- a/material/.icons/material/fingerprint-off.svg +++ b/material/.icons/material/fingerprint-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fingerprint.svg b/material/.icons/material/fingerprint.svg index 463d6a69a..e70892e72 100644 --- a/material/.icons/material/fingerprint.svg +++ b/material/.icons/material/fingerprint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fire-alert.svg b/material/.icons/material/fire-alert.svg index e26cf84dd..601dbcc3d 100644 --- a/material/.icons/material/fire-alert.svg +++ b/material/.icons/material/fire-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fire-extinguisher.svg b/material/.icons/material/fire-extinguisher.svg index 92c606186..457affdad 100644 --- a/material/.icons/material/fire-extinguisher.svg +++ b/material/.icons/material/fire-extinguisher.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fire-hydrant-alert.svg b/material/.icons/material/fire-hydrant-alert.svg index 9177e7df3..e8f78163b 100644 --- a/material/.icons/material/fire-hydrant-alert.svg +++ b/material/.icons/material/fire-hydrant-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fire-hydrant-off.svg b/material/.icons/material/fire-hydrant-off.svg index 5a4e13d04..caa92c1db 100644 --- a/material/.icons/material/fire-hydrant-off.svg +++ b/material/.icons/material/fire-hydrant-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fire-hydrant.svg b/material/.icons/material/fire-hydrant.svg index bc28a86df..b7c4de3b8 100644 --- a/material/.icons/material/fire-hydrant.svg +++ b/material/.icons/material/fire-hydrant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fire-off.svg b/material/.icons/material/fire-off.svg index 3bc428feb..64c7f7522 100644 --- a/material/.icons/material/fire-off.svg +++ b/material/.icons/material/fire-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fire-truck.svg b/material/.icons/material/fire-truck.svg index 9c69f1360..6b42192e4 100644 --- a/material/.icons/material/fire-truck.svg +++ b/material/.icons/material/fire-truck.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fire.svg b/material/.icons/material/fire.svg index 11535eea1..9db95c757 100644 --- a/material/.icons/material/fire.svg +++ b/material/.icons/material/fire.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/firefox.svg b/material/.icons/material/firefox.svg index 56e02bd10..08819def1 100644 --- a/material/.icons/material/firefox.svg +++ b/material/.icons/material/firefox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fish.svg b/material/.icons/material/fish.svg index 484a06a89..01e27554d 100644 --- a/material/.icons/material/fish.svg +++ b/material/.icons/material/fish.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fishbowl-outline.svg b/material/.icons/material/fishbowl-outline.svg index d3998852c..bce76b5a8 100644 --- a/material/.icons/material/fishbowl-outline.svg +++ b/material/.icons/material/fishbowl-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fishbowl.svg b/material/.icons/material/fishbowl.svg index fc001d7cb..56ac21b0c 100644 --- a/material/.icons/material/fishbowl.svg +++ b/material/.icons/material/fishbowl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flag-variant-outline.svg b/material/.icons/material/flag-variant-outline.svg index e6158796e..378cbcdc9 100644 --- a/material/.icons/material/flag-variant-outline.svg +++ b/material/.icons/material/flag-variant-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flag-variant.svg b/material/.icons/material/flag-variant.svg index af01c3795..4e54854ea 100644 --- a/material/.icons/material/flag-variant.svg +++ b/material/.icons/material/flag-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flare.svg b/material/.icons/material/flare.svg index fedecbbf2..021d3f945 100644 --- a/material/.icons/material/flare.svg +++ b/material/.icons/material/flare.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flash-red-eye.svg b/material/.icons/material/flash-red-eye.svg index a7da97c84..b344ca4d3 100644 --- a/material/.icons/material/flash-red-eye.svg +++ b/material/.icons/material/flash-red-eye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flashlight.svg b/material/.icons/material/flashlight.svg index f9b4bc136..ab2851241 100644 --- a/material/.icons/material/flashlight.svg +++ b/material/.icons/material/flashlight.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-empty-minus-outline.svg b/material/.icons/material/flask-empty-minus-outline.svg index ae594e614..174414c1e 100644 --- a/material/.icons/material/flask-empty-minus-outline.svg +++ b/material/.icons/material/flask-empty-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-empty-minus.svg b/material/.icons/material/flask-empty-minus.svg index dc0a6d9d3..285ff955c 100644 --- a/material/.icons/material/flask-empty-minus.svg +++ b/material/.icons/material/flask-empty-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-empty-outline.svg b/material/.icons/material/flask-empty-outline.svg index 96f9c098c..c71efb734 100644 --- a/material/.icons/material/flask-empty-outline.svg +++ b/material/.icons/material/flask-empty-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-empty-plus-outline.svg b/material/.icons/material/flask-empty-plus-outline.svg index 0edf98ae1..58010a101 100644 --- a/material/.icons/material/flask-empty-plus-outline.svg +++ b/material/.icons/material/flask-empty-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-empty-plus.svg b/material/.icons/material/flask-empty-plus.svg index 4fa3f28cd..c572069fc 100644 --- a/material/.icons/material/flask-empty-plus.svg +++ b/material/.icons/material/flask-empty-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-empty-remove-outline.svg b/material/.icons/material/flask-empty-remove-outline.svg index e6fd7e8a6..612da7144 100644 --- a/material/.icons/material/flask-empty-remove-outline.svg +++ b/material/.icons/material/flask-empty-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-empty-remove.svg b/material/.icons/material/flask-empty-remove.svg index 99bdb1f82..9a2778a8f 100644 --- a/material/.icons/material/flask-empty-remove.svg +++ b/material/.icons/material/flask-empty-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-empty.svg b/material/.icons/material/flask-empty.svg index 805df7612..06ae541aa 100644 --- a/material/.icons/material/flask-empty.svg +++ b/material/.icons/material/flask-empty.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-minus-outline.svg b/material/.icons/material/flask-minus-outline.svg index d8b6fb725..93149d403 100644 --- a/material/.icons/material/flask-minus-outline.svg +++ b/material/.icons/material/flask-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-minus.svg b/material/.icons/material/flask-minus.svg index 64af4e139..046f6a171 100644 --- a/material/.icons/material/flask-minus.svg +++ b/material/.icons/material/flask-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-outline.svg b/material/.icons/material/flask-outline.svg index 5888a04b1..28429f168 100644 --- a/material/.icons/material/flask-outline.svg +++ b/material/.icons/material/flask-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-plus-outline.svg b/material/.icons/material/flask-plus-outline.svg index c3d04318f..8dd03453d 100644 --- a/material/.icons/material/flask-plus-outline.svg +++ b/material/.icons/material/flask-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-plus.svg b/material/.icons/material/flask-plus.svg index 9a715da6d..5c2a2d642 100644 --- a/material/.icons/material/flask-plus.svg +++ b/material/.icons/material/flask-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-remove-outline.svg b/material/.icons/material/flask-remove-outline.svg index 756b5a4b2..6aea82aa0 100644 --- a/material/.icons/material/flask-remove-outline.svg +++ b/material/.icons/material/flask-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-remove.svg b/material/.icons/material/flask-remove.svg index 8ddaa4206..cf8350fc9 100644 --- a/material/.icons/material/flask-remove.svg +++ b/material/.icons/material/flask-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-round-bottom-empty-outline.svg b/material/.icons/material/flask-round-bottom-empty-outline.svg index 1a55c7650..ac018126b 100644 --- a/material/.icons/material/flask-round-bottom-empty-outline.svg +++ b/material/.icons/material/flask-round-bottom-empty-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-round-bottom-outline.svg b/material/.icons/material/flask-round-bottom-outline.svg index dfd2d05aa..5cdec57d3 100644 --- a/material/.icons/material/flask-round-bottom-outline.svg +++ b/material/.icons/material/flask-round-bottom-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask-round-bottom.svg b/material/.icons/material/flask-round-bottom.svg index 10d45e728..10814f0ea 100644 --- a/material/.icons/material/flask-round-bottom.svg +++ b/material/.icons/material/flask-round-bottom.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flask.svg b/material/.icons/material/flask.svg index 2db47f5d4..6cb7aadfe 100644 --- a/material/.icons/material/flask.svg +++ b/material/.icons/material/flask.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flip-to-back.svg b/material/.icons/material/flip-to-back.svg index a6cbe0391..c475d44c7 100644 --- a/material/.icons/material/flip-to-back.svg +++ b/material/.icons/material/flip-to-back.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flip-to-front.svg b/material/.icons/material/flip-to-front.svg index c24e4210b..eb6d5d45a 100644 --- a/material/.icons/material/flip-to-front.svg +++ b/material/.icons/material/flip-to-front.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/floppy-variant.svg b/material/.icons/material/floppy-variant.svg index fbd9c733b..9868606e8 100644 --- a/material/.icons/material/floppy-variant.svg +++ b/material/.icons/material/floppy-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/floppy.svg b/material/.icons/material/floppy.svg index 74ba41f67..8bcf9c73b 100644 --- a/material/.icons/material/floppy.svg +++ b/material/.icons/material/floppy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flower-outline.svg b/material/.icons/material/flower-outline.svg index a75af02ba..5a034be41 100644 --- a/material/.icons/material/flower-outline.svg +++ b/material/.icons/material/flower-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flower-poppy.svg b/material/.icons/material/flower-poppy.svg index 20d273fce..49d7f9680 100644 --- a/material/.icons/material/flower-poppy.svg +++ b/material/.icons/material/flower-poppy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flower-tulip-outline.svg b/material/.icons/material/flower-tulip-outline.svg index 0cc6f502f..c7d154452 100644 --- a/material/.icons/material/flower-tulip-outline.svg +++ b/material/.icons/material/flower-tulip-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flower-tulip.svg b/material/.icons/material/flower-tulip.svg index 2bbcc0131..a1b76d716 100644 --- a/material/.icons/material/flower-tulip.svg +++ b/material/.icons/material/flower-tulip.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/flower.svg b/material/.icons/material/flower.svg index b86c8530a..4d5076346 100644 --- a/material/.icons/material/flower.svg +++ b/material/.icons/material/flower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-account-outline.svg b/material/.icons/material/folder-account-outline.svg index b7fbaa4bd..90f10de7f 100644 --- a/material/.icons/material/folder-account-outline.svg +++ b/material/.icons/material/folder-account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-account.svg b/material/.icons/material/folder-account.svg index d290245a0..299be284c 100644 --- a/material/.icons/material/folder-account.svg +++ b/material/.icons/material/folder-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-alert-outline.svg b/material/.icons/material/folder-alert-outline.svg index 3caf61fbc..6a1345b22 100644 --- a/material/.icons/material/folder-alert-outline.svg +++ b/material/.icons/material/folder-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-alert.svg b/material/.icons/material/folder-alert.svg index 29e758b23..7a1075dfe 100644 --- a/material/.icons/material/folder-alert.svg +++ b/material/.icons/material/folder-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-clock-outline.svg b/material/.icons/material/folder-clock-outline.svg index a0e219291..1121167ea 100644 --- a/material/.icons/material/folder-clock-outline.svg +++ b/material/.icons/material/folder-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-clock.svg b/material/.icons/material/folder-clock.svg index 9330a7a27..c1adf79af 100644 --- a/material/.icons/material/folder-clock.svg +++ b/material/.icons/material/folder-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-cog-outline.svg b/material/.icons/material/folder-cog-outline.svg index 9b5e6f30e..5fd3fc59d 100644 --- a/material/.icons/material/folder-cog-outline.svg +++ b/material/.icons/material/folder-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-cog.svg b/material/.icons/material/folder-cog.svg index 022c52167..cfa837129 100644 --- a/material/.icons/material/folder-cog.svg +++ b/material/.icons/material/folder-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-download-outline.svg b/material/.icons/material/folder-download-outline.svg index afafe5cb3..1548ccd99 100644 --- a/material/.icons/material/folder-download-outline.svg +++ b/material/.icons/material/folder-download-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-download.svg b/material/.icons/material/folder-download.svg index 1c35afa92..a921a90dd 100644 --- a/material/.icons/material/folder-download.svg +++ b/material/.icons/material/folder-download.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-edit-outline.svg b/material/.icons/material/folder-edit-outline.svg index eae51f1ff..20db40f88 100644 --- a/material/.icons/material/folder-edit-outline.svg +++ b/material/.icons/material/folder-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-edit.svg b/material/.icons/material/folder-edit.svg index 05788e171..660e12637 100644 --- a/material/.icons/material/folder-edit.svg +++ b/material/.icons/material/folder-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-google-drive.svg b/material/.icons/material/folder-google-drive.svg index 1f3534b96..73ec5bf2b 100644 --- a/material/.icons/material/folder-google-drive.svg +++ b/material/.icons/material/folder-google-drive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-heart-outline.svg b/material/.icons/material/folder-heart-outline.svg index ad967a341..ecebdc335 100644 --- a/material/.icons/material/folder-heart-outline.svg +++ b/material/.icons/material/folder-heart-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-heart.svg b/material/.icons/material/folder-heart.svg index ba685bd56..b5143e87c 100644 --- a/material/.icons/material/folder-heart.svg +++ b/material/.icons/material/folder-heart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-home-outline.svg b/material/.icons/material/folder-home-outline.svg index 7cab12b58..84e3a212f 100644 --- a/material/.icons/material/folder-home-outline.svg +++ b/material/.icons/material/folder-home-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-home.svg b/material/.icons/material/folder-home.svg index 9467841bc..35deae726 100644 --- a/material/.icons/material/folder-home.svg +++ b/material/.icons/material/folder-home.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-image.svg b/material/.icons/material/folder-image.svg index f85a93d42..a727cf7d6 100644 --- a/material/.icons/material/folder-image.svg +++ b/material/.icons/material/folder-image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-key-network-outline.svg b/material/.icons/material/folder-key-network-outline.svg index 43fe52ebb..a46ad76ad 100644 --- a/material/.icons/material/folder-key-network-outline.svg +++ b/material/.icons/material/folder-key-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-key-network.svg b/material/.icons/material/folder-key-network.svg index f43fff2d1..6f54b89df 100644 --- a/material/.icons/material/folder-key-network.svg +++ b/material/.icons/material/folder-key-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-key-outline.svg b/material/.icons/material/folder-key-outline.svg index edf122f4b..753e66c19 100644 --- a/material/.icons/material/folder-key-outline.svg +++ b/material/.icons/material/folder-key-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-key.svg b/material/.icons/material/folder-key.svg index f955fc1df..e71a88c22 100644 --- a/material/.icons/material/folder-key.svg +++ b/material/.icons/material/folder-key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-lock-open.svg b/material/.icons/material/folder-lock-open.svg index 853601947..eb3514a9b 100644 --- a/material/.icons/material/folder-lock-open.svg +++ b/material/.icons/material/folder-lock-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-lock.svg b/material/.icons/material/folder-lock.svg index f9ecffba4..7b60ffa44 100644 --- a/material/.icons/material/folder-lock.svg +++ b/material/.icons/material/folder-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-marker-outline.svg b/material/.icons/material/folder-marker-outline.svg index d33c3bc8b..9e3fdb4c3 100644 --- a/material/.icons/material/folder-marker-outline.svg +++ b/material/.icons/material/folder-marker-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-marker.svg b/material/.icons/material/folder-marker.svg index 99131cad8..2ffdeac7b 100644 --- a/material/.icons/material/folder-marker.svg +++ b/material/.icons/material/folder-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-move-outline.svg b/material/.icons/material/folder-move-outline.svg index 65c24ebf7..ccfb3546b 100644 --- a/material/.icons/material/folder-move-outline.svg +++ b/material/.icons/material/folder-move-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-move.svg b/material/.icons/material/folder-move.svg index 0857ef04b..1d8e5fe24 100644 --- a/material/.icons/material/folder-move.svg +++ b/material/.icons/material/folder-move.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-multiple-image.svg b/material/.icons/material/folder-multiple-image.svg index 9ef363c67..8e3256471 100644 --- a/material/.icons/material/folder-multiple-image.svg +++ b/material/.icons/material/folder-multiple-image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-multiple-outline.svg b/material/.icons/material/folder-multiple-outline.svg index f0406db66..f0f44d76b 100644 --- a/material/.icons/material/folder-multiple-outline.svg +++ b/material/.icons/material/folder-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-multiple.svg b/material/.icons/material/folder-multiple.svg index 13843fa75..4d1cfacbb 100644 --- a/material/.icons/material/folder-multiple.svg +++ b/material/.icons/material/folder-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-music-outline.svg b/material/.icons/material/folder-music-outline.svg index c5fe7aaef..9c2470383 100644 --- a/material/.icons/material/folder-music-outline.svg +++ b/material/.icons/material/folder-music-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-music.svg b/material/.icons/material/folder-music.svg index b686e9744..ada956da3 100644 --- a/material/.icons/material/folder-music.svg +++ b/material/.icons/material/folder-music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-network-outline.svg b/material/.icons/material/folder-network-outline.svg index 67b343bf5..32eb049c8 100644 --- a/material/.icons/material/folder-network-outline.svg +++ b/material/.icons/material/folder-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-network.svg b/material/.icons/material/folder-network.svg index 6ab7364f2..e0bd08c67 100644 --- a/material/.icons/material/folder-network.svg +++ b/material/.icons/material/folder-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-open-outline.svg b/material/.icons/material/folder-open-outline.svg index 3d524f473..6d023464d 100644 --- a/material/.icons/material/folder-open-outline.svg +++ b/material/.icons/material/folder-open-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-open.svg b/material/.icons/material/folder-open.svg index e5de90672..15989852e 100644 --- a/material/.icons/material/folder-open.svg +++ b/material/.icons/material/folder-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-outline.svg b/material/.icons/material/folder-outline.svg index a95f4dfd0..0e6cac8dd 100644 --- a/material/.icons/material/folder-outline.svg +++ b/material/.icons/material/folder-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-plus.svg b/material/.icons/material/folder-plus.svg index d4f28c69b..1ddb5fcc9 100644 --- a/material/.icons/material/folder-plus.svg +++ b/material/.icons/material/folder-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-pound-outline.svg b/material/.icons/material/folder-pound-outline.svg index cfe16da72..0ebade366 100644 --- a/material/.icons/material/folder-pound-outline.svg +++ b/material/.icons/material/folder-pound-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-pound.svg b/material/.icons/material/folder-pound.svg index dfd9c6ccc..54b6baef9 100644 --- a/material/.icons/material/folder-pound.svg +++ b/material/.icons/material/folder-pound.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-refresh-outline.svg b/material/.icons/material/folder-refresh-outline.svg index e9fcb3b64..16fa80f12 100644 --- a/material/.icons/material/folder-refresh-outline.svg +++ b/material/.icons/material/folder-refresh-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-refresh.svg b/material/.icons/material/folder-refresh.svg index 294e72f13..e1d1586ed 100644 --- a/material/.icons/material/folder-refresh.svg +++ b/material/.icons/material/folder-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-remove-outline.svg b/material/.icons/material/folder-remove-outline.svg index 8a5ad11d7..8d96ecc4a 100644 --- a/material/.icons/material/folder-remove-outline.svg +++ b/material/.icons/material/folder-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-remove.svg b/material/.icons/material/folder-remove.svg index e7435e735..8340d804c 100644 --- a/material/.icons/material/folder-remove.svg +++ b/material/.icons/material/folder-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-search-outline.svg b/material/.icons/material/folder-search-outline.svg index 17c327e80..30d7a6486 100644 --- a/material/.icons/material/folder-search-outline.svg +++ b/material/.icons/material/folder-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-search.svg b/material/.icons/material/folder-search.svg index 285cb370b..5456edbdc 100644 --- a/material/.icons/material/folder-search.svg +++ b/material/.icons/material/folder-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-settings-outline.svg b/material/.icons/material/folder-settings-outline.svg index 7db27ba7b..868334317 100644 --- a/material/.icons/material/folder-settings-outline.svg +++ b/material/.icons/material/folder-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-settings.svg b/material/.icons/material/folder-settings.svg index 7fd1ed6a3..529522159 100644 --- a/material/.icons/material/folder-settings.svg +++ b/material/.icons/material/folder-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-star-multiple-outline.svg b/material/.icons/material/folder-star-multiple-outline.svg index a06e7d7df..bee75b1dc 100644 --- a/material/.icons/material/folder-star-multiple-outline.svg +++ b/material/.icons/material/folder-star-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-star-multiple.svg b/material/.icons/material/folder-star-multiple.svg index 62e98d58c..164fa338a 100644 --- a/material/.icons/material/folder-star-multiple.svg +++ b/material/.icons/material/folder-star-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-star-outline.svg b/material/.icons/material/folder-star-outline.svg index 34dcc8493..07eb94758 100644 --- a/material/.icons/material/folder-star-outline.svg +++ b/material/.icons/material/folder-star-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-star.svg b/material/.icons/material/folder-star.svg index dc9ceed03..ada6d6134 100644 --- a/material/.icons/material/folder-star.svg +++ b/material/.icons/material/folder-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-swap-outline.svg b/material/.icons/material/folder-swap-outline.svg index 119321039..758ff33a3 100644 --- a/material/.icons/material/folder-swap-outline.svg +++ b/material/.icons/material/folder-swap-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-swap.svg b/material/.icons/material/folder-swap.svg index 2d568a42e..e52e4fcac 100644 --- a/material/.icons/material/folder-swap.svg +++ b/material/.icons/material/folder-swap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-sync-outline.svg b/material/.icons/material/folder-sync-outline.svg index 88c8135ad..c429d62ca 100644 --- a/material/.icons/material/folder-sync-outline.svg +++ b/material/.icons/material/folder-sync-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-sync.svg b/material/.icons/material/folder-sync.svg index 1afd2dfd7..1b708b98e 100644 --- a/material/.icons/material/folder-sync.svg +++ b/material/.icons/material/folder-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-table-outline.svg b/material/.icons/material/folder-table-outline.svg index d02f89829..e7c0ab9e2 100644 --- a/material/.icons/material/folder-table-outline.svg +++ b/material/.icons/material/folder-table-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-table.svg b/material/.icons/material/folder-table.svg index 5bee5d652..9321b282c 100644 --- a/material/.icons/material/folder-table.svg +++ b/material/.icons/material/folder-table.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-text-outline.svg b/material/.icons/material/folder-text-outline.svg index b4b1a2282..02453d159 100644 --- a/material/.icons/material/folder-text-outline.svg +++ b/material/.icons/material/folder-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-text.svg b/material/.icons/material/folder-text.svg index 10320c9ba..dba5c1f78 100644 --- a/material/.icons/material/folder-text.svg +++ b/material/.icons/material/folder-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-upload-outline.svg b/material/.icons/material/folder-upload-outline.svg index ba01ec027..c02e37610 100644 --- a/material/.icons/material/folder-upload-outline.svg +++ b/material/.icons/material/folder-upload-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder-upload.svg b/material/.icons/material/folder-upload.svg index 70ebd346d..e47c00cbb 100644 --- a/material/.icons/material/folder-upload.svg +++ b/material/.icons/material/folder-upload.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/folder.svg b/material/.icons/material/folder.svg index 463ca9797..b1f5dbebd 100644 --- a/material/.icons/material/folder.svg +++ b/material/.icons/material/folder.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/font-awesome.svg b/material/.icons/material/font-awesome.svg index 85ffc0178..8eae82659 100644 --- a/material/.icons/material/font-awesome.svg +++ b/material/.icons/material/font-awesome.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food-apple-outline.svg b/material/.icons/material/food-apple-outline.svg index e15e129ff..b7a0cc35e 100644 --- a/material/.icons/material/food-apple-outline.svg +++ b/material/.icons/material/food-apple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food-drumstick-outline.svg b/material/.icons/material/food-drumstick-outline.svg index 2f65965fa..c89a069fa 100644 --- a/material/.icons/material/food-drumstick-outline.svg +++ b/material/.icons/material/food-drumstick-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food-drumstick.svg b/material/.icons/material/food-drumstick.svg index bfc7f8022..283e61fbc 100644 --- a/material/.icons/material/food-drumstick.svg +++ b/material/.icons/material/food-drumstick.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food-fork-drink.svg b/material/.icons/material/food-fork-drink.svg index 502d5999f..5c3471204 100644 --- a/material/.icons/material/food-fork-drink.svg +++ b/material/.icons/material/food-fork-drink.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food-halal.svg b/material/.icons/material/food-halal.svg index 450a7c91f..43f661df9 100644 --- a/material/.icons/material/food-halal.svg +++ b/material/.icons/material/food-halal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food-off.svg b/material/.icons/material/food-off.svg index 7ea222b87..ea2d7d2c9 100644 --- a/material/.icons/material/food-off.svg +++ b/material/.icons/material/food-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food-steak-off.svg b/material/.icons/material/food-steak-off.svg index 171cb461d..415cfe3f3 100644 --- a/material/.icons/material/food-steak-off.svg +++ b/material/.icons/material/food-steak-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food-turkey.svg b/material/.icons/material/food-turkey.svg index 3a2b2c0e0..7fa85e98c 100644 --- a/material/.icons/material/food-turkey.svg +++ b/material/.icons/material/food-turkey.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food-variant.svg b/material/.icons/material/food-variant.svg index 84bb05354..c3b35cf57 100644 --- a/material/.icons/material/food-variant.svg +++ b/material/.icons/material/food-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/food.svg b/material/.icons/material/food.svg index 0103952bb..fcf6a235e 100644 --- a/material/.icons/material/food.svg +++ b/material/.icons/material/food.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/foot-print.svg b/material/.icons/material/foot-print.svg index db9f8c821..932b4b857 100644 --- a/material/.icons/material/foot-print.svg +++ b/material/.icons/material/foot-print.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/football-helmet.svg b/material/.icons/material/football-helmet.svg index 8296b52d0..4fbb930ad 100644 --- a/material/.icons/material/football-helmet.svg +++ b/material/.icons/material/football-helmet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/forklift.svg b/material/.icons/material/forklift.svg index 61c35e56b..ebe4ad1da 100644 --- a/material/.icons/material/forklift.svg +++ b/material/.icons/material/forklift.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/form-dropdown.svg b/material/.icons/material/form-dropdown.svg index e3d5d7e4a..85b9f33ff 100644 --- a/material/.icons/material/form-dropdown.svg +++ b/material/.icons/material/form-dropdown.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/form-select.svg b/material/.icons/material/form-select.svg index d1346724b..6e89975e8 100644 --- a/material/.icons/material/form-select.svg +++ b/material/.icons/material/form-select.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/form-textarea.svg b/material/.icons/material/form-textarea.svg index a064cd671..50772482d 100644 --- a/material/.icons/material/form-textarea.svg +++ b/material/.icons/material/form-textarea.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/form-textbox-password.svg b/material/.icons/material/form-textbox-password.svg index 37e526998..d24e9cc83 100644 --- a/material/.icons/material/form-textbox-password.svg +++ b/material/.icons/material/form-textbox-password.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/form-textbox.svg b/material/.icons/material/form-textbox.svg index f8397c87b..a33dfb786 100644 --- a/material/.icons/material/form-textbox.svg +++ b/material/.icons/material/form-textbox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-bold.svg b/material/.icons/material/format-bold.svg index 1e01a57dc..613ca5008 100644 --- a/material/.icons/material/format-bold.svg +++ b/material/.icons/material/format-bold.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-color-fill.svg b/material/.icons/material/format-color-fill.svg index d2b8705c6..c1762092d 100644 --- a/material/.icons/material/format-color-fill.svg +++ b/material/.icons/material/format-color-fill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-header-2.svg b/material/.icons/material/format-header-2.svg index cb4db3ccb..ca0e488a6 100644 --- a/material/.icons/material/format-header-2.svg +++ b/material/.icons/material/format-header-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-header-3.svg b/material/.icons/material/format-header-3.svg index ad8ed3d1b..5e9b37509 100644 --- a/material/.icons/material/format-header-3.svg +++ b/material/.icons/material/format-header-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-header-5.svg b/material/.icons/material/format-header-5.svg index 47c23a0ce..ae3a0f136 100644 --- a/material/.icons/material/format-header-5.svg +++ b/material/.icons/material/format-header-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-header-6.svg b/material/.icons/material/format-header-6.svg index eed818a08..d490600fd 100644 --- a/material/.icons/material/format-header-6.svg +++ b/material/.icons/material/format-header-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-letter-case-lower.svg b/material/.icons/material/format-letter-case-lower.svg index 7665b77de..8ee010772 100644 --- a/material/.icons/material/format-letter-case-lower.svg +++ b/material/.icons/material/format-letter-case-lower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-letter-case-upper.svg b/material/.icons/material/format-letter-case-upper.svg index 9dec6e73e..715023965 100644 --- a/material/.icons/material/format-letter-case-upper.svg +++ b/material/.icons/material/format-letter-case-upper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-letter-case.svg b/material/.icons/material/format-letter-case.svg index 1f2568f79..fcb1dc9d0 100644 --- a/material/.icons/material/format-letter-case.svg +++ b/material/.icons/material/format-letter-case.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-list-bulleted-type.svg b/material/.icons/material/format-list-bulleted-type.svg index 4901ae0d4..159c3c34a 100644 --- a/material/.icons/material/format-list-bulleted-type.svg +++ b/material/.icons/material/format-list-bulleted-type.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-list-bulleted.svg b/material/.icons/material/format-list-bulleted.svg index 10ecd34c6..bbc3ace50 100644 --- a/material/.icons/material/format-list-bulleted.svg +++ b/material/.icons/material/format-list-bulleted.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-list-checkbox.svg b/material/.icons/material/format-list-checkbox.svg index 1444a4f89..4630e7401 100644 --- a/material/.icons/material/format-list-checkbox.svg +++ b/material/.icons/material/format-list-checkbox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-list-numbered-rtl.svg b/material/.icons/material/format-list-numbered-rtl.svg index 1ec5e8304..bf36c5e40 100644 --- a/material/.icons/material/format-list-numbered-rtl.svg +++ b/material/.icons/material/format-list-numbered-rtl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-list-numbered.svg b/material/.icons/material/format-list-numbered.svg index 1734c2a86..1a858b36a 100644 --- a/material/.icons/material/format-list-numbered.svg +++ b/material/.icons/material/format-list-numbered.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-page-break.svg b/material/.icons/material/format-page-break.svg index f6da2a818..d677684df 100644 --- a/material/.icons/material/format-page-break.svg +++ b/material/.icons/material/format-page-break.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-paint.svg b/material/.icons/material/format-paint.svg index 97af13654..d22deac8b 100644 --- a/material/.icons/material/format-paint.svg +++ b/material/.icons/material/format-paint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-paragraph.svg b/material/.icons/material/format-paragraph.svg index 580509b0d..bc9289768 100644 --- a/material/.icons/material/format-paragraph.svg +++ b/material/.icons/material/format-paragraph.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-pilcrow.svg b/material/.icons/material/format-pilcrow.svg index 3db2dbacb..eb7d4e022 100644 --- a/material/.icons/material/format-pilcrow.svg +++ b/material/.icons/material/format-pilcrow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-rotate-90.svg b/material/.icons/material/format-rotate-90.svg index adb079765..134ee082c 100644 --- a/material/.icons/material/format-rotate-90.svg +++ b/material/.icons/material/format-rotate-90.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-section.svg b/material/.icons/material/format-section.svg index 631a33228..e013ced66 100644 --- a/material/.icons/material/format-section.svg +++ b/material/.icons/material/format-section.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-subscript.svg b/material/.icons/material/format-subscript.svg index a5db42661..b5816d39d 100644 --- a/material/.icons/material/format-subscript.svg +++ b/material/.icons/material/format-subscript.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-superscript.svg b/material/.icons/material/format-superscript.svg index ee5fd17ef..1e39a64fb 100644 --- a/material/.icons/material/format-superscript.svg +++ b/material/.icons/material/format-superscript.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-textdirection-l-to-r.svg b/material/.icons/material/format-textdirection-l-to-r.svg index 6a598387e..e608026aa 100644 --- a/material/.icons/material/format-textdirection-l-to-r.svg +++ b/material/.icons/material/format-textdirection-l-to-r.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-textdirection-r-to-l.svg b/material/.icons/material/format-textdirection-r-to-l.svg index 13f5d9f31..82d97ab6d 100644 --- a/material/.icons/material/format-textdirection-r-to-l.svg +++ b/material/.icons/material/format-textdirection-r-to-l.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/format-underline.svg b/material/.icons/material/format-underline.svg index 12ba959e1..8a85e043a 100644 --- a/material/.icons/material/format-underline.svg +++ b/material/.icons/material/format-underline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/forum-outline.svg b/material/.icons/material/forum-outline.svg index 299aef82c..cb5e0f4f5 100644 --- a/material/.icons/material/forum-outline.svg +++ b/material/.icons/material/forum-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/forum.svg b/material/.icons/material/forum.svg index 31e650147..ff082dc29 100644 --- a/material/.icons/material/forum.svg +++ b/material/.icons/material/forum.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fountain.svg b/material/.icons/material/fountain.svg index 1cdcd3f77..4c21cc358 100644 --- a/material/.icons/material/fountain.svg +++ b/material/.icons/material/fountain.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/freebsd.svg b/material/.icons/material/freebsd.svg index 5f04279d9..2f8466019 100644 --- a/material/.icons/material/freebsd.svg +++ b/material/.icons/material/freebsd.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/frequently-asked-questions.svg b/material/.icons/material/frequently-asked-questions.svg index a624f1f0f..989641ed0 100644 --- a/material/.icons/material/frequently-asked-questions.svg +++ b/material/.icons/material/frequently-asked-questions.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-alert-outline.svg b/material/.icons/material/fridge-alert-outline.svg index 7a94e36ef..fe7d9ab52 100644 --- a/material/.icons/material/fridge-alert-outline.svg +++ b/material/.icons/material/fridge-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-alert.svg b/material/.icons/material/fridge-alert.svg index cb4215383..898ea623c 100644 --- a/material/.icons/material/fridge-alert.svg +++ b/material/.icons/material/fridge-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-bottom.svg b/material/.icons/material/fridge-bottom.svg index 271d1c425..649891ccb 100644 --- a/material/.icons/material/fridge-bottom.svg +++ b/material/.icons/material/fridge-bottom.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-industrial-alert-outline.svg b/material/.icons/material/fridge-industrial-alert-outline.svg index 396644065..cd0daadc2 100644 --- a/material/.icons/material/fridge-industrial-alert-outline.svg +++ b/material/.icons/material/fridge-industrial-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-industrial-alert.svg b/material/.icons/material/fridge-industrial-alert.svg index 9a314268b..2c3ee5372 100644 --- a/material/.icons/material/fridge-industrial-alert.svg +++ b/material/.icons/material/fridge-industrial-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-industrial-off-outline.svg b/material/.icons/material/fridge-industrial-off-outline.svg index 9848c44ab..eb2561f1f 100644 --- a/material/.icons/material/fridge-industrial-off-outline.svg +++ b/material/.icons/material/fridge-industrial-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-industrial-off.svg b/material/.icons/material/fridge-industrial-off.svg index 0d23c1d63..0a7f0258f 100644 --- a/material/.icons/material/fridge-industrial-off.svg +++ b/material/.icons/material/fridge-industrial-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-industrial-outline.svg b/material/.icons/material/fridge-industrial-outline.svg index 4b2b01774..238e139be 100644 --- a/material/.icons/material/fridge-industrial-outline.svg +++ b/material/.icons/material/fridge-industrial-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-industrial.svg b/material/.icons/material/fridge-industrial.svg index 6bf6c82bb..272520d69 100644 --- a/material/.icons/material/fridge-industrial.svg +++ b/material/.icons/material/fridge-industrial.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-off-outline.svg b/material/.icons/material/fridge-off-outline.svg index 80807c3b1..451be4a29 100644 --- a/material/.icons/material/fridge-off-outline.svg +++ b/material/.icons/material/fridge-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-off.svg b/material/.icons/material/fridge-off.svg index c255acd8c..27951ae68 100644 --- a/material/.icons/material/fridge-off.svg +++ b/material/.icons/material/fridge-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-outline.svg b/material/.icons/material/fridge-outline.svg index 086d1aa32..d79169b6d 100644 --- a/material/.icons/material/fridge-outline.svg +++ b/material/.icons/material/fridge-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-top.svg b/material/.icons/material/fridge-top.svg index 3d6ec1632..ec05648d4 100644 --- a/material/.icons/material/fridge-top.svg +++ b/material/.icons/material/fridge-top.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-variant-alert-outline.svg b/material/.icons/material/fridge-variant-alert-outline.svg index 1416fd116..05f552458 100644 --- a/material/.icons/material/fridge-variant-alert-outline.svg +++ b/material/.icons/material/fridge-variant-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-variant-alert.svg b/material/.icons/material/fridge-variant-alert.svg index ec486d11e..a5a03eee0 100644 --- a/material/.icons/material/fridge-variant-alert.svg +++ b/material/.icons/material/fridge-variant-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-variant-off-outline.svg b/material/.icons/material/fridge-variant-off-outline.svg index 85516dbd7..9c917b1f6 100644 --- a/material/.icons/material/fridge-variant-off-outline.svg +++ b/material/.icons/material/fridge-variant-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-variant-off.svg b/material/.icons/material/fridge-variant-off.svg index d48ecbac2..e9e02a85e 100644 --- a/material/.icons/material/fridge-variant-off.svg +++ b/material/.icons/material/fridge-variant-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-variant-outline.svg b/material/.icons/material/fridge-variant-outline.svg index cceb054d4..f0f34c31e 100644 --- a/material/.icons/material/fridge-variant-outline.svg +++ b/material/.icons/material/fridge-variant-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge-variant.svg b/material/.icons/material/fridge-variant.svg index 78f1a304c..6d5f54397 100644 --- a/material/.icons/material/fridge-variant.svg +++ b/material/.icons/material/fridge-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fridge.svg b/material/.icons/material/fridge.svg index 60ffd841e..6462cf763 100644 --- a/material/.icons/material/fridge.svg +++ b/material/.icons/material/fridge.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fruit-grapes-outline.svg b/material/.icons/material/fruit-grapes-outline.svg index eaf2082bc..89d441b19 100644 --- a/material/.icons/material/fruit-grapes-outline.svg +++ b/material/.icons/material/fruit-grapes-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fuel.svg b/material/.icons/material/fuel.svg index 4ae0e411e..80aa7ad6b 100644 --- a/material/.icons/material/fuel.svg +++ b/material/.icons/material/fuel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/function-variant.svg b/material/.icons/material/function-variant.svg index e9618a59f..bb3f9f6af 100644 --- a/material/.icons/material/function-variant.svg +++ b/material/.icons/material/function-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/function.svg b/material/.icons/material/function.svg index b387d3f6d..738ae14a8 100644 --- a/material/.icons/material/function.svg +++ b/material/.icons/material/function.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/furigana-horizontal.svg b/material/.icons/material/furigana-horizontal.svg index 66d6c5cca..65c9ac888 100644 --- a/material/.icons/material/furigana-horizontal.svg +++ b/material/.icons/material/furigana-horizontal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/furigana-vertical.svg b/material/.icons/material/furigana-vertical.svg index cc11d3793..dcc17a649 100644 --- a/material/.icons/material/furigana-vertical.svg +++ b/material/.icons/material/furigana-vertical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fuse-blade.svg b/material/.icons/material/fuse-blade.svg index 39b232d0d..59397104b 100644 --- a/material/.icons/material/fuse-blade.svg +++ b/material/.icons/material/fuse-blade.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/fuse.svg b/material/.icons/material/fuse.svg index 5bdaac0a1..95fac307d 100644 --- a/material/.icons/material/fuse.svg +++ b/material/.icons/material/fuse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-circle-down.svg b/material/.icons/material/gamepad-circle-down.svg index ab3cc04c6..4b7875536 100644 --- a/material/.icons/material/gamepad-circle-down.svg +++ b/material/.icons/material/gamepad-circle-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-circle-left.svg b/material/.icons/material/gamepad-circle-left.svg index 5538dca25..9b02a97fc 100644 --- a/material/.icons/material/gamepad-circle-left.svg +++ b/material/.icons/material/gamepad-circle-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-circle-outline.svg b/material/.icons/material/gamepad-circle-outline.svg index 8ed9f6962..6ff8dc0f0 100644 --- a/material/.icons/material/gamepad-circle-outline.svg +++ b/material/.icons/material/gamepad-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-circle-right.svg b/material/.icons/material/gamepad-circle-right.svg index 3726fcfc0..389f52d8d 100644 --- a/material/.icons/material/gamepad-circle-right.svg +++ b/material/.icons/material/gamepad-circle-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-circle-up.svg b/material/.icons/material/gamepad-circle-up.svg index 17bb29899..2bf5e4054 100644 --- a/material/.icons/material/gamepad-circle-up.svg +++ b/material/.icons/material/gamepad-circle-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-circle.svg b/material/.icons/material/gamepad-circle.svg index a6b174f56..9cfb06d66 100644 --- a/material/.icons/material/gamepad-circle.svg +++ b/material/.icons/material/gamepad-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-round-down.svg b/material/.icons/material/gamepad-round-down.svg index 120d7a5a6..94896522b 100644 --- a/material/.icons/material/gamepad-round-down.svg +++ b/material/.icons/material/gamepad-round-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-round-left.svg b/material/.icons/material/gamepad-round-left.svg index 4db31447d..351dcd329 100644 --- a/material/.icons/material/gamepad-round-left.svg +++ b/material/.icons/material/gamepad-round-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-round-outline.svg b/material/.icons/material/gamepad-round-outline.svg index 65a360953..7b63a6643 100644 --- a/material/.icons/material/gamepad-round-outline.svg +++ b/material/.icons/material/gamepad-round-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-round-right.svg b/material/.icons/material/gamepad-round-right.svg index b88331dd4..35aa7c51a 100644 --- a/material/.icons/material/gamepad-round-right.svg +++ b/material/.icons/material/gamepad-round-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-round-up.svg b/material/.icons/material/gamepad-round-up.svg index ebaf164f1..90c31fe6f 100644 --- a/material/.icons/material/gamepad-round-up.svg +++ b/material/.icons/material/gamepad-round-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-round.svg b/material/.icons/material/gamepad-round.svg index c3f13037d..09b22469d 100644 --- a/material/.icons/material/gamepad-round.svg +++ b/material/.icons/material/gamepad-round.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-square-outline.svg b/material/.icons/material/gamepad-square-outline.svg index 5096ac6e0..4e34adb0e 100644 --- a/material/.icons/material/gamepad-square-outline.svg +++ b/material/.icons/material/gamepad-square-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-square.svg b/material/.icons/material/gamepad-square.svg index 3b971780a..a0b21b821 100644 --- a/material/.icons/material/gamepad-square.svg +++ b/material/.icons/material/gamepad-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-variant-outline.svg b/material/.icons/material/gamepad-variant-outline.svg index 0d42c4a7c..b9acdf754 100644 --- a/material/.icons/material/gamepad-variant-outline.svg +++ b/material/.icons/material/gamepad-variant-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gamepad-variant.svg b/material/.icons/material/gamepad-variant.svg index d85013f93..7a4c6b339 100644 --- a/material/.icons/material/gamepad-variant.svg +++ b/material/.icons/material/gamepad-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gantry-crane.svg b/material/.icons/material/gantry-crane.svg index 34539793a..e950e5b73 100644 --- a/material/.icons/material/gantry-crane.svg +++ b/material/.icons/material/gantry-crane.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gas-cylinder.svg b/material/.icons/material/gas-cylinder.svg index 8eeef1c9a..6468a4032 100644 --- a/material/.icons/material/gas-cylinder.svg +++ b/material/.icons/material/gas-cylinder.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gas-station-off-outline.svg b/material/.icons/material/gas-station-off-outline.svg index ac90d8d8a..e38b83231 100644 --- a/material/.icons/material/gas-station-off-outline.svg +++ b/material/.icons/material/gas-station-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gas-station-off.svg b/material/.icons/material/gas-station-off.svg index 595b6ca96..895bd4ad3 100644 --- a/material/.icons/material/gas-station-off.svg +++ b/material/.icons/material/gas-station-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gas-station-outline.svg b/material/.icons/material/gas-station-outline.svg index 05f7b4712..a1cb7e0a4 100644 --- a/material/.icons/material/gas-station-outline.svg +++ b/material/.icons/material/gas-station-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gas-station.svg b/material/.icons/material/gas-station.svg index 7badb69de..bafb33c45 100644 --- a/material/.icons/material/gas-station.svg +++ b/material/.icons/material/gas-station.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gate-and.svg b/material/.icons/material/gate-and.svg index afe6ab4d7..5a87fc964 100644 --- a/material/.icons/material/gate-and.svg +++ b/material/.icons/material/gate-and.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gate-arrow-right.svg b/material/.icons/material/gate-arrow-right.svg index 0eb2f29e8..c8fccca3c 100644 --- a/material/.icons/material/gate-arrow-right.svg +++ b/material/.icons/material/gate-arrow-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gate-nand.svg b/material/.icons/material/gate-nand.svg index 39dc7d0dd..2b5d2fbb5 100644 --- a/material/.icons/material/gate-nand.svg +++ b/material/.icons/material/gate-nand.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gate-nor.svg b/material/.icons/material/gate-nor.svg index ca54a11cb..a7aed4511 100644 --- a/material/.icons/material/gate-nor.svg +++ b/material/.icons/material/gate-nor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gate-not.svg b/material/.icons/material/gate-not.svg index 1560334fc..7e72d1e0f 100644 --- a/material/.icons/material/gate-not.svg +++ b/material/.icons/material/gate-not.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gate-xnor.svg b/material/.icons/material/gate-xnor.svg index 080ba7da2..31b936c4d 100644 --- a/material/.icons/material/gate-xnor.svg +++ b/material/.icons/material/gate-xnor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gatsby.svg b/material/.icons/material/gatsby.svg index ca823730e..f320eafc7 100644 --- a/material/.icons/material/gatsby.svg +++ b/material/.icons/material/gatsby.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gauge-empty.svg b/material/.icons/material/gauge-empty.svg index c918b200c..ab7aaf104 100644 --- a/material/.icons/material/gauge-empty.svg +++ b/material/.icons/material/gauge-empty.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gauge-full.svg b/material/.icons/material/gauge-full.svg index 6fb15fb89..d07a3d834 100644 --- a/material/.icons/material/gauge-full.svg +++ b/material/.icons/material/gauge-full.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gauge-low.svg b/material/.icons/material/gauge-low.svg index 3f4aed860..9ecfb4910 100644 --- a/material/.icons/material/gauge-low.svg +++ b/material/.icons/material/gauge-low.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gauge.svg b/material/.icons/material/gauge.svg index ae600823e..f4dc23a1e 100644 --- a/material/.icons/material/gauge.svg +++ b/material/.icons/material/gauge.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gavel.svg b/material/.icons/material/gavel.svg index e7c1a1a07..a38da99f3 100644 --- a/material/.icons/material/gavel.svg +++ b/material/.icons/material/gavel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gender-female.svg b/material/.icons/material/gender-female.svg index 46b79e502..413017dbf 100644 --- a/material/.icons/material/gender-female.svg +++ b/material/.icons/material/gender-female.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gender-male-female-variant.svg b/material/.icons/material/gender-male-female-variant.svg index 68f08380a..0a4511ff2 100644 --- a/material/.icons/material/gender-male-female-variant.svg +++ b/material/.icons/material/gender-male-female-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gender-male-female.svg b/material/.icons/material/gender-male-female.svg index fb1dea3d2..f66f7ff2a 100644 --- a/material/.icons/material/gender-male-female.svg +++ b/material/.icons/material/gender-male-female.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gender-male.svg b/material/.icons/material/gender-male.svg index 575415801..f5217dd6f 100644 --- a/material/.icons/material/gender-male.svg +++ b/material/.icons/material/gender-male.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gender-non-binary.svg b/material/.icons/material/gender-non-binary.svg index e6818bf07..eacf615ef 100644 --- a/material/.icons/material/gender-non-binary.svg +++ b/material/.icons/material/gender-non-binary.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gender-transgender.svg b/material/.icons/material/gender-transgender.svg index d602ce64b..51ac1fe6c 100644 --- a/material/.icons/material/gender-transgender.svg +++ b/material/.icons/material/gender-transgender.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-double-tap.svg b/material/.icons/material/gesture-double-tap.svg index c03251656..87de1d11d 100644 --- a/material/.icons/material/gesture-double-tap.svg +++ b/material/.icons/material/gesture-double-tap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-pinch.svg b/material/.icons/material/gesture-pinch.svg index eb04037b0..0a4213a5d 100644 --- a/material/.icons/material/gesture-pinch.svg +++ b/material/.icons/material/gesture-pinch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-spread.svg b/material/.icons/material/gesture-spread.svg index cab3dd26e..0bac64b6d 100644 --- a/material/.icons/material/gesture-spread.svg +++ b/material/.icons/material/gesture-spread.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-swipe-down.svg b/material/.icons/material/gesture-swipe-down.svg index 57121cd30..538f3f09d 100644 --- a/material/.icons/material/gesture-swipe-down.svg +++ b/material/.icons/material/gesture-swipe-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-swipe-horizontal.svg b/material/.icons/material/gesture-swipe-horizontal.svg index b99dad94b..676a7b2b5 100644 --- a/material/.icons/material/gesture-swipe-horizontal.svg +++ b/material/.icons/material/gesture-swipe-horizontal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-swipe-left.svg b/material/.icons/material/gesture-swipe-left.svg index 13cf37994..864b9c94c 100644 --- a/material/.icons/material/gesture-swipe-left.svg +++ b/material/.icons/material/gesture-swipe-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-swipe-right.svg b/material/.icons/material/gesture-swipe-right.svg index 7355a502d..f631288b3 100644 --- a/material/.icons/material/gesture-swipe-right.svg +++ b/material/.icons/material/gesture-swipe-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-swipe-up.svg b/material/.icons/material/gesture-swipe-up.svg index f714046e1..0e238bfee 100644 --- a/material/.icons/material/gesture-swipe-up.svg +++ b/material/.icons/material/gesture-swipe-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-swipe-vertical.svg b/material/.icons/material/gesture-swipe-vertical.svg index f26502b85..15999c84d 100644 --- a/material/.icons/material/gesture-swipe-vertical.svg +++ b/material/.icons/material/gesture-swipe-vertical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-tap-button.svg b/material/.icons/material/gesture-tap-button.svg index fe5b9e4b1..a459c2b79 100644 --- a/material/.icons/material/gesture-tap-button.svg +++ b/material/.icons/material/gesture-tap-button.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-tap-hold.svg b/material/.icons/material/gesture-tap-hold.svg index 8f5ffde66..9b1fa7e9a 100644 --- a/material/.icons/material/gesture-tap-hold.svg +++ b/material/.icons/material/gesture-tap-hold.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-tap.svg b/material/.icons/material/gesture-tap.svg index 729483fea..bc2006dbe 100644 --- a/material/.icons/material/gesture-tap.svg +++ b/material/.icons/material/gesture-tap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-two-double-tap.svg b/material/.icons/material/gesture-two-double-tap.svg index d35d9102b..d4b29e0bf 100644 --- a/material/.icons/material/gesture-two-double-tap.svg +++ b/material/.icons/material/gesture-two-double-tap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture-two-tap.svg b/material/.icons/material/gesture-two-tap.svg index e8164f836..e7d66578e 100644 --- a/material/.icons/material/gesture-two-tap.svg +++ b/material/.icons/material/gesture-two-tap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gesture.svg b/material/.icons/material/gesture.svg index 4d1476b85..9e6101ec5 100644 --- a/material/.icons/material/gesture.svg +++ b/material/.icons/material/gesture.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ghost-off-outline.svg b/material/.icons/material/ghost-off-outline.svg index 5a01cac02..cbca09510 100644 --- a/material/.icons/material/ghost-off-outline.svg +++ b/material/.icons/material/ghost-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ghost-off.svg b/material/.icons/material/ghost-off.svg index 43db2bd38..7883efb88 100644 --- a/material/.icons/material/ghost-off.svg +++ b/material/.icons/material/ghost-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ghost-outline.svg b/material/.icons/material/ghost-outline.svg index 0e7d7e14b..5d5a99b6e 100644 --- a/material/.icons/material/ghost-outline.svg +++ b/material/.icons/material/ghost-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ghost.svg b/material/.icons/material/ghost.svg index bbeee8227..315a412c6 100644 --- a/material/.icons/material/ghost.svg +++ b/material/.icons/material/ghost.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gift-off-outline.svg b/material/.icons/material/gift-off-outline.svg index dff98f96d..845a43452 100644 --- a/material/.icons/material/gift-off-outline.svg +++ b/material/.icons/material/gift-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gift-off.svg b/material/.icons/material/gift-off.svg index c1ed8d078..e6cf24003 100644 --- a/material/.icons/material/gift-off.svg +++ b/material/.icons/material/gift-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gift-open-outline.svg b/material/.icons/material/gift-open-outline.svg index 2724822cd..a632c99ac 100644 --- a/material/.icons/material/gift-open-outline.svg +++ b/material/.icons/material/gift-open-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gift-open.svg b/material/.icons/material/gift-open.svg index 2e5940a06..565efb173 100644 --- a/material/.icons/material/gift-open.svg +++ b/material/.icons/material/gift-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gift-outline.svg b/material/.icons/material/gift-outline.svg index 016d59e53..f96bc1230 100644 --- a/material/.icons/material/gift-outline.svg +++ b/material/.icons/material/gift-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gift.svg b/material/.icons/material/gift.svg index 19535cfa6..8d9e4ec89 100644 --- a/material/.icons/material/gift.svg +++ b/material/.icons/material/gift.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/git.svg b/material/.icons/material/git.svg index ffd7c4a84..fadda6226 100644 --- a/material/.icons/material/git.svg +++ b/material/.icons/material/git.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/github.svg b/material/.icons/material/github.svg index 9333993bf..3e216faa2 100644 --- a/material/.icons/material/github.svg +++ b/material/.icons/material/github.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gitlab.svg b/material/.icons/material/gitlab.svg index 1689781f7..93cbac9db 100644 --- a/material/.icons/material/gitlab.svg +++ b/material/.icons/material/gitlab.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/glass-mug-variant-off.svg b/material/.icons/material/glass-mug-variant-off.svg index f9a6a69af..5a88ad88f 100644 --- a/material/.icons/material/glass-mug-variant-off.svg +++ b/material/.icons/material/glass-mug-variant-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/glass-mug-variant.svg b/material/.icons/material/glass-mug-variant.svg index 8197c6a10..d3daebafc 100644 --- a/material/.icons/material/glass-mug-variant.svg +++ b/material/.icons/material/glass-mug-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/glass-mug.svg b/material/.icons/material/glass-mug.svg index e2d7de9ba..54941ebe9 100644 --- a/material/.icons/material/glass-mug.svg +++ b/material/.icons/material/glass-mug.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/glass-wine.svg b/material/.icons/material/glass-wine.svg index 8dc94fea7..df32b870d 100644 --- a/material/.icons/material/glass-wine.svg +++ b/material/.icons/material/glass-wine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/glasses.svg b/material/.icons/material/glasses.svg index 09619aca5..984586337 100644 --- a/material/.icons/material/glasses.svg +++ b/material/.icons/material/glasses.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/globe-model.svg b/material/.icons/material/globe-model.svg index 9d6be4fae..dde6dffb8 100644 --- a/material/.icons/material/globe-model.svg +++ b/material/.icons/material/globe-model.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gmail.svg b/material/.icons/material/gmail.svg index 0bf32cb95..9dbf60ca0 100644 --- a/material/.icons/material/gmail.svg +++ b/material/.icons/material/gmail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/go-kart-track.svg b/material/.icons/material/go-kart-track.svg index 7bce942d5..d96f2b739 100644 --- a/material/.icons/material/go-kart-track.svg +++ b/material/.icons/material/go-kart-track.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/go-kart.svg b/material/.icons/material/go-kart.svg index 635ef1c33..122acacbf 100644 --- a/material/.icons/material/go-kart.svg +++ b/material/.icons/material/go-kart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gog.svg b/material/.icons/material/gog.svg index cf92cff48..b463a78fc 100644 --- a/material/.icons/material/gog.svg +++ b/material/.icons/material/gog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/golf-cart.svg b/material/.icons/material/golf-cart.svg index c3ea59cf1..83d7736af 100644 --- a/material/.icons/material/golf-cart.svg +++ b/material/.icons/material/golf-cart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/golf.svg b/material/.icons/material/golf.svg index ed47a4e69..fc8a3a315 100644 --- a/material/.icons/material/golf.svg +++ b/material/.icons/material/golf.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gondola.svg b/material/.icons/material/gondola.svg index 50d323c36..c534c6601 100644 --- a/material/.icons/material/gondola.svg +++ b/material/.icons/material/gondola.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-ads.svg b/material/.icons/material/google-ads.svg index 2c194dca6..fab997655 100644 --- a/material/.icons/material/google-ads.svg +++ b/material/.icons/material/google-ads.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-analytics.svg b/material/.icons/material/google-analytics.svg index 7c15c78b7..be31251d4 100644 --- a/material/.icons/material/google-analytics.svg +++ b/material/.icons/material/google-analytics.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-assistant.svg b/material/.icons/material/google-assistant.svg index bf688e99a..8ffafad67 100644 --- a/material/.icons/material/google-assistant.svg +++ b/material/.icons/material/google-assistant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-chrome.svg b/material/.icons/material/google-chrome.svg index 2845cb968..5d62ce3c3 100644 --- a/material/.icons/material/google-chrome.svg +++ b/material/.icons/material/google-chrome.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-circles-communities.svg b/material/.icons/material/google-circles-communities.svg index 5b7f91fe2..5945493df 100644 --- a/material/.icons/material/google-circles-communities.svg +++ b/material/.icons/material/google-circles-communities.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-circles-extended.svg b/material/.icons/material/google-circles-extended.svg index 330dc9b79..c9bafaf8b 100644 --- a/material/.icons/material/google-circles-extended.svg +++ b/material/.icons/material/google-circles-extended.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-circles-group.svg b/material/.icons/material/google-circles-group.svg index bd56e9cee..b3c06f93d 100644 --- a/material/.icons/material/google-circles-group.svg +++ b/material/.icons/material/google-circles-group.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-circles.svg b/material/.icons/material/google-circles.svg index 1d1175b64..4b1b49fa5 100644 --- a/material/.icons/material/google-circles.svg +++ b/material/.icons/material/google-circles.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-classroom.svg b/material/.icons/material/google-classroom.svg index 448c983a3..41c459db7 100644 --- a/material/.icons/material/google-classroom.svg +++ b/material/.icons/material/google-classroom.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-cloud.svg b/material/.icons/material/google-cloud.svg index 9b32027b4..c9caf4428 100644 --- a/material/.icons/material/google-cloud.svg +++ b/material/.icons/material/google-cloud.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-controller-off.svg b/material/.icons/material/google-controller-off.svg index c8ed3685b..3d2989f16 100644 --- a/material/.icons/material/google-controller-off.svg +++ b/material/.icons/material/google-controller-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-controller.svg b/material/.icons/material/google-controller.svg index 31e3f7139..88728d49e 100644 --- a/material/.icons/material/google-controller.svg +++ b/material/.icons/material/google-controller.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-fit.svg b/material/.icons/material/google-fit.svg index 7d6f7cdc8..3b6b8ae0d 100644 --- a/material/.icons/material/google-fit.svg +++ b/material/.icons/material/google-fit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-hangouts.svg b/material/.icons/material/google-hangouts.svg index 6b5b0f58e..e379e2a2d 100644 --- a/material/.icons/material/google-hangouts.svg +++ b/material/.icons/material/google-hangouts.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-keep.svg b/material/.icons/material/google-keep.svg index 31e0d384d..38fd4d4da 100644 --- a/material/.icons/material/google-keep.svg +++ b/material/.icons/material/google-keep.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-lens.svg b/material/.icons/material/google-lens.svg index 6067b0f7d..5db91aa6e 100644 --- a/material/.icons/material/google-lens.svg +++ b/material/.icons/material/google-lens.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-maps.svg b/material/.icons/material/google-maps.svg index ea7e7f426..004752a95 100644 --- a/material/.icons/material/google-maps.svg +++ b/material/.icons/material/google-maps.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-my-business.svg b/material/.icons/material/google-my-business.svg index c43197761..e08a25c6a 100644 --- a/material/.icons/material/google-my-business.svg +++ b/material/.icons/material/google-my-business.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-podcast.svg b/material/.icons/material/google-podcast.svg index 9d26d3f10..5fc13e753 100644 --- a/material/.icons/material/google-podcast.svg +++ b/material/.icons/material/google-podcast.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-street-view.svg b/material/.icons/material/google-street-view.svg index 436b7d53a..a04d8562b 100644 --- a/material/.icons/material/google-street-view.svg +++ b/material/.icons/material/google-street-view.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/google-translate.svg b/material/.icons/material/google-translate.svg index c3da097dd..69bc1ee0c 100644 --- a/material/.icons/material/google-translate.svg +++ b/material/.icons/material/google-translate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/gradient.svg b/material/.icons/material/gradient.svg index 7fd346178..84b1a61da 100644 --- a/material/.icons/material/gradient.svg +++ b/material/.icons/material/gradient.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/grain.svg b/material/.icons/material/grain.svg index 29dc77fc9..ae6f89955 100644 --- a/material/.icons/material/grain.svg +++ b/material/.icons/material/grain.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/graph-outline.svg b/material/.icons/material/graph-outline.svg index 3418c64d4..33e1d021c 100644 --- a/material/.icons/material/graph-outline.svg +++ b/material/.icons/material/graph-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/graph.svg b/material/.icons/material/graph.svg index 44dbcae53..a3acb8294 100644 --- a/material/.icons/material/graph.svg +++ b/material/.icons/material/graph.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/graphql.svg b/material/.icons/material/graphql.svg index 8699eac5d..29c46bdcd 100644 --- a/material/.icons/material/graphql.svg +++ b/material/.icons/material/graphql.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/grass.svg b/material/.icons/material/grass.svg index e9ba13cec..83f285bba 100644 --- a/material/.icons/material/grass.svg +++ b/material/.icons/material/grass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/grid-large.svg b/material/.icons/material/grid-large.svg index efb413e22..62542f133 100644 --- a/material/.icons/material/grid-large.svg +++ b/material/.icons/material/grid-large.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/grid-off.svg b/material/.icons/material/grid-off.svg index 311d2c4d3..ef86d75b8 100644 --- a/material/.icons/material/grid-off.svg +++ b/material/.icons/material/grid-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/grid.svg b/material/.icons/material/grid.svg index abead3864..51fbcc686 100644 --- a/material/.icons/material/grid.svg +++ b/material/.icons/material/grid.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/grill-outline.svg b/material/.icons/material/grill-outline.svg index 29a9177e3..37bc5f5e4 100644 --- a/material/.icons/material/grill-outline.svg +++ b/material/.icons/material/grill-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/grill.svg b/material/.icons/material/grill.svg index e33318dd3..a0f8b03c2 100644 --- a/material/.icons/material/grill.svg +++ b/material/.icons/material/grill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/guitar-acoustic.svg b/material/.icons/material/guitar-acoustic.svg index 2ab387354..ad8884abc 100644 --- a/material/.icons/material/guitar-acoustic.svg +++ b/material/.icons/material/guitar-acoustic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/guy-fawkes-mask.svg b/material/.icons/material/guy-fawkes-mask.svg index e2680d55c..cd026641e 100644 --- a/material/.icons/material/guy-fawkes-mask.svg +++ b/material/.icons/material/guy-fawkes-mask.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hail.svg b/material/.icons/material/hail.svg index 54f0ab041..0f2749339 100644 --- a/material/.icons/material/hail.svg +++ b/material/.icons/material/hail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hair-dryer-outline.svg b/material/.icons/material/hair-dryer-outline.svg index c6b135460..85f07f73e 100644 --- a/material/.icons/material/hair-dryer-outline.svg +++ b/material/.icons/material/hair-dryer-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hair-dryer.svg b/material/.icons/material/hair-dryer.svg index 68ac3ab8d..15638dd56 100644 --- a/material/.icons/material/hair-dryer.svg +++ b/material/.icons/material/hair-dryer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/halloween.svg b/material/.icons/material/halloween.svg index 5046e4b15..d7db17fb7 100644 --- a/material/.icons/material/halloween.svg +++ b/material/.icons/material/halloween.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hammer-wrench.svg b/material/.icons/material/hammer-wrench.svg index ac1c85771..6e4db9048 100644 --- a/material/.icons/material/hammer-wrench.svg +++ b/material/.icons/material/hammer-wrench.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-heart-outline.svg b/material/.icons/material/hand-heart-outline.svg index 25fcd6d57..2938d479e 100644 --- a/material/.icons/material/hand-heart-outline.svg +++ b/material/.icons/material/hand-heart-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-left.svg b/material/.icons/material/hand-left.svg index 966516be1..f1ffbd0aa 100644 --- a/material/.icons/material/hand-left.svg +++ b/material/.icons/material/hand-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-okay.svg b/material/.icons/material/hand-okay.svg index 5cb2eb842..c4928a8c1 100644 --- a/material/.icons/material/hand-okay.svg +++ b/material/.icons/material/hand-okay.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-peace.svg b/material/.icons/material/hand-peace.svg index 828653f6e..fe34a2072 100644 --- a/material/.icons/material/hand-peace.svg +++ b/material/.icons/material/hand-peace.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-pointing-down.svg b/material/.icons/material/hand-pointing-down.svg index 78ac9393b..4aaad5626 100644 --- a/material/.icons/material/hand-pointing-down.svg +++ b/material/.icons/material/hand-pointing-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-pointing-left.svg b/material/.icons/material/hand-pointing-left.svg index ddc2fb53a..386c06346 100644 --- a/material/.icons/material/hand-pointing-left.svg +++ b/material/.icons/material/hand-pointing-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-pointing-right.svg b/material/.icons/material/hand-pointing-right.svg index 3b423ed3e..277ef7989 100644 --- a/material/.icons/material/hand-pointing-right.svg +++ b/material/.icons/material/hand-pointing-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-pointing-up.svg b/material/.icons/material/hand-pointing-up.svg index cad9e25e8..f349ef718 100644 --- a/material/.icons/material/hand-pointing-up.svg +++ b/material/.icons/material/hand-pointing-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-right.svg b/material/.icons/material/hand-right.svg index e46b2b53e..020fba886 100644 --- a/material/.icons/material/hand-right.svg +++ b/material/.icons/material/hand-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-wash-outline.svg b/material/.icons/material/hand-wash-outline.svg index 944277572..f23021223 100644 --- a/material/.icons/material/hand-wash-outline.svg +++ b/material/.icons/material/hand-wash-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-wash.svg b/material/.icons/material/hand-wash.svg index e35346c71..ee248c69c 100644 --- a/material/.icons/material/hand-wash.svg +++ b/material/.icons/material/hand-wash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand-water.svg b/material/.icons/material/hand-water.svg index 69ab45754..1bc114e74 100644 --- a/material/.icons/material/hand-water.svg +++ b/material/.icons/material/hand-water.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hand.svg b/material/.icons/material/hand.svg index 171912e69..f2cfa1c66 100644 --- a/material/.icons/material/hand.svg +++ b/material/.icons/material/hand.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/handball.svg b/material/.icons/material/handball.svg index 2233c0f74..961cb00aa 100644 --- a/material/.icons/material/handball.svg +++ b/material/.icons/material/handball.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/handcuffs.svg b/material/.icons/material/handcuffs.svg index daf72e1d3..911305cbe 100644 --- a/material/.icons/material/handcuffs.svg +++ b/material/.icons/material/handcuffs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/handshake.svg b/material/.icons/material/handshake.svg index ad68e36c3..07468f801 100644 --- a/material/.icons/material/handshake.svg +++ b/material/.icons/material/handshake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hanger.svg b/material/.icons/material/hanger.svg index 09775e70e..e60c5b22b 100644 --- a/material/.icons/material/hanger.svg +++ b/material/.icons/material/hanger.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hard-hat.svg b/material/.icons/material/hard-hat.svg index 13bbb6fe3..ba04b1748 100644 --- a/material/.icons/material/hard-hat.svg +++ b/material/.icons/material/hard-hat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/harddisk-plus.svg b/material/.icons/material/harddisk-plus.svg index d4a13af4c..1ddb508a1 100644 --- a/material/.icons/material/harddisk-plus.svg +++ b/material/.icons/material/harddisk-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/harddisk-remove.svg b/material/.icons/material/harddisk-remove.svg index 7bede6cd1..cb1791089 100644 --- a/material/.icons/material/harddisk-remove.svg +++ b/material/.icons/material/harddisk-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/harddisk.svg b/material/.icons/material/harddisk.svg index 09c9b937b..914e9bb93 100644 --- a/material/.icons/material/harddisk.svg +++ b/material/.icons/material/harddisk.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hat-fedora.svg b/material/.icons/material/hat-fedora.svg index b78565d97..b6b28480a 100644 --- a/material/.icons/material/hat-fedora.svg +++ b/material/.icons/material/hat-fedora.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-check-outline.svg b/material/.icons/material/head-check-outline.svg index 8655ae7f0..f5d9f68b4 100644 --- a/material/.icons/material/head-check-outline.svg +++ b/material/.icons/material/head-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-cog-outline.svg b/material/.icons/material/head-cog-outline.svg index e625d2c80..a85487970 100644 --- a/material/.icons/material/head-cog-outline.svg +++ b/material/.icons/material/head-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-cog.svg b/material/.icons/material/head-cog.svg index af0f90c6b..90094488f 100644 --- a/material/.icons/material/head-cog.svg +++ b/material/.icons/material/head-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-heart-outline.svg b/material/.icons/material/head-heart-outline.svg index 55e6819a0..637053734 100644 --- a/material/.icons/material/head-heart-outline.svg +++ b/material/.icons/material/head-heart-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-lightbulb.svg b/material/.icons/material/head-lightbulb.svg index 0b04c7895..263afbae7 100644 --- a/material/.icons/material/head-lightbulb.svg +++ b/material/.icons/material/head-lightbulb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-question-outline.svg b/material/.icons/material/head-question-outline.svg index 92f7e15a0..2c2f1778a 100644 --- a/material/.icons/material/head-question-outline.svg +++ b/material/.icons/material/head-question-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-question.svg b/material/.icons/material/head-question.svg index 52b77de11..54127cd78 100644 --- a/material/.icons/material/head-question.svg +++ b/material/.icons/material/head-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-snowflake-outline.svg b/material/.icons/material/head-snowflake-outline.svg index 9b14c9703..65bef1d97 100644 --- a/material/.icons/material/head-snowflake-outline.svg +++ b/material/.icons/material/head-snowflake-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-snowflake.svg b/material/.icons/material/head-snowflake.svg index f9324d799..0e132bcf1 100644 --- a/material/.icons/material/head-snowflake.svg +++ b/material/.icons/material/head-snowflake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-sync-outline.svg b/material/.icons/material/head-sync-outline.svg index 7245b12f7..1116f8ab1 100644 --- a/material/.icons/material/head-sync-outline.svg +++ b/material/.icons/material/head-sync-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/head-sync.svg b/material/.icons/material/head-sync.svg index 9b808f2ca..1682a026b 100644 --- a/material/.icons/material/head-sync.svg +++ b/material/.icons/material/head-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/headphones-bluetooth.svg b/material/.icons/material/headphones-bluetooth.svg index c9ddac168..7cc2ae3d6 100644 --- a/material/.icons/material/headphones-bluetooth.svg +++ b/material/.icons/material/headphones-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/headphones-box.svg b/material/.icons/material/headphones-box.svg index c6debb585..6a9308da2 100644 --- a/material/.icons/material/headphones-box.svg +++ b/material/.icons/material/headphones-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/headphones-off.svg b/material/.icons/material/headphones-off.svg index 239fea85c..8519a0dcc 100644 --- a/material/.icons/material/headphones-off.svg +++ b/material/.icons/material/headphones-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/headphones-settings.svg b/material/.icons/material/headphones-settings.svg index 1cacd36a0..9c23184f3 100644 --- a/material/.icons/material/headphones-settings.svg +++ b/material/.icons/material/headphones-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/headphones.svg b/material/.icons/material/headphones.svg index 5ae302d72..086c5cba3 100644 --- a/material/.icons/material/headphones.svg +++ b/material/.icons/material/headphones.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/headset-dock.svg b/material/.icons/material/headset-dock.svg index 5ec72ff9b..f35d3ee95 100644 --- a/material/.icons/material/headset-dock.svg +++ b/material/.icons/material/headset-dock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/headset-off.svg b/material/.icons/material/headset-off.svg index 46d5b32f8..b136c79ce 100644 --- a/material/.icons/material/headset-off.svg +++ b/material/.icons/material/headset-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/headset.svg b/material/.icons/material/headset.svg index 5b2d3a33b..e7bb461b3 100644 --- a/material/.icons/material/headset.svg +++ b/material/.icons/material/headset.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/heart-box-outline.svg b/material/.icons/material/heart-box-outline.svg index e80bc84c1..b4d39cc31 100644 --- a/material/.icons/material/heart-box-outline.svg +++ b/material/.icons/material/heart-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/heart-box.svg b/material/.icons/material/heart-box.svg index ca6466a64..fa24fb2a1 100644 --- a/material/.icons/material/heart-box.svg +++ b/material/.icons/material/heart-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/heart-circle-outline.svg b/material/.icons/material/heart-circle-outline.svg index 11b83041f..bb6a8684b 100644 --- a/material/.icons/material/heart-circle-outline.svg +++ b/material/.icons/material/heart-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/heart-circle.svg b/material/.icons/material/heart-circle.svg index 0f057f756..8deb03f9f 100644 --- a/material/.icons/material/heart-circle.svg +++ b/material/.icons/material/heart-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/heart-cog-outline.svg b/material/.icons/material/heart-cog-outline.svg index 2360ea50f..8b48ca38e 100644 --- a/material/.icons/material/heart-cog-outline.svg +++ b/material/.icons/material/heart-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/heart-cog.svg b/material/.icons/material/heart-cog.svg index 743d6a60a..1bada51e1 100644 --- a/material/.icons/material/heart-cog.svg +++ b/material/.icons/material/heart-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/heart-half-outline.svg b/material/.icons/material/heart-half-outline.svg index d1fdc1fcb..1bf51a8cc 100644 --- a/material/.icons/material/heart-half-outline.svg +++ b/material/.icons/material/heart-half-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/heart-half.svg b/material/.icons/material/heart-half.svg index a52490fa8..3670d5eed 100644 --- a/material/.icons/material/heart-half.svg +++ b/material/.icons/material/heart-half.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/heart-pulse.svg b/material/.icons/material/heart-pulse.svg index 3cacf9896..a70218abf 100644 --- a/material/.icons/material/heart-pulse.svg +++ b/material/.icons/material/heart-pulse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/helicopter.svg b/material/.icons/material/helicopter.svg index 0e1d6ae87..d8cad52d7 100644 --- a/material/.icons/material/helicopter.svg +++ b/material/.icons/material/helicopter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/help-box.svg b/material/.icons/material/help-box.svg index e916ef187..413291150 100644 --- a/material/.icons/material/help-box.svg +++ b/material/.icons/material/help-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/help-circle-outline.svg b/material/.icons/material/help-circle-outline.svg index 9f5515ab5..ed602591a 100644 --- a/material/.icons/material/help-circle-outline.svg +++ b/material/.icons/material/help-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/help-circle.svg b/material/.icons/material/help-circle.svg index 8e4dd2fcf..642b5ae15 100644 --- a/material/.icons/material/help-circle.svg +++ b/material/.icons/material/help-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/help-network-outline.svg b/material/.icons/material/help-network-outline.svg index 7ea8eaf8b..08773b968 100644 --- a/material/.icons/material/help-network-outline.svg +++ b/material/.icons/material/help-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/help-network.svg b/material/.icons/material/help-network.svg index 6c9e70ad4..11ec78937 100644 --- a/material/.icons/material/help-network.svg +++ b/material/.icons/material/help-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/help.svg b/material/.icons/material/help.svg index c6b50367e..536e5af2a 100644 --- a/material/.icons/material/help.svg +++ b/material/.icons/material/help.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexadecimal.svg b/material/.icons/material/hexadecimal.svg index 9dfee5af3..16545e3f0 100644 --- a/material/.icons/material/hexadecimal.svg +++ b/material/.icons/material/hexadecimal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexagon-multiple-outline.svg b/material/.icons/material/hexagon-multiple-outline.svg index ff22f1d77..83447a087 100644 --- a/material/.icons/material/hexagon-multiple-outline.svg +++ b/material/.icons/material/hexagon-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexagon-outline.svg b/material/.icons/material/hexagon-outline.svg index 24e893dd7..66e134316 100644 --- a/material/.icons/material/hexagon-outline.svg +++ b/material/.icons/material/hexagon-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexagon-slice-1.svg b/material/.icons/material/hexagon-slice-1.svg index 7b73486db..1b9ee97e0 100644 --- a/material/.icons/material/hexagon-slice-1.svg +++ b/material/.icons/material/hexagon-slice-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexagon-slice-2.svg b/material/.icons/material/hexagon-slice-2.svg index b34ce8bed..e327978c5 100644 --- a/material/.icons/material/hexagon-slice-2.svg +++ b/material/.icons/material/hexagon-slice-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexagon-slice-3.svg b/material/.icons/material/hexagon-slice-3.svg index 5f828be01..17a220185 100644 --- a/material/.icons/material/hexagon-slice-3.svg +++ b/material/.icons/material/hexagon-slice-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexagon-slice-4.svg b/material/.icons/material/hexagon-slice-4.svg index a7f096782..3935b5bf8 100644 --- a/material/.icons/material/hexagon-slice-4.svg +++ b/material/.icons/material/hexagon-slice-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexagon-slice-5.svg b/material/.icons/material/hexagon-slice-5.svg index 32a37528e..c5cba0d75 100644 --- a/material/.icons/material/hexagon-slice-5.svg +++ b/material/.icons/material/hexagon-slice-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexagon-slice-6.svg b/material/.icons/material/hexagon-slice-6.svg index 4117b6358..d596fbbae 100644 --- a/material/.icons/material/hexagon-slice-6.svg +++ b/material/.icons/material/hexagon-slice-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hexagon.svg b/material/.icons/material/hexagon.svg index 087ca6ad2..6b0adb97e 100644 --- a/material/.icons/material/hexagon.svg +++ b/material/.icons/material/hexagon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/high-definition-box.svg b/material/.icons/material/high-definition-box.svg index dd6092fdc..1aba4c542 100644 --- a/material/.icons/material/high-definition-box.svg +++ b/material/.icons/material/high-definition-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/high-definition.svg b/material/.icons/material/high-definition.svg index 5965a2442..a192011dc 100644 --- a/material/.icons/material/high-definition.svg +++ b/material/.icons/material/high-definition.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hiking.svg b/material/.icons/material/hiking.svg index 05ddae04f..78bf8adde 100644 --- a/material/.icons/material/hiking.svg +++ b/material/.icons/material/hiking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/history.svg b/material/.icons/material/history.svg index 93bf7bf24..c37b5befe 100644 --- a/material/.icons/material/history.svg +++ b/material/.icons/material/history.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-account.svg b/material/.icons/material/home-account.svg index 9182e9a22..93b7b1082 100644 --- a/material/.icons/material/home-account.svg +++ b/material/.icons/material/home-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-assistant.svg b/material/.icons/material/home-assistant.svg index 852a14202..67d2162e2 100644 --- a/material/.icons/material/home-assistant.svg +++ b/material/.icons/material/home-assistant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-automation.svg b/material/.icons/material/home-automation.svg index d269a7b5e..b498a1a33 100644 --- a/material/.icons/material/home-automation.svg +++ b/material/.icons/material/home-automation.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-edit-outline.svg b/material/.icons/material/home-edit-outline.svg index b881f2d23..90bc4de34 100644 --- a/material/.icons/material/home-edit-outline.svg +++ b/material/.icons/material/home-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-edit.svg b/material/.icons/material/home-edit.svg index edb8a3633..8feaa75a1 100644 --- a/material/.icons/material/home-edit.svg +++ b/material/.icons/material/home-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-floor-0.svg b/material/.icons/material/home-floor-0.svg index 30c77c2c9..60cb7522e 100644 --- a/material/.icons/material/home-floor-0.svg +++ b/material/.icons/material/home-floor-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-floor-2.svg b/material/.icons/material/home-floor-2.svg index cf8f410b0..e9bedc141 100644 --- a/material/.icons/material/home-floor-2.svg +++ b/material/.icons/material/home-floor-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-floor-3.svg b/material/.icons/material/home-floor-3.svg index 54665daab..5a214efd4 100644 --- a/material/.icons/material/home-floor-3.svg +++ b/material/.icons/material/home-floor-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-floor-a.svg b/material/.icons/material/home-floor-a.svg index e17e61da5..65c20b9ff 100644 --- a/material/.icons/material/home-floor-a.svg +++ b/material/.icons/material/home-floor-a.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-floor-b.svg b/material/.icons/material/home-floor-b.svg index 7d5a63173..15600587b 100644 --- a/material/.icons/material/home-floor-b.svg +++ b/material/.icons/material/home-floor-b.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-floor-g.svg b/material/.icons/material/home-floor-g.svg index 0cc707438..03930a9dd 100644 --- a/material/.icons/material/home-floor-g.svg +++ b/material/.icons/material/home-floor-g.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-heart.svg b/material/.icons/material/home-heart.svg index 850ad96b9..2ad2d2928 100644 --- a/material/.icons/material/home-heart.svg +++ b/material/.icons/material/home-heart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-lightbulb-outline.svg b/material/.icons/material/home-lightbulb-outline.svg index 969a1f354..2197d3d2f 100644 --- a/material/.icons/material/home-lightbulb-outline.svg +++ b/material/.icons/material/home-lightbulb-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-lightbulb.svg b/material/.icons/material/home-lightbulb.svg index 4cc9fef77..1360731e4 100644 --- a/material/.icons/material/home-lightbulb.svg +++ b/material/.icons/material/home-lightbulb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-lock-open.svg b/material/.icons/material/home-lock-open.svg index fba7ee57e..a3fb1ee13 100644 --- a/material/.icons/material/home-lock-open.svg +++ b/material/.icons/material/home-lock-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-lock.svg b/material/.icons/material/home-lock.svg index 9522402fc..e4ccea851 100644 --- a/material/.icons/material/home-lock.svg +++ b/material/.icons/material/home-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-map-marker.svg b/material/.icons/material/home-map-marker.svg index d0df2a4cf..708ad07d8 100644 --- a/material/.icons/material/home-map-marker.svg +++ b/material/.icons/material/home-map-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-modern.svg b/material/.icons/material/home-modern.svg index 0d292736d..c600b6dc3 100644 --- a/material/.icons/material/home-modern.svg +++ b/material/.icons/material/home-modern.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-search-outline.svg b/material/.icons/material/home-search-outline.svg index 6bb63642a..586993693 100644 --- a/material/.icons/material/home-search-outline.svg +++ b/material/.icons/material/home-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-search.svg b/material/.icons/material/home-search.svg index 27b43d00c..bef2eddc6 100644 --- a/material/.icons/material/home-search.svg +++ b/material/.icons/material/home-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-thermometer-outline.svg b/material/.icons/material/home-thermometer-outline.svg index ba76da707..ac2211fa5 100644 --- a/material/.icons/material/home-thermometer-outline.svg +++ b/material/.icons/material/home-thermometer-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/home-thermometer.svg b/material/.icons/material/home-thermometer.svg index 9d4f2f2a1..c2266972d 100644 --- a/material/.icons/material/home-thermometer.svg +++ b/material/.icons/material/home-thermometer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hook-off.svg b/material/.icons/material/hook-off.svg index 905ac42be..cfb692f5d 100644 --- a/material/.icons/material/hook-off.svg +++ b/material/.icons/material/hook-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hook.svg b/material/.icons/material/hook.svg index fda1de76f..492903ea6 100644 --- a/material/.icons/material/hook.svg +++ b/material/.icons/material/hook.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/horse-human.svg b/material/.icons/material/horse-human.svg index 0298c0a06..b946dd3f7 100644 --- a/material/.icons/material/horse-human.svg +++ b/material/.icons/material/horse-human.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/horse-variant.svg b/material/.icons/material/horse-variant.svg index bf62b9a71..1fce20f64 100644 --- a/material/.icons/material/horse-variant.svg +++ b/material/.icons/material/horse-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/horse.svg b/material/.icons/material/horse.svg index 163242549..b0a0c4c02 100644 --- a/material/.icons/material/horse.svg +++ b/material/.icons/material/horse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hospital-box.svg b/material/.icons/material/hospital-box.svg index 68c26c08e..f85f84aa4 100644 --- a/material/.icons/material/hospital-box.svg +++ b/material/.icons/material/hospital-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hospital-building.svg b/material/.icons/material/hospital-building.svg index a8e040e71..a86080a99 100644 --- a/material/.icons/material/hospital-building.svg +++ b/material/.icons/material/hospital-building.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hospital-marker.svg b/material/.icons/material/hospital-marker.svg index 3d249aafb..2c5ae2086 100644 --- a/material/.icons/material/hospital-marker.svg +++ b/material/.icons/material/hospital-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hot-tub.svg b/material/.icons/material/hot-tub.svg index a5c4f1069..e91576fa0 100644 --- a/material/.icons/material/hot-tub.svg +++ b/material/.icons/material/hot-tub.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hours-24.svg b/material/.icons/material/hours-24.svg index ac5e44738..691d9fd68 100644 --- a/material/.icons/material/hours-24.svg +++ b/material/.icons/material/hours-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-baby-changing-table.svg b/material/.icons/material/human-baby-changing-table.svg index 41c576d04..3992c7739 100644 --- a/material/.icons/material/human-baby-changing-table.svg +++ b/material/.icons/material/human-baby-changing-table.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-cane.svg b/material/.icons/material/human-cane.svg index 07dd48f8c..d1e2576f2 100644 --- a/material/.icons/material/human-cane.svg +++ b/material/.icons/material/human-cane.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-child.svg b/material/.icons/material/human-child.svg index 39dce2e1f..9d63a09c0 100644 --- a/material/.icons/material/human-child.svg +++ b/material/.icons/material/human-child.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-female-boy.svg b/material/.icons/material/human-female-boy.svg index c060fd658..7945211fa 100644 --- a/material/.icons/material/human-female-boy.svg +++ b/material/.icons/material/human-female-boy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-female-dance.svg b/material/.icons/material/human-female-dance.svg index dbbaed830..16ef5d921 100644 --- a/material/.icons/material/human-female-dance.svg +++ b/material/.icons/material/human-female-dance.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-female-female.svg b/material/.icons/material/human-female-female.svg index 520776074..069277109 100644 --- a/material/.icons/material/human-female-female.svg +++ b/material/.icons/material/human-female-female.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-female-girl.svg b/material/.icons/material/human-female-girl.svg index 35e5d2568..8c95a008a 100644 --- a/material/.icons/material/human-female-girl.svg +++ b/material/.icons/material/human-female-girl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-female.svg b/material/.icons/material/human-female.svg index 776a3d003..e9a6a5004 100644 --- a/material/.icons/material/human-female.svg +++ b/material/.icons/material/human-female.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-greeting-proximity.svg b/material/.icons/material/human-greeting-proximity.svg index 5fb338d9f..6a636798b 100644 --- a/material/.icons/material/human-greeting-proximity.svg +++ b/material/.icons/material/human-greeting-proximity.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-greeting.svg b/material/.icons/material/human-greeting.svg index bee493cf0..c448ced64 100644 --- a/material/.icons/material/human-greeting.svg +++ b/material/.icons/material/human-greeting.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-handsdown.svg b/material/.icons/material/human-handsdown.svg index bb260738c..eefdb2a59 100644 --- a/material/.icons/material/human-handsdown.svg +++ b/material/.icons/material/human-handsdown.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-handsup.svg b/material/.icons/material/human-handsup.svg index 30fd292a4..5aaffd86a 100644 --- a/material/.icons/material/human-handsup.svg +++ b/material/.icons/material/human-handsup.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-male-boy.svg b/material/.icons/material/human-male-boy.svg index d9df613ed..38579bf3a 100644 --- a/material/.icons/material/human-male-boy.svg +++ b/material/.icons/material/human-male-boy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-male-female.svg b/material/.icons/material/human-male-female.svg index ea32ae27d..ff5bfcccc 100644 --- a/material/.icons/material/human-male-female.svg +++ b/material/.icons/material/human-male-female.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-male-girl.svg b/material/.icons/material/human-male-girl.svg index 4de802d69..d26be0ca9 100644 --- a/material/.icons/material/human-male-girl.svg +++ b/material/.icons/material/human-male-girl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-male-height-variant.svg b/material/.icons/material/human-male-height-variant.svg index 9e45fd56f..c616ec434 100644 --- a/material/.icons/material/human-male-height-variant.svg +++ b/material/.icons/material/human-male-height-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-male-height.svg b/material/.icons/material/human-male-height.svg index de3c4af51..2b4b60e22 100644 --- a/material/.icons/material/human-male-height.svg +++ b/material/.icons/material/human-male-height.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-male-male.svg b/material/.icons/material/human-male-male.svg index 5a16c3f27..034d9467f 100644 --- a/material/.icons/material/human-male-male.svg +++ b/material/.icons/material/human-male-male.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-male.svg b/material/.icons/material/human-male.svg index ada8cff25..9d2c58b25 100644 --- a/material/.icons/material/human-male.svg +++ b/material/.icons/material/human-male.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-pregnant.svg b/material/.icons/material/human-pregnant.svg index eb263f485..83d658e2c 100644 --- a/material/.icons/material/human-pregnant.svg +++ b/material/.icons/material/human-pregnant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-queue.svg b/material/.icons/material/human-queue.svg index f73b32466..920c52f9e 100644 --- a/material/.icons/material/human-queue.svg +++ b/material/.icons/material/human-queue.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-scooter.svg b/material/.icons/material/human-scooter.svg index 3cc6b7689..f953232a1 100644 --- a/material/.icons/material/human-scooter.svg +++ b/material/.icons/material/human-scooter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human-wheelchair.svg b/material/.icons/material/human-wheelchair.svg index 1276a6abd..dd43bc1f9 100644 --- a/material/.icons/material/human-wheelchair.svg +++ b/material/.icons/material/human-wheelchair.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/human.svg b/material/.icons/material/human.svg index b1dc18491..4db49d85a 100644 --- a/material/.icons/material/human.svg +++ b/material/.icons/material/human.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hydraulic-oil-temperature.svg b/material/.icons/material/hydraulic-oil-temperature.svg index d6b79744f..36bc89762 100644 --- a/material/.icons/material/hydraulic-oil-temperature.svg +++ b/material/.icons/material/hydraulic-oil-temperature.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/hydro-power.svg b/material/.icons/material/hydro-power.svg index 15b11cbf1..ffba8c1de 100644 --- a/material/.icons/material/hydro-power.svg +++ b/material/.icons/material/hydro-power.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ice-cream.svg b/material/.icons/material/ice-cream.svg index 007aca2d3..0f68a0c52 100644 --- a/material/.icons/material/ice-cream.svg +++ b/material/.icons/material/ice-cream.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ice-pop.svg b/material/.icons/material/ice-pop.svg index 5cec3d4f5..0765d4305 100644 --- a/material/.icons/material/ice-pop.svg +++ b/material/.icons/material/ice-pop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/identifier.svg b/material/.icons/material/identifier.svg index 94652b5d7..e450d894c 100644 --- a/material/.icons/material/identifier.svg +++ b/material/.icons/material/identifier.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/iframe-outline.svg b/material/.icons/material/iframe-outline.svg index 3b9b0ec5a..2e5588221 100644 --- a/material/.icons/material/iframe-outline.svg +++ b/material/.icons/material/iframe-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/iframe.svg b/material/.icons/material/iframe.svg index e2fe1d61d..d26ee5574 100644 --- a/material/.icons/material/iframe.svg +++ b/material/.icons/material/iframe.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-album.svg b/material/.icons/material/image-album.svg index 93de425fd..63cf555f4 100644 --- a/material/.icons/material/image-album.svg +++ b/material/.icons/material/image-album.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-area-close.svg b/material/.icons/material/image-area-close.svg index 4b73bd73f..93bea2ec0 100644 --- a/material/.icons/material/image-area-close.svg +++ b/material/.icons/material/image-area-close.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-area.svg b/material/.icons/material/image-area.svg index b5b4f2425..99ec60e6e 100644 --- a/material/.icons/material/image-area.svg +++ b/material/.icons/material/image-area.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-broken-variant.svg b/material/.icons/material/image-broken-variant.svg index cce86f260..ea0b68aa0 100644 --- a/material/.icons/material/image-broken-variant.svg +++ b/material/.icons/material/image-broken-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-broken.svg b/material/.icons/material/image-broken.svg index 5209f387f..12dae1f60 100644 --- a/material/.icons/material/image-broken.svg +++ b/material/.icons/material/image-broken.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-edit-outline.svg b/material/.icons/material/image-edit-outline.svg index fe2e948ab..1d7bd07e2 100644 --- a/material/.icons/material/image-edit-outline.svg +++ b/material/.icons/material/image-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-filter-black-white.svg b/material/.icons/material/image-filter-black-white.svg index ec3ab47ac..940528a68 100644 --- a/material/.icons/material/image-filter-black-white.svg +++ b/material/.icons/material/image-filter-black-white.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-filter-center-focus-weak.svg b/material/.icons/material/image-filter-center-focus-weak.svg index 61575bd34..3d826de74 100644 --- a/material/.icons/material/image-filter-center-focus-weak.svg +++ b/material/.icons/material/image-filter-center-focus-weak.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-filter-center-focus.svg b/material/.icons/material/image-filter-center-focus.svg index 35784a408..8c813f7a8 100644 --- a/material/.icons/material/image-filter-center-focus.svg +++ b/material/.icons/material/image-filter-center-focus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-filter-drama.svg b/material/.icons/material/image-filter-drama.svg index e99f0e616..9c7238817 100644 --- a/material/.icons/material/image-filter-drama.svg +++ b/material/.icons/material/image-filter-drama.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-filter-frames.svg b/material/.icons/material/image-filter-frames.svg index fc0c3ec9d..e9ae50d33 100644 --- a/material/.icons/material/image-filter-frames.svg +++ b/material/.icons/material/image-filter-frames.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-filter-none.svg b/material/.icons/material/image-filter-none.svg index 5d018e02c..801b4a32c 100644 --- a/material/.icons/material/image-filter-none.svg +++ b/material/.icons/material/image-filter-none.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-filter-tilt-shift.svg b/material/.icons/material/image-filter-tilt-shift.svg index cb4ead64a..01920a485 100644 --- a/material/.icons/material/image-filter-tilt-shift.svg +++ b/material/.icons/material/image-filter-tilt-shift.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-filter-vintage.svg b/material/.icons/material/image-filter-vintage.svg index 250354f55..2d96fa8f4 100644 --- a/material/.icons/material/image-filter-vintage.svg +++ b/material/.icons/material/image-filter-vintage.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-minus.svg b/material/.icons/material/image-minus.svg index f6d8ea584..cd1b41390 100644 --- a/material/.icons/material/image-minus.svg +++ b/material/.icons/material/image-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-move.svg b/material/.icons/material/image-move.svg index e613eaba0..f7e42e203 100644 --- a/material/.icons/material/image-move.svg +++ b/material/.icons/material/image-move.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-multiple-outline.svg b/material/.icons/material/image-multiple-outline.svg index 8270d598a..53491c2d3 100644 --- a/material/.icons/material/image-multiple-outline.svg +++ b/material/.icons/material/image-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-multiple.svg b/material/.icons/material/image-multiple.svg index ae310042e..1881e415b 100644 --- a/material/.icons/material/image-multiple.svg +++ b/material/.icons/material/image-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-outline.svg b/material/.icons/material/image-outline.svg index b75a5b809..2869a4374 100644 --- a/material/.icons/material/image-outline.svg +++ b/material/.icons/material/image-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-plus.svg b/material/.icons/material/image-plus.svg index 735834e49..e55cbb638 100644 --- a/material/.icons/material/image-plus.svg +++ b/material/.icons/material/image-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-remove.svg b/material/.icons/material/image-remove.svg index 339bd52e6..864ac6af4 100644 --- a/material/.icons/material/image-remove.svg +++ b/material/.icons/material/image-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-search.svg b/material/.icons/material/image-search.svg index 053cf644f..5b0e2e9bb 100644 --- a/material/.icons/material/image-search.svg +++ b/material/.icons/material/image-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-size-select-actual.svg b/material/.icons/material/image-size-select-actual.svg index 115cabc05..3339478cf 100644 --- a/material/.icons/material/image-size-select-actual.svg +++ b/material/.icons/material/image-size-select-actual.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-size-select-large.svg b/material/.icons/material/image-size-select-large.svg index 4985574e6..5f423831b 100644 --- a/material/.icons/material/image-size-select-large.svg +++ b/material/.icons/material/image-size-select-large.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image-size-select-small.svg b/material/.icons/material/image-size-select-small.svg index 1765a4345..1afe47a69 100644 --- a/material/.icons/material/image-size-select-small.svg +++ b/material/.icons/material/image-size-select-small.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/image.svg b/material/.icons/material/image.svg index e452dc3c7..ab571ecaa 100644 --- a/material/.icons/material/image.svg +++ b/material/.icons/material/image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/import.svg b/material/.icons/material/import.svg index a1bff1e5b..2eb680913 100644 --- a/material/.icons/material/import.svg +++ b/material/.icons/material/import.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox-arrow-down-outline.svg b/material/.icons/material/inbox-arrow-down-outline.svg index b493e7320..4277278d4 100644 --- a/material/.icons/material/inbox-arrow-down-outline.svg +++ b/material/.icons/material/inbox-arrow-down-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox-arrow-down.svg b/material/.icons/material/inbox-arrow-down.svg index dc91e062f..e9018b497 100644 --- a/material/.icons/material/inbox-arrow-down.svg +++ b/material/.icons/material/inbox-arrow-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox-arrow-up-outline.svg b/material/.icons/material/inbox-arrow-up-outline.svg index 2bf922d58..204afdfee 100644 --- a/material/.icons/material/inbox-arrow-up-outline.svg +++ b/material/.icons/material/inbox-arrow-up-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox-arrow-up.svg b/material/.icons/material/inbox-arrow-up.svg index b822f9762..33972f88a 100644 --- a/material/.icons/material/inbox-arrow-up.svg +++ b/material/.icons/material/inbox-arrow-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox-full-outline.svg b/material/.icons/material/inbox-full-outline.svg index 6539c0a0e..607248594 100644 --- a/material/.icons/material/inbox-full-outline.svg +++ b/material/.icons/material/inbox-full-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox-full.svg b/material/.icons/material/inbox-full.svg index 2e6bce01f..a543472db 100644 --- a/material/.icons/material/inbox-full.svg +++ b/material/.icons/material/inbox-full.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox-multiple-outline.svg b/material/.icons/material/inbox-multiple-outline.svg index ad512c43f..55a6e0d2b 100644 --- a/material/.icons/material/inbox-multiple-outline.svg +++ b/material/.icons/material/inbox-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox-multiple.svg b/material/.icons/material/inbox-multiple.svg index 7e3405580..35256c9b5 100644 --- a/material/.icons/material/inbox-multiple.svg +++ b/material/.icons/material/inbox-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox-outline.svg b/material/.icons/material/inbox-outline.svg index 49754bacf..c193679cf 100644 --- a/material/.icons/material/inbox-outline.svg +++ b/material/.icons/material/inbox-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/inbox.svg b/material/.icons/material/inbox.svg index 6e925e89a..b4fbffc63 100644 --- a/material/.icons/material/inbox.svg +++ b/material/.icons/material/inbox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/incognito-circle-off.svg b/material/.icons/material/incognito-circle-off.svg index 06b917a57..259867319 100644 --- a/material/.icons/material/incognito-circle-off.svg +++ b/material/.icons/material/incognito-circle-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/incognito-circle.svg b/material/.icons/material/incognito-circle.svg index 7220953ce..daaacc58c 100644 --- a/material/.icons/material/incognito-circle.svg +++ b/material/.icons/material/incognito-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/incognito-off.svg b/material/.icons/material/incognito-off.svg index 16ff59697..b2f3a7981 100644 --- a/material/.icons/material/incognito-off.svg +++ b/material/.icons/material/incognito-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/information-outline.svg b/material/.icons/material/information-outline.svg index 3b9ae8a54..603eb6f38 100644 --- a/material/.icons/material/information-outline.svg +++ b/material/.icons/material/information-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/information-variant.svg b/material/.icons/material/information-variant.svg index 30425b799..c27db09b6 100644 --- a/material/.icons/material/information-variant.svg +++ b/material/.icons/material/information-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/information.svg b/material/.icons/material/information.svg index 8a7224d70..61013dfbf 100644 --- a/material/.icons/material/information.svg +++ b/material/.icons/material/information.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/instagram.svg b/material/.icons/material/instagram.svg index 9fc51f83e..0c5da3200 100644 --- a/material/.icons/material/instagram.svg +++ b/material/.icons/material/instagram.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/invert-colors-off.svg b/material/.icons/material/invert-colors-off.svg index 3c352de27..f51899515 100644 --- a/material/.icons/material/invert-colors-off.svg +++ b/material/.icons/material/invert-colors-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/invert-colors.svg b/material/.icons/material/invert-colors.svg index 947486856..139ec49dc 100644 --- a/material/.icons/material/invert-colors.svg +++ b/material/.icons/material/invert-colors.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/iobroker.svg b/material/.icons/material/iobroker.svg index dd4bc67e0..c476f4ed8 100644 --- a/material/.icons/material/iobroker.svg +++ b/material/.icons/material/iobroker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ip-network-outline.svg b/material/.icons/material/ip-network-outline.svg index 5d0948740..785f52c1d 100644 --- a/material/.icons/material/ip-network-outline.svg +++ b/material/.icons/material/ip-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ip-network.svg b/material/.icons/material/ip-network.svg index 2660fe067..e1788fc9a 100644 --- a/material/.icons/material/ip-network.svg +++ b/material/.icons/material/ip-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ip.svg b/material/.icons/material/ip.svg index 1e27e8342..cf28e5c59 100644 --- a/material/.icons/material/ip.svg +++ b/material/.icons/material/ip.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ipod.svg b/material/.icons/material/ipod.svg index 90f3a667b..da97f0825 100644 --- a/material/.icons/material/ipod.svg +++ b/material/.icons/material/ipod.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/islam.svg b/material/.icons/material/islam.svg index c8891f0f1..eb39c38d4 100644 --- a/material/.icons/material/islam.svg +++ b/material/.icons/material/islam.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/island.svg b/material/.icons/material/island.svg index aaa3ac477..d574f2d49 100644 --- a/material/.icons/material/island.svg +++ b/material/.icons/material/island.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/jeepney.svg b/material/.icons/material/jeepney.svg index 3dc76ebed..7386fe1b1 100644 --- a/material/.icons/material/jeepney.svg +++ b/material/.icons/material/jeepney.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/jellyfish-outline.svg b/material/.icons/material/jellyfish-outline.svg index 3ab7f2901..13cfc34ce 100644 --- a/material/.icons/material/jellyfish-outline.svg +++ b/material/.icons/material/jellyfish-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/jellyfish.svg b/material/.icons/material/jellyfish.svg index f25ca8091..5e5972fc9 100644 --- a/material/.icons/material/jellyfish.svg +++ b/material/.icons/material/jellyfish.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/jira.svg b/material/.icons/material/jira.svg index d6850f9e5..db48fb718 100644 --- a/material/.icons/material/jira.svg +++ b/material/.icons/material/jira.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/jquery.svg b/material/.icons/material/jquery.svg index b702cc38f..fa532f01f 100644 --- a/material/.icons/material/jquery.svg +++ b/material/.icons/material/jquery.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/jsfiddle.svg b/material/.icons/material/jsfiddle.svg index f564e59d2..fb0349ac9 100644 --- a/material/.icons/material/jsfiddle.svg +++ b/material/.icons/material/jsfiddle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/kangaroo.svg b/material/.icons/material/kangaroo.svg index 9c9ec6b3a..f1d0648b1 100644 --- a/material/.icons/material/kangaroo.svg +++ b/material/.icons/material/kangaroo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/karate.svg b/material/.icons/material/karate.svg index 76ec5af7d..c3d395377 100644 --- a/material/.icons/material/karate.svg +++ b/material/.icons/material/karate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keg.svg b/material/.icons/material/keg.svg index 9c8bad642..786bad96a 100644 --- a/material/.icons/material/keg.svg +++ b/material/.icons/material/keg.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/kettle-outline.svg b/material/.icons/material/kettle-outline.svg index 8174c6510..6c21fe691 100644 --- a/material/.icons/material/kettle-outline.svg +++ b/material/.icons/material/kettle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/kettle-steam-outline.svg b/material/.icons/material/kettle-steam-outline.svg index fd97ed128..bc6c204be 100644 --- a/material/.icons/material/kettle-steam-outline.svg +++ b/material/.icons/material/kettle-steam-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/kettle-steam.svg b/material/.icons/material/kettle-steam.svg index 991616162..24810ed44 100644 --- a/material/.icons/material/kettle-steam.svg +++ b/material/.icons/material/kettle-steam.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/kettle.svg b/material/.icons/material/kettle.svg index 9eb16a041..409e54152 100644 --- a/material/.icons/material/kettle.svg +++ b/material/.icons/material/kettle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key-chain-variant.svg b/material/.icons/material/key-chain-variant.svg index 84f3cb725..cabd9e2ea 100644 --- a/material/.icons/material/key-chain-variant.svg +++ b/material/.icons/material/key-chain-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key-chain.svg b/material/.icons/material/key-chain.svg index d6559d941..89ef14cbe 100644 --- a/material/.icons/material/key-chain.svg +++ b/material/.icons/material/key-chain.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key-change.svg b/material/.icons/material/key-change.svg index 93ea5692e..441b94e54 100644 --- a/material/.icons/material/key-change.svg +++ b/material/.icons/material/key-change.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key-minus.svg b/material/.icons/material/key-minus.svg index 47d656899..4c8b47379 100644 --- a/material/.icons/material/key-minus.svg +++ b/material/.icons/material/key-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key-outline.svg b/material/.icons/material/key-outline.svg index 1183fa629..ce63490d0 100644 --- a/material/.icons/material/key-outline.svg +++ b/material/.icons/material/key-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key-plus.svg b/material/.icons/material/key-plus.svg index 27f276aa5..6ca2537e0 100644 --- a/material/.icons/material/key-plus.svg +++ b/material/.icons/material/key-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key-remove.svg b/material/.icons/material/key-remove.svg index a1505720a..b5ae6b4ff 100644 --- a/material/.icons/material/key-remove.svg +++ b/material/.icons/material/key-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key-variant.svg b/material/.icons/material/key-variant.svg index 3655c7500..e53c7de42 100644 --- a/material/.icons/material/key-variant.svg +++ b/material/.icons/material/key-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key-wireless.svg b/material/.icons/material/key-wireless.svg index 0c62f77e8..255ec05fb 100644 --- a/material/.icons/material/key-wireless.svg +++ b/material/.icons/material/key-wireless.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/key.svg b/material/.icons/material/key.svg index 7b815425d..ef3245be3 100644 --- a/material/.icons/material/key.svg +++ b/material/.icons/material/key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-close.svg b/material/.icons/material/keyboard-close.svg index a3b0bb651..7ff4602f3 100644 --- a/material/.icons/material/keyboard-close.svg +++ b/material/.icons/material/keyboard-close.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-esc.svg b/material/.icons/material/keyboard-esc.svg index 044cafa13..5dae302b7 100644 --- a/material/.icons/material/keyboard-esc.svg +++ b/material/.icons/material/keyboard-esc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-f10.svg b/material/.icons/material/keyboard-f10.svg index fff4e7f6e..dc1cbf793 100644 --- a/material/.icons/material/keyboard-f10.svg +++ b/material/.icons/material/keyboard-f10.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-f12.svg b/material/.icons/material/keyboard-f12.svg index cd81fd038..2f0caf3dd 100644 --- a/material/.icons/material/keyboard-f12.svg +++ b/material/.icons/material/keyboard-f12.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-f2.svg b/material/.icons/material/keyboard-f2.svg index 9271c553f..c67c1885b 100644 --- a/material/.icons/material/keyboard-f2.svg +++ b/material/.icons/material/keyboard-f2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-f3.svg b/material/.icons/material/keyboard-f3.svg index d107ae3cb..7420e1cc3 100644 --- a/material/.icons/material/keyboard-f3.svg +++ b/material/.icons/material/keyboard-f3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-f5.svg b/material/.icons/material/keyboard-f5.svg index 26c5b174f..5d16eed35 100644 --- a/material/.icons/material/keyboard-f5.svg +++ b/material/.icons/material/keyboard-f5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-f6.svg b/material/.icons/material/keyboard-f6.svg index b9a1b3cbe..5a3b3e54f 100644 --- a/material/.icons/material/keyboard-f6.svg +++ b/material/.icons/material/keyboard-f6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-f8.svg b/material/.icons/material/keyboard-f8.svg index 05a14d570..745870f14 100644 --- a/material/.icons/material/keyboard-f8.svg +++ b/material/.icons/material/keyboard-f8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-f9.svg b/material/.icons/material/keyboard-f9.svg index b922746e6..43732b41e 100644 --- a/material/.icons/material/keyboard-f9.svg +++ b/material/.icons/material/keyboard-f9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-off-outline.svg b/material/.icons/material/keyboard-off-outline.svg index ee1bac862..bdd15a424 100644 --- a/material/.icons/material/keyboard-off-outline.svg +++ b/material/.icons/material/keyboard-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-off.svg b/material/.icons/material/keyboard-off.svg index 2d8b96afb..ef797d854 100644 --- a/material/.icons/material/keyboard-off.svg +++ b/material/.icons/material/keyboard-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-outline.svg b/material/.icons/material/keyboard-outline.svg index e1a4b8dec..61d1f55e1 100644 --- a/material/.icons/material/keyboard-outline.svg +++ b/material/.icons/material/keyboard-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-settings-outline.svg b/material/.icons/material/keyboard-settings-outline.svg index 600757c99..7cc7c77e2 100644 --- a/material/.icons/material/keyboard-settings-outline.svg +++ b/material/.icons/material/keyboard-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard-settings.svg b/material/.icons/material/keyboard-settings.svg index f83ca9e4d..49358b132 100644 --- a/material/.icons/material/keyboard-settings.svg +++ b/material/.icons/material/keyboard-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/keyboard.svg b/material/.icons/material/keyboard.svg index 7279e80f9..607f44881 100644 --- a/material/.icons/material/keyboard.svg +++ b/material/.icons/material/keyboard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/khanda.svg b/material/.icons/material/khanda.svg index 7d1d74d97..5e93115b7 100644 --- a/material/.icons/material/khanda.svg +++ b/material/.icons/material/khanda.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/kickstarter.svg b/material/.icons/material/kickstarter.svg index 2370194e6..73b002b47 100644 --- a/material/.icons/material/kickstarter.svg +++ b/material/.icons/material/kickstarter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/klingon.svg b/material/.icons/material/klingon.svg index a695119eb..95f5429e4 100644 --- a/material/.icons/material/klingon.svg +++ b/material/.icons/material/klingon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/kubernetes.svg b/material/.icons/material/kubernetes.svg index 495529b8b..11122cf19 100644 --- a/material/.icons/material/kubernetes.svg +++ b/material/.icons/material/kubernetes.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/label-off-outline.svg b/material/.icons/material/label-off-outline.svg index 289ece68c..cf7a3a5f5 100644 --- a/material/.icons/material/label-off-outline.svg +++ b/material/.icons/material/label-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/label-off.svg b/material/.icons/material/label-off.svg index 1764b4f7a..9cd9ab4e6 100644 --- a/material/.icons/material/label-off.svg +++ b/material/.icons/material/label-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/label-outline.svg b/material/.icons/material/label-outline.svg index 49bffa204..650032110 100644 --- a/material/.icons/material/label-outline.svg +++ b/material/.icons/material/label-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/label-percent-outline.svg b/material/.icons/material/label-percent-outline.svg index a54c20f5f..fc445a408 100644 --- a/material/.icons/material/label-percent-outline.svg +++ b/material/.icons/material/label-percent-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/label-percent.svg b/material/.icons/material/label-percent.svg index 142600979..d3150b75e 100644 --- a/material/.icons/material/label-percent.svg +++ b/material/.icons/material/label-percent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/label.svg b/material/.icons/material/label.svg index ae4dfa037..a49bcb6ad 100644 --- a/material/.icons/material/label.svg +++ b/material/.icons/material/label.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ladybug.svg b/material/.icons/material/ladybug.svg index db4c03ac2..8e930b678 100644 --- a/material/.icons/material/ladybug.svg +++ b/material/.icons/material/ladybug.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/language-lua.svg b/material/.icons/material/language-lua.svg index 673ddf4e3..638bc4156 100644 --- a/material/.icons/material/language-lua.svg +++ b/material/.icons/material/language-lua.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/language-python.svg b/material/.icons/material/language-python.svg index efd2c95fa..4bd0a5f5f 100644 --- a/material/.icons/material/language-python.svg +++ b/material/.icons/material/language-python.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/language-swift.svg b/material/.icons/material/language-swift.svg index 4aac4657f..3e0e22338 100644 --- a/material/.icons/material/language-swift.svg +++ b/material/.icons/material/language-swift.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/language-xaml.svg b/material/.icons/material/language-xaml.svg index 96ceca5ab..bd505d680 100644 --- a/material/.icons/material/language-xaml.svg +++ b/material/.icons/material/language-xaml.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/laptop-mac.svg b/material/.icons/material/laptop-mac.svg index 0b4b1804c..67b6b6623 100644 --- a/material/.icons/material/laptop-mac.svg +++ b/material/.icons/material/laptop-mac.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/laptop-off.svg b/material/.icons/material/laptop-off.svg index a689e2fc4..ff5dca7d0 100644 --- a/material/.icons/material/laptop-off.svg +++ b/material/.icons/material/laptop-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/laptop-windows.svg b/material/.icons/material/laptop-windows.svg index f0e9df7da..714c25343 100644 --- a/material/.icons/material/laptop-windows.svg +++ b/material/.icons/material/laptop-windows.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/laptop.svg b/material/.icons/material/laptop.svg index 1fc9d9a3d..37b269682 100644 --- a/material/.icons/material/laptop.svg +++ b/material/.icons/material/laptop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/laravel.svg b/material/.icons/material/laravel.svg index 535719c82..ed265838e 100644 --- a/material/.icons/material/laravel.svg +++ b/material/.icons/material/laravel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/laser-pointer.svg b/material/.icons/material/laser-pointer.svg index e9b2f8c79..837756a50 100644 --- a/material/.icons/material/laser-pointer.svg +++ b/material/.icons/material/laser-pointer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lasso.svg b/material/.icons/material/lasso.svg index 0dd4893c3..cda970af0 100644 --- a/material/.icons/material/lasso.svg +++ b/material/.icons/material/lasso.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lastpass.svg b/material/.icons/material/lastpass.svg index 79cb2cd0a..463a440d2 100644 --- a/material/.icons/material/lastpass.svg +++ b/material/.icons/material/lastpass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/launch.svg b/material/.icons/material/launch.svg index e0612fe68..041c7ef9d 100644 --- a/material/.icons/material/launch.svg +++ b/material/.icons/material/launch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lava-lamp.svg b/material/.icons/material/lava-lamp.svg index 25dfbfb6a..c236d3782 100644 --- a/material/.icons/material/lava-lamp.svg +++ b/material/.icons/material/lava-lamp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/layers-search-outline.svg b/material/.icons/material/layers-search-outline.svg index 99536ba4d..f50cab7ac 100644 --- a/material/.icons/material/layers-search-outline.svg +++ b/material/.icons/material/layers-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/layers-search.svg b/material/.icons/material/layers-search.svg index c47d83588..315e193fd 100644 --- a/material/.icons/material/layers-search.svg +++ b/material/.icons/material/layers-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/leak-off.svg b/material/.icons/material/leak-off.svg index 146d66b2e..853d00c5c 100644 --- a/material/.icons/material/leak-off.svg +++ b/material/.icons/material/leak-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/leak.svg b/material/.icons/material/leak.svg index d6a1bf1e3..f324e790d 100644 --- a/material/.icons/material/leak.svg +++ b/material/.icons/material/leak.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/led-off.svg b/material/.icons/material/led-off.svg index aeb347e86..611f51f96 100644 --- a/material/.icons/material/led-off.svg +++ b/material/.icons/material/led-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/led-on.svg b/material/.icons/material/led-on.svg index b3d4de639..3a5177b49 100644 --- a/material/.icons/material/led-on.svg +++ b/material/.icons/material/led-on.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/led-outline.svg b/material/.icons/material/led-outline.svg index eaa320471..757490245 100644 --- a/material/.icons/material/led-outline.svg +++ b/material/.icons/material/led-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/led-variant-off.svg b/material/.icons/material/led-variant-off.svg index 31d91c022..b4c360f08 100644 --- a/material/.icons/material/led-variant-off.svg +++ b/material/.icons/material/led-variant-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/led-variant-on.svg b/material/.icons/material/led-variant-on.svg index 3100a7675..b451d3a81 100644 --- a/material/.icons/material/led-variant-on.svg +++ b/material/.icons/material/led-variant-on.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/led-variant-outline.svg b/material/.icons/material/led-variant-outline.svg index 2f7c4e185..333a9cebc 100644 --- a/material/.icons/material/led-variant-outline.svg +++ b/material/.icons/material/led-variant-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/leek.svg b/material/.icons/material/leek.svg index b7697a17c..f861f1e15 100644 --- a/material/.icons/material/leek.svg +++ b/material/.icons/material/leek.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/library.svg b/material/.icons/material/library.svg index 67ce04650..30eaa951b 100644 --- a/material/.icons/material/library.svg +++ b/material/.icons/material/library.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/license.svg b/material/.icons/material/license.svg index 179b40979..05caf62ac 100644 --- a/material/.icons/material/license.svg +++ b/material/.icons/material/license.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lifebuoy.svg b/material/.icons/material/lifebuoy.svg index b94d60836..27d7fe66e 100644 --- a/material/.icons/material/lifebuoy.svg +++ b/material/.icons/material/lifebuoy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/light-switch.svg b/material/.icons/material/light-switch.svg index 45112ebbe..cd48dcb7c 100644 --- a/material/.icons/material/light-switch.svg +++ b/material/.icons/material/light-switch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-cfl-off.svg b/material/.icons/material/lightbulb-cfl-off.svg index c6f98d7ca..00bd3a265 100644 --- a/material/.icons/material/lightbulb-cfl-off.svg +++ b/material/.icons/material/lightbulb-cfl-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-cfl-spiral-off.svg b/material/.icons/material/lightbulb-cfl-spiral-off.svg index 5fc22f967..e383b4893 100644 --- a/material/.icons/material/lightbulb-cfl-spiral-off.svg +++ b/material/.icons/material/lightbulb-cfl-spiral-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-cfl-spiral.svg b/material/.icons/material/lightbulb-cfl-spiral.svg index 228a07a46..8478feb15 100644 --- a/material/.icons/material/lightbulb-cfl-spiral.svg +++ b/material/.icons/material/lightbulb-cfl-spiral.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-cfl.svg b/material/.icons/material/lightbulb-cfl.svg index fa81edfe0..8aa877d3f 100644 --- a/material/.icons/material/lightbulb-cfl.svg +++ b/material/.icons/material/lightbulb-cfl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-group-off.svg b/material/.icons/material/lightbulb-group-off.svg index 01f77a69d..8f5cbf839 100644 --- a/material/.icons/material/lightbulb-group-off.svg +++ b/material/.icons/material/lightbulb-group-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-group-outline.svg b/material/.icons/material/lightbulb-group-outline.svg index d7b1498b2..2e25e8a2b 100644 --- a/material/.icons/material/lightbulb-group-outline.svg +++ b/material/.icons/material/lightbulb-group-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-group.svg b/material/.icons/material/lightbulb-group.svg index e5c4cac1b..db99a1dbe 100644 --- a/material/.icons/material/lightbulb-group.svg +++ b/material/.icons/material/lightbulb-group.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-multiple-off-outline.svg b/material/.icons/material/lightbulb-multiple-off-outline.svg index 81bec765a..0da925847 100644 --- a/material/.icons/material/lightbulb-multiple-off-outline.svg +++ b/material/.icons/material/lightbulb-multiple-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-multiple-off.svg b/material/.icons/material/lightbulb-multiple-off.svg index 2f99e05af..2e223a7d0 100644 --- a/material/.icons/material/lightbulb-multiple-off.svg +++ b/material/.icons/material/lightbulb-multiple-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-multiple-outline.svg b/material/.icons/material/lightbulb-multiple-outline.svg index fe1d3d0d9..d1fad4a6e 100644 --- a/material/.icons/material/lightbulb-multiple-outline.svg +++ b/material/.icons/material/lightbulb-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-off-outline.svg b/material/.icons/material/lightbulb-off-outline.svg index 43f8a28a4..5d5e0706e 100644 --- a/material/.icons/material/lightbulb-off-outline.svg +++ b/material/.icons/material/lightbulb-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-off.svg b/material/.icons/material/lightbulb-off.svg index 1c665ff0d..ce2572c9a 100644 --- a/material/.icons/material/lightbulb-off.svg +++ b/material/.icons/material/lightbulb-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-on-outline.svg b/material/.icons/material/lightbulb-on-outline.svg index dd7033f34..43103aa2d 100644 --- a/material/.icons/material/lightbulb-on-outline.svg +++ b/material/.icons/material/lightbulb-on-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-on.svg b/material/.icons/material/lightbulb-on.svg index bfd141f4a..fd31e2685 100644 --- a/material/.icons/material/lightbulb-on.svg +++ b/material/.icons/material/lightbulb-on.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb-outline.svg b/material/.icons/material/lightbulb-outline.svg index 58a72df8d..2189f2416 100644 --- a/material/.icons/material/lightbulb-outline.svg +++ b/material/.icons/material/lightbulb-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lightbulb.svg b/material/.icons/material/lightbulb.svg index 9b724516b..a8b4ee5b1 100644 --- a/material/.icons/material/lightbulb.svg +++ b/material/.icons/material/lightbulb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lingerie.svg b/material/.icons/material/lingerie.svg index 53072ee16..8a73dcb1b 100644 --- a/material/.icons/material/lingerie.svg +++ b/material/.icons/material/lingerie.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-box-outline.svg b/material/.icons/material/link-box-outline.svg index 3d509f46b..175e30a55 100644 --- a/material/.icons/material/link-box-outline.svg +++ b/material/.icons/material/link-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-box-variant-outline.svg b/material/.icons/material/link-box-variant-outline.svg index 89705e030..6e02fd43d 100644 --- a/material/.icons/material/link-box-variant-outline.svg +++ b/material/.icons/material/link-box-variant-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-box-variant.svg b/material/.icons/material/link-box-variant.svg index b450d24f1..c99a61406 100644 --- a/material/.icons/material/link-box-variant.svg +++ b/material/.icons/material/link-box-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-box.svg b/material/.icons/material/link-box.svg index 07b14ccf4..44e431c1f 100644 --- a/material/.icons/material/link-box.svg +++ b/material/.icons/material/link-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-lock.svg b/material/.icons/material/link-lock.svg index 2df551882..e7ead9e6a 100644 --- a/material/.icons/material/link-lock.svg +++ b/material/.icons/material/link-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-off.svg b/material/.icons/material/link-off.svg index e779aa55a..861242a3e 100644 --- a/material/.icons/material/link-off.svg +++ b/material/.icons/material/link-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-plus.svg b/material/.icons/material/link-plus.svg index a4b91a113..32d686de9 100644 --- a/material/.icons/material/link-plus.svg +++ b/material/.icons/material/link-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-variant-minus.svg b/material/.icons/material/link-variant-minus.svg index a47e65235..d8d7185da 100644 --- a/material/.icons/material/link-variant-minus.svg +++ b/material/.icons/material/link-variant-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-variant-off.svg b/material/.icons/material/link-variant-off.svg index 669f05485..be4796f39 100644 --- a/material/.icons/material/link-variant-off.svg +++ b/material/.icons/material/link-variant-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-variant-plus.svg b/material/.icons/material/link-variant-plus.svg index d9708297e..d969288a0 100644 --- a/material/.icons/material/link-variant-plus.svg +++ b/material/.icons/material/link-variant-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-variant-remove.svg b/material/.icons/material/link-variant-remove.svg index 638e284b7..20c804b78 100644 --- a/material/.icons/material/link-variant-remove.svg +++ b/material/.icons/material/link-variant-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link-variant.svg b/material/.icons/material/link-variant.svg index 5f598f74f..353be325b 100644 --- a/material/.icons/material/link-variant.svg +++ b/material/.icons/material/link-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/link.svg b/material/.icons/material/link.svg index 7829d65b2..9df1ee3e2 100644 --- a/material/.icons/material/link.svg +++ b/material/.icons/material/link.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/linkedin.svg b/material/.icons/material/linkedin.svg index cfd1cd923..488da6198 100644 --- a/material/.icons/material/linkedin.svg +++ b/material/.icons/material/linkedin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/linux-mint.svg b/material/.icons/material/linux-mint.svg index 11c3686cd..f9b653890 100644 --- a/material/.icons/material/linux-mint.svg +++ b/material/.icons/material/linux-mint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/linux.svg b/material/.icons/material/linux.svg index 747cb869c..5cd1809af 100644 --- a/material/.icons/material/linux.svg +++ b/material/.icons/material/linux.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/loading.svg b/material/.icons/material/loading.svg index 944531cf8..5f3f0cea4 100644 --- a/material/.icons/material/loading.svg +++ b/material/.icons/material/loading.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/location-enter.svg b/material/.icons/material/location-enter.svg index 4c5c93542..a0b022a08 100644 --- a/material/.icons/material/location-enter.svg +++ b/material/.icons/material/location-enter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/location-exit.svg b/material/.icons/material/location-exit.svg index 8341fd673..311d51d11 100644 --- a/material/.icons/material/location-exit.svg +++ b/material/.icons/material/location-exit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-check-outline.svg b/material/.icons/material/lock-check-outline.svg index 30e73fd92..cdbddda03 100644 --- a/material/.icons/material/lock-check-outline.svg +++ b/material/.icons/material/lock-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-check.svg b/material/.icons/material/lock-check.svg index d03fc0fb4..98de74147 100644 --- a/material/.icons/material/lock-check.svg +++ b/material/.icons/material/lock-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-clock.svg b/material/.icons/material/lock-clock.svg index 7dd4236c3..7248991f6 100644 --- a/material/.icons/material/lock-clock.svg +++ b/material/.icons/material/lock-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-minus-outline.svg b/material/.icons/material/lock-minus-outline.svg index 1c7263fb8..4a8607c34 100644 --- a/material/.icons/material/lock-minus-outline.svg +++ b/material/.icons/material/lock-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-minus.svg b/material/.icons/material/lock-minus.svg index d790c6bf6..685cae500 100644 --- a/material/.icons/material/lock-minus.svg +++ b/material/.icons/material/lock-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-off-outline.svg b/material/.icons/material/lock-off-outline.svg index ad9e9f029..e5a92c490 100644 --- a/material/.icons/material/lock-off-outline.svg +++ b/material/.icons/material/lock-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-off.svg b/material/.icons/material/lock-off.svg index df98a39e7..39c7331c9 100644 --- a/material/.icons/material/lock-off.svg +++ b/material/.icons/material/lock-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-check-outline.svg b/material/.icons/material/lock-open-check-outline.svg index d1936ff86..d02687408 100644 --- a/material/.icons/material/lock-open-check-outline.svg +++ b/material/.icons/material/lock-open-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-check.svg b/material/.icons/material/lock-open-check.svg index ef5111afb..9da9733d9 100644 --- a/material/.icons/material/lock-open-check.svg +++ b/material/.icons/material/lock-open-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-minus-outline.svg b/material/.icons/material/lock-open-minus-outline.svg index 9c5461008..8a22e250b 100644 --- a/material/.icons/material/lock-open-minus-outline.svg +++ b/material/.icons/material/lock-open-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-minus.svg b/material/.icons/material/lock-open-minus.svg index 0e2f45b07..bea02d0bc 100644 --- a/material/.icons/material/lock-open-minus.svg +++ b/material/.icons/material/lock-open-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-outline.svg b/material/.icons/material/lock-open-outline.svg index 824549463..b81a333b8 100644 --- a/material/.icons/material/lock-open-outline.svg +++ b/material/.icons/material/lock-open-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-plus-outline.svg b/material/.icons/material/lock-open-plus-outline.svg index 08985bbe4..54c572c49 100644 --- a/material/.icons/material/lock-open-plus-outline.svg +++ b/material/.icons/material/lock-open-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-plus.svg b/material/.icons/material/lock-open-plus.svg index a796360b5..7a9f5b623 100644 --- a/material/.icons/material/lock-open-plus.svg +++ b/material/.icons/material/lock-open-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-remove-outline.svg b/material/.icons/material/lock-open-remove-outline.svg index 390d57622..a76ce55b4 100644 --- a/material/.icons/material/lock-open-remove-outline.svg +++ b/material/.icons/material/lock-open-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-remove.svg b/material/.icons/material/lock-open-remove.svg index 3bb85e3f0..b5179e6ec 100644 --- a/material/.icons/material/lock-open-remove.svg +++ b/material/.icons/material/lock-open-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-variant-outline.svg b/material/.icons/material/lock-open-variant-outline.svg index 3200f7f7a..d124260cd 100644 --- a/material/.icons/material/lock-open-variant-outline.svg +++ b/material/.icons/material/lock-open-variant-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open-variant.svg b/material/.icons/material/lock-open-variant.svg index 1422b194f..dbcbd1f76 100644 --- a/material/.icons/material/lock-open-variant.svg +++ b/material/.icons/material/lock-open-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-open.svg b/material/.icons/material/lock-open.svg index 9d545e1b7..b1058dde3 100644 --- a/material/.icons/material/lock-open.svg +++ b/material/.icons/material/lock-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-outline.svg b/material/.icons/material/lock-outline.svg index 1523b7dd6..e31e88b1f 100644 --- a/material/.icons/material/lock-outline.svg +++ b/material/.icons/material/lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-pattern.svg b/material/.icons/material/lock-pattern.svg index d9650a99e..f9596b398 100644 --- a/material/.icons/material/lock-pattern.svg +++ b/material/.icons/material/lock-pattern.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-plus-outline.svg b/material/.icons/material/lock-plus-outline.svg index f55ab8c7c..633f27842 100644 --- a/material/.icons/material/lock-plus-outline.svg +++ b/material/.icons/material/lock-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-plus.svg b/material/.icons/material/lock-plus.svg index a478ade0f..cb32ef00b 100644 --- a/material/.icons/material/lock-plus.svg +++ b/material/.icons/material/lock-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-question.svg b/material/.icons/material/lock-question.svg index d03e8f85a..00642c4d9 100644 --- a/material/.icons/material/lock-question.svg +++ b/material/.icons/material/lock-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-remove-outline.svg b/material/.icons/material/lock-remove-outline.svg index 03fad63e4..6ff97a259 100644 --- a/material/.icons/material/lock-remove-outline.svg +++ b/material/.icons/material/lock-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-remove.svg b/material/.icons/material/lock-remove.svg index 28791201b..7807b1d0a 100644 --- a/material/.icons/material/lock-remove.svg +++ b/material/.icons/material/lock-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-reset.svg b/material/.icons/material/lock-reset.svg index 326b05af7..47556263f 100644 --- a/material/.icons/material/lock-reset.svg +++ b/material/.icons/material/lock-reset.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock-smart.svg b/material/.icons/material/lock-smart.svg index 560c612a5..b1701a25c 100644 --- a/material/.icons/material/lock-smart.svg +++ b/material/.icons/material/lock-smart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lock.svg b/material/.icons/material/lock.svg index 31e07a32d..e602210c9 100644 --- a/material/.icons/material/lock.svg +++ b/material/.icons/material/lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/locker-multiple.svg b/material/.icons/material/locker-multiple.svg index 278e74e7b..c1e8b918e 100644 --- a/material/.icons/material/locker-multiple.svg +++ b/material/.icons/material/locker-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/locker.svg b/material/.icons/material/locker.svg index 106a81373..481b00513 100644 --- a/material/.icons/material/locker.svg +++ b/material/.icons/material/locker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/login-variant.svg b/material/.icons/material/login-variant.svg index f81474153..a444ddcad 100644 --- a/material/.icons/material/login-variant.svg +++ b/material/.icons/material/login-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/login.svg b/material/.icons/material/login.svg index 0d34fe38b..d09738198 100644 --- a/material/.icons/material/login.svg +++ b/material/.icons/material/login.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/logout-variant.svg b/material/.icons/material/logout-variant.svg index 8ffadaa7b..4709731a7 100644 --- a/material/.icons/material/logout-variant.svg +++ b/material/.icons/material/logout-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/logout.svg b/material/.icons/material/logout.svg index 928b38e95..893579949 100644 --- a/material/.icons/material/logout.svg +++ b/material/.icons/material/logout.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/longitude.svg b/material/.icons/material/longitude.svg index 85e0b7f9a..5d5139384 100644 --- a/material/.icons/material/longitude.svg +++ b/material/.icons/material/longitude.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/looks.svg b/material/.icons/material/looks.svg index c3d960071..cc858c4d7 100644 --- a/material/.icons/material/looks.svg +++ b/material/.icons/material/looks.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lotion-outline.svg b/material/.icons/material/lotion-outline.svg index df7ca44bc..0edfe4c11 100644 --- a/material/.icons/material/lotion-outline.svg +++ b/material/.icons/material/lotion-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lotion-plus-outline.svg b/material/.icons/material/lotion-plus-outline.svg index f5d5232e3..5608b417d 100644 --- a/material/.icons/material/lotion-plus-outline.svg +++ b/material/.icons/material/lotion-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lotion-plus.svg b/material/.icons/material/lotion-plus.svg index bbb76b6f3..63029a37d 100644 --- a/material/.icons/material/lotion-plus.svg +++ b/material/.icons/material/lotion-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lotion.svg b/material/.icons/material/lotion.svg index 25e9ba527..1816ad1eb 100644 --- a/material/.icons/material/lotion.svg +++ b/material/.icons/material/lotion.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/loupe.svg b/material/.icons/material/loupe.svg index 5f70239c8..5f88f8d1f 100644 --- a/material/.icons/material/loupe.svg +++ b/material/.icons/material/loupe.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/lungs.svg b/material/.icons/material/lungs.svg index e0111a922..7493d41ee 100644 --- a/material/.icons/material/lungs.svg +++ b/material/.icons/material/lungs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnet-on.svg b/material/.icons/material/magnet-on.svg index bc7a60b89..1652b335d 100644 --- a/material/.icons/material/magnet-on.svg +++ b/material/.icons/material/magnet-on.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnet.svg b/material/.icons/material/magnet.svg index 366655a03..a0f705427 100644 --- a/material/.icons/material/magnet.svg +++ b/material/.icons/material/magnet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-close.svg b/material/.icons/material/magnify-close.svg index 52a724749..2c1e7204a 100644 --- a/material/.icons/material/magnify-close.svg +++ b/material/.icons/material/magnify-close.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-minus-cursor.svg b/material/.icons/material/magnify-minus-cursor.svg index ae3c28627..127696ab1 100644 --- a/material/.icons/material/magnify-minus-cursor.svg +++ b/material/.icons/material/magnify-minus-cursor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-minus-outline.svg b/material/.icons/material/magnify-minus-outline.svg index 7e304ec5d..b9aa6e260 100644 --- a/material/.icons/material/magnify-minus-outline.svg +++ b/material/.icons/material/magnify-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-minus.svg b/material/.icons/material/magnify-minus.svg index c10ba3cc8..f0a597769 100644 --- a/material/.icons/material/magnify-minus.svg +++ b/material/.icons/material/magnify-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-plus-cursor.svg b/material/.icons/material/magnify-plus-cursor.svg index aebcb1650..c86d5ad79 100644 --- a/material/.icons/material/magnify-plus-cursor.svg +++ b/material/.icons/material/magnify-plus-cursor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-plus-outline.svg b/material/.icons/material/magnify-plus-outline.svg index 0d836a88d..e0bcbb134 100644 --- a/material/.icons/material/magnify-plus-outline.svg +++ b/material/.icons/material/magnify-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-plus.svg b/material/.icons/material/magnify-plus.svg index 771212e2c..d67e6bc2e 100644 --- a/material/.icons/material/magnify-plus.svg +++ b/material/.icons/material/magnify-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-remove-cursor.svg b/material/.icons/material/magnify-remove-cursor.svg index 11d0b33a9..dd0bd8a69 100644 --- a/material/.icons/material/magnify-remove-cursor.svg +++ b/material/.icons/material/magnify-remove-cursor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-remove-outline.svg b/material/.icons/material/magnify-remove-outline.svg index 65440fb6f..86df0e24d 100644 --- a/material/.icons/material/magnify-remove-outline.svg +++ b/material/.icons/material/magnify-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify-scan.svg b/material/.icons/material/magnify-scan.svg index bf5d77ea9..79619a3be 100644 --- a/material/.icons/material/magnify-scan.svg +++ b/material/.icons/material/magnify-scan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/magnify.svg b/material/.icons/material/magnify.svg index c05f129aa..9e7cc71e5 100644 --- a/material/.icons/material/magnify.svg +++ b/material/.icons/material/magnify.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mail.svg b/material/.icons/material/mail.svg index 4fdaaebae..525139bcf 100644 --- a/material/.icons/material/mail.svg +++ b/material/.icons/material/mail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mailbox-open-outline.svg b/material/.icons/material/mailbox-open-outline.svg index 9e3dda076..9ce985163 100644 --- a/material/.icons/material/mailbox-open-outline.svg +++ b/material/.icons/material/mailbox-open-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mailbox-open-up-outline.svg b/material/.icons/material/mailbox-open-up-outline.svg index f97406e78..d152dce50 100644 --- a/material/.icons/material/mailbox-open-up-outline.svg +++ b/material/.icons/material/mailbox-open-up-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mailbox-open-up.svg b/material/.icons/material/mailbox-open-up.svg index 2f41f38bc..18596d213 100644 --- a/material/.icons/material/mailbox-open-up.svg +++ b/material/.icons/material/mailbox-open-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mailbox-open.svg b/material/.icons/material/mailbox-open.svg index 6b687c5d6..ff11c5f6d 100644 --- a/material/.icons/material/mailbox-open.svg +++ b/material/.icons/material/mailbox-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mailbox-outline.svg b/material/.icons/material/mailbox-outline.svg index 7582d37cb..e63a38866 100644 --- a/material/.icons/material/mailbox-outline.svg +++ b/material/.icons/material/mailbox-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mailbox-up-outline.svg b/material/.icons/material/mailbox-up-outline.svg index 59e35ca1b..8de0a95cb 100644 --- a/material/.icons/material/mailbox-up-outline.svg +++ b/material/.icons/material/mailbox-up-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mailbox-up.svg b/material/.icons/material/mailbox-up.svg index 9d15b5692..9b2ca8244 100644 --- a/material/.icons/material/mailbox-up.svg +++ b/material/.icons/material/mailbox-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mailbox.svg b/material/.icons/material/mailbox.svg index 3da2b5e11..6148f6bb0 100644 --- a/material/.icons/material/mailbox.svg +++ b/material/.icons/material/mailbox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-check-outline.svg b/material/.icons/material/map-check-outline.svg index aa899dbb2..03594d9e5 100644 --- a/material/.icons/material/map-check-outline.svg +++ b/material/.icons/material/map-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-check.svg b/material/.icons/material/map-check.svg index 036b41f61..ee7176ad6 100644 --- a/material/.icons/material/map-check.svg +++ b/material/.icons/material/map-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-clock-outline.svg b/material/.icons/material/map-clock-outline.svg index 8f54bbc92..dd7290d66 100644 --- a/material/.icons/material/map-clock-outline.svg +++ b/material/.icons/material/map-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-clock.svg b/material/.icons/material/map-clock.svg index 2c00203c5..1b35b4338 100644 --- a/material/.icons/material/map-clock.svg +++ b/material/.icons/material/map-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-legend.svg b/material/.icons/material/map-legend.svg index 118418c0e..a4eb17344 100644 --- a/material/.icons/material/map-legend.svg +++ b/material/.icons/material/map-legend.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-alert-outline.svg b/material/.icons/material/map-marker-alert-outline.svg index b70ecb581..12ec0d5e7 100644 --- a/material/.icons/material/map-marker-alert-outline.svg +++ b/material/.icons/material/map-marker-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-circle.svg b/material/.icons/material/map-marker-circle.svg index ca8f94295..c7d16c34b 100644 --- a/material/.icons/material/map-marker-circle.svg +++ b/material/.icons/material/map-marker-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-distance.svg b/material/.icons/material/map-marker-distance.svg index fc7ccd324..6b66e9d2d 100644 --- a/material/.icons/material/map-marker-distance.svg +++ b/material/.icons/material/map-marker-distance.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-down.svg b/material/.icons/material/map-marker-down.svg index 0271ae6c2..bb6f22f1e 100644 --- a/material/.icons/material/map-marker-down.svg +++ b/material/.icons/material/map-marker-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-left-outline.svg b/material/.icons/material/map-marker-left-outline.svg index a86e81076..34c2037c1 100644 --- a/material/.icons/material/map-marker-left-outline.svg +++ b/material/.icons/material/map-marker-left-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-left.svg b/material/.icons/material/map-marker-left.svg index 19870f6be..c2cf22726 100644 --- a/material/.icons/material/map-marker-left.svg +++ b/material/.icons/material/map-marker-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-minus.svg b/material/.icons/material/map-marker-minus.svg index 50827b68c..564e842de 100644 --- a/material/.icons/material/map-marker-minus.svg +++ b/material/.icons/material/map-marker-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-multiple-outline.svg b/material/.icons/material/map-marker-multiple-outline.svg index 4139e2896..b512d4355 100644 --- a/material/.icons/material/map-marker-multiple-outline.svg +++ b/material/.icons/material/map-marker-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-multiple.svg b/material/.icons/material/map-marker-multiple.svg index 8b253312a..5eed39890 100644 --- a/material/.icons/material/map-marker-multiple.svg +++ b/material/.icons/material/map-marker-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-off.svg b/material/.icons/material/map-marker-off.svg index 9e7b449b9..5f0dee3e7 100644 --- a/material/.icons/material/map-marker-off.svg +++ b/material/.icons/material/map-marker-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-outline.svg b/material/.icons/material/map-marker-outline.svg index 0f0241920..5c2bf84f3 100644 --- a/material/.icons/material/map-marker-outline.svg +++ b/material/.icons/material/map-marker-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-path.svg b/material/.icons/material/map-marker-path.svg index e69a63f10..52815fe92 100644 --- a/material/.icons/material/map-marker-path.svg +++ b/material/.icons/material/map-marker-path.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-plus.svg b/material/.icons/material/map-marker-plus.svg index fde107840..da18ab64f 100644 --- a/material/.icons/material/map-marker-plus.svg +++ b/material/.icons/material/map-marker-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-question-outline.svg b/material/.icons/material/map-marker-question-outline.svg index a97667c31..003eb6bb0 100644 --- a/material/.icons/material/map-marker-question-outline.svg +++ b/material/.icons/material/map-marker-question-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-question.svg b/material/.icons/material/map-marker-question.svg index 0f1b4158f..85b38f014 100644 --- a/material/.icons/material/map-marker-question.svg +++ b/material/.icons/material/map-marker-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-radius.svg b/material/.icons/material/map-marker-radius.svg index 1365309d7..eee1a430f 100644 --- a/material/.icons/material/map-marker-radius.svg +++ b/material/.icons/material/map-marker-radius.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-remove.svg b/material/.icons/material/map-marker-remove.svg index b0ea6faf8..321517cc6 100644 --- a/material/.icons/material/map-marker-remove.svg +++ b/material/.icons/material/map-marker-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-right-outline.svg b/material/.icons/material/map-marker-right-outline.svg index acdc42738..a3b1db41c 100644 --- a/material/.icons/material/map-marker-right-outline.svg +++ b/material/.icons/material/map-marker-right-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-right.svg b/material/.icons/material/map-marker-right.svg index f489ac75b..269811f80 100644 --- a/material/.icons/material/map-marker-right.svg +++ b/material/.icons/material/map-marker-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker-up.svg b/material/.icons/material/map-marker-up.svg index 3fc103905..55a05b799 100644 --- a/material/.icons/material/map-marker-up.svg +++ b/material/.icons/material/map-marker-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-marker.svg b/material/.icons/material/map-marker.svg index 7320fb154..7374dc853 100644 --- a/material/.icons/material/map-marker.svg +++ b/material/.icons/material/map-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-minus.svg b/material/.icons/material/map-minus.svg index 710565fe5..0af131e2a 100644 --- a/material/.icons/material/map-minus.svg +++ b/material/.icons/material/map-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-outline.svg b/material/.icons/material/map-outline.svg index f4993ecf4..41e0de79a 100644 --- a/material/.icons/material/map-outline.svg +++ b/material/.icons/material/map-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-plus.svg b/material/.icons/material/map-plus.svg index b9fe648eb..f6ab6e280 100644 --- a/material/.icons/material/map-plus.svg +++ b/material/.icons/material/map-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-search-outline.svg b/material/.icons/material/map-search-outline.svg index fe2865a47..d357ab880 100644 --- a/material/.icons/material/map-search-outline.svg +++ b/material/.icons/material/map-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map-search.svg b/material/.icons/material/map-search.svg index 4e5ee6a50..3a0c9c7fd 100644 --- a/material/.icons/material/map-search.svg +++ b/material/.icons/material/map-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/map.svg b/material/.icons/material/map.svg index dcc7f24ac..ea106d25c 100644 --- a/material/.icons/material/map.svg +++ b/material/.icons/material/map.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mapbox.svg b/material/.icons/material/mapbox.svg index 145ee31f3..b352fef61 100644 --- a/material/.icons/material/mapbox.svg +++ b/material/.icons/material/mapbox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/margin.svg b/material/.icons/material/margin.svg index 0481f02e0..4e04579d5 100644 --- a/material/.icons/material/margin.svg +++ b/material/.icons/material/margin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/marker-cancel.svg b/material/.icons/material/marker-cancel.svg index 8c0a558ed..7eac5f85c 100644 --- a/material/.icons/material/marker-cancel.svg +++ b/material/.icons/material/marker-cancel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/marker-check.svg b/material/.icons/material/marker-check.svg index 5950933cd..fcfbbabe6 100644 --- a/material/.icons/material/marker-check.svg +++ b/material/.icons/material/marker-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/math-compass.svg b/material/.icons/material/math-compass.svg index 480f3ff2e..2c1e38268 100644 --- a/material/.icons/material/math-compass.svg +++ b/material/.icons/material/math-compass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/math-cos.svg b/material/.icons/material/math-cos.svg index 852ba1821..e4f266c53 100644 --- a/material/.icons/material/math-cos.svg +++ b/material/.icons/material/math-cos.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/math-sin.svg b/material/.icons/material/math-sin.svg index 36b1666da..18d4686e1 100644 --- a/material/.icons/material/math-sin.svg +++ b/material/.icons/material/math-sin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/math-tan.svg b/material/.icons/material/math-tan.svg index c66ad8d26..abe6c84d4 100644 --- a/material/.icons/material/math-tan.svg +++ b/material/.icons/material/math-tan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/medal-outline.svg b/material/.icons/material/medal-outline.svg index a89e5aee9..4501cc235 100644 --- a/material/.icons/material/medal-outline.svg +++ b/material/.icons/material/medal-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/medal.svg b/material/.icons/material/medal.svg index 505ca71c9..28ed5301b 100644 --- a/material/.icons/material/medal.svg +++ b/material/.icons/material/medal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/meditation.svg b/material/.icons/material/meditation.svg index 99821b1c1..b8acc9f6c 100644 --- a/material/.icons/material/meditation.svg +++ b/material/.icons/material/meditation.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/memory.svg b/material/.icons/material/memory.svg index e197bbbef..3f5197955 100644 --- a/material/.icons/material/memory.svg +++ b/material/.icons/material/memory.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-alert-outline.svg b/material/.icons/material/message-alert-outline.svg index 316eb5564..405384303 100644 --- a/material/.icons/material/message-alert-outline.svg +++ b/material/.icons/material/message-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-bulleted-off.svg b/material/.icons/material/message-bulleted-off.svg index 8d6f3b6b9..ff5007c3d 100644 --- a/material/.icons/material/message-bulleted-off.svg +++ b/material/.icons/material/message-bulleted-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-bulleted.svg b/material/.icons/material/message-bulleted.svg index 955dc270c..3170fc38d 100644 --- a/material/.icons/material/message-bulleted.svg +++ b/material/.icons/material/message-bulleted.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-cog.svg b/material/.icons/material/message-cog.svg index 16ed33ed6..e6a652c91 100644 --- a/material/.icons/material/message-cog.svg +++ b/material/.icons/material/message-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-draw.svg b/material/.icons/material/message-draw.svg index 34c4fa522..bdd13aa39 100644 --- a/material/.icons/material/message-draw.svg +++ b/material/.icons/material/message-draw.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-image.svg b/material/.icons/material/message-image.svg index 385ff3445..1433556d1 100644 --- a/material/.icons/material/message-image.svg +++ b/material/.icons/material/message-image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-lock.svg b/material/.icons/material/message-lock.svg index 32c7e32e8..fb6e76d87 100644 --- a/material/.icons/material/message-lock.svg +++ b/material/.icons/material/message-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-minus.svg b/material/.icons/material/message-minus.svg index cceaeb638..4f6e1e465 100644 --- a/material/.icons/material/message-minus.svg +++ b/material/.icons/material/message-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-off-outline.svg b/material/.icons/material/message-off-outline.svg index 0c30c6381..d713fcb77 100644 --- a/material/.icons/material/message-off-outline.svg +++ b/material/.icons/material/message-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-off.svg b/material/.icons/material/message-off.svg index 1073bb6a8..09f62fea0 100644 --- a/material/.icons/material/message-off.svg +++ b/material/.icons/material/message-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-plus.svg b/material/.icons/material/message-plus.svg index a49bf61e7..f81df1d67 100644 --- a/material/.icons/material/message-plus.svg +++ b/material/.icons/material/message-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-processing.svg b/material/.icons/material/message-processing.svg index ebe66d82b..0398a76ca 100644 --- a/material/.icons/material/message-processing.svg +++ b/material/.icons/material/message-processing.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-reply-text-outline.svg b/material/.icons/material/message-reply-text-outline.svg index 3203b15b0..bdcbc2580 100644 --- a/material/.icons/material/message-reply-text-outline.svg +++ b/material/.icons/material/message-reply-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-reply-text.svg b/material/.icons/material/message-reply-text.svg index 039cdadcc..57c603c87 100644 --- a/material/.icons/material/message-reply-text.svg +++ b/material/.icons/material/message-reply-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-reply.svg b/material/.icons/material/message-reply.svg index 430a6ed8a..e1327e44c 100644 --- a/material/.icons/material/message-reply.svg +++ b/material/.icons/material/message-reply.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-settings.svg b/material/.icons/material/message-settings.svg index ba1ddd2f8..c7fa04984 100644 --- a/material/.icons/material/message-settings.svg +++ b/material/.icons/material/message-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-text-clock-outline.svg b/material/.icons/material/message-text-clock-outline.svg index 431e39792..f5481a2fa 100644 --- a/material/.icons/material/message-text-clock-outline.svg +++ b/material/.icons/material/message-text-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-text-clock.svg b/material/.icons/material/message-text-clock.svg index 76c5a6679..9a31694dd 100644 --- a/material/.icons/material/message-text-clock.svg +++ b/material/.icons/material/message-text-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-text-lock-outline.svg b/material/.icons/material/message-text-lock-outline.svg index 04678de97..b1325f260 100644 --- a/material/.icons/material/message-text-lock-outline.svg +++ b/material/.icons/material/message-text-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-text-lock.svg b/material/.icons/material/message-text-lock.svg index b60f6cdf6..f477077c7 100644 --- a/material/.icons/material/message-text-lock.svg +++ b/material/.icons/material/message-text-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-text-outline.svg b/material/.icons/material/message-text-outline.svg index e3e9b7483..2a82d91d4 100644 --- a/material/.icons/material/message-text-outline.svg +++ b/material/.icons/material/message-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-text.svg b/material/.icons/material/message-text.svg index dac6d0b7a..6e395dad4 100644 --- a/material/.icons/material/message-text.svg +++ b/material/.icons/material/message-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message-video.svg b/material/.icons/material/message-video.svg index 97c3264b1..ef2dbb543 100644 --- a/material/.icons/material/message-video.svg +++ b/material/.icons/material/message-video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/message.svg b/material/.icons/material/message.svg index c81fbc787..2d4c2b33a 100644 --- a/material/.icons/material/message.svg +++ b/material/.icons/material/message.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/micro-sd.svg b/material/.icons/material/micro-sd.svg index f7ab32386..1278052cd 100644 --- a/material/.icons/material/micro-sd.svg +++ b/material/.icons/material/micro-sd.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microphone-minus.svg b/material/.icons/material/microphone-minus.svg index 73c1cf2e2..3444b3fac 100644 --- a/material/.icons/material/microphone-minus.svg +++ b/material/.icons/material/microphone-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microphone-off.svg b/material/.icons/material/microphone-off.svg index 354dc3c89..6c7afa063 100644 --- a/material/.icons/material/microphone-off.svg +++ b/material/.icons/material/microphone-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microphone-outline.svg b/material/.icons/material/microphone-outline.svg index 9b34cdf41..0a353530c 100644 --- a/material/.icons/material/microphone-outline.svg +++ b/material/.icons/material/microphone-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microphone-plus.svg b/material/.icons/material/microphone-plus.svg index be516d345..0ae8ec0ae 100644 --- a/material/.icons/material/microphone-plus.svg +++ b/material/.icons/material/microphone-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microphone-settings.svg b/material/.icons/material/microphone-settings.svg index e8507dd9e..f52256719 100644 --- a/material/.icons/material/microphone-settings.svg +++ b/material/.icons/material/microphone-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microphone-variant-off.svg b/material/.icons/material/microphone-variant-off.svg index b084bca03..2ea136b11 100644 --- a/material/.icons/material/microphone-variant-off.svg +++ b/material/.icons/material/microphone-variant-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microphone-variant.svg b/material/.icons/material/microphone-variant.svg index b5ee05da7..4a58cfb32 100644 --- a/material/.icons/material/microphone-variant.svg +++ b/material/.icons/material/microphone-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microphone.svg b/material/.icons/material/microphone.svg index 895f0e4da..160615be2 100644 --- a/material/.icons/material/microphone.svg +++ b/material/.icons/material/microphone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microscope.svg b/material/.icons/material/microscope.svg index 5e81844bc..5f6f3fe98 100644 --- a/material/.icons/material/microscope.svg +++ b/material/.icons/material/microscope.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-internet-explorer.svg b/material/.icons/material/microsoft-internet-explorer.svg index 5b9a010e8..51bdb0d00 100644 --- a/material/.icons/material/microsoft-internet-explorer.svg +++ b/material/.icons/material/microsoft-internet-explorer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-visual-studio-code.svg b/material/.icons/material/microsoft-visual-studio-code.svg index 11b85b5d7..d6f3d0f5a 100644 --- a/material/.icons/material/microsoft-visual-studio-code.svg +++ b/material/.icons/material/microsoft-visual-studio-code.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-battery-alert.svg b/material/.icons/material/microsoft-xbox-controller-battery-alert.svg index 3b6e0dfbc..dff8a7a03 100644 --- a/material/.icons/material/microsoft-xbox-controller-battery-alert.svg +++ b/material/.icons/material/microsoft-xbox-controller-battery-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-battery-charging.svg b/material/.icons/material/microsoft-xbox-controller-battery-charging.svg index 0b3d69fbb..d0adf0fa1 100644 --- a/material/.icons/material/microsoft-xbox-controller-battery-charging.svg +++ b/material/.icons/material/microsoft-xbox-controller-battery-charging.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-battery-empty.svg b/material/.icons/material/microsoft-xbox-controller-battery-empty.svg index c713a94c9..5566b4891 100644 --- a/material/.icons/material/microsoft-xbox-controller-battery-empty.svg +++ b/material/.icons/material/microsoft-xbox-controller-battery-empty.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-battery-full.svg b/material/.icons/material/microsoft-xbox-controller-battery-full.svg index c3a86d688..999c9dccb 100644 --- a/material/.icons/material/microsoft-xbox-controller-battery-full.svg +++ b/material/.icons/material/microsoft-xbox-controller-battery-full.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-battery-low.svg b/material/.icons/material/microsoft-xbox-controller-battery-low.svg index 2e786f4fe..7c1f22123 100644 --- a/material/.icons/material/microsoft-xbox-controller-battery-low.svg +++ b/material/.icons/material/microsoft-xbox-controller-battery-low.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-battery-medium.svg b/material/.icons/material/microsoft-xbox-controller-battery-medium.svg index 59e859cc0..6cf3622bc 100644 --- a/material/.icons/material/microsoft-xbox-controller-battery-medium.svg +++ b/material/.icons/material/microsoft-xbox-controller-battery-medium.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-battery-unknown.svg b/material/.icons/material/microsoft-xbox-controller-battery-unknown.svg index 5df1b52e4..cd3f11e8b 100644 --- a/material/.icons/material/microsoft-xbox-controller-battery-unknown.svg +++ b/material/.icons/material/microsoft-xbox-controller-battery-unknown.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-menu.svg b/material/.icons/material/microsoft-xbox-controller-menu.svg index e38f1707f..865e30161 100644 --- a/material/.icons/material/microsoft-xbox-controller-menu.svg +++ b/material/.icons/material/microsoft-xbox-controller-menu.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-off.svg b/material/.icons/material/microsoft-xbox-controller-off.svg index 3539b0c95..288f8a673 100644 --- a/material/.icons/material/microsoft-xbox-controller-off.svg +++ b/material/.icons/material/microsoft-xbox-controller-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller-view.svg b/material/.icons/material/microsoft-xbox-controller-view.svg index 1bd41a774..6c34b2292 100644 --- a/material/.icons/material/microsoft-xbox-controller-view.svg +++ b/material/.icons/material/microsoft-xbox-controller-view.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox-controller.svg b/material/.icons/material/microsoft-xbox-controller.svg index 2596479a8..2818cbe23 100644 --- a/material/.icons/material/microsoft-xbox-controller.svg +++ b/material/.icons/material/microsoft-xbox-controller.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microsoft-xbox.svg b/material/.icons/material/microsoft-xbox.svg index 94baee2ed..1c1f530ff 100644 --- a/material/.icons/material/microsoft-xbox.svg +++ b/material/.icons/material/microsoft-xbox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microwave-off.svg b/material/.icons/material/microwave-off.svg index e5a376ed0..28fa9ae67 100644 --- a/material/.icons/material/microwave-off.svg +++ b/material/.icons/material/microwave-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/microwave.svg b/material/.icons/material/microwave.svg index d655971ba..291dc50ec 100644 --- a/material/.icons/material/microwave.svg +++ b/material/.icons/material/microwave.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/midi-port.svg b/material/.icons/material/midi-port.svg index 1ba0f45a6..01ab22186 100644 --- a/material/.icons/material/midi-port.svg +++ b/material/.icons/material/midi-port.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mine.svg b/material/.icons/material/mine.svg index 4af35c3e2..eb2d6cfb3 100644 --- a/material/.icons/material/mine.svg +++ b/material/.icons/material/mine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minecraft.svg b/material/.icons/material/minecraft.svg index d4bf2ba5a..88a5598b4 100644 --- a/material/.icons/material/minecraft.svg +++ b/material/.icons/material/minecraft.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mini-sd.svg b/material/.icons/material/mini-sd.svg index 3c788eaf8..c88433517 100644 --- a/material/.icons/material/mini-sd.svg +++ b/material/.icons/material/mini-sd.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minidisc.svg b/material/.icons/material/minidisc.svg index 1f829a347..6daf3f250 100644 --- a/material/.icons/material/minidisc.svg +++ b/material/.icons/material/minidisc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minus-box-multiple-outline.svg b/material/.icons/material/minus-box-multiple-outline.svg index 3634e379c..3bdb85637 100644 --- a/material/.icons/material/minus-box-multiple-outline.svg +++ b/material/.icons/material/minus-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minus-box-multiple.svg b/material/.icons/material/minus-box-multiple.svg index c8b3d2f12..ffa25c6a7 100644 --- a/material/.icons/material/minus-box-multiple.svg +++ b/material/.icons/material/minus-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minus-box-outline.svg b/material/.icons/material/minus-box-outline.svg index 5b2d0bff0..5dc7bc137 100644 --- a/material/.icons/material/minus-box-outline.svg +++ b/material/.icons/material/minus-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minus-box.svg b/material/.icons/material/minus-box.svg index a62d2513c..d53548856 100644 --- a/material/.icons/material/minus-box.svg +++ b/material/.icons/material/minus-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minus-circle-outline.svg b/material/.icons/material/minus-circle-outline.svg index 31e5934a4..cf99ac92c 100644 --- a/material/.icons/material/minus-circle-outline.svg +++ b/material/.icons/material/minus-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minus-circle.svg b/material/.icons/material/minus-circle.svg index 9f237f754..35065ef35 100644 --- a/material/.icons/material/minus-circle.svg +++ b/material/.icons/material/minus-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minus-network-outline.svg b/material/.icons/material/minus-network-outline.svg index 2f04b5ce3..8aeca054d 100644 --- a/material/.icons/material/minus-network-outline.svg +++ b/material/.icons/material/minus-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/minus-network.svg b/material/.icons/material/minus-network.svg index 5606ebd44..024332963 100644 --- a/material/.icons/material/minus-network.svg +++ b/material/.icons/material/minus-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mixed-reality.svg b/material/.icons/material/mixed-reality.svg index 4be6be9fc..68dbedde1 100644 --- a/material/.icons/material/mixed-reality.svg +++ b/material/.icons/material/mixed-reality.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/molecule-co.svg b/material/.icons/material/molecule-co.svg index bb54108c5..3d36a63d7 100644 --- a/material/.icons/material/molecule-co.svg +++ b/material/.icons/material/molecule-co.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/molecule-co2.svg b/material/.icons/material/molecule-co2.svg index a9269781c..5ed1e55f7 100644 --- a/material/.icons/material/molecule-co2.svg +++ b/material/.icons/material/molecule-co2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/molecule.svg b/material/.icons/material/molecule.svg index 738a32d77..a46a79d18 100644 --- a/material/.icons/material/molecule.svg +++ b/material/.icons/material/molecule.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-cellphone-star.svg b/material/.icons/material/monitor-cellphone-star.svg index 2219875f6..54cf767c1 100644 --- a/material/.icons/material/monitor-cellphone-star.svg +++ b/material/.icons/material/monitor-cellphone-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-cellphone.svg b/material/.icons/material/monitor-cellphone.svg index b6e8b7c37..22be6d998 100644 --- a/material/.icons/material/monitor-cellphone.svg +++ b/material/.icons/material/monitor-cellphone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-clean.svg b/material/.icons/material/monitor-clean.svg index f9861dc46..0ede707e3 100644 --- a/material/.icons/material/monitor-clean.svg +++ b/material/.icons/material/monitor-clean.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-dashboard.svg b/material/.icons/material/monitor-dashboard.svg index c96d27353..b05130e24 100644 --- a/material/.icons/material/monitor-dashboard.svg +++ b/material/.icons/material/monitor-dashboard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-edit.svg b/material/.icons/material/monitor-edit.svg index 4380cc685..708045edd 100644 --- a/material/.icons/material/monitor-edit.svg +++ b/material/.icons/material/monitor-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-eye.svg b/material/.icons/material/monitor-eye.svg index 405588254..1d5c8c752 100644 --- a/material/.icons/material/monitor-eye.svg +++ b/material/.icons/material/monitor-eye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-lock.svg b/material/.icons/material/monitor-lock.svg index a8532f692..5b19c9808 100644 --- a/material/.icons/material/monitor-lock.svg +++ b/material/.icons/material/monitor-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-multiple.svg b/material/.icons/material/monitor-multiple.svg index 3c38589ae..bb69ca8f8 100644 --- a/material/.icons/material/monitor-multiple.svg +++ b/material/.icons/material/monitor-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-off.svg b/material/.icons/material/monitor-off.svg index 8450dfc58..79d5711d0 100644 --- a/material/.icons/material/monitor-off.svg +++ b/material/.icons/material/monitor-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-screenshot.svg b/material/.icons/material/monitor-screenshot.svg index 178eeacb2..425decf63 100644 --- a/material/.icons/material/monitor-screenshot.svg +++ b/material/.icons/material/monitor-screenshot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-share.svg b/material/.icons/material/monitor-share.svg index b51756aa0..ec1566cea 100644 --- a/material/.icons/material/monitor-share.svg +++ b/material/.icons/material/monitor-share.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-speaker.svg b/material/.icons/material/monitor-speaker.svg index 632a99539..f4751bfc7 100644 --- a/material/.icons/material/monitor-speaker.svg +++ b/material/.icons/material/monitor-speaker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor-star.svg b/material/.icons/material/monitor-star.svg index 6f8049649..f17c9ab66 100644 --- a/material/.icons/material/monitor-star.svg +++ b/material/.icons/material/monitor-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/monitor.svg b/material/.icons/material/monitor.svg index e59f73627..8c4482da5 100644 --- a/material/.icons/material/monitor.svg +++ b/material/.icons/material/monitor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moon-first-quarter.svg b/material/.icons/material/moon-first-quarter.svg index bebbd544b..4c071f450 100644 --- a/material/.icons/material/moon-first-quarter.svg +++ b/material/.icons/material/moon-first-quarter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moon-full.svg b/material/.icons/material/moon-full.svg index 809fbfd07..7c7da0883 100644 --- a/material/.icons/material/moon-full.svg +++ b/material/.icons/material/moon-full.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moon-last-quarter.svg b/material/.icons/material/moon-last-quarter.svg index 1a247f07d..62073f043 100644 --- a/material/.icons/material/moon-last-quarter.svg +++ b/material/.icons/material/moon-last-quarter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moon-new.svg b/material/.icons/material/moon-new.svg index c7661dce1..e26525b7e 100644 --- a/material/.icons/material/moon-new.svg +++ b/material/.icons/material/moon-new.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moon-waning-crescent.svg b/material/.icons/material/moon-waning-crescent.svg index f4b4087c1..b78586a9e 100644 --- a/material/.icons/material/moon-waning-crescent.svg +++ b/material/.icons/material/moon-waning-crescent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moon-waning-gibbous.svg b/material/.icons/material/moon-waning-gibbous.svg index 917969e69..57b81d38d 100644 --- a/material/.icons/material/moon-waning-gibbous.svg +++ b/material/.icons/material/moon-waning-gibbous.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moon-waxing-crescent.svg b/material/.icons/material/moon-waxing-crescent.svg index 043b6c34d..8485e0a73 100644 --- a/material/.icons/material/moon-waxing-crescent.svg +++ b/material/.icons/material/moon-waxing-crescent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moon-waxing-gibbous.svg b/material/.icons/material/moon-waxing-gibbous.svg index 52ae79d92..db6820148 100644 --- a/material/.icons/material/moon-waxing-gibbous.svg +++ b/material/.icons/material/moon-waxing-gibbous.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moped-outline.svg b/material/.icons/material/moped-outline.svg index 5ed4c7401..29d6c9fe5 100644 --- a/material/.icons/material/moped-outline.svg +++ b/material/.icons/material/moped-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/moped.svg b/material/.icons/material/moped.svg index ca5c0d551..b6726d0f1 100644 --- a/material/.icons/material/moped.svg +++ b/material/.icons/material/moped.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/more.svg b/material/.icons/material/more.svg index b0e428f21..156e92746 100644 --- a/material/.icons/material/more.svg +++ b/material/.icons/material/more.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mother-nurse.svg b/material/.icons/material/mother-nurse.svg index 022e000d6..bd8d4fc69 100644 --- a/material/.icons/material/mother-nurse.svg +++ b/material/.icons/material/mother-nurse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/motion-sensor-off.svg b/material/.icons/material/motion-sensor-off.svg index 6657d0fb2..64d2292bd 100644 --- a/material/.icons/material/motion-sensor-off.svg +++ b/material/.icons/material/motion-sensor-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/motion-sensor.svg b/material/.icons/material/motion-sensor.svg index 7807d848c..f2b9a4d9e 100644 --- a/material/.icons/material/motion-sensor.svg +++ b/material/.icons/material/motion-sensor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/motorbike-electric.svg b/material/.icons/material/motorbike-electric.svg index 3bedef9d5..059ebc0c8 100644 --- a/material/.icons/material/motorbike-electric.svg +++ b/material/.icons/material/motorbike-electric.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/motorbike.svg b/material/.icons/material/motorbike.svg index bdab5eba4..c91f6adf5 100644 --- a/material/.icons/material/motorbike.svg +++ b/material/.icons/material/motorbike.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mouse-bluetooth.svg b/material/.icons/material/mouse-bluetooth.svg index 8e580c7df..8a82d8997 100644 --- a/material/.icons/material/mouse-bluetooth.svg +++ b/material/.icons/material/mouse-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mouse-off.svg b/material/.icons/material/mouse-off.svg index 7c9c1bb4f..037efb626 100644 --- a/material/.icons/material/mouse-off.svg +++ b/material/.icons/material/mouse-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mouse-variant-off.svg b/material/.icons/material/mouse-variant-off.svg index 1e5e734c1..82d9bcb9a 100644 --- a/material/.icons/material/mouse-variant-off.svg +++ b/material/.icons/material/mouse-variant-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mouse-variant.svg b/material/.icons/material/mouse-variant.svg index aa4560cb7..7bc2576a5 100644 --- a/material/.icons/material/mouse-variant.svg +++ b/material/.icons/material/mouse-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mouse.svg b/material/.icons/material/mouse.svg index 8028e0c40..85db28832 100644 --- a/material/.icons/material/mouse.svg +++ b/material/.icons/material/mouse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/move-resize-variant.svg b/material/.icons/material/move-resize-variant.svg index de5259d65..5e91d134a 100644 --- a/material/.icons/material/move-resize-variant.svg +++ b/material/.icons/material/move-resize-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-check-outline.svg b/material/.icons/material/movie-check-outline.svg index b0406ddc9..ac744f4d8 100644 --- a/material/.icons/material/movie-check-outline.svg +++ b/material/.icons/material/movie-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-check.svg b/material/.icons/material/movie-check.svg index bdeebaa0b..937c1816d 100644 --- a/material/.icons/material/movie-check.svg +++ b/material/.icons/material/movie-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-cog-outline.svg b/material/.icons/material/movie-cog-outline.svg index d0cbd2ed6..c402131cc 100644 --- a/material/.icons/material/movie-cog-outline.svg +++ b/material/.icons/material/movie-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-cog.svg b/material/.icons/material/movie-cog.svg index aa9aef3d9..3cb1d1ead 100644 --- a/material/.icons/material/movie-cog.svg +++ b/material/.icons/material/movie-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-edit-outline.svg b/material/.icons/material/movie-edit-outline.svg index 22dc094fb..4ef510947 100644 --- a/material/.icons/material/movie-edit-outline.svg +++ b/material/.icons/material/movie-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-edit.svg b/material/.icons/material/movie-edit.svg index cac4b82ba..d3bc9e521 100644 --- a/material/.icons/material/movie-edit.svg +++ b/material/.icons/material/movie-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-filter-outline.svg b/material/.icons/material/movie-filter-outline.svg index 5a13f5ace..1dabad15a 100644 --- a/material/.icons/material/movie-filter-outline.svg +++ b/material/.icons/material/movie-filter-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-minus-outline.svg b/material/.icons/material/movie-minus-outline.svg index b750325de..c25da4961 100644 --- a/material/.icons/material/movie-minus-outline.svg +++ b/material/.icons/material/movie-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-minus.svg b/material/.icons/material/movie-minus.svg index 70b42072e..30e706cce 100644 --- a/material/.icons/material/movie-minus.svg +++ b/material/.icons/material/movie-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-off-outline.svg b/material/.icons/material/movie-off-outline.svg index 30055d86b..112102255 100644 --- a/material/.icons/material/movie-off-outline.svg +++ b/material/.icons/material/movie-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-off.svg b/material/.icons/material/movie-off.svg index d63d01f23..3b9b448cc 100644 --- a/material/.icons/material/movie-off.svg +++ b/material/.icons/material/movie-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-check-outline.svg b/material/.icons/material/movie-open-check-outline.svg index 93bdb80c1..1d052583f 100644 --- a/material/.icons/material/movie-open-check-outline.svg +++ b/material/.icons/material/movie-open-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-check.svg b/material/.icons/material/movie-open-check.svg index 54fa46525..cb54edb03 100644 --- a/material/.icons/material/movie-open-check.svg +++ b/material/.icons/material/movie-open-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-cog-outline.svg b/material/.icons/material/movie-open-cog-outline.svg index 55eacd30e..b4c07a119 100644 --- a/material/.icons/material/movie-open-cog-outline.svg +++ b/material/.icons/material/movie-open-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-cog.svg b/material/.icons/material/movie-open-cog.svg index 51bdf395d..6d1f1da42 100644 --- a/material/.icons/material/movie-open-cog.svg +++ b/material/.icons/material/movie-open-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-edit-outline.svg b/material/.icons/material/movie-open-edit-outline.svg index 2d909f2b6..276074853 100644 --- a/material/.icons/material/movie-open-edit-outline.svg +++ b/material/.icons/material/movie-open-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-edit.svg b/material/.icons/material/movie-open-edit.svg index c7fbdf4ef..6635bd101 100644 --- a/material/.icons/material/movie-open-edit.svg +++ b/material/.icons/material/movie-open-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-minus-outline.svg b/material/.icons/material/movie-open-minus-outline.svg index 4c7895a87..116b009d8 100644 --- a/material/.icons/material/movie-open-minus-outline.svg +++ b/material/.icons/material/movie-open-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-minus.svg b/material/.icons/material/movie-open-minus.svg index 1317b0426..c5df90ed9 100644 --- a/material/.icons/material/movie-open-minus.svg +++ b/material/.icons/material/movie-open-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-outline.svg b/material/.icons/material/movie-open-outline.svg index f1182532c..6b55899bf 100644 --- a/material/.icons/material/movie-open-outline.svg +++ b/material/.icons/material/movie-open-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-play-outline.svg b/material/.icons/material/movie-open-play-outline.svg index 0cf5ce943..7fa296a63 100644 --- a/material/.icons/material/movie-open-play-outline.svg +++ b/material/.icons/material/movie-open-play-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-play.svg b/material/.icons/material/movie-open-play.svg index 87ef5817d..48524445e 100644 --- a/material/.icons/material/movie-open-play.svg +++ b/material/.icons/material/movie-open-play.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-plus-outline.svg b/material/.icons/material/movie-open-plus-outline.svg index 94ec53fcd..f008ef2c6 100644 --- a/material/.icons/material/movie-open-plus-outline.svg +++ b/material/.icons/material/movie-open-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-plus.svg b/material/.icons/material/movie-open-plus.svg index c6c79a966..abb56faea 100644 --- a/material/.icons/material/movie-open-plus.svg +++ b/material/.icons/material/movie-open-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-remove-outline.svg b/material/.icons/material/movie-open-remove-outline.svg index 85cdb3efa..74878531f 100644 --- a/material/.icons/material/movie-open-remove-outline.svg +++ b/material/.icons/material/movie-open-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-remove.svg b/material/.icons/material/movie-open-remove.svg index 77f6bd8e7..e151899fe 100644 --- a/material/.icons/material/movie-open-remove.svg +++ b/material/.icons/material/movie-open-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-settings-outline.svg b/material/.icons/material/movie-open-settings-outline.svg index 18c755a83..a8b2c53ad 100644 --- a/material/.icons/material/movie-open-settings-outline.svg +++ b/material/.icons/material/movie-open-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-settings.svg b/material/.icons/material/movie-open-settings.svg index 51bfc614f..989a35087 100644 --- a/material/.icons/material/movie-open-settings.svg +++ b/material/.icons/material/movie-open-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-star-outline.svg b/material/.icons/material/movie-open-star-outline.svg index cf4b08383..14e12a814 100644 --- a/material/.icons/material/movie-open-star-outline.svg +++ b/material/.icons/material/movie-open-star-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open-star.svg b/material/.icons/material/movie-open-star.svg index bba563254..f219af87e 100644 --- a/material/.icons/material/movie-open-star.svg +++ b/material/.icons/material/movie-open-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-open.svg b/material/.icons/material/movie-open.svg index 04fc7613b..88a92da89 100644 --- a/material/.icons/material/movie-open.svg +++ b/material/.icons/material/movie-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-outline.svg b/material/.icons/material/movie-outline.svg index ace220b12..616bbea86 100644 --- a/material/.icons/material/movie-outline.svg +++ b/material/.icons/material/movie-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-play-outline.svg b/material/.icons/material/movie-play-outline.svg index 57c6d5d2c..13b921bb8 100644 --- a/material/.icons/material/movie-play-outline.svg +++ b/material/.icons/material/movie-play-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-play.svg b/material/.icons/material/movie-play.svg index ebd8ee2bd..beb1b7bdd 100644 --- a/material/.icons/material/movie-play.svg +++ b/material/.icons/material/movie-play.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-plus-outline.svg b/material/.icons/material/movie-plus-outline.svg index 92fe0dd59..1e4a5ebb8 100644 --- a/material/.icons/material/movie-plus-outline.svg +++ b/material/.icons/material/movie-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-plus.svg b/material/.icons/material/movie-plus.svg index a06ffdff8..c15afc803 100644 --- a/material/.icons/material/movie-plus.svg +++ b/material/.icons/material/movie-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-remove-outline.svg b/material/.icons/material/movie-remove-outline.svg index 747b81025..304af60f4 100644 --- a/material/.icons/material/movie-remove-outline.svg +++ b/material/.icons/material/movie-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-remove.svg b/material/.icons/material/movie-remove.svg index eaeb58d0e..045691d4a 100644 --- a/material/.icons/material/movie-remove.svg +++ b/material/.icons/material/movie-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-roll.svg b/material/.icons/material/movie-roll.svg index f697c1640..735a24acc 100644 --- a/material/.icons/material/movie-roll.svg +++ b/material/.icons/material/movie-roll.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-search.svg b/material/.icons/material/movie-search.svg index 0b36c93af..4421cc7cb 100644 --- a/material/.icons/material/movie-search.svg +++ b/material/.icons/material/movie-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-settings-outline.svg b/material/.icons/material/movie-settings-outline.svg index 55791ffd9..f8e346ba8 100644 --- a/material/.icons/material/movie-settings-outline.svg +++ b/material/.icons/material/movie-settings-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-settings.svg b/material/.icons/material/movie-settings.svg index a603d62e7..12f6f06c6 100644 --- a/material/.icons/material/movie-settings.svg +++ b/material/.icons/material/movie-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-star-outline.svg b/material/.icons/material/movie-star-outline.svg index 31045c602..225eeacab 100644 --- a/material/.icons/material/movie-star-outline.svg +++ b/material/.icons/material/movie-star-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie-star.svg b/material/.icons/material/movie-star.svg index 219d9ef48..111aa913f 100644 --- a/material/.icons/material/movie-star.svg +++ b/material/.icons/material/movie-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/movie.svg b/material/.icons/material/movie.svg index bd59988a6..807661d48 100644 --- a/material/.icons/material/movie.svg +++ b/material/.icons/material/movie.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/multiplication-box.svg b/material/.icons/material/multiplication-box.svg index 6e9088d92..9d700fb89 100644 --- a/material/.icons/material/multiplication-box.svg +++ b/material/.icons/material/multiplication-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mushroom-outline.svg b/material/.icons/material/mushroom-outline.svg index a763dd6d6..03f654ef2 100644 --- a/material/.icons/material/mushroom-outline.svg +++ b/material/.icons/material/mushroom-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/mushroom.svg b/material/.icons/material/mushroom.svg index 1b3d5badd..ac06cf78d 100644 --- a/material/.icons/material/mushroom.svg +++ b/material/.icons/material/mushroom.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-box-multiple-outline.svg b/material/.icons/material/music-box-multiple-outline.svg index 90098f358..b44658940 100644 --- a/material/.icons/material/music-box-multiple-outline.svg +++ b/material/.icons/material/music-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-box-multiple.svg b/material/.icons/material/music-box-multiple.svg index 3518e6e36..9b807f097 100644 --- a/material/.icons/material/music-box-multiple.svg +++ b/material/.icons/material/music-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-box-outline.svg b/material/.icons/material/music-box-outline.svg index 4a16dbc10..8c30e1a45 100644 --- a/material/.icons/material/music-box-outline.svg +++ b/material/.icons/material/music-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-box.svg b/material/.icons/material/music-box.svg index 23a3905d6..b45fd29e8 100644 --- a/material/.icons/material/music-box.svg +++ b/material/.icons/material/music-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-circle-outline.svg b/material/.icons/material/music-circle-outline.svg index ff7372484..30b8f4c8f 100644 --- a/material/.icons/material/music-circle-outline.svg +++ b/material/.icons/material/music-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-circle.svg b/material/.icons/material/music-circle.svg index 44d53f79e..8b98e67c2 100644 --- a/material/.icons/material/music-circle.svg +++ b/material/.icons/material/music-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-clef-alto.svg b/material/.icons/material/music-clef-alto.svg index c5c324058..04b1cff75 100644 --- a/material/.icons/material/music-clef-alto.svg +++ b/material/.icons/material/music-clef-alto.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-clef-bass.svg b/material/.icons/material/music-clef-bass.svg index 17922f318..b121ecbc2 100644 --- a/material/.icons/material/music-clef-bass.svg +++ b/material/.icons/material/music-clef-bass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-clef-treble.svg b/material/.icons/material/music-clef-treble.svg index 8f96b7234..19c8e86d6 100644 --- a/material/.icons/material/music-clef-treble.svg +++ b/material/.icons/material/music-clef-treble.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-note-eighth-dotted.svg b/material/.icons/material/music-note-eighth-dotted.svg index 444684981..7017ba806 100644 --- a/material/.icons/material/music-note-eighth-dotted.svg +++ b/material/.icons/material/music-note-eighth-dotted.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-note-half-dotted.svg b/material/.icons/material/music-note-half-dotted.svg index 6b70e78b2..bc26b4358 100644 --- a/material/.icons/material/music-note-half-dotted.svg +++ b/material/.icons/material/music-note-half-dotted.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-note-half.svg b/material/.icons/material/music-note-half.svg index 8942897cd..472b4d94d 100644 --- a/material/.icons/material/music-note-half.svg +++ b/material/.icons/material/music-note-half.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-note-off-outline.svg b/material/.icons/material/music-note-off-outline.svg index c512ab524..11df2821e 100644 --- a/material/.icons/material/music-note-off-outline.svg +++ b/material/.icons/material/music-note-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-note-outline.svg b/material/.icons/material/music-note-outline.svg index 1264a9ed7..7c27cba9b 100644 --- a/material/.icons/material/music-note-outline.svg +++ b/material/.icons/material/music-note-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-note-quarter-dotted.svg b/material/.icons/material/music-note-quarter-dotted.svg index 8a388b885..d5abca778 100644 --- a/material/.icons/material/music-note-quarter-dotted.svg +++ b/material/.icons/material/music-note-quarter-dotted.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-note-sixteenth-dotted.svg b/material/.icons/material/music-note-sixteenth-dotted.svg index d3bf25a16..968e39bfb 100644 --- a/material/.icons/material/music-note-sixteenth-dotted.svg +++ b/material/.icons/material/music-note-sixteenth-dotted.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-note-whole-dotted.svg b/material/.icons/material/music-note-whole-dotted.svg index 558032f6b..12e3edbbd 100644 --- a/material/.icons/material/music-note-whole-dotted.svg +++ b/material/.icons/material/music-note-whole-dotted.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-note-whole.svg b/material/.icons/material/music-note-whole.svg index 111ccb21c..5a98881f6 100644 --- a/material/.icons/material/music-note-whole.svg +++ b/material/.icons/material/music-note-whole.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-off.svg b/material/.icons/material/music-off.svg index 29b39dc1b..d1998cd2b 100644 --- a/material/.icons/material/music-off.svg +++ b/material/.icons/material/music-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-rest-eighth.svg b/material/.icons/material/music-rest-eighth.svg index 5274cfc3b..224827e70 100644 --- a/material/.icons/material/music-rest-eighth.svg +++ b/material/.icons/material/music-rest-eighth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music-rest-sixteenth.svg b/material/.icons/material/music-rest-sixteenth.svg index e8cf04c02..51ca0c48c 100644 --- a/material/.icons/material/music-rest-sixteenth.svg +++ b/material/.icons/material/music-rest-sixteenth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/music.svg b/material/.icons/material/music.svg index cbc2e2c29..118221452 100644 --- a/material/.icons/material/music.svg +++ b/material/.icons/material/music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nas.svg b/material/.icons/material/nas.svg index b557dae35..e1ff7114b 100644 --- a/material/.icons/material/nas.svg +++ b/material/.icons/material/nas.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nativescript.svg b/material/.icons/material/nativescript.svg index cb05cd1fa..db837ebd6 100644 --- a/material/.icons/material/nativescript.svg +++ b/material/.icons/material/nativescript.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nature-people.svg b/material/.icons/material/nature-people.svg index a816de0c2..317c46be3 100644 --- a/material/.icons/material/nature-people.svg +++ b/material/.icons/material/nature-people.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nature.svg b/material/.icons/material/nature.svg index 33fa7c091..a41764d87 100644 --- a/material/.icons/material/nature.svg +++ b/material/.icons/material/nature.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/network-off-outline.svg b/material/.icons/material/network-off-outline.svg index c28e85bc3..f1d50ee25 100644 --- a/material/.icons/material/network-off-outline.svg +++ b/material/.icons/material/network-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/network-off.svg b/material/.icons/material/network-off.svg index bd0e2d138..c461cab31 100644 --- a/material/.icons/material/network-off.svg +++ b/material/.icons/material/network-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/network-outline.svg b/material/.icons/material/network-outline.svg index 315f3e71c..b21c0dbf6 100644 --- a/material/.icons/material/network-outline.svg +++ b/material/.icons/material/network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/network.svg b/material/.icons/material/network.svg index 87a81aa07..87562577c 100644 --- a/material/.icons/material/network.svg +++ b/material/.icons/material/network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/new-box.svg b/material/.icons/material/new-box.svg index e3e1de9c6..f0ee2155f 100644 --- a/material/.icons/material/new-box.svg +++ b/material/.icons/material/new-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/newspaper-minus.svg b/material/.icons/material/newspaper-minus.svg index 7663e35f3..618ba1ae3 100644 --- a/material/.icons/material/newspaper-minus.svg +++ b/material/.icons/material/newspaper-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/newspaper-plus.svg b/material/.icons/material/newspaper-plus.svg index 2d36ad732..19a9fc861 100644 --- a/material/.icons/material/newspaper-plus.svg +++ b/material/.icons/material/newspaper-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/newspaper.svg b/material/.icons/material/newspaper.svg index 1958789c5..051fc274a 100644 --- a/material/.icons/material/newspaper.svg +++ b/material/.icons/material/newspaper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nfc-search-variant.svg b/material/.icons/material/nfc-search-variant.svg index 86288d477..9b1db64de 100644 --- a/material/.icons/material/nfc-search-variant.svg +++ b/material/.icons/material/nfc-search-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nfc-tap.svg b/material/.icons/material/nfc-tap.svg index a242c31dd..af621a8f3 100644 --- a/material/.icons/material/nfc-tap.svg +++ b/material/.icons/material/nfc-tap.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nfc-variant-off.svg b/material/.icons/material/nfc-variant-off.svg index f6a8006c0..8ea2424b0 100644 --- a/material/.icons/material/nfc-variant-off.svg +++ b/material/.icons/material/nfc-variant-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nfc-variant.svg b/material/.icons/material/nfc-variant.svg index 5abebfb51..69d09932a 100644 --- a/material/.icons/material/nfc-variant.svg +++ b/material/.icons/material/nfc-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ninja.svg b/material/.icons/material/ninja.svg index b7eda3cdc..d82fec1f2 100644 --- a/material/.icons/material/ninja.svg +++ b/material/.icons/material/ninja.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nintendo-game-boy.svg b/material/.icons/material/nintendo-game-boy.svg index f453224b4..c5fd1319d 100644 --- a/material/.icons/material/nintendo-game-boy.svg +++ b/material/.icons/material/nintendo-game-boy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nintendo-switch.svg b/material/.icons/material/nintendo-switch.svg index e58a3e658..09d9375f8 100644 --- a/material/.icons/material/nintendo-switch.svg +++ b/material/.icons/material/nintendo-switch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nintendo-wii.svg b/material/.icons/material/nintendo-wii.svg index 5b2dbceec..0f37f1d57 100644 --- a/material/.icons/material/nintendo-wii.svg +++ b/material/.icons/material/nintendo-wii.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nodejs.svg b/material/.icons/material/nodejs.svg index fed70b9b5..869b1ba9b 100644 --- a/material/.icons/material/nodejs.svg +++ b/material/.icons/material/nodejs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-minus-outline.svg b/material/.icons/material/note-minus-outline.svg index 8decb3b1a..ba7ae349e 100644 --- a/material/.icons/material/note-minus-outline.svg +++ b/material/.icons/material/note-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-minus.svg b/material/.icons/material/note-minus.svg index d80241f0f..94379bbba 100644 --- a/material/.icons/material/note-minus.svg +++ b/material/.icons/material/note-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-multiple-outline.svg b/material/.icons/material/note-multiple-outline.svg index b93b43cb1..f2dbff9ad 100644 --- a/material/.icons/material/note-multiple-outline.svg +++ b/material/.icons/material/note-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-multiple.svg b/material/.icons/material/note-multiple.svg index bbb7515c6..bee8c2513 100644 --- a/material/.icons/material/note-multiple.svg +++ b/material/.icons/material/note-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-outline.svg b/material/.icons/material/note-outline.svg index bd90f7362..e068b140f 100644 --- a/material/.icons/material/note-outline.svg +++ b/material/.icons/material/note-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-plus-outline.svg b/material/.icons/material/note-plus-outline.svg index 68b7290fd..2d1f3162a 100644 --- a/material/.icons/material/note-plus-outline.svg +++ b/material/.icons/material/note-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-plus.svg b/material/.icons/material/note-plus.svg index 971568b1e..abebcccbf 100644 --- a/material/.icons/material/note-plus.svg +++ b/material/.icons/material/note-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-remove-outline.svg b/material/.icons/material/note-remove-outline.svg index f94bfa4a8..a074b3640 100644 --- a/material/.icons/material/note-remove-outline.svg +++ b/material/.icons/material/note-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-remove.svg b/material/.icons/material/note-remove.svg index dfc2d2ce8..6b764dd42 100644 --- a/material/.icons/material/note-remove.svg +++ b/material/.icons/material/note-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-search-outline.svg b/material/.icons/material/note-search-outline.svg index 2f3e16a24..2b71a341b 100644 --- a/material/.icons/material/note-search-outline.svg +++ b/material/.icons/material/note-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-search.svg b/material/.icons/material/note-search.svg index bb69fd932..5cfe19f80 100644 --- a/material/.icons/material/note-search.svg +++ b/material/.icons/material/note-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-text-outline.svg b/material/.icons/material/note-text-outline.svg index 051e14bcc..ffabbda2b 100644 --- a/material/.icons/material/note-text-outline.svg +++ b/material/.icons/material/note-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note-text.svg b/material/.icons/material/note-text.svg index 8ca5e1e34..98f3a27f9 100644 --- a/material/.icons/material/note-text.svg +++ b/material/.icons/material/note-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/note.svg b/material/.icons/material/note.svg index d6fc7f2e8..ef86e9252 100644 --- a/material/.icons/material/note.svg +++ b/material/.icons/material/note.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/notebook-check-outline.svg b/material/.icons/material/notebook-check-outline.svg index ec29beaa0..a2270d3ef 100644 --- a/material/.icons/material/notebook-check-outline.svg +++ b/material/.icons/material/notebook-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/notebook-check.svg b/material/.icons/material/notebook-check.svg index db9118ac7..e792384ad 100644 --- a/material/.icons/material/notebook-check.svg +++ b/material/.icons/material/notebook-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/notebook-edit-outline.svg b/material/.icons/material/notebook-edit-outline.svg index d05b26be4..3b4e34ca3 100644 --- a/material/.icons/material/notebook-edit-outline.svg +++ b/material/.icons/material/notebook-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/notebook-edit.svg b/material/.icons/material/notebook-edit.svg index 50341c7ac..622a3708a 100644 --- a/material/.icons/material/notebook-edit.svg +++ b/material/.icons/material/notebook-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/notebook-multiple.svg b/material/.icons/material/notebook-multiple.svg index bcaea8c0a..27b92bfbf 100644 --- a/material/.icons/material/notebook-multiple.svg +++ b/material/.icons/material/notebook-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/notebook-outline.svg b/material/.icons/material/notebook-outline.svg index e99b4dab9..3dc1b4774 100644 --- a/material/.icons/material/notebook-outline.svg +++ b/material/.icons/material/notebook-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/notebook.svg b/material/.icons/material/notebook.svg index 200b8c46f..f13f7019a 100644 --- a/material/.icons/material/notebook.svg +++ b/material/.icons/material/notebook.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nuke.svg b/material/.icons/material/nuke.svg index 1c65c86e7..d3842a51e 100644 --- a/material/.icons/material/nuke.svg +++ b/material/.icons/material/nuke.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-0-box-multiple-outline.svg b/material/.icons/material/numeric-0-box-multiple-outline.svg index f4a88b89a..491f530a9 100644 --- a/material/.icons/material/numeric-0-box-multiple-outline.svg +++ b/material/.icons/material/numeric-0-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-0-box-multiple.svg b/material/.icons/material/numeric-0-box-multiple.svg index a3a1b5232..1831a3172 100644 --- a/material/.icons/material/numeric-0-box-multiple.svg +++ b/material/.icons/material/numeric-0-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-0-box-outline.svg b/material/.icons/material/numeric-0-box-outline.svg index 5ffbd6689..ee5fab995 100644 --- a/material/.icons/material/numeric-0-box-outline.svg +++ b/material/.icons/material/numeric-0-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-0-box.svg b/material/.icons/material/numeric-0-box.svg index d48e873ea..8ff321acd 100644 --- a/material/.icons/material/numeric-0-box.svg +++ b/material/.icons/material/numeric-0-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-0-circle-outline.svg b/material/.icons/material/numeric-0-circle-outline.svg index bdbd537d1..6ce5b9720 100644 --- a/material/.icons/material/numeric-0-circle-outline.svg +++ b/material/.icons/material/numeric-0-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-0-circle.svg b/material/.icons/material/numeric-0-circle.svg index 9c22b102a..492e9fbd3 100644 --- a/material/.icons/material/numeric-0-circle.svg +++ b/material/.icons/material/numeric-0-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-0.svg b/material/.icons/material/numeric-0.svg index 7b55d3926..478f01a3a 100644 --- a/material/.icons/material/numeric-0.svg +++ b/material/.icons/material/numeric-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-1-box-multiple-outline.svg b/material/.icons/material/numeric-1-box-multiple-outline.svg index d96d660d5..16223d87f 100644 --- a/material/.icons/material/numeric-1-box-multiple-outline.svg +++ b/material/.icons/material/numeric-1-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-1-box-multiple.svg b/material/.icons/material/numeric-1-box-multiple.svg index bebc56742..3e966f3a2 100644 --- a/material/.icons/material/numeric-1-box-multiple.svg +++ b/material/.icons/material/numeric-1-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-1-box-outline.svg b/material/.icons/material/numeric-1-box-outline.svg index e3a6200c9..93086885e 100644 --- a/material/.icons/material/numeric-1-box-outline.svg +++ b/material/.icons/material/numeric-1-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-1-box.svg b/material/.icons/material/numeric-1-box.svg index 191c0411a..138236878 100644 --- a/material/.icons/material/numeric-1-box.svg +++ b/material/.icons/material/numeric-1-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-1-circle-outline.svg b/material/.icons/material/numeric-1-circle-outline.svg index d343af158..51ca84d85 100644 --- a/material/.icons/material/numeric-1-circle-outline.svg +++ b/material/.icons/material/numeric-1-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-1-circle.svg b/material/.icons/material/numeric-1-circle.svg index e3bc74e45..154695801 100644 --- a/material/.icons/material/numeric-1-circle.svg +++ b/material/.icons/material/numeric-1-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-10-box-multiple-outline.svg b/material/.icons/material/numeric-10-box-multiple-outline.svg index 92167af07..d161c5cae 100644 --- a/material/.icons/material/numeric-10-box-multiple-outline.svg +++ b/material/.icons/material/numeric-10-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-10-box-multiple.svg b/material/.icons/material/numeric-10-box-multiple.svg index dc2cc4b0f..c0c126f29 100644 --- a/material/.icons/material/numeric-10-box-multiple.svg +++ b/material/.icons/material/numeric-10-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-10-box-outline.svg b/material/.icons/material/numeric-10-box-outline.svg index 22914d076..bf82c5819 100644 --- a/material/.icons/material/numeric-10-box-outline.svg +++ b/material/.icons/material/numeric-10-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-10-box.svg b/material/.icons/material/numeric-10-box.svg index 24f5ddadc..8e955af6b 100644 --- a/material/.icons/material/numeric-10-box.svg +++ b/material/.icons/material/numeric-10-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-10-circle-outline.svg b/material/.icons/material/numeric-10-circle-outline.svg index f39bd094d..6b9b409d8 100644 --- a/material/.icons/material/numeric-10-circle-outline.svg +++ b/material/.icons/material/numeric-10-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-10-circle.svg b/material/.icons/material/numeric-10-circle.svg index 88c75709c..c9bc957b7 100644 --- a/material/.icons/material/numeric-10-circle.svg +++ b/material/.icons/material/numeric-10-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-10.svg b/material/.icons/material/numeric-10.svg index 24e2e0227..e20b8086a 100644 --- a/material/.icons/material/numeric-10.svg +++ b/material/.icons/material/numeric-10.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-2-box-multiple-outline.svg b/material/.icons/material/numeric-2-box-multiple-outline.svg index 04d3d8bbc..e49ba29cc 100644 --- a/material/.icons/material/numeric-2-box-multiple-outline.svg +++ b/material/.icons/material/numeric-2-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-2-box-multiple.svg b/material/.icons/material/numeric-2-box-multiple.svg index 9389fa3dc..c8e0f329f 100644 --- a/material/.icons/material/numeric-2-box-multiple.svg +++ b/material/.icons/material/numeric-2-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-2-box-outline.svg b/material/.icons/material/numeric-2-box-outline.svg index d48cdcdc8..6d3627f11 100644 --- a/material/.icons/material/numeric-2-box-outline.svg +++ b/material/.icons/material/numeric-2-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-2-box.svg b/material/.icons/material/numeric-2-box.svg index 70e1c33a1..5a7bbb629 100644 --- a/material/.icons/material/numeric-2-box.svg +++ b/material/.icons/material/numeric-2-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-2-circle-outline.svg b/material/.icons/material/numeric-2-circle-outline.svg index e5cd55543..2aa602a4b 100644 --- a/material/.icons/material/numeric-2-circle-outline.svg +++ b/material/.icons/material/numeric-2-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-2-circle.svg b/material/.icons/material/numeric-2-circle.svg index 4a0d45eb8..212aba468 100644 --- a/material/.icons/material/numeric-2-circle.svg +++ b/material/.icons/material/numeric-2-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-2.svg b/material/.icons/material/numeric-2.svg index dc92b8e0c..790d2961d 100644 --- a/material/.icons/material/numeric-2.svg +++ b/material/.icons/material/numeric-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-3-box-multiple-outline.svg b/material/.icons/material/numeric-3-box-multiple-outline.svg index 54953fa27..15738b57e 100644 --- a/material/.icons/material/numeric-3-box-multiple-outline.svg +++ b/material/.icons/material/numeric-3-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-3-box-multiple.svg b/material/.icons/material/numeric-3-box-multiple.svg index 713bea4f4..5757321dd 100644 --- a/material/.icons/material/numeric-3-box-multiple.svg +++ b/material/.icons/material/numeric-3-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-3-box-outline.svg b/material/.icons/material/numeric-3-box-outline.svg index f9f41117d..138a119cd 100644 --- a/material/.icons/material/numeric-3-box-outline.svg +++ b/material/.icons/material/numeric-3-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-3-box.svg b/material/.icons/material/numeric-3-box.svg index 744fad291..beb0aea81 100644 --- a/material/.icons/material/numeric-3-box.svg +++ b/material/.icons/material/numeric-3-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-3-circle-outline.svg b/material/.icons/material/numeric-3-circle-outline.svg index fc6ffc222..a332e757a 100644 --- a/material/.icons/material/numeric-3-circle-outline.svg +++ b/material/.icons/material/numeric-3-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-3-circle.svg b/material/.icons/material/numeric-3-circle.svg index 03c7d7ebe..7262a47dd 100644 --- a/material/.icons/material/numeric-3-circle.svg +++ b/material/.icons/material/numeric-3-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-3.svg b/material/.icons/material/numeric-3.svg index 570fe2726..ae7a8b69c 100644 --- a/material/.icons/material/numeric-3.svg +++ b/material/.icons/material/numeric-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-4-box-multiple-outline.svg b/material/.icons/material/numeric-4-box-multiple-outline.svg index a9fdf14e7..81e7839a3 100644 --- a/material/.icons/material/numeric-4-box-multiple-outline.svg +++ b/material/.icons/material/numeric-4-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-4-box-multiple.svg b/material/.icons/material/numeric-4-box-multiple.svg index 099bd7cc2..f22b4e03d 100644 --- a/material/.icons/material/numeric-4-box-multiple.svg +++ b/material/.icons/material/numeric-4-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-4-box-outline.svg b/material/.icons/material/numeric-4-box-outline.svg index 8b3eca0e7..31594f50e 100644 --- a/material/.icons/material/numeric-4-box-outline.svg +++ b/material/.icons/material/numeric-4-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-4-box.svg b/material/.icons/material/numeric-4-box.svg index 12f4784da..7fea524cd 100644 --- a/material/.icons/material/numeric-4-box.svg +++ b/material/.icons/material/numeric-4-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-4-circle-outline.svg b/material/.icons/material/numeric-4-circle-outline.svg index 62b23f6d1..00f792dce 100644 --- a/material/.icons/material/numeric-4-circle-outline.svg +++ b/material/.icons/material/numeric-4-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-4-circle.svg b/material/.icons/material/numeric-4-circle.svg index fbf54f78e..105e41a7c 100644 --- a/material/.icons/material/numeric-4-circle.svg +++ b/material/.icons/material/numeric-4-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-5-box-multiple-outline.svg b/material/.icons/material/numeric-5-box-multiple-outline.svg index f410acc61..bc566f446 100644 --- a/material/.icons/material/numeric-5-box-multiple-outline.svg +++ b/material/.icons/material/numeric-5-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-5-box-multiple.svg b/material/.icons/material/numeric-5-box-multiple.svg index a6f5718e4..5287e5dd4 100644 --- a/material/.icons/material/numeric-5-box-multiple.svg +++ b/material/.icons/material/numeric-5-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-5-box-outline.svg b/material/.icons/material/numeric-5-box-outline.svg index 643bf33ec..a51c49c42 100644 --- a/material/.icons/material/numeric-5-box-outline.svg +++ b/material/.icons/material/numeric-5-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-5-box.svg b/material/.icons/material/numeric-5-box.svg index 829b00342..1b2929dbd 100644 --- a/material/.icons/material/numeric-5-box.svg +++ b/material/.icons/material/numeric-5-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-5-circle-outline.svg b/material/.icons/material/numeric-5-circle-outline.svg index ba478e306..e5a074d01 100644 --- a/material/.icons/material/numeric-5-circle-outline.svg +++ b/material/.icons/material/numeric-5-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-5-circle.svg b/material/.icons/material/numeric-5-circle.svg index 29d08b2f9..6398f05c3 100644 --- a/material/.icons/material/numeric-5-circle.svg +++ b/material/.icons/material/numeric-5-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-5.svg b/material/.icons/material/numeric-5.svg index 7fccc9963..90db79c08 100644 --- a/material/.icons/material/numeric-5.svg +++ b/material/.icons/material/numeric-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-6-box-multiple-outline.svg b/material/.icons/material/numeric-6-box-multiple-outline.svg index 0270a843b..1dc8b0407 100644 --- a/material/.icons/material/numeric-6-box-multiple-outline.svg +++ b/material/.icons/material/numeric-6-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-6-box-multiple.svg b/material/.icons/material/numeric-6-box-multiple.svg index 32ed29d4e..b735fa23e 100644 --- a/material/.icons/material/numeric-6-box-multiple.svg +++ b/material/.icons/material/numeric-6-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-6-box-outline.svg b/material/.icons/material/numeric-6-box-outline.svg index 59f1a37f9..11a33656c 100644 --- a/material/.icons/material/numeric-6-box-outline.svg +++ b/material/.icons/material/numeric-6-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-6-box.svg b/material/.icons/material/numeric-6-box.svg index e6439bad7..e496b6010 100644 --- a/material/.icons/material/numeric-6-box.svg +++ b/material/.icons/material/numeric-6-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-6-circle-outline.svg b/material/.icons/material/numeric-6-circle-outline.svg index 26e61d724..642426f25 100644 --- a/material/.icons/material/numeric-6-circle-outline.svg +++ b/material/.icons/material/numeric-6-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-6-circle.svg b/material/.icons/material/numeric-6-circle.svg index bad4d9888..a98f03d7e 100644 --- a/material/.icons/material/numeric-6-circle.svg +++ b/material/.icons/material/numeric-6-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-6.svg b/material/.icons/material/numeric-6.svg index fe7640eff..7eafffa7f 100644 --- a/material/.icons/material/numeric-6.svg +++ b/material/.icons/material/numeric-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-7-box-multiple-outline.svg b/material/.icons/material/numeric-7-box-multiple-outline.svg index 7f9a3ccfd..8b0da78d2 100644 --- a/material/.icons/material/numeric-7-box-multiple-outline.svg +++ b/material/.icons/material/numeric-7-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-7-box-multiple.svg b/material/.icons/material/numeric-7-box-multiple.svg index 57bafc137..1a5728823 100644 --- a/material/.icons/material/numeric-7-box-multiple.svg +++ b/material/.icons/material/numeric-7-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-7-box-outline.svg b/material/.icons/material/numeric-7-box-outline.svg index 057dca3a7..1300151a2 100644 --- a/material/.icons/material/numeric-7-box-outline.svg +++ b/material/.icons/material/numeric-7-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-7-box.svg b/material/.icons/material/numeric-7-box.svg index 12e94d713..2e25de3d8 100644 --- a/material/.icons/material/numeric-7-box.svg +++ b/material/.icons/material/numeric-7-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-7-circle-outline.svg b/material/.icons/material/numeric-7-circle-outline.svg index 42ce91930..2074daf89 100644 --- a/material/.icons/material/numeric-7-circle-outline.svg +++ b/material/.icons/material/numeric-7-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-7-circle.svg b/material/.icons/material/numeric-7-circle.svg index 018018086..6ca6eb4e2 100644 --- a/material/.icons/material/numeric-7-circle.svg +++ b/material/.icons/material/numeric-7-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-8-box-multiple-outline.svg b/material/.icons/material/numeric-8-box-multiple-outline.svg index 5fa426fd8..8440e516f 100644 --- a/material/.icons/material/numeric-8-box-multiple-outline.svg +++ b/material/.icons/material/numeric-8-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-8-box-multiple.svg b/material/.icons/material/numeric-8-box-multiple.svg index 96178eaa7..7b6c7cc04 100644 --- a/material/.icons/material/numeric-8-box-multiple.svg +++ b/material/.icons/material/numeric-8-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-8-box-outline.svg b/material/.icons/material/numeric-8-box-outline.svg index 99c7d1134..707995408 100644 --- a/material/.icons/material/numeric-8-box-outline.svg +++ b/material/.icons/material/numeric-8-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-8-box.svg b/material/.icons/material/numeric-8-box.svg index 0e7d75ffc..eafc89925 100644 --- a/material/.icons/material/numeric-8-box.svg +++ b/material/.icons/material/numeric-8-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-8-circle-outline.svg b/material/.icons/material/numeric-8-circle-outline.svg index 642aa089e..292a3be27 100644 --- a/material/.icons/material/numeric-8-circle-outline.svg +++ b/material/.icons/material/numeric-8-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-8-circle.svg b/material/.icons/material/numeric-8-circle.svg index 46904a866..607ea94fd 100644 --- a/material/.icons/material/numeric-8-circle.svg +++ b/material/.icons/material/numeric-8-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-8.svg b/material/.icons/material/numeric-8.svg index caeaab882..3a02e571f 100644 --- a/material/.icons/material/numeric-8.svg +++ b/material/.icons/material/numeric-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-box-multiple-outline.svg b/material/.icons/material/numeric-9-box-multiple-outline.svg index ad1a25a92..96384b151 100644 --- a/material/.icons/material/numeric-9-box-multiple-outline.svg +++ b/material/.icons/material/numeric-9-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-box-multiple.svg b/material/.icons/material/numeric-9-box-multiple.svg index e09b21db6..9b8ea990d 100644 --- a/material/.icons/material/numeric-9-box-multiple.svg +++ b/material/.icons/material/numeric-9-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-box-outline.svg b/material/.icons/material/numeric-9-box-outline.svg index 432421aa8..ccb74aedb 100644 --- a/material/.icons/material/numeric-9-box-outline.svg +++ b/material/.icons/material/numeric-9-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-box.svg b/material/.icons/material/numeric-9-box.svg index 762bc685c..dfac06336 100644 --- a/material/.icons/material/numeric-9-box.svg +++ b/material/.icons/material/numeric-9-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-circle-outline.svg b/material/.icons/material/numeric-9-circle-outline.svg index d9e108477..911120fde 100644 --- a/material/.icons/material/numeric-9-circle-outline.svg +++ b/material/.icons/material/numeric-9-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-circle.svg b/material/.icons/material/numeric-9-circle.svg index 0a0945f95..672ef526a 100644 --- a/material/.icons/material/numeric-9-circle.svg +++ b/material/.icons/material/numeric-9-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-plus-box-multiple-outline.svg b/material/.icons/material/numeric-9-plus-box-multiple-outline.svg index 7d8424c18..17f1752a3 100644 --- a/material/.icons/material/numeric-9-plus-box-multiple-outline.svg +++ b/material/.icons/material/numeric-9-plus-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-plus-box-multiple.svg b/material/.icons/material/numeric-9-plus-box-multiple.svg index c6d56f155..0114163c0 100644 --- a/material/.icons/material/numeric-9-plus-box-multiple.svg +++ b/material/.icons/material/numeric-9-plus-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-plus-box-outline.svg b/material/.icons/material/numeric-9-plus-box-outline.svg index 539563182..a264a7512 100644 --- a/material/.icons/material/numeric-9-plus-box-outline.svg +++ b/material/.icons/material/numeric-9-plus-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-plus-box.svg b/material/.icons/material/numeric-9-plus-box.svg index a11750e9a..ed0e6880d 100644 --- a/material/.icons/material/numeric-9-plus-box.svg +++ b/material/.icons/material/numeric-9-plus-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-plus-circle-outline.svg b/material/.icons/material/numeric-9-plus-circle-outline.svg index 5c08a0837..eec223092 100644 --- a/material/.icons/material/numeric-9-plus-circle-outline.svg +++ b/material/.icons/material/numeric-9-plus-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-plus-circle.svg b/material/.icons/material/numeric-9-plus-circle.svg index 34e637839..f974fc0f4 100644 --- a/material/.icons/material/numeric-9-plus-circle.svg +++ b/material/.icons/material/numeric-9-plus-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9-plus.svg b/material/.icons/material/numeric-9-plus.svg index 4e535018d..39d5230bb 100644 --- a/material/.icons/material/numeric-9-plus.svg +++ b/material/.icons/material/numeric-9-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric-9.svg b/material/.icons/material/numeric-9.svg index 55c3690b6..a70f298be 100644 --- a/material/.icons/material/numeric-9.svg +++ b/material/.icons/material/numeric-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/numeric.svg b/material/.icons/material/numeric.svg index dfcf60db2..baa912851 100644 --- a/material/.icons/material/numeric.svg +++ b/material/.icons/material/numeric.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nut.svg b/material/.icons/material/nut.svg index 1b6f383b4..c27caa557 100644 --- a/material/.icons/material/nut.svg +++ b/material/.icons/material/nut.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/nutrition.svg b/material/.icons/material/nutrition.svg index c3e8bd3db..f0d559281 100644 --- a/material/.icons/material/nutrition.svg +++ b/material/.icons/material/nutrition.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/odnoklassniki.svg b/material/.icons/material/odnoklassniki.svg index 5ea65db87..e9165acf5 100644 --- a/material/.icons/material/odnoklassniki.svg +++ b/material/.icons/material/odnoklassniki.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/oil-lamp.svg b/material/.icons/material/oil-lamp.svg index 0c15cfd20..4e565fc46 100644 --- a/material/.icons/material/oil-lamp.svg +++ b/material/.icons/material/oil-lamp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/oil-level.svg b/material/.icons/material/oil-level.svg index 1614b4818..c230aa712 100644 --- a/material/.icons/material/oil-level.svg +++ b/material/.icons/material/oil-level.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/oil.svg b/material/.icons/material/oil.svg index b480c843a..364a7b672 100644 --- a/material/.icons/material/oil.svg +++ b/material/.icons/material/oil.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/one-up.svg b/material/.icons/material/one-up.svg index ac5ff36bd..4c0620444 100644 --- a/material/.icons/material/one-up.svg +++ b/material/.icons/material/one-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/onepassword.svg b/material/.icons/material/onepassword.svg index 75d7ecefb..3fd502442 100644 --- a/material/.icons/material/onepassword.svg +++ b/material/.icons/material/onepassword.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/opacity.svg b/material/.icons/material/opacity.svg index bb090229a..348eb8e68 100644 --- a/material/.icons/material/opacity.svg +++ b/material/.icons/material/opacity.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/open-in-app.svg b/material/.icons/material/open-in-app.svg index dc88b5c27..e59d30a87 100644 --- a/material/.icons/material/open-in-app.svg +++ b/material/.icons/material/open-in-app.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/open-in-new.svg b/material/.icons/material/open-in-new.svg index d836cd74d..09f43ec4a 100644 --- a/material/.icons/material/open-in-new.svg +++ b/material/.icons/material/open-in-new.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/open-source-initiative.svg b/material/.icons/material/open-source-initiative.svg index cf4195f92..c471c6d28 100644 --- a/material/.icons/material/open-source-initiative.svg +++ b/material/.icons/material/open-source-initiative.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/opera.svg b/material/.icons/material/opera.svg index 6a3c8cf57..d00172f44 100644 --- a/material/.icons/material/opera.svg +++ b/material/.icons/material/opera.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/orbit-variant.svg b/material/.icons/material/orbit-variant.svg index 0588c3eae..584708be4 100644 --- a/material/.icons/material/orbit-variant.svg +++ b/material/.icons/material/orbit-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/orbit.svg b/material/.icons/material/orbit.svg index b16b3b795..2d2a942ac 100644 --- a/material/.icons/material/orbit.svg +++ b/material/.icons/material/orbit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/order-alphabetical-ascending.svg b/material/.icons/material/order-alphabetical-ascending.svg index 58e865857..e778d325b 100644 --- a/material/.icons/material/order-alphabetical-ascending.svg +++ b/material/.icons/material/order-alphabetical-ascending.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/order-alphabetical-descending.svg b/material/.icons/material/order-alphabetical-descending.svg index c089e7e90..3d9b78f84 100644 --- a/material/.icons/material/order-alphabetical-descending.svg +++ b/material/.icons/material/order-alphabetical-descending.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/order-numeric-ascending.svg b/material/.icons/material/order-numeric-ascending.svg index 03d92386c..209bef7ef 100644 --- a/material/.icons/material/order-numeric-ascending.svg +++ b/material/.icons/material/order-numeric-ascending.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/order-numeric-descending.svg b/material/.icons/material/order-numeric-descending.svg index b0aeac5c2..c5c9ef045 100644 --- a/material/.icons/material/order-numeric-descending.svg +++ b/material/.icons/material/order-numeric-descending.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/origin.svg b/material/.icons/material/origin.svg index 42b9b13d4..e27f004a7 100644 --- a/material/.icons/material/origin.svg +++ b/material/.icons/material/origin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ornament-variant.svg b/material/.icons/material/ornament-variant.svg index 817ab3c56..f0bd223a2 100644 --- a/material/.icons/material/ornament-variant.svg +++ b/material/.icons/material/ornament-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ornament.svg b/material/.icons/material/ornament.svg index 237e8c0d1..26e638b84 100644 --- a/material/.icons/material/ornament.svg +++ b/material/.icons/material/ornament.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/owl.svg b/material/.icons/material/owl.svg index baf0d48b6..e62d6501f 100644 --- a/material/.icons/material/owl.svg +++ b/material/.icons/material/owl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pac-man.svg b/material/.icons/material/pac-man.svg index c7cf1bf19..de7953b37 100644 --- a/material/.icons/material/pac-man.svg +++ b/material/.icons/material/pac-man.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/package-down.svg b/material/.icons/material/package-down.svg index 61bbe9ddb..8161a3517 100644 --- a/material/.icons/material/package-down.svg +++ b/material/.icons/material/package-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/package-up.svg b/material/.icons/material/package-up.svg index 1b2e98363..8c30f34f7 100644 --- a/material/.icons/material/package-up.svg +++ b/material/.icons/material/package-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/package-variant-closed.svg b/material/.icons/material/package-variant-closed.svg index 56e1b4bda..f987fe975 100644 --- a/material/.icons/material/package-variant-closed.svg +++ b/material/.icons/material/package-variant-closed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/package-variant.svg b/material/.icons/material/package-variant.svg index fea23ab85..a7d3c11fc 100644 --- a/material/.icons/material/package-variant.svg +++ b/material/.icons/material/package-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/package.svg b/material/.icons/material/package.svg index 1c222d083..71a6b41fb 100644 --- a/material/.icons/material/package.svg +++ b/material/.icons/material/package.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-layout-body.svg b/material/.icons/material/page-layout-body.svg index 7d9a56877..f16ebda08 100644 --- a/material/.icons/material/page-layout-body.svg +++ b/material/.icons/material/page-layout-body.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-layout-footer.svg b/material/.icons/material/page-layout-footer.svg index 5f4df3053..0275174e3 100644 --- a/material/.icons/material/page-layout-footer.svg +++ b/material/.icons/material/page-layout-footer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-layout-header-footer.svg b/material/.icons/material/page-layout-header-footer.svg index 0f3eba051..345ff41f7 100644 --- a/material/.icons/material/page-layout-header-footer.svg +++ b/material/.icons/material/page-layout-header-footer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-layout-header.svg b/material/.icons/material/page-layout-header.svg index 58e774fcd..c8c8ba7cd 100644 --- a/material/.icons/material/page-layout-header.svg +++ b/material/.icons/material/page-layout-header.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-layout-sidebar-left.svg b/material/.icons/material/page-layout-sidebar-left.svg index 520c80d28..69c05afb1 100644 --- a/material/.icons/material/page-layout-sidebar-left.svg +++ b/material/.icons/material/page-layout-sidebar-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-layout-sidebar-right.svg b/material/.icons/material/page-layout-sidebar-right.svg index a3fb752fd..bae66f0ee 100644 --- a/material/.icons/material/page-layout-sidebar-right.svg +++ b/material/.icons/material/page-layout-sidebar-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-next-outline.svg b/material/.icons/material/page-next-outline.svg index 7ff002f5e..84252c1af 100644 --- a/material/.icons/material/page-next-outline.svg +++ b/material/.icons/material/page-next-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-next.svg b/material/.icons/material/page-next.svg index 0bd0bf1e0..7a72fd926 100644 --- a/material/.icons/material/page-next.svg +++ b/material/.icons/material/page-next.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-previous-outline.svg b/material/.icons/material/page-previous-outline.svg index eeb787ca4..d04c78adb 100644 --- a/material/.icons/material/page-previous-outline.svg +++ b/material/.icons/material/page-previous-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/page-previous.svg b/material/.icons/material/page-previous.svg index bbfe9a1e7..5c1e8afd5 100644 --- a/material/.icons/material/page-previous.svg +++ b/material/.icons/material/page-previous.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail-minus-outline.svg b/material/.icons/material/pail-minus-outline.svg index e5d7e3d06..c94c781a9 100644 --- a/material/.icons/material/pail-minus-outline.svg +++ b/material/.icons/material/pail-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail-minus.svg b/material/.icons/material/pail-minus.svg index 0cea7eefd..1ece0a55a 100644 --- a/material/.icons/material/pail-minus.svg +++ b/material/.icons/material/pail-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail-off-outline.svg b/material/.icons/material/pail-off-outline.svg index 3efd6ceec..326ee497f 100644 --- a/material/.icons/material/pail-off-outline.svg +++ b/material/.icons/material/pail-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail-off.svg b/material/.icons/material/pail-off.svg index fc02fef97..35c1f2ffa 100644 --- a/material/.icons/material/pail-off.svg +++ b/material/.icons/material/pail-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail-outline.svg b/material/.icons/material/pail-outline.svg index fc04d1027..19ea88e0a 100644 --- a/material/.icons/material/pail-outline.svg +++ b/material/.icons/material/pail-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail-plus-outline.svg b/material/.icons/material/pail-plus-outline.svg index bb7446838..d76265961 100644 --- a/material/.icons/material/pail-plus-outline.svg +++ b/material/.icons/material/pail-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail-plus.svg b/material/.icons/material/pail-plus.svg index 9343240d0..7f7bf5709 100644 --- a/material/.icons/material/pail-plus.svg +++ b/material/.icons/material/pail-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail-remove-outline.svg b/material/.icons/material/pail-remove-outline.svg index 29f8b8bfe..b0560e27f 100644 --- a/material/.icons/material/pail-remove-outline.svg +++ b/material/.icons/material/pail-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail-remove.svg b/material/.icons/material/pail-remove.svg index 94e11477c..45bbc0157 100644 --- a/material/.icons/material/pail-remove.svg +++ b/material/.icons/material/pail-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pail.svg b/material/.icons/material/pail.svg index a3b0274a1..a61bec574 100644 --- a/material/.icons/material/pail.svg +++ b/material/.icons/material/pail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/palette-advanced.svg b/material/.icons/material/palette-advanced.svg index e7203db28..7c2750c1f 100644 --- a/material/.icons/material/palette-advanced.svg +++ b/material/.icons/material/palette-advanced.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/palette-outline.svg b/material/.icons/material/palette-outline.svg index e451194e7..363535ad1 100644 --- a/material/.icons/material/palette-outline.svg +++ b/material/.icons/material/palette-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/palette-swatch.svg b/material/.icons/material/palette-swatch.svg index 89b3cd77e..f4768f6e2 100644 --- a/material/.icons/material/palette-swatch.svg +++ b/material/.icons/material/palette-swatch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/palette.svg b/material/.icons/material/palette.svg index d68904698..feb04aa2e 100644 --- a/material/.icons/material/palette.svg +++ b/material/.icons/material/palette.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/palm-tree.svg b/material/.icons/material/palm-tree.svg index 03ef87be2..14cf0ac50 100644 --- a/material/.icons/material/palm-tree.svg +++ b/material/.icons/material/palm-tree.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-bottom-left.svg b/material/.icons/material/pan-bottom-left.svg index dbc6047ca..db7899f42 100644 --- a/material/.icons/material/pan-bottom-left.svg +++ b/material/.icons/material/pan-bottom-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-bottom-right.svg b/material/.icons/material/pan-bottom-right.svg index 11aa27334..0cdf9b8bf 100644 --- a/material/.icons/material/pan-bottom-right.svg +++ b/material/.icons/material/pan-bottom-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-down.svg b/material/.icons/material/pan-down.svg index 024d49178..0bdfb9f70 100644 --- a/material/.icons/material/pan-down.svg +++ b/material/.icons/material/pan-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-horizontal.svg b/material/.icons/material/pan-horizontal.svg index 3469c3888..676f7662f 100644 --- a/material/.icons/material/pan-horizontal.svg +++ b/material/.icons/material/pan-horizontal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-left.svg b/material/.icons/material/pan-left.svg index fc84f02a3..b26b3969c 100644 --- a/material/.icons/material/pan-left.svg +++ b/material/.icons/material/pan-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-right.svg b/material/.icons/material/pan-right.svg index 7c1f25383..adb2e3080 100644 --- a/material/.icons/material/pan-right.svg +++ b/material/.icons/material/pan-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-top-left.svg b/material/.icons/material/pan-top-left.svg index a0b0fc9e8..c86837bd4 100644 --- a/material/.icons/material/pan-top-left.svg +++ b/material/.icons/material/pan-top-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-top-right.svg b/material/.icons/material/pan-top-right.svg index 6c9f28f75..b1fdbdd4b 100644 --- a/material/.icons/material/pan-top-right.svg +++ b/material/.icons/material/pan-top-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-up.svg b/material/.icons/material/pan-up.svg index eed4674ae..d907a5e48 100644 --- a/material/.icons/material/pan-up.svg +++ b/material/.icons/material/pan-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan-vertical.svg b/material/.icons/material/pan-vertical.svg index 752147416..42f0b3f89 100644 --- a/material/.icons/material/pan-vertical.svg +++ b/material/.icons/material/pan-vertical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pan.svg b/material/.icons/material/pan.svg index 198153d10..461356c20 100644 --- a/material/.icons/material/pan.svg +++ b/material/.icons/material/pan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/panda.svg b/material/.icons/material/panda.svg index b74899b9a..0652792be 100644 --- a/material/.icons/material/panda.svg +++ b/material/.icons/material/panda.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pandora.svg b/material/.icons/material/pandora.svg index 8fd64b4a3..df1e60519 100644 --- a/material/.icons/material/pandora.svg +++ b/material/.icons/material/pandora.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/panorama-wide-angle.svg b/material/.icons/material/panorama-wide-angle.svg index 085f54276..243d00a57 100644 --- a/material/.icons/material/panorama-wide-angle.svg +++ b/material/.icons/material/panorama-wide-angle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/panorama.svg b/material/.icons/material/panorama.svg index cc6a9e075..defbb05ed 100644 --- a/material/.icons/material/panorama.svg +++ b/material/.icons/material/panorama.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/paper-cut-vertical.svg b/material/.icons/material/paper-cut-vertical.svg index f3d9a4145..9b7884996 100644 --- a/material/.icons/material/paper-cut-vertical.svg +++ b/material/.icons/material/paper-cut-vertical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/paperclip.svg b/material/.icons/material/paperclip.svg index 3502a8fab..2aecf07aa 100644 --- a/material/.icons/material/paperclip.svg +++ b/material/.icons/material/paperclip.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/parachute-outline.svg b/material/.icons/material/parachute-outline.svg index ba7cf65cf..777fd2f51 100644 --- a/material/.icons/material/parachute-outline.svg +++ b/material/.icons/material/parachute-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/parachute.svg b/material/.icons/material/parachute.svg index e748d1ef3..f3947e2d6 100644 --- a/material/.icons/material/parachute.svg +++ b/material/.icons/material/parachute.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/parking.svg b/material/.icons/material/parking.svg index 109afa0c1..44ed62d1e 100644 --- a/material/.icons/material/parking.svg +++ b/material/.icons/material/parking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/passport-biometric.svg b/material/.icons/material/passport-biometric.svg index 72d011617..56a7cb572 100644 --- a/material/.icons/material/passport-biometric.svg +++ b/material/.icons/material/passport-biometric.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/passport.svg b/material/.icons/material/passport.svg index 3b4e8326a..c9e8b1ed8 100644 --- a/material/.icons/material/passport.svg +++ b/material/.icons/material/passport.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pause-circle-outline.svg b/material/.icons/material/pause-circle-outline.svg index 4b8fc5353..fd49e3fc0 100644 --- a/material/.icons/material/pause-circle-outline.svg +++ b/material/.icons/material/pause-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pause-circle.svg b/material/.icons/material/pause-circle.svg index a92790544..bd01dd5c5 100644 --- a/material/.icons/material/pause-circle.svg +++ b/material/.icons/material/pause-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/paw-off-outline.svg b/material/.icons/material/paw-off-outline.svg index 29804cb70..df4456f6b 100644 --- a/material/.icons/material/paw-off-outline.svg +++ b/material/.icons/material/paw-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/paw-outline.svg b/material/.icons/material/paw-outline.svg index 927835152..068e92e8b 100644 --- a/material/.icons/material/paw-outline.svg +++ b/material/.icons/material/paw-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pdf-box.svg b/material/.icons/material/pdf-box.svg index 0202f1622..9f7908d63 100644 --- a/material/.icons/material/pdf-box.svg +++ b/material/.icons/material/pdf-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/peace.svg b/material/.icons/material/peace.svg index 8de7bf9a3..d8672a162 100644 --- a/material/.icons/material/peace.svg +++ b/material/.icons/material/peace.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/peanut-off-outline.svg b/material/.icons/material/peanut-off-outline.svg index e1216277b..36d068efd 100644 --- a/material/.icons/material/peanut-off-outline.svg +++ b/material/.icons/material/peanut-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/peanut-off.svg b/material/.icons/material/peanut-off.svg index 8e25ce69a..77f42f2e9 100644 --- a/material/.icons/material/peanut-off.svg +++ b/material/.icons/material/peanut-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/peanut-outline.svg b/material/.icons/material/peanut-outline.svg index 537ea0d02..5c34e0b2b 100644 --- a/material/.icons/material/peanut-outline.svg +++ b/material/.icons/material/peanut-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/peanut.svg b/material/.icons/material/peanut.svg index 144397f3b..c213a4776 100644 --- a/material/.icons/material/peanut.svg +++ b/material/.icons/material/peanut.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pencil-box-multiple-outline.svg b/material/.icons/material/pencil-box-multiple-outline.svg index c1a6eb454..b1fdc0e74 100644 --- a/material/.icons/material/pencil-box-multiple-outline.svg +++ b/material/.icons/material/pencil-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pencil-box-multiple.svg b/material/.icons/material/pencil-box-multiple.svg index 1a43db459..38d101408 100644 --- a/material/.icons/material/pencil-box-multiple.svg +++ b/material/.icons/material/pencil-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pencil-box-outline.svg b/material/.icons/material/pencil-box-outline.svg index fcfd5db74..4f91c3023 100644 --- a/material/.icons/material/pencil-box-outline.svg +++ b/material/.icons/material/pencil-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pencil-box.svg b/material/.icons/material/pencil-box.svg index 6ef097936..e28ee6034 100644 --- a/material/.icons/material/pencil-box.svg +++ b/material/.icons/material/pencil-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pencil-circle-outline.svg b/material/.icons/material/pencil-circle-outline.svg index 05f051274..9564b3a5a 100644 --- a/material/.icons/material/pencil-circle-outline.svg +++ b/material/.icons/material/pencil-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pencil-lock.svg b/material/.icons/material/pencil-lock.svg index a92eb50a7..450f67ad7 100644 --- a/material/.icons/material/pencil-lock.svg +++ b/material/.icons/material/pencil-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/penguin.svg b/material/.icons/material/penguin.svg index 15ba70095..df17e3013 100644 --- a/material/.icons/material/penguin.svg +++ b/material/.icons/material/penguin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/percent.svg b/material/.icons/material/percent.svg index 1961bf333..dbf49ba51 100644 --- a/material/.icons/material/percent.svg +++ b/material/.icons/material/percent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-alert.svg b/material/.icons/material/phone-alert.svg index 12ef90d00..af5d8538a 100644 --- a/material/.icons/material/phone-alert.svg +++ b/material/.icons/material/phone-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-bluetooth.svg b/material/.icons/material/phone-bluetooth.svg index 00041775f..e47ceeda5 100644 --- a/material/.icons/material/phone-bluetooth.svg +++ b/material/.icons/material/phone-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-check-outline.svg b/material/.icons/material/phone-check-outline.svg index fa7e32407..1a6de0d29 100644 --- a/material/.icons/material/phone-check-outline.svg +++ b/material/.icons/material/phone-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-check.svg b/material/.icons/material/phone-check.svg index f0a34cde0..4580ce210 100644 --- a/material/.icons/material/phone-check.svg +++ b/material/.icons/material/phone-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-classic-off.svg b/material/.icons/material/phone-classic-off.svg index 59007096e..c72d1a990 100644 --- a/material/.icons/material/phone-classic-off.svg +++ b/material/.icons/material/phone-classic-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-classic.svg b/material/.icons/material/phone-classic.svg index 1150dda42..de60c166a 100644 --- a/material/.icons/material/phone-classic.svg +++ b/material/.icons/material/phone-classic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-forward.svg b/material/.icons/material/phone-forward.svg index c4cb46e22..a0768b7a0 100644 --- a/material/.icons/material/phone-forward.svg +++ b/material/.icons/material/phone-forward.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-hangup-outline.svg b/material/.icons/material/phone-hangup-outline.svg index 1b3ac46b0..e8d375978 100644 --- a/material/.icons/material/phone-hangup-outline.svg +++ b/material/.icons/material/phone-hangup-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-hangup.svg b/material/.icons/material/phone-hangup.svg index ea74bff49..9347b2736 100644 --- a/material/.icons/material/phone-hangup.svg +++ b/material/.icons/material/phone-hangup.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-in-talk-outline.svg b/material/.icons/material/phone-in-talk-outline.svg index 29e814646..e3ac84c33 100644 --- a/material/.icons/material/phone-in-talk-outline.svg +++ b/material/.icons/material/phone-in-talk-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-in-talk.svg b/material/.icons/material/phone-in-talk.svg index 210a3c903..99d947bfe 100644 --- a/material/.icons/material/phone-in-talk.svg +++ b/material/.icons/material/phone-in-talk.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-incoming.svg b/material/.icons/material/phone-incoming.svg index eaab0f2a6..8de41e4ae 100644 --- a/material/.icons/material/phone-incoming.svg +++ b/material/.icons/material/phone-incoming.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-lock-outline.svg b/material/.icons/material/phone-lock-outline.svg index 5d7fe5996..ea33ed47d 100644 --- a/material/.icons/material/phone-lock-outline.svg +++ b/material/.icons/material/phone-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-lock.svg b/material/.icons/material/phone-lock.svg index dc011b388..7c2e8af05 100644 --- a/material/.icons/material/phone-lock.svg +++ b/material/.icons/material/phone-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-log.svg b/material/.icons/material/phone-log.svg index 7a4522471..9ff325be3 100644 --- a/material/.icons/material/phone-log.svg +++ b/material/.icons/material/phone-log.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-message-outline.svg b/material/.icons/material/phone-message-outline.svg index ef5a78193..ace4f53d0 100644 --- a/material/.icons/material/phone-message-outline.svg +++ b/material/.icons/material/phone-message-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-message.svg b/material/.icons/material/phone-message.svg index b8bab8c6b..d2ac56b4d 100644 --- a/material/.icons/material/phone-message.svg +++ b/material/.icons/material/phone-message.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-minus.svg b/material/.icons/material/phone-minus.svg index 2315c259f..d25bb25c4 100644 --- a/material/.icons/material/phone-minus.svg +++ b/material/.icons/material/phone-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-missed.svg b/material/.icons/material/phone-missed.svg index 49b746792..fc827e88b 100644 --- a/material/.icons/material/phone-missed.svg +++ b/material/.icons/material/phone-missed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-off.svg b/material/.icons/material/phone-off.svg index 080ed3605..5e92def97 100644 --- a/material/.icons/material/phone-off.svg +++ b/material/.icons/material/phone-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-outgoing.svg b/material/.icons/material/phone-outgoing.svg index c9d6f8a85..5c87872b2 100644 --- a/material/.icons/material/phone-outgoing.svg +++ b/material/.icons/material/phone-outgoing.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-paused.svg b/material/.icons/material/phone-paused.svg index 58fdf6d39..25d7d14ba 100644 --- a/material/.icons/material/phone-paused.svg +++ b/material/.icons/material/phone-paused.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-plus.svg b/material/.icons/material/phone-plus.svg index b2b868b5d..4ad8ebafd 100644 --- a/material/.icons/material/phone-plus.svg +++ b/material/.icons/material/phone-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-return.svg b/material/.icons/material/phone-return.svg index 072485a21..02c395bd1 100644 --- a/material/.icons/material/phone-return.svg +++ b/material/.icons/material/phone-return.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-ring-outline.svg b/material/.icons/material/phone-ring-outline.svg index 733b5afdc..4fc987132 100644 --- a/material/.icons/material/phone-ring-outline.svg +++ b/material/.icons/material/phone-ring-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-ring.svg b/material/.icons/material/phone-ring.svg index 61a1e0db8..74f602bf3 100644 --- a/material/.icons/material/phone-ring.svg +++ b/material/.icons/material/phone-ring.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-rotate-landscape.svg b/material/.icons/material/phone-rotate-landscape.svg index 77747c0fc..d0c59b26f 100644 --- a/material/.icons/material/phone-rotate-landscape.svg +++ b/material/.icons/material/phone-rotate-landscape.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-rotate-portrait.svg b/material/.icons/material/phone-rotate-portrait.svg index 3deb597c0..fdb339d2f 100644 --- a/material/.icons/material/phone-rotate-portrait.svg +++ b/material/.icons/material/phone-rotate-portrait.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-settings.svg b/material/.icons/material/phone-settings.svg index 25e772b25..3473edd9b 100644 --- a/material/.icons/material/phone-settings.svg +++ b/material/.icons/material/phone-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone-voip.svg b/material/.icons/material/phone-voip.svg index 7d79e14d2..aee3747f9 100644 --- a/material/.icons/material/phone-voip.svg +++ b/material/.icons/material/phone-voip.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/phone.svg b/material/.icons/material/phone.svg index f331a69b4..2f22452cd 100644 --- a/material/.icons/material/phone.svg +++ b/material/.icons/material/phone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pi-box.svg b/material/.icons/material/pi-box.svg index 2a5fac8a8..3878393c0 100644 --- a/material/.icons/material/pi-box.svg +++ b/material/.icons/material/pi-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pi-hole.svg b/material/.icons/material/pi-hole.svg index 8044baea9..f42e5ea6d 100644 --- a/material/.icons/material/pi-hole.svg +++ b/material/.icons/material/pi-hole.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pi.svg b/material/.icons/material/pi.svg index 20865351f..c753fd7a4 100644 --- a/material/.icons/material/pi.svg +++ b/material/.icons/material/pi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/piano.svg b/material/.icons/material/piano.svg index efbdd4d41..7ef46d9b7 100644 --- a/material/.icons/material/piano.svg +++ b/material/.icons/material/piano.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/picture-in-picture-bottom-right-outline.svg b/material/.icons/material/picture-in-picture-bottom-right-outline.svg index 530f4dda4..9af1a70df 100644 --- a/material/.icons/material/picture-in-picture-bottom-right-outline.svg +++ b/material/.icons/material/picture-in-picture-bottom-right-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/picture-in-picture-bottom-right.svg b/material/.icons/material/picture-in-picture-bottom-right.svg index b0a7e4642..9d9970787 100644 --- a/material/.icons/material/picture-in-picture-bottom-right.svg +++ b/material/.icons/material/picture-in-picture-bottom-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/picture-in-picture-top-right-outline.svg b/material/.icons/material/picture-in-picture-top-right-outline.svg index b5e76f0b2..697a5a8be 100644 --- a/material/.icons/material/picture-in-picture-top-right-outline.svg +++ b/material/.icons/material/picture-in-picture-top-right-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/picture-in-picture-top-right.svg b/material/.icons/material/picture-in-picture-top-right.svg index d76467137..c573842eb 100644 --- a/material/.icons/material/picture-in-picture-top-right.svg +++ b/material/.icons/material/picture-in-picture-top-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pier-crane.svg b/material/.icons/material/pier-crane.svg index 446b49ff4..e68baf40e 100644 --- a/material/.icons/material/pier-crane.svg +++ b/material/.icons/material/pier-crane.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pig.svg b/material/.icons/material/pig.svg index ab5fecae9..eb7095940 100644 --- a/material/.icons/material/pig.svg +++ b/material/.icons/material/pig.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/piggy-bank.svg b/material/.icons/material/piggy-bank.svg index 05f346cc5..3a7b075d7 100644 --- a/material/.icons/material/piggy-bank.svg +++ b/material/.icons/material/piggy-bank.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pill.svg b/material/.icons/material/pill.svg index 201262dd9..694cb25dd 100644 --- a/material/.icons/material/pill.svg +++ b/material/.icons/material/pill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pillar.svg b/material/.icons/material/pillar.svg index 67f6ed0e5..20f1b3b76 100644 --- a/material/.icons/material/pillar.svg +++ b/material/.icons/material/pillar.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pine-tree-box.svg b/material/.icons/material/pine-tree-box.svg index 2e7216a62..a99809035 100644 --- a/material/.icons/material/pine-tree-box.svg +++ b/material/.icons/material/pine-tree-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pinterest.svg b/material/.icons/material/pinterest.svg index 6de662a2c..711178ace 100644 --- a/material/.icons/material/pinterest.svg +++ b/material/.icons/material/pinterest.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pipe-disconnected.svg b/material/.icons/material/pipe-disconnected.svg index 3e13dc316..688540afb 100644 --- a/material/.icons/material/pipe-disconnected.svg +++ b/material/.icons/material/pipe-disconnected.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pipe-leak.svg b/material/.icons/material/pipe-leak.svg index 6e8aa66ee..1d7e3acad 100644 --- a/material/.icons/material/pipe-leak.svg +++ b/material/.icons/material/pipe-leak.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pipe.svg b/material/.icons/material/pipe.svg index 289cfc84c..1542a730b 100644 --- a/material/.icons/material/pipe.svg +++ b/material/.icons/material/pipe.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pistol.svg b/material/.icons/material/pistol.svg index f3380b420..df926fbf5 100644 --- a/material/.icons/material/pistol.svg +++ b/material/.icons/material/pistol.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/piston.svg b/material/.icons/material/piston.svg index 661c007fa..4c4cf33d2 100644 --- a/material/.icons/material/piston.svg +++ b/material/.icons/material/piston.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pizza.svg b/material/.icons/material/pizza.svg index cdd0d86ad..b97c130d7 100644 --- a/material/.icons/material/pizza.svg +++ b/material/.icons/material/pizza.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/play-box-multiple.svg b/material/.icons/material/play-box-multiple.svg index cc861b730..551ec3bb2 100644 --- a/material/.icons/material/play-box-multiple.svg +++ b/material/.icons/material/play-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/play-box-outline.svg b/material/.icons/material/play-box-outline.svg index 8e0df8e50..8d355d2a3 100644 --- a/material/.icons/material/play-box-outline.svg +++ b/material/.icons/material/play-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/play-box.svg b/material/.icons/material/play-box.svg index d68a3f16e..c97d4c4c7 100644 --- a/material/.icons/material/play-box.svg +++ b/material/.icons/material/play-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/play-circle-outline.svg b/material/.icons/material/play-circle-outline.svg index 8ad42ac52..e31705b05 100644 --- a/material/.icons/material/play-circle-outline.svg +++ b/material/.icons/material/play-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/play-circle.svg b/material/.icons/material/play-circle.svg index 5325ff372..6dafb7df2 100644 --- a/material/.icons/material/play-circle.svg +++ b/material/.icons/material/play-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/play-network-outline.svg b/material/.icons/material/play-network-outline.svg index c64c6a8ba..2fa584318 100644 --- a/material/.icons/material/play-network-outline.svg +++ b/material/.icons/material/play-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/play-network.svg b/material/.icons/material/play-network.svg index 03250631e..80ff6aef7 100644 --- a/material/.icons/material/play-network.svg +++ b/material/.icons/material/play-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/play-speed.svg b/material/.icons/material/play-speed.svg index 1bdab6c25..b615d1698 100644 --- a/material/.icons/material/play-speed.svg +++ b/material/.icons/material/play-speed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/playlist-edit.svg b/material/.icons/material/playlist-edit.svg index 4d392888f..b44feea4a 100644 --- a/material/.icons/material/playlist-edit.svg +++ b/material/.icons/material/playlist-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/playlist-music-outline.svg b/material/.icons/material/playlist-music-outline.svg index 2d829cdac..c6bbffda8 100644 --- a/material/.icons/material/playlist-music-outline.svg +++ b/material/.icons/material/playlist-music-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/playlist-music.svg b/material/.icons/material/playlist-music.svg index f7586ec03..423d98d18 100644 --- a/material/.icons/material/playlist-music.svg +++ b/material/.icons/material/playlist-music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/plus-box-multiple-outline.svg b/material/.icons/material/plus-box-multiple-outline.svg index 786ef81e0..70d3081e2 100644 --- a/material/.icons/material/plus-box-multiple-outline.svg +++ b/material/.icons/material/plus-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/plus-box-multiple.svg b/material/.icons/material/plus-box-multiple.svg index 3bea85c0c..8db6105b2 100644 --- a/material/.icons/material/plus-box-multiple.svg +++ b/material/.icons/material/plus-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/plus-box-outline.svg b/material/.icons/material/plus-box-outline.svg index a78550588..069adfe99 100644 --- a/material/.icons/material/plus-box-outline.svg +++ b/material/.icons/material/plus-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/plus-box.svg b/material/.icons/material/plus-box.svg index 180df0caf..96b6fa751 100644 --- a/material/.icons/material/plus-box.svg +++ b/material/.icons/material/plus-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/plus-circle-outline.svg b/material/.icons/material/plus-circle-outline.svg index 03e4c8f66..668abda50 100644 --- a/material/.icons/material/plus-circle-outline.svg +++ b/material/.icons/material/plus-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/plus-circle.svg b/material/.icons/material/plus-circle.svg index 191400ae6..4536e5d43 100644 --- a/material/.icons/material/plus-circle.svg +++ b/material/.icons/material/plus-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/plus-minus-box.svg b/material/.icons/material/plus-minus-box.svg index 0471ed83b..df460a58d 100644 --- a/material/.icons/material/plus-minus-box.svg +++ b/material/.icons/material/plus-minus-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/plus-network-outline.svg b/material/.icons/material/plus-network-outline.svg index c8ee6a6c5..764fa078c 100644 --- a/material/.icons/material/plus-network-outline.svg +++ b/material/.icons/material/plus-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/plus-network.svg b/material/.icons/material/plus-network.svg index b59454dd3..c1d714728 100644 --- a/material/.icons/material/plus-network.svg +++ b/material/.icons/material/plus-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/podcast.svg b/material/.icons/material/podcast.svg index 6b240a3d2..d72635d98 100644 --- a/material/.icons/material/podcast.svg +++ b/material/.icons/material/podcast.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pokeball.svg b/material/.icons/material/pokeball.svg index 1d80d1954..443451128 100644 --- a/material/.icons/material/pokeball.svg +++ b/material/.icons/material/pokeball.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pokemon-go.svg b/material/.icons/material/pokemon-go.svg index 5cd1c0db8..9705ec7d4 100644 --- a/material/.icons/material/pokemon-go.svg +++ b/material/.icons/material/pokemon-go.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/poker-chip.svg b/material/.icons/material/poker-chip.svg index 893242dc9..ed0b4e515 100644 --- a/material/.icons/material/poker-chip.svg +++ b/material/.icons/material/poker-chip.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/polaroid.svg b/material/.icons/material/polaroid.svg index a6f533e34..3ad3cc448 100644 --- a/material/.icons/material/polaroid.svg +++ b/material/.icons/material/polaroid.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/poll-box.svg b/material/.icons/material/poll-box.svg index 6dad2e3bb..7713a28f7 100644 --- a/material/.icons/material/poll-box.svg +++ b/material/.icons/material/poll-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/polo.svg b/material/.icons/material/polo.svg index 7e42ada13..cb72a4f5f 100644 --- a/material/.icons/material/polo.svg +++ b/material/.icons/material/polo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pool.svg b/material/.icons/material/pool.svg index 75fe2e7b6..b06131c3a 100644 --- a/material/.icons/material/pool.svg +++ b/material/.icons/material/pool.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/postage-stamp.svg b/material/.icons/material/postage-stamp.svg index 52ddbf005..e3cbce0cf 100644 --- a/material/.icons/material/postage-stamp.svg +++ b/material/.icons/material/postage-stamp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pot-steam-outline.svg b/material/.icons/material/pot-steam-outline.svg index 5d01174f5..77ccff2e6 100644 --- a/material/.icons/material/pot-steam-outline.svg +++ b/material/.icons/material/pot-steam-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pot-steam.svg b/material/.icons/material/pot-steam.svg index c2b943bcb..dadba1a46 100644 --- a/material/.icons/material/pot-steam.svg +++ b/material/.icons/material/pot-steam.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pound-box-outline.svg b/material/.icons/material/pound-box-outline.svg index 2a3057f0b..71999d808 100644 --- a/material/.icons/material/pound-box-outline.svg +++ b/material/.icons/material/pound-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pound-box.svg b/material/.icons/material/pound-box.svg index 4808e6b21..d48c11a71 100644 --- a/material/.icons/material/pound-box.svg +++ b/material/.icons/material/pound-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-cycle.svg b/material/.icons/material/power-cycle.svg index ad374a3b1..f4eff2e24 100644 --- a/material/.icons/material/power-cycle.svg +++ b/material/.icons/material/power-cycle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-off.svg b/material/.icons/material/power-off.svg index 89192cf9b..30ade419c 100644 --- a/material/.icons/material/power-off.svg +++ b/material/.icons/material/power-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-settings.svg b/material/.icons/material/power-settings.svg index 59df973d7..0512b767e 100644 --- a/material/.icons/material/power-settings.svg +++ b/material/.icons/material/power-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-sleep.svg b/material/.icons/material/power-sleep.svg index 379c70d70..ba02ba9ce 100644 --- a/material/.icons/material/power-sleep.svg +++ b/material/.icons/material/power-sleep.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-socket-au.svg b/material/.icons/material/power-socket-au.svg index d87755c4d..b79604657 100644 --- a/material/.icons/material/power-socket-au.svg +++ b/material/.icons/material/power-socket-au.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-socket-de.svg b/material/.icons/material/power-socket-de.svg index 703bb4ba1..2bc080933 100644 --- a/material/.icons/material/power-socket-de.svg +++ b/material/.icons/material/power-socket-de.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-socket-eu.svg b/material/.icons/material/power-socket-eu.svg index 7167018df..a9181ed54 100644 --- a/material/.icons/material/power-socket-eu.svg +++ b/material/.icons/material/power-socket-eu.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-socket-fr.svg b/material/.icons/material/power-socket-fr.svg index 78f4b41a9..3965fd644 100644 --- a/material/.icons/material/power-socket-fr.svg +++ b/material/.icons/material/power-socket-fr.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-socket-uk.svg b/material/.icons/material/power-socket-uk.svg index f695d65e6..9d53812cb 100644 --- a/material/.icons/material/power-socket-uk.svg +++ b/material/.icons/material/power-socket-uk.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-socket-us.svg b/material/.icons/material/power-socket-us.svg index 5294030a9..f966be2cb 100644 --- a/material/.icons/material/power-socket-us.svg +++ b/material/.icons/material/power-socket-us.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power-standby.svg b/material/.icons/material/power-standby.svg index e7374e859..be3f51cab 100644 --- a/material/.icons/material/power-standby.svg +++ b/material/.icons/material/power-standby.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/power.svg b/material/.icons/material/power.svg index 3b7fcbc8e..87e8e8a3e 100644 --- a/material/.icons/material/power.svg +++ b/material/.icons/material/power.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/powershell.svg b/material/.icons/material/powershell.svg index 6811a5e86..25a97344b 100644 --- a/material/.icons/material/powershell.svg +++ b/material/.icons/material/powershell.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/prescription.svg b/material/.icons/material/prescription.svg index 86b2b242a..c5589d84f 100644 --- a/material/.icons/material/prescription.svg +++ b/material/.icons/material/prescription.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/presentation-play.svg b/material/.icons/material/presentation-play.svg index 8283b1992..f0b12402b 100644 --- a/material/.icons/material/presentation-play.svg +++ b/material/.icons/material/presentation-play.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/presentation.svg b/material/.icons/material/presentation.svg index 69c3b49e4..67aa21472 100644 --- a/material/.icons/material/presentation.svg +++ b/material/.icons/material/presentation.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pretzel.svg b/material/.icons/material/pretzel.svg index f66e20695..d0f7a328e 100644 --- a/material/.icons/material/pretzel.svg +++ b/material/.icons/material/pretzel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/printer-3d-nozzle-outline.svg b/material/.icons/material/printer-3d-nozzle-outline.svg index bfe8a8ab6..cd1c7d661 100644 --- a/material/.icons/material/printer-3d-nozzle-outline.svg +++ b/material/.icons/material/printer-3d-nozzle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/printer-3d-nozzle.svg b/material/.icons/material/printer-3d-nozzle.svg index a6419f150..bf907c700 100644 --- a/material/.icons/material/printer-3d-nozzle.svg +++ b/material/.icons/material/printer-3d-nozzle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/printer-3d.svg b/material/.icons/material/printer-3d.svg index a53b45a05..753896f22 100644 --- a/material/.icons/material/printer-3d.svg +++ b/material/.icons/material/printer-3d.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/printer-off.svg b/material/.icons/material/printer-off.svg index 541d6aff9..c53f4572e 100644 --- a/material/.icons/material/printer-off.svg +++ b/material/.icons/material/printer-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/printer-pos.svg b/material/.icons/material/printer-pos.svg index 7740cdef9..2ddedafda 100644 --- a/material/.icons/material/printer-pos.svg +++ b/material/.icons/material/printer-pos.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/printer-settings.svg b/material/.icons/material/printer-settings.svg index 9ebdc13c5..57bd64798 100644 --- a/material/.icons/material/printer-settings.svg +++ b/material/.icons/material/printer-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/printer-wireless.svg b/material/.icons/material/printer-wireless.svg index 3e50a860b..711f308d3 100644 --- a/material/.icons/material/printer-wireless.svg +++ b/material/.icons/material/printer-wireless.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/printer.svg b/material/.icons/material/printer.svg index 53440dc6b..4ba10e414 100644 --- a/material/.icons/material/printer.svg +++ b/material/.icons/material/printer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/professional-hexagon.svg b/material/.icons/material/professional-hexagon.svg index 4f080df5d..669ba882b 100644 --- a/material/.icons/material/professional-hexagon.svg +++ b/material/.icons/material/professional-hexagon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/progress-alert.svg b/material/.icons/material/progress-alert.svg index 2186e9eae..4280f91a5 100644 --- a/material/.icons/material/progress-alert.svg +++ b/material/.icons/material/progress-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/progress-check.svg b/material/.icons/material/progress-check.svg index 8803e44fc..67f43ab1c 100644 --- a/material/.icons/material/progress-check.svg +++ b/material/.icons/material/progress-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/progress-clock.svg b/material/.icons/material/progress-clock.svg index a9ab773eb..39f9e991f 100644 --- a/material/.icons/material/progress-clock.svg +++ b/material/.icons/material/progress-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/progress-close.svg b/material/.icons/material/progress-close.svg index 5494e4f73..59c35a30a 100644 --- a/material/.icons/material/progress-close.svg +++ b/material/.icons/material/progress-close.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/progress-download.svg b/material/.icons/material/progress-download.svg index 9776b02fb..b79a08c0b 100644 --- a/material/.icons/material/progress-download.svg +++ b/material/.icons/material/progress-download.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/progress-question.svg b/material/.icons/material/progress-question.svg index 058d387d2..78c4f5049 100644 --- a/material/.icons/material/progress-question.svg +++ b/material/.icons/material/progress-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/progress-upload.svg b/material/.icons/material/progress-upload.svg index 81471d6f4..160dd1f77 100644 --- a/material/.icons/material/progress-upload.svg +++ b/material/.icons/material/progress-upload.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/progress-wrench.svg b/material/.icons/material/progress-wrench.svg index d11e0e3ac..619fbc9e0 100644 --- a/material/.icons/material/progress-wrench.svg +++ b/material/.icons/material/progress-wrench.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/projector-screen.svg b/material/.icons/material/projector-screen.svg index e2389c866..b8dc27817 100644 --- a/material/.icons/material/projector-screen.svg +++ b/material/.icons/material/projector-screen.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/projector.svg b/material/.icons/material/projector.svg index ad315ce46..966908fed 100644 --- a/material/.icons/material/projector.svg +++ b/material/.icons/material/projector.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/propane-tank-outline.svg b/material/.icons/material/propane-tank-outline.svg index bb6b15a2e..7a1197f94 100644 --- a/material/.icons/material/propane-tank-outline.svg +++ b/material/.icons/material/propane-tank-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/propane-tank.svg b/material/.icons/material/propane-tank.svg index f45ee7717..1a4d285fd 100644 --- a/material/.icons/material/propane-tank.svg +++ b/material/.icons/material/propane-tank.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/protocol.svg b/material/.icons/material/protocol.svg index df48eb5f0..478a14d42 100644 --- a/material/.icons/material/protocol.svg +++ b/material/.icons/material/protocol.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pump.svg b/material/.icons/material/pump.svg index a80e5496a..6ec5393bf 100644 --- a/material/.icons/material/pump.svg +++ b/material/.icons/material/pump.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/pumpkin.svg b/material/.icons/material/pumpkin.svg index f39cf171d..d4137d184 100644 --- a/material/.icons/material/pumpkin.svg +++ b/material/.icons/material/pumpkin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/purse-outline.svg b/material/.icons/material/purse-outline.svg index e51bf7499..91ec81ae9 100644 --- a/material/.icons/material/purse-outline.svg +++ b/material/.icons/material/purse-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/purse.svg b/material/.icons/material/purse.svg index 27f5678bc..f83c70cd0 100644 --- a/material/.icons/material/purse.svg +++ b/material/.icons/material/purse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-check-outline.svg b/material/.icons/material/puzzle-check-outline.svg index 3a5bee4a1..b7d71c28f 100644 --- a/material/.icons/material/puzzle-check-outline.svg +++ b/material/.icons/material/puzzle-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-check.svg b/material/.icons/material/puzzle-check.svg index 263a39296..bb7013309 100644 --- a/material/.icons/material/puzzle-check.svg +++ b/material/.icons/material/puzzle-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-edit-outline.svg b/material/.icons/material/puzzle-edit-outline.svg index d2fb70554..8804cae54 100644 --- a/material/.icons/material/puzzle-edit-outline.svg +++ b/material/.icons/material/puzzle-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-edit.svg b/material/.icons/material/puzzle-edit.svg index 38b3a3f07..eb77e0fa0 100644 --- a/material/.icons/material/puzzle-edit.svg +++ b/material/.icons/material/puzzle-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-heart-outline.svg b/material/.icons/material/puzzle-heart-outline.svg index 0e4155a89..0d949be77 100644 --- a/material/.icons/material/puzzle-heart-outline.svg +++ b/material/.icons/material/puzzle-heart-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-heart.svg b/material/.icons/material/puzzle-heart.svg index be03665aa..fd515b644 100644 --- a/material/.icons/material/puzzle-heart.svg +++ b/material/.icons/material/puzzle-heart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-minus-outline.svg b/material/.icons/material/puzzle-minus-outline.svg index bea8a8397..87e3f7f0b 100644 --- a/material/.icons/material/puzzle-minus-outline.svg +++ b/material/.icons/material/puzzle-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-minus.svg b/material/.icons/material/puzzle-minus.svg index 3384ad161..7c50dd13c 100644 --- a/material/.icons/material/puzzle-minus.svg +++ b/material/.icons/material/puzzle-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-outline.svg b/material/.icons/material/puzzle-outline.svg index 5b468ff37..bc6636789 100644 --- a/material/.icons/material/puzzle-outline.svg +++ b/material/.icons/material/puzzle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-plus-outline.svg b/material/.icons/material/puzzle-plus-outline.svg index afdf83e7d..92a3cdefa 100644 --- a/material/.icons/material/puzzle-plus-outline.svg +++ b/material/.icons/material/puzzle-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-plus.svg b/material/.icons/material/puzzle-plus.svg index 638dfd614..30eb1e1f6 100644 --- a/material/.icons/material/puzzle-plus.svg +++ b/material/.icons/material/puzzle-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-remove-outline.svg b/material/.icons/material/puzzle-remove-outline.svg index 983cde5ac..e38a0013c 100644 --- a/material/.icons/material/puzzle-remove-outline.svg +++ b/material/.icons/material/puzzle-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-remove.svg b/material/.icons/material/puzzle-remove.svg index 5e985001e..3253b6688 100644 --- a/material/.icons/material/puzzle-remove.svg +++ b/material/.icons/material/puzzle-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-star-outline.svg b/material/.icons/material/puzzle-star-outline.svg index 39247d9de..39a0e438b 100644 --- a/material/.icons/material/puzzle-star-outline.svg +++ b/material/.icons/material/puzzle-star-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle-star.svg b/material/.icons/material/puzzle-star.svg index b0c6ffeed..5248af4c1 100644 --- a/material/.icons/material/puzzle-star.svg +++ b/material/.icons/material/puzzle-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/puzzle.svg b/material/.icons/material/puzzle.svg index 82dc9efcd..6c29e87db 100644 --- a/material/.icons/material/puzzle.svg +++ b/material/.icons/material/puzzle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/qi.svg b/material/.icons/material/qi.svg index c9d5e32ae..58d4a9d97 100644 --- a/material/.icons/material/qi.svg +++ b/material/.icons/material/qi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/qrcode-scan.svg b/material/.icons/material/qrcode-scan.svg index e00dbfcc4..da0c8da14 100644 --- a/material/.icons/material/qrcode-scan.svg +++ b/material/.icons/material/qrcode-scan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/quadcopter.svg b/material/.icons/material/quadcopter.svg index e7743dfb8..875fad90f 100644 --- a/material/.icons/material/quadcopter.svg +++ b/material/.icons/material/quadcopter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/quality-high.svg b/material/.icons/material/quality-high.svg index 44ad06901..75f88b438 100644 --- a/material/.icons/material/quality-high.svg +++ b/material/.icons/material/quality-high.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/quality-low.svg b/material/.icons/material/quality-low.svg index 76aa7f2ed..9d9853425 100644 --- a/material/.icons/material/quality-low.svg +++ b/material/.icons/material/quality-low.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/quality-medium.svg b/material/.icons/material/quality-medium.svg index 8da187be5..79df1a225 100644 --- a/material/.icons/material/quality-medium.svg +++ b/material/.icons/material/quality-medium.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rabbit.svg b/material/.icons/material/rabbit.svg index 7b86538e6..5d7630d6e 100644 --- a/material/.icons/material/rabbit.svg +++ b/material/.icons/material/rabbit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radar.svg b/material/.icons/material/radar.svg index 50118176f..bc92c15e3 100644 --- a/material/.icons/material/radar.svg +++ b/material/.icons/material/radar.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radiator-disabled.svg b/material/.icons/material/radiator-disabled.svg index 43ee507f0..0edffb2af 100644 --- a/material/.icons/material/radiator-disabled.svg +++ b/material/.icons/material/radiator-disabled.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radiator-off.svg b/material/.icons/material/radiator-off.svg index 8ef66f033..7e38b1505 100644 --- a/material/.icons/material/radiator-off.svg +++ b/material/.icons/material/radiator-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radiator.svg b/material/.icons/material/radiator.svg index 933924e2c..d9c49e7e6 100644 --- a/material/.icons/material/radiator.svg +++ b/material/.icons/material/radiator.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radio-am.svg b/material/.icons/material/radio-am.svg index e02eb1495..20dc11f34 100644 --- a/material/.icons/material/radio-am.svg +++ b/material/.icons/material/radio-am.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radio-fm.svg b/material/.icons/material/radio-fm.svg index ae3577b04..493a27be6 100644 --- a/material/.icons/material/radio-fm.svg +++ b/material/.icons/material/radio-fm.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radio-handheld.svg b/material/.icons/material/radio-handheld.svg index 49210e8e6..e1e790b7e 100644 --- a/material/.icons/material/radio-handheld.svg +++ b/material/.icons/material/radio-handheld.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radio-off.svg b/material/.icons/material/radio-off.svg index 33f3eae09..e0c763ba1 100644 --- a/material/.icons/material/radio-off.svg +++ b/material/.icons/material/radio-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radio-tower.svg b/material/.icons/material/radio-tower.svg index e242ab3ee..685bd8fe5 100644 --- a/material/.icons/material/radio-tower.svg +++ b/material/.icons/material/radio-tower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radio.svg b/material/.icons/material/radio.svg index 4df143fdb..a8b9baeb7 100644 --- a/material/.icons/material/radio.svg +++ b/material/.icons/material/radio.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radioactive-off.svg b/material/.icons/material/radioactive-off.svg index 6a8ab369c..a850479a4 100644 --- a/material/.icons/material/radioactive-off.svg +++ b/material/.icons/material/radioactive-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radioactive.svg b/material/.icons/material/radioactive.svg index 5b2b74e3b..52b280cf4 100644 --- a/material/.icons/material/radioactive.svg +++ b/material/.icons/material/radioactive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radiobox-blank.svg b/material/.icons/material/radiobox-blank.svg index e986852fe..d16843bb0 100644 --- a/material/.icons/material/radiobox-blank.svg +++ b/material/.icons/material/radiobox-blank.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radiobox-marked.svg b/material/.icons/material/radiobox-marked.svg index fd1f3c5e3..bfce12c8b 100644 --- a/material/.icons/material/radiobox-marked.svg +++ b/material/.icons/material/radiobox-marked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radius-outline.svg b/material/.icons/material/radius-outline.svg index c979f47f8..6998485ef 100644 --- a/material/.icons/material/radius-outline.svg +++ b/material/.icons/material/radius-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/radius.svg b/material/.icons/material/radius.svg index 367f5b881..b4633f107 100644 --- a/material/.icons/material/radius.svg +++ b/material/.icons/material/radius.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/railroad-light.svg b/material/.icons/material/railroad-light.svg index e12612fae..786437935 100644 --- a/material/.icons/material/railroad-light.svg +++ b/material/.icons/material/railroad-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/raspberry-pi.svg b/material/.icons/material/raspberry-pi.svg index 52d6e73f0..51cb91fc5 100644 --- a/material/.icons/material/raspberry-pi.svg +++ b/material/.icons/material/raspberry-pi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ray-end-arrow.svg b/material/.icons/material/ray-end-arrow.svg index 42c517734..f4cbaf666 100644 --- a/material/.icons/material/ray-end-arrow.svg +++ b/material/.icons/material/ray-end-arrow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ray-end.svg b/material/.icons/material/ray-end.svg index cd61a22e2..396821792 100644 --- a/material/.icons/material/ray-end.svg +++ b/material/.icons/material/ray-end.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ray-start-arrow.svg b/material/.icons/material/ray-start-arrow.svg index abc5dfd2c..ff5cf5864 100644 --- a/material/.icons/material/ray-start-arrow.svg +++ b/material/.icons/material/ray-start-arrow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ray-start-end.svg b/material/.icons/material/ray-start-end.svg index dc7dd58d3..d4d7a7b77 100644 --- a/material/.icons/material/ray-start-end.svg +++ b/material/.icons/material/ray-start-end.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ray-start-vertex-end.svg b/material/.icons/material/ray-start-vertex-end.svg index 0dc230989..26411fbb2 100644 --- a/material/.icons/material/ray-start-vertex-end.svg +++ b/material/.icons/material/ray-start-vertex-end.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ray-start.svg b/material/.icons/material/ray-start.svg index 230b4c976..b90a57071 100644 --- a/material/.icons/material/ray-start.svg +++ b/material/.icons/material/ray-start.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ray-vertex.svg b/material/.icons/material/ray-vertex.svg index 31a49aa69..91e8deb24 100644 --- a/material/.icons/material/ray-vertex.svg +++ b/material/.icons/material/ray-vertex.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/react.svg b/material/.icons/material/react.svg index 7ab185708..fc8f36da9 100644 --- a/material/.icons/material/react.svg +++ b/material/.icons/material/react.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/read.svg b/material/.icons/material/read.svg index 315b97d26..7ee0aca98 100644 --- a/material/.icons/material/read.svg +++ b/material/.icons/material/read.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/record-circle-outline.svg b/material/.icons/material/record-circle-outline.svg index dd632a6f2..8321949ae 100644 --- a/material/.icons/material/record-circle-outline.svg +++ b/material/.icons/material/record-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/record-circle.svg b/material/.icons/material/record-circle.svg index 7942a5a7a..bb280fdae 100644 --- a/material/.icons/material/record-circle.svg +++ b/material/.icons/material/record-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/record-player.svg b/material/.icons/material/record-player.svg index 7041f9cf7..94b1c5ddd 100644 --- a/material/.icons/material/record-player.svg +++ b/material/.icons/material/record-player.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/record-rec.svg b/material/.icons/material/record-rec.svg index 106f1ea78..1fab25fc4 100644 --- a/material/.icons/material/record-rec.svg +++ b/material/.icons/material/record-rec.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/recycle-variant.svg b/material/.icons/material/recycle-variant.svg index 2a98f1745..f2c5dfb20 100644 --- a/material/.icons/material/recycle-variant.svg +++ b/material/.icons/material/recycle-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/recycle.svg b/material/.icons/material/recycle.svg index 93b2859d3..bc02f4705 100644 --- a/material/.icons/material/recycle.svg +++ b/material/.icons/material/recycle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/redo-variant.svg b/material/.icons/material/redo-variant.svg index f48d2996e..783bd00a6 100644 --- a/material/.icons/material/redo-variant.svg +++ b/material/.icons/material/redo-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/redo.svg b/material/.icons/material/redo.svg index 142bf279b..018c6d1a8 100644 --- a/material/.icons/material/redo.svg +++ b/material/.icons/material/redo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/reflect-horizontal.svg b/material/.icons/material/reflect-horizontal.svg index f113db6c3..d32f1d577 100644 --- a/material/.icons/material/reflect-horizontal.svg +++ b/material/.icons/material/reflect-horizontal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/reflect-vertical.svg b/material/.icons/material/reflect-vertical.svg index 3720bdd3b..a961504e9 100644 --- a/material/.icons/material/reflect-vertical.svg +++ b/material/.icons/material/reflect-vertical.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/refresh-circle.svg b/material/.icons/material/refresh-circle.svg index f3687f4e8..0d6b11469 100644 --- a/material/.icons/material/refresh-circle.svg +++ b/material/.icons/material/refresh-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/refresh.svg b/material/.icons/material/refresh.svg index 724c870fd..1e7dadb08 100644 --- a/material/.icons/material/refresh.svg +++ b/material/.icons/material/refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/regex.svg b/material/.icons/material/regex.svg index e0ebbafca..6dc681f7f 100644 --- a/material/.icons/material/regex.svg +++ b/material/.icons/material/regex.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/registered-trademark.svg b/material/.icons/material/registered-trademark.svg index 63a7688d0..f76b9b2d4 100644 --- a/material/.icons/material/registered-trademark.svg +++ b/material/.icons/material/registered-trademark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/reiterate.svg b/material/.icons/material/reiterate.svg index 982ff07f5..c30c11b3a 100644 --- a/material/.icons/material/reiterate.svg +++ b/material/.icons/material/reiterate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-many-to-zero-or-many.svg b/material/.icons/material/relation-many-to-zero-or-many.svg index 30ee6a47d..e3ffcfde2 100644 --- a/material/.icons/material/relation-many-to-zero-or-many.svg +++ b/material/.icons/material/relation-many-to-zero-or-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-many-to-zero-or-one.svg b/material/.icons/material/relation-many-to-zero-or-one.svg index a47f4968a..b8e82cd0b 100644 --- a/material/.icons/material/relation-many-to-zero-or-one.svg +++ b/material/.icons/material/relation-many-to-zero-or-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-one-or-many-to-zero-or-many.svg b/material/.icons/material/relation-one-or-many-to-zero-or-many.svg index c870abf57..f18fbc6c8 100644 --- a/material/.icons/material/relation-one-or-many-to-zero-or-many.svg +++ b/material/.icons/material/relation-one-or-many-to-zero-or-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-one-or-many-to-zero-or-one.svg b/material/.icons/material/relation-one-or-many-to-zero-or-one.svg index 42653c08a..ebbbecac4 100644 --- a/material/.icons/material/relation-one-or-many-to-zero-or-one.svg +++ b/material/.icons/material/relation-one-or-many-to-zero-or-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-one-to-zero-or-many.svg b/material/.icons/material/relation-one-to-zero-or-many.svg index 1d8f1bd08..45a2da557 100644 --- a/material/.icons/material/relation-one-to-zero-or-many.svg +++ b/material/.icons/material/relation-one-to-zero-or-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-one-to-zero-or-one.svg b/material/.icons/material/relation-one-to-zero-or-one.svg index e4128d81e..53bde9040 100644 --- a/material/.icons/material/relation-one-to-zero-or-one.svg +++ b/material/.icons/material/relation-one-to-zero-or-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-only-one-to-zero-or-many.svg b/material/.icons/material/relation-only-one-to-zero-or-many.svg index edd5d030b..788c8926f 100644 --- a/material/.icons/material/relation-only-one-to-zero-or-many.svg +++ b/material/.icons/material/relation-only-one-to-zero-or-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-only-one-to-zero-or-one.svg b/material/.icons/material/relation-only-one-to-zero-or-one.svg index b2bba77c6..2fd6c6bd3 100644 --- a/material/.icons/material/relation-only-one-to-zero-or-one.svg +++ b/material/.icons/material/relation-only-one-to-zero-or-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-many-to-many.svg b/material/.icons/material/relation-zero-or-many-to-many.svg index ebc8270be..b7011eee4 100644 --- a/material/.icons/material/relation-zero-or-many-to-many.svg +++ b/material/.icons/material/relation-zero-or-many-to-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-many-to-one-or-many.svg b/material/.icons/material/relation-zero-or-many-to-one-or-many.svg index 77abbc58e..c64316c3c 100644 --- a/material/.icons/material/relation-zero-or-many-to-one-or-many.svg +++ b/material/.icons/material/relation-zero-or-many-to-one-or-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-many-to-one.svg b/material/.icons/material/relation-zero-or-many-to-one.svg index bfd128214..6d3825cbe 100644 --- a/material/.icons/material/relation-zero-or-many-to-one.svg +++ b/material/.icons/material/relation-zero-or-many-to-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-many-to-only-one.svg b/material/.icons/material/relation-zero-or-many-to-only-one.svg index c4dcbd92a..1b6e8616c 100644 --- a/material/.icons/material/relation-zero-or-many-to-only-one.svg +++ b/material/.icons/material/relation-zero-or-many-to-only-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-many-to-zero-or-many.svg b/material/.icons/material/relation-zero-or-many-to-zero-or-many.svg index 7df1e4ca1..c1ed50368 100644 --- a/material/.icons/material/relation-zero-or-many-to-zero-or-many.svg +++ b/material/.icons/material/relation-zero-or-many-to-zero-or-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-many-to-zero-or-one.svg b/material/.icons/material/relation-zero-or-many-to-zero-or-one.svg index 0b490cfba..fdb8468cc 100644 --- a/material/.icons/material/relation-zero-or-many-to-zero-or-one.svg +++ b/material/.icons/material/relation-zero-or-many-to-zero-or-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-one-to-many.svg b/material/.icons/material/relation-zero-or-one-to-many.svg index bdf332a3c..33c2ce6c7 100644 --- a/material/.icons/material/relation-zero-or-one-to-many.svg +++ b/material/.icons/material/relation-zero-or-one-to-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-one-to-one-or-many.svg b/material/.icons/material/relation-zero-or-one-to-one-or-many.svg index 7a8c41eec..f53e1d19a 100644 --- a/material/.icons/material/relation-zero-or-one-to-one-or-many.svg +++ b/material/.icons/material/relation-zero-or-one-to-one-or-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-one-to-one.svg b/material/.icons/material/relation-zero-or-one-to-one.svg index e5af1b92b..05d585d13 100644 --- a/material/.icons/material/relation-zero-or-one-to-one.svg +++ b/material/.icons/material/relation-zero-or-one-to-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-one-to-only-one.svg b/material/.icons/material/relation-zero-or-one-to-only-one.svg index 7fe0eb060..916b80e87 100644 --- a/material/.icons/material/relation-zero-or-one-to-only-one.svg +++ b/material/.icons/material/relation-zero-or-one-to-only-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-one-to-zero-or-many.svg b/material/.icons/material/relation-zero-or-one-to-zero-or-many.svg index 724522e1e..aa6589742 100644 --- a/material/.icons/material/relation-zero-or-one-to-zero-or-many.svg +++ b/material/.icons/material/relation-zero-or-one-to-zero-or-many.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relation-zero-or-one-to-zero-or-one.svg b/material/.icons/material/relation-zero-or-one-to-zero-or-one.svg index a4e131aa6..9f70226d1 100644 --- a/material/.icons/material/relation-zero-or-one-to-zero-or-one.svg +++ b/material/.icons/material/relation-zero-or-one-to-zero-or-one.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/relative-scale.svg b/material/.icons/material/relative-scale.svg index 20dcdbbac..fba7d0dd6 100644 --- a/material/.icons/material/relative-scale.svg +++ b/material/.icons/material/relative-scale.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/reload.svg b/material/.icons/material/reload.svg index dcdaaf531..d40e89634 100644 --- a/material/.icons/material/reload.svg +++ b/material/.icons/material/reload.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/reminder.svg b/material/.icons/material/reminder.svg index f2e19af04..b870d0251 100644 --- a/material/.icons/material/reminder.svg +++ b/material/.icons/material/reminder.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/remote-desktop.svg b/material/.icons/material/remote-desktop.svg index 1c7458f38..6fe6b337d 100644 --- a/material/.icons/material/remote-desktop.svg +++ b/material/.icons/material/remote-desktop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/remote-off.svg b/material/.icons/material/remote-off.svg index 6a2ef597e..7163ae361 100644 --- a/material/.icons/material/remote-off.svg +++ b/material/.icons/material/remote-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/remote-tv-off.svg b/material/.icons/material/remote-tv-off.svg index 0371a6273..183f69435 100644 --- a/material/.icons/material/remote-tv-off.svg +++ b/material/.icons/material/remote-tv-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/remote.svg b/material/.icons/material/remote.svg index c7e94e62d..16d6e58fa 100644 --- a/material/.icons/material/remote.svg +++ b/material/.icons/material/remote.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rename-box.svg b/material/.icons/material/rename-box.svg index 213ac2deb..9af05e23b 100644 --- a/material/.icons/material/rename-box.svg +++ b/material/.icons/material/rename-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/replay.svg b/material/.icons/material/replay.svg index 041c1967e..1b2631a45 100644 --- a/material/.icons/material/replay.svg +++ b/material/.icons/material/replay.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/reproduction.svg b/material/.icons/material/reproduction.svg index 275185162..264fc138b 100644 --- a/material/.icons/material/reproduction.svg +++ b/material/.icons/material/reproduction.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/resistor-nodes.svg b/material/.icons/material/resistor-nodes.svg index 61eed9016..7e057752c 100644 --- a/material/.icons/material/resistor-nodes.svg +++ b/material/.icons/material/resistor-nodes.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/responsive.svg b/material/.icons/material/responsive.svg index b7b054916..dad9dee2e 100644 --- a/material/.icons/material/responsive.svg +++ b/material/.icons/material/responsive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/restore.svg b/material/.icons/material/restore.svg index a80b3089e..566afbfad 100644 --- a/material/.icons/material/restore.svg +++ b/material/.icons/material/restore.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rewind-10.svg b/material/.icons/material/rewind-10.svg index 190d514c6..a633e2a4e 100644 --- a/material/.icons/material/rewind-10.svg +++ b/material/.icons/material/rewind-10.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rewind-30.svg b/material/.icons/material/rewind-30.svg index 527e47e43..b85ad9350 100644 --- a/material/.icons/material/rewind-30.svg +++ b/material/.icons/material/rewind-30.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rewind-5.svg b/material/.icons/material/rewind-5.svg index ea042c9c2..a0be1402b 100644 --- a/material/.icons/material/rewind-5.svg +++ b/material/.icons/material/rewind-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ribbon.svg b/material/.icons/material/ribbon.svg index 26ea9a084..bc998daa6 100644 --- a/material/.icons/material/ribbon.svg +++ b/material/.icons/material/ribbon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rickshaw-electric.svg b/material/.icons/material/rickshaw-electric.svg index 20f161822..bb4a6220b 100644 --- a/material/.icons/material/rickshaw-electric.svg +++ b/material/.icons/material/rickshaw-electric.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rickshaw.svg b/material/.icons/material/rickshaw.svg index 1acc63de8..6873363a0 100644 --- a/material/.icons/material/rickshaw.svg +++ b/material/.icons/material/rickshaw.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ring.svg b/material/.icons/material/ring.svg index 089ca1ec3..fc60662a9 100644 --- a/material/.icons/material/ring.svg +++ b/material/.icons/material/ring.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-angry-outline.svg b/material/.icons/material/robot-angry-outline.svg index c04bb55c2..bd5f296c6 100644 --- a/material/.icons/material/robot-angry-outline.svg +++ b/material/.icons/material/robot-angry-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-angry.svg b/material/.icons/material/robot-angry.svg index 91d38a55c..2dd73f09e 100644 --- a/material/.icons/material/robot-angry.svg +++ b/material/.icons/material/robot-angry.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-confused-outline.svg b/material/.icons/material/robot-confused-outline.svg index d51b0329a..5564e50ca 100644 --- a/material/.icons/material/robot-confused-outline.svg +++ b/material/.icons/material/robot-confused-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-confused.svg b/material/.icons/material/robot-confused.svg index fcf9eb46a..a1e4ff27e 100644 --- a/material/.icons/material/robot-confused.svg +++ b/material/.icons/material/robot-confused.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-dead-outline.svg b/material/.icons/material/robot-dead-outline.svg index 0467bda7a..8395280ad 100644 --- a/material/.icons/material/robot-dead-outline.svg +++ b/material/.icons/material/robot-dead-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-dead.svg b/material/.icons/material/robot-dead.svg index c8bd0efa7..4990da1dc 100644 --- a/material/.icons/material/robot-dead.svg +++ b/material/.icons/material/robot-dead.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-excited-outline.svg b/material/.icons/material/robot-excited-outline.svg index aa7098a65..e9abfade2 100644 --- a/material/.icons/material/robot-excited-outline.svg +++ b/material/.icons/material/robot-excited-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-excited.svg b/material/.icons/material/robot-excited.svg index ea5ccfecf..504131400 100644 --- a/material/.icons/material/robot-excited.svg +++ b/material/.icons/material/robot-excited.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-happy-outline.svg b/material/.icons/material/robot-happy-outline.svg index 99a989c59..ee053cd91 100644 --- a/material/.icons/material/robot-happy-outline.svg +++ b/material/.icons/material/robot-happy-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-happy.svg b/material/.icons/material/robot-happy.svg index b555eb159..5a7a1f9db 100644 --- a/material/.icons/material/robot-happy.svg +++ b/material/.icons/material/robot-happy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-industrial.svg b/material/.icons/material/robot-industrial.svg index 7e80ff496..30b2ad28e 100644 --- a/material/.icons/material/robot-industrial.svg +++ b/material/.icons/material/robot-industrial.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-love-outline.svg b/material/.icons/material/robot-love-outline.svg index 2371e8990..215660635 100644 --- a/material/.icons/material/robot-love-outline.svg +++ b/material/.icons/material/robot-love-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-love.svg b/material/.icons/material/robot-love.svg index f7804adb8..928749d76 100644 --- a/material/.icons/material/robot-love.svg +++ b/material/.icons/material/robot-love.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-mower-outline.svg b/material/.icons/material/robot-mower-outline.svg index f0eedc8a4..0a4652854 100644 --- a/material/.icons/material/robot-mower-outline.svg +++ b/material/.icons/material/robot-mower-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-mower.svg b/material/.icons/material/robot-mower.svg index 45673894f..965480a48 100644 --- a/material/.icons/material/robot-mower.svg +++ b/material/.icons/material/robot-mower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-off-outline.svg b/material/.icons/material/robot-off-outline.svg index 951457d9a..e9915817f 100644 --- a/material/.icons/material/robot-off-outline.svg +++ b/material/.icons/material/robot-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-off.svg b/material/.icons/material/robot-off.svg index a29a1a573..b01376549 100644 --- a/material/.icons/material/robot-off.svg +++ b/material/.icons/material/robot-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-outline.svg b/material/.icons/material/robot-outline.svg index 84b1c1b45..0addae839 100644 --- a/material/.icons/material/robot-outline.svg +++ b/material/.icons/material/robot-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-vacuum-variant.svg b/material/.icons/material/robot-vacuum-variant.svg index cd65f1de4..e817157de 100644 --- a/material/.icons/material/robot-vacuum-variant.svg +++ b/material/.icons/material/robot-vacuum-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot-vacuum.svg b/material/.icons/material/robot-vacuum.svg index fb4ad134b..f8c0f4ab5 100644 --- a/material/.icons/material/robot-vacuum.svg +++ b/material/.icons/material/robot-vacuum.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/robot.svg b/material/.icons/material/robot.svg index 178d173b6..75b9d9559 100644 --- a/material/.icons/material/robot.svg +++ b/material/.icons/material/robot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rocket-launch-outline.svg b/material/.icons/material/rocket-launch-outline.svg index 990247e99..4cc805c79 100644 --- a/material/.icons/material/rocket-launch-outline.svg +++ b/material/.icons/material/rocket-launch-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rocket-launch.svg b/material/.icons/material/rocket-launch.svg index 3f1b05102..d8e28f753 100644 --- a/material/.icons/material/rocket-launch.svg +++ b/material/.icons/material/rocket-launch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rocket-outline.svg b/material/.icons/material/rocket-outline.svg index b07435b8c..945215226 100644 --- a/material/.icons/material/rocket-outline.svg +++ b/material/.icons/material/rocket-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rocket.svg b/material/.icons/material/rocket.svg index c556436c1..e9906431b 100644 --- a/material/.icons/material/rocket.svg +++ b/material/.icons/material/rocket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rodent.svg b/material/.icons/material/rodent.svg index 54766a894..0cbd26a3e 100644 --- a/material/.icons/material/rodent.svg +++ b/material/.icons/material/rodent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/roller-skate-off.svg b/material/.icons/material/roller-skate-off.svg index 940eb54e3..4de2eaf48 100644 --- a/material/.icons/material/roller-skate-off.svg +++ b/material/.icons/material/roller-skate-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/roller-skate.svg b/material/.icons/material/roller-skate.svg index b8ac5a018..522b1b027 100644 --- a/material/.icons/material/roller-skate.svg +++ b/material/.icons/material/roller-skate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rollerblade-off.svg b/material/.icons/material/rollerblade-off.svg index c78107732..b3b48f9f4 100644 --- a/material/.icons/material/rollerblade-off.svg +++ b/material/.icons/material/rollerblade-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rollerblade.svg b/material/.icons/material/rollerblade.svg index 7777f4903..c6d9cc478 100644 --- a/material/.icons/material/rollerblade.svg +++ b/material/.icons/material/rollerblade.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rollupjs.svg b/material/.icons/material/rollupjs.svg index cec8f6b19..3336b39b6 100644 --- a/material/.icons/material/rollupjs.svg +++ b/material/.icons/material/rollupjs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/room-service-outline.svg b/material/.icons/material/room-service-outline.svg index 969cae62f..d28e6872e 100644 --- a/material/.icons/material/room-service-outline.svg +++ b/material/.icons/material/room-service-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/room-service.svg b/material/.icons/material/room-service.svg index eded9e32f..147150d9e 100644 --- a/material/.icons/material/room-service.svg +++ b/material/.icons/material/room-service.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rotate-3d.svg b/material/.icons/material/rotate-3d.svg index 673935e19..f32568609 100644 --- a/material/.icons/material/rotate-3d.svg +++ b/material/.icons/material/rotate-3d.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rotate-left-variant.svg b/material/.icons/material/rotate-left-variant.svg index c692e6c53..b837a8b9c 100644 --- a/material/.icons/material/rotate-left-variant.svg +++ b/material/.icons/material/rotate-left-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rotate-right-variant.svg b/material/.icons/material/rotate-right-variant.svg index f6c8d1fb0..910573a94 100644 --- a/material/.icons/material/rotate-right-variant.svg +++ b/material/.icons/material/rotate-right-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rotate-right.svg b/material/.icons/material/rotate-right.svg index 07087c068..97ef1a79f 100644 --- a/material/.icons/material/rotate-right.svg +++ b/material/.icons/material/rotate-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rounded-corner.svg b/material/.icons/material/rounded-corner.svg index 90fdbf742..4082bbeb1 100644 --- a/material/.icons/material/rounded-corner.svg +++ b/material/.icons/material/rounded-corner.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/router-network.svg b/material/.icons/material/router-network.svg index 0dc27b2f9..81743a42c 100644 --- a/material/.icons/material/router-network.svg +++ b/material/.icons/material/router-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/router-wireless-settings.svg b/material/.icons/material/router-wireless-settings.svg index a77df799e..d6cc11660 100644 --- a/material/.icons/material/router-wireless-settings.svg +++ b/material/.icons/material/router-wireless-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/router-wireless.svg b/material/.icons/material/router-wireless.svg index 8027c296a..c8df4da59 100644 --- a/material/.icons/material/router-wireless.svg +++ b/material/.icons/material/router-wireless.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/routes.svg b/material/.icons/material/routes.svg index 6103d296c..b09ad04e5 100644 --- a/material/.icons/material/routes.svg +++ b/material/.icons/material/routes.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rowing.svg b/material/.icons/material/rowing.svg index 4e0d1c0e3..e5bd1461e 100644 --- a/material/.icons/material/rowing.svg +++ b/material/.icons/material/rowing.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rss-box.svg b/material/.icons/material/rss-box.svg index 23e494f58..29fd1ff0c 100644 --- a/material/.icons/material/rss-box.svg +++ b/material/.icons/material/rss-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rss-off.svg b/material/.icons/material/rss-off.svg index 4b18b8aa9..489ee7a49 100644 --- a/material/.icons/material/rss-off.svg +++ b/material/.icons/material/rss-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rss.svg b/material/.icons/material/rss.svg index da08a8363..0b27a8db5 100644 --- a/material/.icons/material/rss.svg +++ b/material/.icons/material/rss.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rug.svg b/material/.icons/material/rug.svg index 172e6c04f..8dbb82b6e 100644 --- a/material/.icons/material/rug.svg +++ b/material/.icons/material/rug.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ruler-square-compass.svg b/material/.icons/material/ruler-square-compass.svg index bd884f2af..438b117a7 100644 --- a/material/.icons/material/ruler-square-compass.svg +++ b/material/.icons/material/ruler-square-compass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ruler-square.svg b/material/.icons/material/ruler-square.svg index fa5b5a873..29a336824 100644 --- a/material/.icons/material/ruler-square.svg +++ b/material/.icons/material/ruler-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/run-fast.svg b/material/.icons/material/run-fast.svg index 666c04421..8a1319026 100644 --- a/material/.icons/material/run-fast.svg +++ b/material/.icons/material/run-fast.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/run.svg b/material/.icons/material/run.svg index a6cc315a8..cefb0fe72 100644 --- a/material/.icons/material/run.svg +++ b/material/.icons/material/run.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/rv-truck.svg b/material/.icons/material/rv-truck.svg index 0b273c723..1860bc307 100644 --- a/material/.icons/material/rv-truck.svg +++ b/material/.icons/material/rv-truck.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sack-percent.svg b/material/.icons/material/sack-percent.svg index 7b89ddecf..70a24d32a 100644 --- a/material/.icons/material/sack-percent.svg +++ b/material/.icons/material/sack-percent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/safe.svg b/material/.icons/material/safe.svg index cfa0aa52a..ae573d26b 100644 --- a/material/.icons/material/safe.svg +++ b/material/.icons/material/safe.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/safety-goggles.svg b/material/.icons/material/safety-goggles.svg index e4c90c3a7..439a792dc 100644 --- a/material/.icons/material/safety-goggles.svg +++ b/material/.icons/material/safety-goggles.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sale.svg b/material/.icons/material/sale.svg index 8ad874bdf..796ef7ec2 100644 --- a/material/.icons/material/sale.svg +++ b/material/.icons/material/sale.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/salesforce.svg b/material/.icons/material/salesforce.svg index 457db66ad..67c29675c 100644 --- a/material/.icons/material/salesforce.svg +++ b/material/.icons/material/salesforce.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sass.svg b/material/.icons/material/sass.svg index 310db18be..2ae96feb0 100644 --- a/material/.icons/material/sass.svg +++ b/material/.icons/material/sass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/satellite-uplink.svg b/material/.icons/material/satellite-uplink.svg index 4f921068c..9c0518c6d 100644 --- a/material/.icons/material/satellite-uplink.svg +++ b/material/.icons/material/satellite-uplink.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/satellite-variant.svg b/material/.icons/material/satellite-variant.svg index add9e4706..3800bb62f 100644 --- a/material/.icons/material/satellite-variant.svg +++ b/material/.icons/material/satellite-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/satellite.svg b/material/.icons/material/satellite.svg index 46fd5912c..a8d126e6a 100644 --- a/material/.icons/material/satellite.svg +++ b/material/.icons/material/satellite.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sausage.svg b/material/.icons/material/sausage.svg index de1823097..8cb0937c5 100644 --- a/material/.icons/material/sausage.svg +++ b/material/.icons/material/sausage.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/saw-blade.svg b/material/.icons/material/saw-blade.svg index 50aa9c6d5..de593ff16 100644 --- a/material/.icons/material/saw-blade.svg +++ b/material/.icons/material/saw-blade.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/saxophone.svg b/material/.icons/material/saxophone.svg index 4a72e717a..49ae624f4 100644 --- a/material/.icons/material/saxophone.svg +++ b/material/.icons/material/saxophone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scale-balance.svg b/material/.icons/material/scale-balance.svg index 445c6709c..41e34f9ca 100644 --- a/material/.icons/material/scale-balance.svg +++ b/material/.icons/material/scale-balance.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scale-bathroom.svg b/material/.icons/material/scale-bathroom.svg index aa3f7d09c..e02e7c9ea 100644 --- a/material/.icons/material/scale-bathroom.svg +++ b/material/.icons/material/scale-bathroom.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scale-off.svg b/material/.icons/material/scale-off.svg index edbf35e7f..1c957e242 100644 --- a/material/.icons/material/scale-off.svg +++ b/material/.icons/material/scale-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scale.svg b/material/.icons/material/scale.svg index b01fcf65b..06bda3ab1 100644 --- a/material/.icons/material/scale.svg +++ b/material/.icons/material/scale.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scan-helper.svg b/material/.icons/material/scan-helper.svg index 38c2b2ff7..c65b8ed54 100644 --- a/material/.icons/material/scan-helper.svg +++ b/material/.icons/material/scan-helper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scanner-off.svg b/material/.icons/material/scanner-off.svg index 0550bfa26..02e59a628 100644 --- a/material/.icons/material/scanner-off.svg +++ b/material/.icons/material/scanner-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scanner.svg b/material/.icons/material/scanner.svg index 97d8afc21..835439114 100644 --- a/material/.icons/material/scanner.svg +++ b/material/.icons/material/scanner.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scatter-plot-outline.svg b/material/.icons/material/scatter-plot-outline.svg index 9af3d6027..959c1acb0 100644 --- a/material/.icons/material/scatter-plot-outline.svg +++ b/material/.icons/material/scatter-plot-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scatter-plot.svg b/material/.icons/material/scatter-plot.svg index e6b6054ac..d6656cddd 100644 --- a/material/.icons/material/scatter-plot.svg +++ b/material/.icons/material/scatter-plot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scooter-electric.svg b/material/.icons/material/scooter-electric.svg index 9fb3e465c..6cc94d4bd 100644 --- a/material/.icons/material/scooter-electric.svg +++ b/material/.icons/material/scooter-electric.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/scooter.svg b/material/.icons/material/scooter.svg index fc89a8a54..c6bac4f14 100644 --- a/material/.icons/material/scooter.svg +++ b/material/.icons/material/scooter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/screen-rotation-lock.svg b/material/.icons/material/screen-rotation-lock.svg index 6ed5ece1a..241df049c 100644 --- a/material/.icons/material/screen-rotation-lock.svg +++ b/material/.icons/material/screen-rotation-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/screen-rotation.svg b/material/.icons/material/screen-rotation.svg index 04fc0e0f2..172001817 100644 --- a/material/.icons/material/screen-rotation.svg +++ b/material/.icons/material/screen-rotation.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/screwdriver.svg b/material/.icons/material/screwdriver.svg index b6216ceda..f31f878bb 100644 --- a/material/.icons/material/screwdriver.svg +++ b/material/.icons/material/screwdriver.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/script-outline.svg b/material/.icons/material/script-outline.svg index d5417bd98..900809000 100644 --- a/material/.icons/material/script-outline.svg +++ b/material/.icons/material/script-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/script-text-outline.svg b/material/.icons/material/script-text-outline.svg index aac6e4be0..1029ea75b 100644 --- a/material/.icons/material/script-text-outline.svg +++ b/material/.icons/material/script-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sd.svg b/material/.icons/material/sd.svg index 1c82ecc40..811d52343 100644 --- a/material/.icons/material/sd.svg +++ b/material/.icons/material/sd.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seal-variant.svg b/material/.icons/material/seal-variant.svg index 269c38930..ad7b247f5 100644 --- a/material/.icons/material/seal-variant.svg +++ b/material/.icons/material/seal-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seal.svg b/material/.icons/material/seal.svg index 2b412e2b5..d382fded4 100644 --- a/material/.icons/material/seal.svg +++ b/material/.icons/material/seal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/search-web.svg b/material/.icons/material/search-web.svg index 5b4d5e23a..e8ae5b6ef 100644 --- a/material/.icons/material/search-web.svg +++ b/material/.icons/material/search-web.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seat-flat.svg b/material/.icons/material/seat-flat.svg index 87b564ee5..653a1d587 100644 --- a/material/.icons/material/seat-flat.svg +++ b/material/.icons/material/seat-flat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seat-individual-suite.svg b/material/.icons/material/seat-individual-suite.svg index 00b402659..c53285f54 100644 --- a/material/.icons/material/seat-individual-suite.svg +++ b/material/.icons/material/seat-individual-suite.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seat-legroom-extra.svg b/material/.icons/material/seat-legroom-extra.svg index 9b21c8858..7ff49a316 100644 --- a/material/.icons/material/seat-legroom-extra.svg +++ b/material/.icons/material/seat-legroom-extra.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seat-legroom-normal.svg b/material/.icons/material/seat-legroom-normal.svg index 4c03e5230..13dc22434 100644 --- a/material/.icons/material/seat-legroom-normal.svg +++ b/material/.icons/material/seat-legroom-normal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seat-legroom-reduced.svg b/material/.icons/material/seat-legroom-reduced.svg index 2a56ce86d..6b8a644dd 100644 --- a/material/.icons/material/seat-legroom-reduced.svg +++ b/material/.icons/material/seat-legroom-reduced.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seat-outline.svg b/material/.icons/material/seat-outline.svg index 61cf26cff..bfa1fd1e5 100644 --- a/material/.icons/material/seat-outline.svg +++ b/material/.icons/material/seat-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seat-recline-extra.svg b/material/.icons/material/seat-recline-extra.svg index ec596d0bc..cd073f47a 100644 --- a/material/.icons/material/seat-recline-extra.svg +++ b/material/.icons/material/seat-recline-extra.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seat-recline-normal.svg b/material/.icons/material/seat-recline-normal.svg index 4bc9b003a..2b3ca1a45 100644 --- a/material/.icons/material/seat-recline-normal.svg +++ b/material/.icons/material/seat-recline-normal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seat.svg b/material/.icons/material/seat.svg index 91b74e58a..d9a7e7eac 100644 --- a/material/.icons/material/seat.svg +++ b/material/.icons/material/seat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/seatbelt.svg b/material/.icons/material/seatbelt.svg index f68808b03..ca6b7a7bd 100644 --- a/material/.icons/material/seatbelt.svg +++ b/material/.icons/material/seatbelt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/security-network.svg b/material/.icons/material/security-network.svg index 86d071952..12ed9e7b0 100644 --- a/material/.icons/material/security-network.svg +++ b/material/.icons/material/security-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/select-all.svg b/material/.icons/material/select-all.svg index 48ce47b1a..d8a79d176 100644 --- a/material/.icons/material/select-all.svg +++ b/material/.icons/material/select-all.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/select-color.svg b/material/.icons/material/select-color.svg index 5be7ed6f5..993cc2c82 100644 --- a/material/.icons/material/select-color.svg +++ b/material/.icons/material/select-color.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/select-compare.svg b/material/.icons/material/select-compare.svg index a7e3efe59..192d918d2 100644 --- a/material/.icons/material/select-compare.svg +++ b/material/.icons/material/select-compare.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/select-group.svg b/material/.icons/material/select-group.svg index bfa1f5311..5a6119167 100644 --- a/material/.icons/material/select-group.svg +++ b/material/.icons/material/select-group.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/select-off.svg b/material/.icons/material/select-off.svg index 29c1b6712..1e4509db0 100644 --- a/material/.icons/material/select-off.svg +++ b/material/.icons/material/select-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/select-search.svg b/material/.icons/material/select-search.svg index dc48e4e2e..bf2f133a5 100644 --- a/material/.icons/material/select-search.svg +++ b/material/.icons/material/select-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/select.svg b/material/.icons/material/select.svg index 50090a759..9e99b9efa 100644 --- a/material/.icons/material/select.svg +++ b/material/.icons/material/select.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/selection-ellipse-arrow-inside.svg b/material/.icons/material/selection-ellipse-arrow-inside.svg index 705e1ca1f..b29bf4245 100644 --- a/material/.icons/material/selection-ellipse-arrow-inside.svg +++ b/material/.icons/material/selection-ellipse-arrow-inside.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/selection-ellipse.svg b/material/.icons/material/selection-ellipse.svg index 58279c6e6..20f00cdcf 100644 --- a/material/.icons/material/selection-ellipse.svg +++ b/material/.icons/material/selection-ellipse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/selection-marker.svg b/material/.icons/material/selection-marker.svg index 5a6d482cc..fc1748cc2 100644 --- a/material/.icons/material/selection-marker.svg +++ b/material/.icons/material/selection-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/selection-multiple.svg b/material/.icons/material/selection-multiple.svg index f121223a6..78d4f81fd 100644 --- a/material/.icons/material/selection-multiple.svg +++ b/material/.icons/material/selection-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/selection-off.svg b/material/.icons/material/selection-off.svg index 5ca350e22..98ce5d3fc 100644 --- a/material/.icons/material/selection-off.svg +++ b/material/.icons/material/selection-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/selection-search.svg b/material/.icons/material/selection-search.svg index 835da6141..a3cef2992 100644 --- a/material/.icons/material/selection-search.svg +++ b/material/.icons/material/selection-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/selection.svg b/material/.icons/material/selection.svg index 473cb3614..0bc28f22a 100644 --- a/material/.icons/material/selection.svg +++ b/material/.icons/material/selection.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/send-circle-outline.svg b/material/.icons/material/send-circle-outline.svg index d5494eb1a..cf34bc70c 100644 --- a/material/.icons/material/send-circle-outline.svg +++ b/material/.icons/material/send-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/send-circle.svg b/material/.icons/material/send-circle.svg index 2cca921b0..4d9f7579a 100644 --- a/material/.icons/material/send-circle.svg +++ b/material/.icons/material/send-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/send-clock-outline.svg b/material/.icons/material/send-clock-outline.svg index 50d5cd559..ff00af0a6 100644 --- a/material/.icons/material/send-clock-outline.svg +++ b/material/.icons/material/send-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/send-clock.svg b/material/.icons/material/send-clock.svg index 842b49c31..ea0c127fb 100644 --- a/material/.icons/material/send-clock.svg +++ b/material/.icons/material/send-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/send-lock-outline.svg b/material/.icons/material/send-lock-outline.svg index 65d2c0d3b..29901d114 100644 --- a/material/.icons/material/send-lock-outline.svg +++ b/material/.icons/material/send-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/send-lock.svg b/material/.icons/material/send-lock.svg index 4974cdab5..a8d608c38 100644 --- a/material/.icons/material/send-lock.svg +++ b/material/.icons/material/send-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/server-minus.svg b/material/.icons/material/server-minus.svg index bf5551ffd..b80e10cac 100644 --- a/material/.icons/material/server-minus.svg +++ b/material/.icons/material/server-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/server-network-off.svg b/material/.icons/material/server-network-off.svg index fe762280c..32ffc48e6 100644 --- a/material/.icons/material/server-network-off.svg +++ b/material/.icons/material/server-network-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/server-network.svg b/material/.icons/material/server-network.svg index afcf29d95..7f177f594 100644 --- a/material/.icons/material/server-network.svg +++ b/material/.icons/material/server-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/server-off.svg b/material/.icons/material/server-off.svg index e2bd942b2..a50eedcae 100644 --- a/material/.icons/material/server-off.svg +++ b/material/.icons/material/server-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/server-plus.svg b/material/.icons/material/server-plus.svg index 27c65b66f..41e523325 100644 --- a/material/.icons/material/server-plus.svg +++ b/material/.icons/material/server-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/server-remove.svg b/material/.icons/material/server-remove.svg index a03af6f0c..6554edfe7 100644 --- a/material/.icons/material/server-remove.svg +++ b/material/.icons/material/server-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/server-security.svg b/material/.icons/material/server-security.svg index 9db5d3f57..d00721de9 100644 --- a/material/.icons/material/server-security.svg +++ b/material/.icons/material/server-security.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/server.svg b/material/.icons/material/server.svg index 8cfd2eda4..1fedc2ad0 100644 --- a/material/.icons/material/server.svg +++ b/material/.icons/material/server.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/set-all.svg b/material/.icons/material/set-all.svg index 8aeae1564..ae1a035d0 100644 --- a/material/.icons/material/set-all.svg +++ b/material/.icons/material/set-all.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/set-center-right.svg b/material/.icons/material/set-center-right.svg index 8dc28f54f..7e689f103 100644 --- a/material/.icons/material/set-center-right.svg +++ b/material/.icons/material/set-center-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/set-center.svg b/material/.icons/material/set-center.svg index d41ea1887..fd088d82d 100644 --- a/material/.icons/material/set-center.svg +++ b/material/.icons/material/set-center.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/set-left-center.svg b/material/.icons/material/set-left-center.svg index 57c0063ae..e6eb1e109 100644 --- a/material/.icons/material/set-left-center.svg +++ b/material/.icons/material/set-left-center.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/set-left-right.svg b/material/.icons/material/set-left-right.svg index 1d97c6304..1e3bf955c 100644 --- a/material/.icons/material/set-left-right.svg +++ b/material/.icons/material/set-left-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/set-left.svg b/material/.icons/material/set-left.svg index a46b9df14..feb630e16 100644 --- a/material/.icons/material/set-left.svg +++ b/material/.icons/material/set-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/set-none.svg b/material/.icons/material/set-none.svg index c1e1ea4db..ef7f81bca 100644 --- a/material/.icons/material/set-none.svg +++ b/material/.icons/material/set-none.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/set-right.svg b/material/.icons/material/set-right.svg index 070e6d1e0..e60b067c0 100644 --- a/material/.icons/material/set-right.svg +++ b/material/.icons/material/set-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/set-top-box.svg b/material/.icons/material/set-top-box.svg index 0afdd3ea7..046c1f533 100644 --- a/material/.icons/material/set-top-box.svg +++ b/material/.icons/material/set-top-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shaker-outline.svg b/material/.icons/material/shaker-outline.svg index 37ac2d172..6b7836f9c 100644 --- a/material/.icons/material/shaker-outline.svg +++ b/material/.icons/material/shaker-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shaker.svg b/material/.icons/material/shaker.svg index 7c9a98370..b6c9f6691 100644 --- a/material/.icons/material/shaker.svg +++ b/material/.icons/material/shaker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shape-circle-plus.svg b/material/.icons/material/shape-circle-plus.svg index 792a80b93..867a2dd77 100644 --- a/material/.icons/material/shape-circle-plus.svg +++ b/material/.icons/material/shape-circle-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shape-outline.svg b/material/.icons/material/shape-outline.svg index e3795ed19..3e6a1ff92 100644 --- a/material/.icons/material/shape-outline.svg +++ b/material/.icons/material/shape-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shape-square-rounded-plus.svg b/material/.icons/material/shape-square-rounded-plus.svg index 5062f0d54..47b85d108 100644 --- a/material/.icons/material/shape-square-rounded-plus.svg +++ b/material/.icons/material/shape-square-rounded-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/share-variant.svg b/material/.icons/material/share-variant.svg index 8e04e7c77..826a24fa1 100644 --- a/material/.icons/material/share-variant.svg +++ b/material/.icons/material/share-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sheep.svg b/material/.icons/material/sheep.svg index a4ea77855..0a2df9c52 100644 --- a/material/.icons/material/sheep.svg +++ b/material/.icons/material/sheep.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-account-outline.svg b/material/.icons/material/shield-account-outline.svg index 4f470af21..d1b656b39 100644 --- a/material/.icons/material/shield-account-outline.svg +++ b/material/.icons/material/shield-account-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-account.svg b/material/.icons/material/shield-account.svg index c0acdef39..10d97a16b 100644 --- a/material/.icons/material/shield-account.svg +++ b/material/.icons/material/shield-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-key-outline.svg b/material/.icons/material/shield-key-outline.svg index c38dd8eaf..a120ecbfd 100644 --- a/material/.icons/material/shield-key-outline.svg +++ b/material/.icons/material/shield-key-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-key.svg b/material/.icons/material/shield-key.svg index 69d08e6ed..408ab63ef 100644 --- a/material/.icons/material/shield-key.svg +++ b/material/.icons/material/shield-key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-link-variant-outline.svg b/material/.icons/material/shield-link-variant-outline.svg index 1f9b8af22..ade8145b7 100644 --- a/material/.icons/material/shield-link-variant-outline.svg +++ b/material/.icons/material/shield-link-variant-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-link-variant.svg b/material/.icons/material/shield-link-variant.svg index 2a6f52585..60bda96d3 100644 --- a/material/.icons/material/shield-link-variant.svg +++ b/material/.icons/material/shield-link-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-plus.svg b/material/.icons/material/shield-plus.svg index 099994ea5..0407760d5 100644 --- a/material/.icons/material/shield-plus.svg +++ b/material/.icons/material/shield-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-remove.svg b/material/.icons/material/shield-remove.svg index c61545319..1095dba79 100644 --- a/material/.icons/material/shield-remove.svg +++ b/material/.icons/material/shield-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-search.svg b/material/.icons/material/shield-search.svg index 43568d9c5..5cba135f6 100644 --- a/material/.icons/material/shield-search.svg +++ b/material/.icons/material/shield-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-sync-outline.svg b/material/.icons/material/shield-sync-outline.svg index 39200be83..dfa162809 100644 --- a/material/.icons/material/shield-sync-outline.svg +++ b/material/.icons/material/shield-sync-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shield-sync.svg b/material/.icons/material/shield-sync.svg index aadd011fb..bd96f639c 100644 --- a/material/.icons/material/shield-sync.svg +++ b/material/.icons/material/shield-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ship-wheel.svg b/material/.icons/material/ship-wheel.svg index 55ea6820d..8f511b3fc 100644 --- a/material/.icons/material/ship-wheel.svg +++ b/material/.icons/material/ship-wheel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shoe-ballet.svg b/material/.icons/material/shoe-ballet.svg index 054b107ab..25208c9f5 100644 --- a/material/.icons/material/shoe-ballet.svg +++ b/material/.icons/material/shoe-ballet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shoe-formal.svg b/material/.icons/material/shoe-formal.svg index e6bac686a..3b6a7b5f5 100644 --- a/material/.icons/material/shoe-formal.svg +++ b/material/.icons/material/shoe-formal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shopping-music.svg b/material/.icons/material/shopping-music.svg index 0c10c4368..11ac75983 100644 --- a/material/.icons/material/shopping-music.svg +++ b/material/.icons/material/shopping-music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shopping-search.svg b/material/.icons/material/shopping-search.svg index 6cbe4f33a..a819ecd20 100644 --- a/material/.icons/material/shopping-search.svg +++ b/material/.icons/material/shopping-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shopping.svg b/material/.icons/material/shopping.svg index 9226448fc..24637b142 100644 --- a/material/.icons/material/shopping.svg +++ b/material/.icons/material/shopping.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shovel-off.svg b/material/.icons/material/shovel-off.svg index f93993920..13ad0e89f 100644 --- a/material/.icons/material/shovel-off.svg +++ b/material/.icons/material/shovel-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shower-head.svg b/material/.icons/material/shower-head.svg index 0322aee05..c421beb6b 100644 --- a/material/.icons/material/shower-head.svg +++ b/material/.icons/material/shower-head.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shower.svg b/material/.icons/material/shower.svg index d66329360..c5288cc61 100644 --- a/material/.icons/material/shower.svg +++ b/material/.icons/material/shower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/shredder.svg b/material/.icons/material/shredder.svg index 02de69fa6..a9be2d872 100644 --- a/material/.icons/material/shredder.svg +++ b/material/.icons/material/shredder.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sigma-lower.svg b/material/.icons/material/sigma-lower.svg index 1db6e1503..9629ce32f 100644 --- a/material/.icons/material/sigma-lower.svg +++ b/material/.icons/material/sigma-lower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sign-direction-minus.svg b/material/.icons/material/sign-direction-minus.svg index aa6f9b83d..fe2794308 100644 --- a/material/.icons/material/sign-direction-minus.svg +++ b/material/.icons/material/sign-direction-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sign-direction-plus.svg b/material/.icons/material/sign-direction-plus.svg index b74d8f5c0..f28292c11 100644 --- a/material/.icons/material/sign-direction-plus.svg +++ b/material/.icons/material/sign-direction-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sign-direction-remove.svg b/material/.icons/material/sign-direction-remove.svg index 8a92d5528..67aa7aa94 100644 --- a/material/.icons/material/sign-direction-remove.svg +++ b/material/.icons/material/sign-direction-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sign-direction.svg b/material/.icons/material/sign-direction.svg index 252bb64af..0d791d3d2 100644 --- a/material/.icons/material/sign-direction.svg +++ b/material/.icons/material/sign-direction.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sign-pole.svg b/material/.icons/material/sign-pole.svg index 4b3a68ae1..ab8cdae1f 100644 --- a/material/.icons/material/sign-pole.svg +++ b/material/.icons/material/sign-pole.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sign-real-estate.svg b/material/.icons/material/sign-real-estate.svg index 99e60aa61..6992ff928 100644 --- a/material/.icons/material/sign-real-estate.svg +++ b/material/.icons/material/sign-real-estate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sign-text.svg b/material/.icons/material/sign-text.svg index 8e69635f2..6463a39d7 100644 --- a/material/.icons/material/sign-text.svg +++ b/material/.icons/material/sign-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/signal-2g.svg b/material/.icons/material/signal-2g.svg index 370c9d864..26016ab0f 100644 --- a/material/.icons/material/signal-2g.svg +++ b/material/.icons/material/signal-2g.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/signal-3g.svg b/material/.icons/material/signal-3g.svg index 28f9c958d..44a08661e 100644 --- a/material/.icons/material/signal-3g.svg +++ b/material/.icons/material/signal-3g.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/signal-4g.svg b/material/.icons/material/signal-4g.svg index 37bce3164..807a1ddcd 100644 --- a/material/.icons/material/signal-4g.svg +++ b/material/.icons/material/signal-4g.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/signal-5g.svg b/material/.icons/material/signal-5g.svg index 1e6f373de..3cc671108 100644 --- a/material/.icons/material/signal-5g.svg +++ b/material/.icons/material/signal-5g.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/signal-distance-variant.svg b/material/.icons/material/signal-distance-variant.svg index afd4664f6..2b70126a1 100644 --- a/material/.icons/material/signal-distance-variant.svg +++ b/material/.icons/material/signal-distance-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/signal-variant.svg b/material/.icons/material/signal-variant.svg index 4667276c7..7b51f6375 100644 --- a/material/.icons/material/signal-variant.svg +++ b/material/.icons/material/signal-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/signature-image.svg b/material/.icons/material/signature-image.svg index 45569fd8f..25d9cbcad 100644 --- a/material/.icons/material/signature-image.svg +++ b/material/.icons/material/signature-image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/silo.svg b/material/.icons/material/silo.svg index 9bd392db0..4015d0329 100644 --- a/material/.icons/material/silo.svg +++ b/material/.icons/material/silo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/silverware-clean.svg b/material/.icons/material/silverware-clean.svg index 6c06dbffb..d1208dd4b 100644 --- a/material/.icons/material/silverware-clean.svg +++ b/material/.icons/material/silverware-clean.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/silverware-fork.svg b/material/.icons/material/silverware-fork.svg index b672e0d73..6cb4e9364 100644 --- a/material/.icons/material/silverware-fork.svg +++ b/material/.icons/material/silverware-fork.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/silverware-variant.svg b/material/.icons/material/silverware-variant.svg index 0c6f3ce97..05183c030 100644 --- a/material/.icons/material/silverware-variant.svg +++ b/material/.icons/material/silverware-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/silverware.svg b/material/.icons/material/silverware.svg index a07cb9dcc..3c9e3f370 100644 --- a/material/.icons/material/silverware.svg +++ b/material/.icons/material/silverware.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sim-off-outline.svg b/material/.icons/material/sim-off-outline.svg index f8b1e8ed3..b3ac520e4 100644 --- a/material/.icons/material/sim-off-outline.svg +++ b/material/.icons/material/sim-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sim-off.svg b/material/.icons/material/sim-off.svg index 09616db30..42835f6a2 100644 --- a/material/.icons/material/sim-off.svg +++ b/material/.icons/material/sim-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sim.svg b/material/.icons/material/sim.svg index d32de7f18..c3f66f83c 100644 --- a/material/.icons/material/sim.svg +++ b/material/.icons/material/sim.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/simple-icons.svg b/material/.icons/material/simple-icons.svg index 47a6e2602..606e3b543 100644 --- a/material/.icons/material/simple-icons.svg +++ b/material/.icons/material/simple-icons.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sina-weibo.svg b/material/.icons/material/sina-weibo.svg index 4432fd5f5..fd66967cb 100644 --- a/material/.icons/material/sina-weibo.svg +++ b/material/.icons/material/sina-weibo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/size-m.svg b/material/.icons/material/size-m.svg index 7d9ed988d..4f897c98c 100644 --- a/material/.icons/material/size-m.svg +++ b/material/.icons/material/size-m.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/size-s.svg b/material/.icons/material/size-s.svg index 57bcd5012..cb88b2a98 100644 --- a/material/.icons/material/size-s.svg +++ b/material/.icons/material/size-s.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/size-xs.svg b/material/.icons/material/size-xs.svg index 19e5b5df8..703ddf44f 100644 --- a/material/.icons/material/size-xs.svg +++ b/material/.icons/material/size-xs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/size-xxs.svg b/material/.icons/material/size-xxs.svg index 2210b6d71..7359f5d47 100644 --- a/material/.icons/material/size-xxs.svg +++ b/material/.icons/material/size-xxs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/size-xxxl.svg b/material/.icons/material/size-xxxl.svg index 2e05745e3..d52c5beb3 100644 --- a/material/.icons/material/size-xxxl.svg +++ b/material/.icons/material/size-xxxl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/skip-next-circle-outline.svg b/material/.icons/material/skip-next-circle-outline.svg index 845662a96..1f78f7b03 100644 --- a/material/.icons/material/skip-next-circle-outline.svg +++ b/material/.icons/material/skip-next-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/skip-next-circle.svg b/material/.icons/material/skip-next-circle.svg index 5ef819e87..dabcaee65 100644 --- a/material/.icons/material/skip-next-circle.svg +++ b/material/.icons/material/skip-next-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/skip-previous-circle-outline.svg b/material/.icons/material/skip-previous-circle-outline.svg index 1570437e9..57549509b 100644 --- a/material/.icons/material/skip-previous-circle-outline.svg +++ b/material/.icons/material/skip-previous-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/skip-previous-circle.svg b/material/.icons/material/skip-previous-circle.svg index df61e8c06..9e6b2b687 100644 --- a/material/.icons/material/skip-previous-circle.svg +++ b/material/.icons/material/skip-previous-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/skull-crossbones.svg b/material/.icons/material/skull-crossbones.svg index db4b96715..4c2a4fc65 100644 --- a/material/.icons/material/skull-crossbones.svg +++ b/material/.icons/material/skull-crossbones.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/skull-outline.svg b/material/.icons/material/skull-outline.svg index e923413dd..d5cda89d4 100644 --- a/material/.icons/material/skull-outline.svg +++ b/material/.icons/material/skull-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/skull.svg b/material/.icons/material/skull.svg index 2d89ceed8..5d28455cc 100644 --- a/material/.icons/material/skull.svg +++ b/material/.icons/material/skull.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/skype-business.svg b/material/.icons/material/skype-business.svg index 7af3c919a..2eb33b907 100644 --- a/material/.icons/material/skype-business.svg +++ b/material/.icons/material/skype-business.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/skype.svg b/material/.icons/material/skype.svg index efce472c5..ca492cb63 100644 --- a/material/.icons/material/skype.svg +++ b/material/.icons/material/skype.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/slack.svg b/material/.icons/material/slack.svg index 33c9e2cab..b9380d1af 100644 --- a/material/.icons/material/slack.svg +++ b/material/.icons/material/slack.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/slope-downhill.svg b/material/.icons/material/slope-downhill.svg index 89c3da137..4e28c8b50 100644 --- a/material/.icons/material/slope-downhill.svg +++ b/material/.icons/material/slope-downhill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/slope-uphill.svg b/material/.icons/material/slope-uphill.svg index 1bd5527ba..ece6037d4 100644 --- a/material/.icons/material/slope-uphill.svg +++ b/material/.icons/material/slope-uphill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smart-card-outline.svg b/material/.icons/material/smart-card-outline.svg index 5a1de423d..037e1c1d6 100644 --- a/material/.icons/material/smart-card-outline.svg +++ b/material/.icons/material/smart-card-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smart-card-reader-outline.svg b/material/.icons/material/smart-card-reader-outline.svg index 3d0dab549..23af17656 100644 --- a/material/.icons/material/smart-card-reader-outline.svg +++ b/material/.icons/material/smart-card-reader-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smart-card-reader.svg b/material/.icons/material/smart-card-reader.svg index c4c577f54..809c1ccec 100644 --- a/material/.icons/material/smart-card-reader.svg +++ b/material/.icons/material/smart-card-reader.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smart-card.svg b/material/.icons/material/smart-card.svg index 5ac9dff9c..dc0e3722a 100644 --- a/material/.icons/material/smart-card.svg +++ b/material/.icons/material/smart-card.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smog.svg b/material/.icons/material/smog.svg index 57bbb8a43..1062db220 100644 --- a/material/.icons/material/smog.svg +++ b/material/.icons/material/smog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smoke-detector.svg b/material/.icons/material/smoke-detector.svg index 13883c9d8..284da5071 100644 --- a/material/.icons/material/smoke-detector.svg +++ b/material/.icons/material/smoke-detector.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smoking-off.svg b/material/.icons/material/smoking-off.svg index 06ffe27a0..f273cad39 100644 --- a/material/.icons/material/smoking-off.svg +++ b/material/.icons/material/smoking-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smoking-pipe-off.svg b/material/.icons/material/smoking-pipe-off.svg index d4f44691c..7c392bf85 100644 --- a/material/.icons/material/smoking-pipe-off.svg +++ b/material/.icons/material/smoking-pipe-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smoking-pipe.svg b/material/.icons/material/smoking-pipe.svg index 878f38fa5..6ab8e3fb3 100644 --- a/material/.icons/material/smoking-pipe.svg +++ b/material/.icons/material/smoking-pipe.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/smoking.svg b/material/.icons/material/smoking.svg index 19069736e..70211e096 100644 --- a/material/.icons/material/smoking.svg +++ b/material/.icons/material/smoking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/snail.svg b/material/.icons/material/snail.svg index e014c4fe7..819352da6 100644 --- a/material/.icons/material/snail.svg +++ b/material/.icons/material/snail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/snake.svg b/material/.icons/material/snake.svg index 6fe2fd44d..202a039bf 100644 --- a/material/.icons/material/snake.svg +++ b/material/.icons/material/snake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/snapchat.svg b/material/.icons/material/snapchat.svg index 27fac2e2c..c8bb706c9 100644 --- a/material/.icons/material/snapchat.svg +++ b/material/.icons/material/snapchat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/snowman.svg b/material/.icons/material/snowman.svg index 108852be9..bc318cfb0 100644 --- a/material/.icons/material/snowman.svg +++ b/material/.icons/material/snowman.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/soccer-field.svg b/material/.icons/material/soccer-field.svg index 94cbb8fb1..ac6d317e9 100644 --- a/material/.icons/material/soccer-field.svg +++ b/material/.icons/material/soccer-field.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/soccer.svg b/material/.icons/material/soccer.svg index 350e57e08..2e9313ece 100644 --- a/material/.icons/material/soccer.svg +++ b/material/.icons/material/soccer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sofa-single.svg b/material/.icons/material/sofa-single.svg index 5f06932dc..e708c0d15 100644 --- a/material/.icons/material/sofa-single.svg +++ b/material/.icons/material/sofa-single.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sofa.svg b/material/.icons/material/sofa.svg index a884cfad2..3ef89eee9 100644 --- a/material/.icons/material/sofa.svg +++ b/material/.icons/material/sofa.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/solar-panel-large.svg b/material/.icons/material/solar-panel-large.svg index 4314a6a65..ca3bdd943 100644 --- a/material/.icons/material/solar-panel-large.svg +++ b/material/.icons/material/solar-panel-large.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/solar-panel.svg b/material/.icons/material/solar-panel.svg index 350e7abcc..1baf1c34d 100644 --- a/material/.icons/material/solar-panel.svg +++ b/material/.icons/material/solar-panel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sort-alphabetical-ascending.svg b/material/.icons/material/sort-alphabetical-ascending.svg index 3c8bc9852..8495c0eb6 100644 --- a/material/.icons/material/sort-alphabetical-ascending.svg +++ b/material/.icons/material/sort-alphabetical-ascending.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sort-alphabetical-descending.svg b/material/.icons/material/sort-alphabetical-descending.svg index 1873c422d..62f05cec4 100644 --- a/material/.icons/material/sort-alphabetical-descending.svg +++ b/material/.icons/material/sort-alphabetical-descending.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sort-numeric-ascending.svg b/material/.icons/material/sort-numeric-ascending.svg index 10b4ddd97..5c56afdd7 100644 --- a/material/.icons/material/sort-numeric-ascending.svg +++ b/material/.icons/material/sort-numeric-ascending.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sort-numeric-descending.svg b/material/.icons/material/sort-numeric-descending.svg index ba0cf411d..6c7a3d8ef 100644 --- a/material/.icons/material/sort-numeric-descending.svg +++ b/material/.icons/material/sort-numeric-descending.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sort-variant-lock-open.svg b/material/.icons/material/sort-variant-lock-open.svg index b2a3a2973..50b3ddea1 100644 --- a/material/.icons/material/sort-variant-lock-open.svg +++ b/material/.icons/material/sort-variant-lock-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sort-variant-lock.svg b/material/.icons/material/sort-variant-lock.svg index c43f2dcd5..e68d1a334 100644 --- a/material/.icons/material/sort-variant-lock.svg +++ b/material/.icons/material/sort-variant-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-branch-check.svg b/material/.icons/material/source-branch-check.svg index 0de1f1ac0..6d7b9af3f 100644 --- a/material/.icons/material/source-branch-check.svg +++ b/material/.icons/material/source-branch-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-branch-minus.svg b/material/.icons/material/source-branch-minus.svg index 5053253c3..c0107a867 100644 --- a/material/.icons/material/source-branch-minus.svg +++ b/material/.icons/material/source-branch-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-branch-plus.svg b/material/.icons/material/source-branch-plus.svg index 243e3278a..9acfd64d8 100644 --- a/material/.icons/material/source-branch-plus.svg +++ b/material/.icons/material/source-branch-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-branch-refresh.svg b/material/.icons/material/source-branch-refresh.svg index efb228128..6b6687e14 100644 --- a/material/.icons/material/source-branch-refresh.svg +++ b/material/.icons/material/source-branch-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-branch-remove.svg b/material/.icons/material/source-branch-remove.svg index 693e45f7b..007aee299 100644 --- a/material/.icons/material/source-branch-remove.svg +++ b/material/.icons/material/source-branch-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-branch-sync.svg b/material/.icons/material/source-branch-sync.svg index 324bad349..9b5734ac7 100644 --- a/material/.icons/material/source-branch-sync.svg +++ b/material/.icons/material/source-branch-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-branch.svg b/material/.icons/material/source-branch.svg index 6fdbedf2c..3d656aee9 100644 --- a/material/.icons/material/source-branch.svg +++ b/material/.icons/material/source-branch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-commit-end-local.svg b/material/.icons/material/source-commit-end-local.svg index c823550bc..c26f632f9 100644 --- a/material/.icons/material/source-commit-end-local.svg +++ b/material/.icons/material/source-commit-end-local.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-commit-end.svg b/material/.icons/material/source-commit-end.svg index 24df2c793..e3c37a992 100644 --- a/material/.icons/material/source-commit-end.svg +++ b/material/.icons/material/source-commit-end.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-commit-local.svg b/material/.icons/material/source-commit-local.svg index 28a2b70fd..838fb870c 100644 --- a/material/.icons/material/source-commit-local.svg +++ b/material/.icons/material/source-commit-local.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-commit-next-local.svg b/material/.icons/material/source-commit-next-local.svg index 87c26449f..5d57b17c0 100644 --- a/material/.icons/material/source-commit-next-local.svg +++ b/material/.icons/material/source-commit-next-local.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-commit-start-next-local.svg b/material/.icons/material/source-commit-start-next-local.svg index 4e20664d7..0e0361a7d 100644 --- a/material/.icons/material/source-commit-start-next-local.svg +++ b/material/.icons/material/source-commit-start-next-local.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-commit-start.svg b/material/.icons/material/source-commit-start.svg index 87a373ec8..ebcb74236 100644 --- a/material/.icons/material/source-commit-start.svg +++ b/material/.icons/material/source-commit-start.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-commit.svg b/material/.icons/material/source-commit.svg index 4c786c08e..02c9220f2 100644 --- a/material/.icons/material/source-commit.svg +++ b/material/.icons/material/source-commit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-fork.svg b/material/.icons/material/source-fork.svg index bc8ac6cd5..f8e89b698 100644 --- a/material/.icons/material/source-fork.svg +++ b/material/.icons/material/source-fork.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-merge.svg b/material/.icons/material/source-merge.svg index 4a6618993..2f3583b10 100644 --- a/material/.icons/material/source-merge.svg +++ b/material/.icons/material/source-merge.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-pull.svg b/material/.icons/material/source-pull.svg index 18e48d102..9dd564156 100644 --- a/material/.icons/material/source-pull.svg +++ b/material/.icons/material/source-pull.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-repository-multiple.svg b/material/.icons/material/source-repository-multiple.svg index 8c1934a96..6eda7d486 100644 --- a/material/.icons/material/source-repository-multiple.svg +++ b/material/.icons/material/source-repository-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/source-repository.svg b/material/.icons/material/source-repository.svg index fbb0d9670..f5085a5d3 100644 --- a/material/.icons/material/source-repository.svg +++ b/material/.icons/material/source-repository.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/soy-sauce.svg b/material/.icons/material/soy-sauce.svg index 03f56713f..87eee0b92 100644 --- a/material/.icons/material/soy-sauce.svg +++ b/material/.icons/material/soy-sauce.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spa-outline.svg b/material/.icons/material/spa-outline.svg index 101bc1b36..0bb09a86f 100644 --- a/material/.icons/material/spa-outline.svg +++ b/material/.icons/material/spa-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spa.svg b/material/.icons/material/spa.svg index bb384bb93..5925bb885 100644 --- a/material/.icons/material/spa.svg +++ b/material/.icons/material/spa.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/speaker-bluetooth.svg b/material/.icons/material/speaker-bluetooth.svg index 5902574ce..9f99a69a7 100644 --- a/material/.icons/material/speaker-bluetooth.svg +++ b/material/.icons/material/speaker-bluetooth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/speaker-multiple.svg b/material/.icons/material/speaker-multiple.svg index a212a759b..da486d7cb 100644 --- a/material/.icons/material/speaker-multiple.svg +++ b/material/.icons/material/speaker-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/speaker-off.svg b/material/.icons/material/speaker-off.svg index 665f1e12a..12f8226df 100644 --- a/material/.icons/material/speaker-off.svg +++ b/material/.icons/material/speaker-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/speaker-wireless.svg b/material/.icons/material/speaker-wireless.svg index 0c415ec9d..f4a698763 100644 --- a/material/.icons/material/speaker-wireless.svg +++ b/material/.icons/material/speaker-wireless.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/speaker.svg b/material/.icons/material/speaker.svg index 0ce24b103..70e9fc407 100644 --- a/material/.icons/material/speaker.svg +++ b/material/.icons/material/speaker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/speedometer-medium.svg b/material/.icons/material/speedometer-medium.svg index cdb982fbc..1edffc5aa 100644 --- a/material/.icons/material/speedometer-medium.svg +++ b/material/.icons/material/speedometer-medium.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/speedometer-slow.svg b/material/.icons/material/speedometer-slow.svg index c1de5d710..a8791da96 100644 --- a/material/.icons/material/speedometer-slow.svg +++ b/material/.icons/material/speedometer-slow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/speedometer.svg b/material/.icons/material/speedometer.svg index 74eab3b5a..851c9ace3 100644 --- a/material/.icons/material/speedometer.svg +++ b/material/.icons/material/speedometer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spider-thread.svg b/material/.icons/material/spider-thread.svg index 573c0a6a1..a8f0b562a 100644 --- a/material/.icons/material/spider-thread.svg +++ b/material/.icons/material/spider-thread.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spider-web.svg b/material/.icons/material/spider-web.svg index d297e60e1..4d73ac76d 100644 --- a/material/.icons/material/spider-web.svg +++ b/material/.icons/material/spider-web.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spider.svg b/material/.icons/material/spider.svg index d0c5e0a68..657f02f13 100644 --- a/material/.icons/material/spider.svg +++ b/material/.icons/material/spider.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spirit-level.svg b/material/.icons/material/spirit-level.svg index a6aacfb52..7f3b1f848 100644 --- a/material/.icons/material/spirit-level.svg +++ b/material/.icons/material/spirit-level.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spotify.svg b/material/.icons/material/spotify.svg index 3cf61dfc4..0f6ef29db 100644 --- a/material/.icons/material/spotify.svg +++ b/material/.icons/material/spotify.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spotlight.svg b/material/.icons/material/spotlight.svg index c3a314fd6..e944fb14d 100644 --- a/material/.icons/material/spotlight.svg +++ b/material/.icons/material/spotlight.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spray-bottle.svg b/material/.icons/material/spray-bottle.svg index 1a1a7487f..78f4059ef 100644 --- a/material/.icons/material/spray-bottle.svg +++ b/material/.icons/material/spray-bottle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/spray.svg b/material/.icons/material/spray.svg index ac0550620..2fdb0491d 100644 --- a/material/.icons/material/spray.svg +++ b/material/.icons/material/spray.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/square-edit-outline.svg b/material/.icons/material/square-edit-outline.svg index d54f9f363..b92712f4c 100644 --- a/material/.icons/material/square-edit-outline.svg +++ b/material/.icons/material/square-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/square-root-box.svg b/material/.icons/material/square-root-box.svg index f893622e0..29b7c003b 100644 --- a/material/.icons/material/square-root-box.svg +++ b/material/.icons/material/square-root-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/squeegee.svg b/material/.icons/material/squeegee.svg index 7e274bc96..ef69201e8 100644 --- a/material/.icons/material/squeegee.svg +++ b/material/.icons/material/squeegee.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/stadium-variant.svg b/material/.icons/material/stadium-variant.svg index 873cb226e..4ec3187fc 100644 --- a/material/.icons/material/stadium-variant.svg +++ b/material/.icons/material/stadium-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/stamper.svg b/material/.icons/material/stamper.svg index 3caa539db..328b9a83c 100644 --- a/material/.icons/material/stamper.svg +++ b/material/.icons/material/stamper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/standard-definition.svg b/material/.icons/material/standard-definition.svg index d3eb8fea1..3086e4faf 100644 --- a/material/.icons/material/standard-definition.svg +++ b/material/.icons/material/standard-definition.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-box-multiple-outline.svg b/material/.icons/material/star-box-multiple-outline.svg index 3b08cfacb..c26dd9809 100644 --- a/material/.icons/material/star-box-multiple-outline.svg +++ b/material/.icons/material/star-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-box-multiple.svg b/material/.icons/material/star-box-multiple.svg index ec2847395..20b99f0f3 100644 --- a/material/.icons/material/star-box-multiple.svg +++ b/material/.icons/material/star-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-box-outline.svg b/material/.icons/material/star-box-outline.svg index c6aefa264..254f48036 100644 --- a/material/.icons/material/star-box-outline.svg +++ b/material/.icons/material/star-box-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-box.svg b/material/.icons/material/star-box.svg index 41993ee7f..7aaae2dbd 100644 --- a/material/.icons/material/star-box.svg +++ b/material/.icons/material/star-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-circle-outline.svg b/material/.icons/material/star-circle-outline.svg index f5dbdd5cd..b23be1205 100644 --- a/material/.icons/material/star-circle-outline.svg +++ b/material/.icons/material/star-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-circle.svg b/material/.icons/material/star-circle.svg index 104b44b9a..02381cb7e 100644 --- a/material/.icons/material/star-circle.svg +++ b/material/.icons/material/star-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-cog-outline.svg b/material/.icons/material/star-cog-outline.svg index 496fe115c..a5f6a2b69 100644 --- a/material/.icons/material/star-cog-outline.svg +++ b/material/.icons/material/star-cog-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-cog.svg b/material/.icons/material/star-cog.svg index 4aed2d069..62481bac1 100644 --- a/material/.icons/material/star-cog.svg +++ b/material/.icons/material/star-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-face.svg b/material/.icons/material/star-face.svg index 1d8a122ee..a85977f74 100644 --- a/material/.icons/material/star-face.svg +++ b/material/.icons/material/star-face.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-shooting-outline.svg b/material/.icons/material/star-shooting-outline.svg index 62b5b6ebe..159cdd57d 100644 --- a/material/.icons/material/star-shooting-outline.svg +++ b/material/.icons/material/star-shooting-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/star-shooting.svg b/material/.icons/material/star-shooting.svg index 2d7053a91..624025394 100644 --- a/material/.icons/material/star-shooting.svg +++ b/material/.icons/material/star-shooting.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/state-machine.svg b/material/.icons/material/state-machine.svg index 2795fd8bc..4c7646f80 100644 --- a/material/.icons/material/state-machine.svg +++ b/material/.icons/material/state-machine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/steam.svg b/material/.icons/material/steam.svg index 4ac1b8ac8..8d0ef3dd7 100644 --- a/material/.icons/material/steam.svg +++ b/material/.icons/material/steam.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/steering-off.svg b/material/.icons/material/steering-off.svg index 111605c71..5b6c65cee 100644 --- a/material/.icons/material/steering-off.svg +++ b/material/.icons/material/steering-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/stethoscope.svg b/material/.icons/material/stethoscope.svg index 66a2bd992..1a861d0be 100644 --- a/material/.icons/material/stethoscope.svg +++ b/material/.icons/material/stethoscope.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sticker-circle-outline.svg b/material/.icons/material/sticker-circle-outline.svg index ec7c9af6c..ff2520fde 100644 --- a/material/.icons/material/sticker-circle-outline.svg +++ b/material/.icons/material/sticker-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sticker-emoji.svg b/material/.icons/material/sticker-emoji.svg index 7caa9ab71..a8147711d 100644 --- a/material/.icons/material/sticker-emoji.svg +++ b/material/.icons/material/sticker-emoji.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/stocking.svg b/material/.icons/material/stocking.svg index 444dd9fcc..faa61915a 100644 --- a/material/.icons/material/stocking.svg +++ b/material/.icons/material/stocking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/stomach.svg b/material/.icons/material/stomach.svg index 3b9701ca9..b30ff5386 100644 --- a/material/.icons/material/stomach.svg +++ b/material/.icons/material/stomach.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/stop-circle-outline.svg b/material/.icons/material/stop-circle-outline.svg index e7997b715..ac046cf2c 100644 --- a/material/.icons/material/stop-circle-outline.svg +++ b/material/.icons/material/stop-circle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/stop-circle.svg b/material/.icons/material/stop-circle.svg index afd90d0a2..aa6d0b534 100644 --- a/material/.icons/material/stop-circle.svg +++ b/material/.icons/material/stop-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/store-remove.svg b/material/.icons/material/store-remove.svg index 9ae864c5a..66c646229 100644 --- a/material/.icons/material/store-remove.svg +++ b/material/.icons/material/store-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/storefront-outline.svg b/material/.icons/material/storefront-outline.svg index 1e7ba6c90..06b94ad0f 100644 --- a/material/.icons/material/storefront-outline.svg +++ b/material/.icons/material/storefront-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/storefront.svg b/material/.icons/material/storefront.svg index 39eeecc12..5d30e568b 100644 --- a/material/.icons/material/storefront.svg +++ b/material/.icons/material/storefront.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/stove.svg b/material/.icons/material/stove.svg index 56328302b..8b59744fb 100644 --- a/material/.icons/material/stove.svg +++ b/material/.icons/material/stove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/strategy.svg b/material/.icons/material/strategy.svg index 0db9f6701..7aed8fb4e 100644 --- a/material/.icons/material/strategy.svg +++ b/material/.icons/material/strategy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/string-lights-off.svg b/material/.icons/material/string-lights-off.svg index 92f9f838e..212f9590d 100644 --- a/material/.icons/material/string-lights-off.svg +++ b/material/.icons/material/string-lights-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/string-lights.svg b/material/.icons/material/string-lights.svg index 39735fd8e..1b1f13ae0 100644 --- a/material/.icons/material/string-lights.svg +++ b/material/.icons/material/string-lights.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/submarine.svg b/material/.icons/material/submarine.svg index 165321bb2..0f792ba9d 100644 --- a/material/.icons/material/submarine.svg +++ b/material/.icons/material/submarine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/subtitles-outline.svg b/material/.icons/material/subtitles-outline.svg index 4dfa7cfc6..a6aaeb253 100644 --- a/material/.icons/material/subtitles-outline.svg +++ b/material/.icons/material/subtitles-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/subtitles.svg b/material/.icons/material/subtitles.svg index b164e42bc..6dff3cc14 100644 --- a/material/.icons/material/subtitles.svg +++ b/material/.icons/material/subtitles.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/subway-variant.svg b/material/.icons/material/subway-variant.svg index 89b428692..fe742afd2 100644 --- a/material/.icons/material/subway-variant.svg +++ b/material/.icons/material/subway-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/subway.svg b/material/.icons/material/subway.svg index d3849ae42..c4099f656 100644 --- a/material/.icons/material/subway.svg +++ b/material/.icons/material/subway.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/surround-sound-2-0.svg b/material/.icons/material/surround-sound-2-0.svg index b343c9097..e1196b984 100644 --- a/material/.icons/material/surround-sound-2-0.svg +++ b/material/.icons/material/surround-sound-2-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/surround-sound-2-1.svg b/material/.icons/material/surround-sound-2-1.svg index 4b211c9d5..6659c8a90 100644 --- a/material/.icons/material/surround-sound-2-1.svg +++ b/material/.icons/material/surround-sound-2-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/surround-sound-3-1.svg b/material/.icons/material/surround-sound-3-1.svg index 43b55784a..fded5fb99 100644 --- a/material/.icons/material/surround-sound-3-1.svg +++ b/material/.icons/material/surround-sound-3-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/surround-sound-5-1-2.svg b/material/.icons/material/surround-sound-5-1-2.svg index ad9fb4de7..0ab6e880b 100644 --- a/material/.icons/material/surround-sound-5-1-2.svg +++ b/material/.icons/material/surround-sound-5-1-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/surround-sound-5-1.svg b/material/.icons/material/surround-sound-5-1.svg index 82071a899..c737bf19a 100644 --- a/material/.icons/material/surround-sound-5-1.svg +++ b/material/.icons/material/surround-sound-5-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/surround-sound-7-1.svg b/material/.icons/material/surround-sound-7-1.svg index 77605dfa5..cef8f580d 100644 --- a/material/.icons/material/surround-sound-7-1.svg +++ b/material/.icons/material/surround-sound-7-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/surround-sound.svg b/material/.icons/material/surround-sound.svg index 4a34bfe2b..9ef10cff7 100644 --- a/material/.icons/material/surround-sound.svg +++ b/material/.icons/material/surround-sound.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/svg.svg b/material/.icons/material/svg.svg index 21a9eb645..0ef0deae0 100644 --- a/material/.icons/material/svg.svg +++ b/material/.icons/material/svg.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/swap-horizontal-variant.svg b/material/.icons/material/swap-horizontal-variant.svg index d17d759b0..3b8f4a0ae 100644 --- a/material/.icons/material/swap-horizontal-variant.svg +++ b/material/.icons/material/swap-horizontal-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/swap-vertical-variant.svg b/material/.icons/material/swap-vertical-variant.svg index 030d5fb14..7bc550f41 100644 --- a/material/.icons/material/swap-vertical-variant.svg +++ b/material/.icons/material/swap-vertical-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/swim.svg b/material/.icons/material/swim.svg index 99abd7b69..8bd5961aa 100644 --- a/material/.icons/material/swim.svg +++ b/material/.icons/material/swim.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/switch.svg b/material/.icons/material/switch.svg index 327363ab6..1dc5f0e88 100644 --- a/material/.icons/material/switch.svg +++ b/material/.icons/material/switch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sword-cross.svg b/material/.icons/material/sword-cross.svg index 67d583932..b793087a4 100644 --- a/material/.icons/material/sword-cross.svg +++ b/material/.icons/material/sword-cross.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sword.svg b/material/.icons/material/sword.svg index 2100fddc2..532668ffe 100644 --- a/material/.icons/material/sword.svg +++ b/material/.icons/material/sword.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/syllabary-hiragana.svg b/material/.icons/material/syllabary-hiragana.svg index ac1a11913..b0d26fd39 100644 --- a/material/.icons/material/syllabary-hiragana.svg +++ b/material/.icons/material/syllabary-hiragana.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/symfony.svg b/material/.icons/material/symfony.svg index 2684d246b..8e470743c 100644 --- a/material/.icons/material/symfony.svg +++ b/material/.icons/material/symfony.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sync-alert.svg b/material/.icons/material/sync-alert.svg index d8c8a16d0..ac423e433 100644 --- a/material/.icons/material/sync-alert.svg +++ b/material/.icons/material/sync-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sync-circle.svg b/material/.icons/material/sync-circle.svg index d8b0e684f..f4861dff5 100644 --- a/material/.icons/material/sync-circle.svg +++ b/material/.icons/material/sync-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sync-off.svg b/material/.icons/material/sync-off.svg index 08c5bfa6d..f33e73870 100644 --- a/material/.icons/material/sync-off.svg +++ b/material/.icons/material/sync-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/sync.svg b/material/.icons/material/sync.svg index f51f0d900..d39e25b64 100644 --- a/material/.icons/material/sync.svg +++ b/material/.icons/material/sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tab-minus.svg b/material/.icons/material/tab-minus.svg index 3a374e015..0d022aa5a 100644 --- a/material/.icons/material/tab-minus.svg +++ b/material/.icons/material/tab-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tab-plus.svg b/material/.icons/material/tab-plus.svg index f414692c1..c91207c69 100644 --- a/material/.icons/material/tab-plus.svg +++ b/material/.icons/material/tab-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tab-remove.svg b/material/.icons/material/tab-remove.svg index d4786a6b5..381acb41b 100644 --- a/material/.icons/material/tab-remove.svg +++ b/material/.icons/material/tab-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tab-unselected.svg b/material/.icons/material/tab-unselected.svg index 3c8497fb2..9d0285253 100644 --- a/material/.icons/material/tab-unselected.svg +++ b/material/.icons/material/tab-unselected.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tab.svg b/material/.icons/material/tab.svg index 64a7af402..4ffd9636b 100644 --- a/material/.icons/material/tab.svg +++ b/material/.icons/material/tab.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-account.svg b/material/.icons/material/table-account.svg index dcd28c7b6..6e1015d90 100644 --- a/material/.icons/material/table-account.svg +++ b/material/.icons/material/table-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-alert.svg b/material/.icons/material/table-alert.svg index f072cce0d..a3604c25a 100644 --- a/material/.icons/material/table-alert.svg +++ b/material/.icons/material/table-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-arrow-down.svg b/material/.icons/material/table-arrow-down.svg index cdfdedffb..35b080baa 100644 --- a/material/.icons/material/table-arrow-down.svg +++ b/material/.icons/material/table-arrow-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-arrow-left.svg b/material/.icons/material/table-arrow-left.svg index 7dd00b07c..8bf216c57 100644 --- a/material/.icons/material/table-arrow-left.svg +++ b/material/.icons/material/table-arrow-left.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-arrow-right.svg b/material/.icons/material/table-arrow-right.svg index c69f7ee54..dba095c3a 100644 --- a/material/.icons/material/table-arrow-right.svg +++ b/material/.icons/material/table-arrow-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-arrow-up.svg b/material/.icons/material/table-arrow-up.svg index 742fe07ac..b11960d9f 100644 --- a/material/.icons/material/table-arrow-up.svg +++ b/material/.icons/material/table-arrow-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-border.svg b/material/.icons/material/table-border.svg index 039e1bc3c..86f8d38b2 100644 --- a/material/.icons/material/table-border.svg +++ b/material/.icons/material/table-border.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-cancel.svg b/material/.icons/material/table-cancel.svg index 0a0b67c34..8c9a3a9e7 100644 --- a/material/.icons/material/table-cancel.svg +++ b/material/.icons/material/table-cancel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-chair.svg b/material/.icons/material/table-chair.svg index 24f17da07..48fc9f5a3 100644 --- a/material/.icons/material/table-chair.svg +++ b/material/.icons/material/table-chair.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-check.svg b/material/.icons/material/table-check.svg index 3d2333aa6..a79f49d79 100644 --- a/material/.icons/material/table-check.svg +++ b/material/.icons/material/table-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-clock.svg b/material/.icons/material/table-clock.svg index 060f73b4f..20be8e240 100644 --- a/material/.icons/material/table-clock.svg +++ b/material/.icons/material/table-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-cog.svg b/material/.icons/material/table-cog.svg index f11513861..efd8fefc7 100644 --- a/material/.icons/material/table-cog.svg +++ b/material/.icons/material/table-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-column-plus-after.svg b/material/.icons/material/table-column-plus-after.svg index 1bc532f8c..24851369b 100644 --- a/material/.icons/material/table-column-plus-after.svg +++ b/material/.icons/material/table-column-plus-after.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-column-plus-before.svg b/material/.icons/material/table-column-plus-before.svg index ada8f7348..386be9166 100644 --- a/material/.icons/material/table-column-plus-before.svg +++ b/material/.icons/material/table-column-plus-before.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-column-remove.svg b/material/.icons/material/table-column-remove.svg index 7e9144e87..4801006df 100644 --- a/material/.icons/material/table-column-remove.svg +++ b/material/.icons/material/table-column-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-column-width.svg b/material/.icons/material/table-column-width.svg index 2dec98f54..959783adb 100644 --- a/material/.icons/material/table-column-width.svg +++ b/material/.icons/material/table-column-width.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-column.svg b/material/.icons/material/table-column.svg index 0023fc175..c496d9f58 100644 --- a/material/.icons/material/table-column.svg +++ b/material/.icons/material/table-column.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-edit.svg b/material/.icons/material/table-edit.svg index b30b29c50..1c587f2a0 100644 --- a/material/.icons/material/table-edit.svg +++ b/material/.icons/material/table-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-eye-off.svg b/material/.icons/material/table-eye-off.svg index 9b08ac1cd..fcd9b7959 100644 --- a/material/.icons/material/table-eye-off.svg +++ b/material/.icons/material/table-eye-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-eye.svg b/material/.icons/material/table-eye.svg index d882a55f7..591a5c716 100644 --- a/material/.icons/material/table-eye.svg +++ b/material/.icons/material/table-eye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-headers-eye-off.svg b/material/.icons/material/table-headers-eye-off.svg index 369375bc5..35c2578ed 100644 --- a/material/.icons/material/table-headers-eye-off.svg +++ b/material/.icons/material/table-headers-eye-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-headers-eye.svg b/material/.icons/material/table-headers-eye.svg index 1a407939b..676c2e82c 100644 --- a/material/.icons/material/table-headers-eye.svg +++ b/material/.icons/material/table-headers-eye.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-heart.svg b/material/.icons/material/table-heart.svg index 48b8d1f6f..79c398891 100644 --- a/material/.icons/material/table-heart.svg +++ b/material/.icons/material/table-heart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-key.svg b/material/.icons/material/table-key.svg index 15c63dddc..ba8bb60c8 100644 --- a/material/.icons/material/table-key.svg +++ b/material/.icons/material/table-key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-large.svg b/material/.icons/material/table-large.svg index 0af62d847..c0df6d2a6 100644 --- a/material/.icons/material/table-large.svg +++ b/material/.icons/material/table-large.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-lock.svg b/material/.icons/material/table-lock.svg index 4084f944e..24bc7018f 100644 --- a/material/.icons/material/table-lock.svg +++ b/material/.icons/material/table-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-minus.svg b/material/.icons/material/table-minus.svg index 932bdd280..f76b442b6 100644 --- a/material/.icons/material/table-minus.svg +++ b/material/.icons/material/table-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-multiple.svg b/material/.icons/material/table-multiple.svg index d09c2a349..503819ca4 100644 --- a/material/.icons/material/table-multiple.svg +++ b/material/.icons/material/table-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-network.svg b/material/.icons/material/table-network.svg index 8a195d4fe..0d7cba5d0 100644 --- a/material/.icons/material/table-network.svg +++ b/material/.icons/material/table-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-off.svg b/material/.icons/material/table-off.svg index 2be4b8a49..35a00e92e 100644 --- a/material/.icons/material/table-off.svg +++ b/material/.icons/material/table-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-plus.svg b/material/.icons/material/table-plus.svg index ab8b8e55a..e89fd6b8f 100644 --- a/material/.icons/material/table-plus.svg +++ b/material/.icons/material/table-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-refresh.svg b/material/.icons/material/table-refresh.svg index a41201c15..846147792 100644 --- a/material/.icons/material/table-refresh.svg +++ b/material/.icons/material/table-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-remove.svg b/material/.icons/material/table-remove.svg index 5d8502931..934166325 100644 --- a/material/.icons/material/table-remove.svg +++ b/material/.icons/material/table-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-row-height.svg b/material/.icons/material/table-row-height.svg index bce9429f7..fedd26810 100644 --- a/material/.icons/material/table-row-height.svg +++ b/material/.icons/material/table-row-height.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-row-plus-after.svg b/material/.icons/material/table-row-plus-after.svg index d778f72e0..aba4d28a0 100644 --- a/material/.icons/material/table-row-plus-after.svg +++ b/material/.icons/material/table-row-plus-after.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-row-plus-before.svg b/material/.icons/material/table-row-plus-before.svg index 7390f3be7..86c1e8186 100644 --- a/material/.icons/material/table-row-plus-before.svg +++ b/material/.icons/material/table-row-plus-before.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-row-remove.svg b/material/.icons/material/table-row-remove.svg index 2f3061933..97374e0a0 100644 --- a/material/.icons/material/table-row-remove.svg +++ b/material/.icons/material/table-row-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-row.svg b/material/.icons/material/table-row.svg index 1836d7c72..b73127631 100644 --- a/material/.icons/material/table-row.svg +++ b/material/.icons/material/table-row.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-search.svg b/material/.icons/material/table-search.svg index f5f207c8b..fb9bc6c83 100644 --- a/material/.icons/material/table-search.svg +++ b/material/.icons/material/table-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-settings.svg b/material/.icons/material/table-settings.svg index a603fae6a..bb53de3fc 100644 --- a/material/.icons/material/table-settings.svg +++ b/material/.icons/material/table-settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-star.svg b/material/.icons/material/table-star.svg index 45c9ad186..905ae068e 100644 --- a/material/.icons/material/table-star.svg +++ b/material/.icons/material/table-star.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table-sync.svg b/material/.icons/material/table-sync.svg index 0121d5e20..5ff0c3e50 100644 --- a/material/.icons/material/table-sync.svg +++ b/material/.icons/material/table-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/table.svg b/material/.icons/material/table.svg index 782a5fde3..eba8f87f4 100644 --- a/material/.icons/material/table.svg +++ b/material/.icons/material/table.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tablet-android.svg b/material/.icons/material/tablet-android.svg index 1a751ed80..dc41c44d1 100644 --- a/material/.icons/material/tablet-android.svg +++ b/material/.icons/material/tablet-android.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tablet-cellphone.svg b/material/.icons/material/tablet-cellphone.svg index 7cad33a79..aacb6a78e 100644 --- a/material/.icons/material/tablet-cellphone.svg +++ b/material/.icons/material/tablet-cellphone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tablet-dashboard.svg b/material/.icons/material/tablet-dashboard.svg index dec6895ca..9c78b2956 100644 --- a/material/.icons/material/tablet-dashboard.svg +++ b/material/.icons/material/tablet-dashboard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tablet-ipad.svg b/material/.icons/material/tablet-ipad.svg index cf24c96ff..e1f040953 100644 --- a/material/.icons/material/tablet-ipad.svg +++ b/material/.icons/material/tablet-ipad.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tablet.svg b/material/.icons/material/tablet.svg index 8cf1e2f34..d1e10a7c5 100644 --- a/material/.icons/material/tablet.svg +++ b/material/.icons/material/tablet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/taco.svg b/material/.icons/material/taco.svg index 7a5039030..a7750464f 100644 --- a/material/.icons/material/taco.svg +++ b/material/.icons/material/taco.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-faces.svg b/material/.icons/material/tag-faces.svg index 508fc26fd..84810bc24 100644 --- a/material/.icons/material/tag-faces.svg +++ b/material/.icons/material/tag-faces.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-heart-outline.svg b/material/.icons/material/tag-heart-outline.svg index ddadb744d..d69d60c61 100644 --- a/material/.icons/material/tag-heart-outline.svg +++ b/material/.icons/material/tag-heart-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-heart.svg b/material/.icons/material/tag-heart.svg index dba024f43..8b007cc8f 100644 --- a/material/.icons/material/tag-heart.svg +++ b/material/.icons/material/tag-heart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-minus.svg b/material/.icons/material/tag-minus.svg index 9ae8dbdbc..14c999e88 100644 --- a/material/.icons/material/tag-minus.svg +++ b/material/.icons/material/tag-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-multiple.svg b/material/.icons/material/tag-multiple.svg index 772054251..f9ad4fba8 100644 --- a/material/.icons/material/tag-multiple.svg +++ b/material/.icons/material/tag-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-off-outline.svg b/material/.icons/material/tag-off-outline.svg index 7dedd3069..f35607001 100644 --- a/material/.icons/material/tag-off-outline.svg +++ b/material/.icons/material/tag-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-off.svg b/material/.icons/material/tag-off.svg index 479508b60..c593a4629 100644 --- a/material/.icons/material/tag-off.svg +++ b/material/.icons/material/tag-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-outline.svg b/material/.icons/material/tag-outline.svg index 4e07ad584..35910a2e2 100644 --- a/material/.icons/material/tag-outline.svg +++ b/material/.icons/material/tag-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-plus-outline.svg b/material/.icons/material/tag-plus-outline.svg index 8b6c01871..8b74f0149 100644 --- a/material/.icons/material/tag-plus-outline.svg +++ b/material/.icons/material/tag-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-plus.svg b/material/.icons/material/tag-plus.svg index abac70e5e..5a33dd8c6 100644 --- a/material/.icons/material/tag-plus.svg +++ b/material/.icons/material/tag-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-remove-outline.svg b/material/.icons/material/tag-remove-outline.svg index a6a1e051b..fe16ef9bb 100644 --- a/material/.icons/material/tag-remove-outline.svg +++ b/material/.icons/material/tag-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-remove.svg b/material/.icons/material/tag-remove.svg index 7439aa7ec..c16e368c2 100644 --- a/material/.icons/material/tag-remove.svg +++ b/material/.icons/material/tag-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag-text.svg b/material/.icons/material/tag-text.svg index bf88a7a4f..53444d724 100644 --- a/material/.icons/material/tag-text.svg +++ b/material/.icons/material/tag-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tag.svg b/material/.icons/material/tag.svg index 301c817d5..798ee1deb 100644 --- a/material/.icons/material/tag.svg +++ b/material/.icons/material/tag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tank.svg b/material/.icons/material/tank.svg index 0758d12ec..e4bd5533e 100644 --- a/material/.icons/material/tank.svg +++ b/material/.icons/material/tank.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tape-drive.svg b/material/.icons/material/tape-drive.svg index 5778a2cdc..203908af7 100644 --- a/material/.icons/material/tape-drive.svg +++ b/material/.icons/material/tape-drive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tape-measure.svg b/material/.icons/material/tape-measure.svg index 1269a7588..4ba063e45 100644 --- a/material/.icons/material/tape-measure.svg +++ b/material/.icons/material/tape-measure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/target-account.svg b/material/.icons/material/target-account.svg index b75b67f0f..a926fe47b 100644 --- a/material/.icons/material/target-account.svg +++ b/material/.icons/material/target-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/target-variant.svg b/material/.icons/material/target-variant.svg index 1f754c2d0..f0bd7785d 100644 --- a/material/.icons/material/target-variant.svg +++ b/material/.icons/material/target-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/target.svg b/material/.icons/material/target.svg index d272c2611..10b92f3be 100644 --- a/material/.icons/material/target.svg +++ b/material/.icons/material/target.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/taxi.svg b/material/.icons/material/taxi.svg index d9810e9be..40826c85b 100644 --- a/material/.icons/material/taxi.svg +++ b/material/.icons/material/taxi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/teach.svg b/material/.icons/material/teach.svg index 69e3ec3bd..fba3e6ac0 100644 --- a/material/.icons/material/teach.svg +++ b/material/.icons/material/teach.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/teamviewer.svg b/material/.icons/material/teamviewer.svg index 2c41be6db..9ebaa9fe4 100644 --- a/material/.icons/material/teamviewer.svg +++ b/material/.icons/material/teamviewer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television-box.svg b/material/.icons/material/television-box.svg index 4c74e2a65..7787ce1ed 100644 --- a/material/.icons/material/television-box.svg +++ b/material/.icons/material/television-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television-classic-off.svg b/material/.icons/material/television-classic-off.svg index 4cf47beb0..49581929f 100644 --- a/material/.icons/material/television-classic-off.svg +++ b/material/.icons/material/television-classic-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television-classic.svg b/material/.icons/material/television-classic.svg index 067a985ab..5f272361d 100644 --- a/material/.icons/material/television-classic.svg +++ b/material/.icons/material/television-classic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television-clean.svg b/material/.icons/material/television-clean.svg index 338db6fca..e011e4e94 100644 --- a/material/.icons/material/television-clean.svg +++ b/material/.icons/material/television-clean.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television-guide.svg b/material/.icons/material/television-guide.svg index 2f930c551..1ae44b1cf 100644 --- a/material/.icons/material/television-guide.svg +++ b/material/.icons/material/television-guide.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television-off.svg b/material/.icons/material/television-off.svg index 3eec040b2..f991e52c6 100644 --- a/material/.icons/material/television-off.svg +++ b/material/.icons/material/television-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television-pause.svg b/material/.icons/material/television-pause.svg index f8fcb8d0d..e1d193724 100644 --- a/material/.icons/material/television-pause.svg +++ b/material/.icons/material/television-pause.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television-play.svg b/material/.icons/material/television-play.svg index 2347fa93f..0909741b0 100644 --- a/material/.icons/material/television-play.svg +++ b/material/.icons/material/television-play.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television-stop.svg b/material/.icons/material/television-stop.svg index 7c9faafd1..c4d7b57c3 100644 --- a/material/.icons/material/television-stop.svg +++ b/material/.icons/material/television-stop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/television.svg b/material/.icons/material/television.svg index 4423d4841..a9d4e6131 100644 --- a/material/.icons/material/television.svg +++ b/material/.icons/material/television.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/temperature-celsius.svg b/material/.icons/material/temperature-celsius.svg index 49b54e54c..de81106f2 100644 --- a/material/.icons/material/temperature-celsius.svg +++ b/material/.icons/material/temperature-celsius.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/temperature-fahrenheit.svg b/material/.icons/material/temperature-fahrenheit.svg index db671623d..e9a1842f3 100644 --- a/material/.icons/material/temperature-fahrenheit.svg +++ b/material/.icons/material/temperature-fahrenheit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tennis-ball.svg b/material/.icons/material/tennis-ball.svg index 7e6e35275..0f40fd426 100644 --- a/material/.icons/material/tennis-ball.svg +++ b/material/.icons/material/tennis-ball.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tennis.svg b/material/.icons/material/tennis.svg index 62f96afd7..34be5ff27 100644 --- a/material/.icons/material/tennis.svg +++ b/material/.icons/material/tennis.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tent.svg b/material/.icons/material/tent.svg index 732701a9a..094f3e97e 100644 --- a/material/.icons/material/tent.svg +++ b/material/.icons/material/tent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/test-tube-empty.svg b/material/.icons/material/test-tube-empty.svg index 1ecf679cb..2de9c6cb6 100644 --- a/material/.icons/material/test-tube-empty.svg +++ b/material/.icons/material/test-tube-empty.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/test-tube-off.svg b/material/.icons/material/test-tube-off.svg index 23d2550ff..d1de03ee1 100644 --- a/material/.icons/material/test-tube-off.svg +++ b/material/.icons/material/test-tube-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/test-tube.svg b/material/.icons/material/test-tube.svg index 2256e2ac6..8f487209d 100644 --- a/material/.icons/material/test-tube.svg +++ b/material/.icons/material/test-tube.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-account.svg b/material/.icons/material/text-account.svg index 85af7a23f..c9fe06f2e 100644 --- a/material/.icons/material/text-account.svg +++ b/material/.icons/material/text-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-box-check.svg b/material/.icons/material/text-box-check.svg index 19a8770b7..ea4808149 100644 --- a/material/.icons/material/text-box-check.svg +++ b/material/.icons/material/text-box-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-box-minus.svg b/material/.icons/material/text-box-minus.svg index 59d2bf063..b74bf1e2c 100644 --- a/material/.icons/material/text-box-minus.svg +++ b/material/.icons/material/text-box-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-box-multiple-outline.svg b/material/.icons/material/text-box-multiple-outline.svg index 476fd5547..9987ad538 100644 --- a/material/.icons/material/text-box-multiple-outline.svg +++ b/material/.icons/material/text-box-multiple-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-box-multiple.svg b/material/.icons/material/text-box-multiple.svg index 241d2974c..740c2d043 100644 --- a/material/.icons/material/text-box-multiple.svg +++ b/material/.icons/material/text-box-multiple.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-box-plus.svg b/material/.icons/material/text-box-plus.svg index 36572b893..53e940a22 100644 --- a/material/.icons/material/text-box-plus.svg +++ b/material/.icons/material/text-box-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-box-remove.svg b/material/.icons/material/text-box-remove.svg index 0110c826d..2ca4336f3 100644 --- a/material/.icons/material/text-box-remove.svg +++ b/material/.icons/material/text-box-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-box-search-outline.svg b/material/.icons/material/text-box-search-outline.svg index 174330223..334231e8d 100644 --- a/material/.icons/material/text-box-search-outline.svg +++ b/material/.icons/material/text-box-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-box-search.svg b/material/.icons/material/text-box-search.svg index 780c725ec..7afd06295 100644 --- a/material/.icons/material/text-box-search.svg +++ b/material/.icons/material/text-box-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-box.svg b/material/.icons/material/text-box.svg index b0c688b0b..3f7cb5e2f 100644 --- a/material/.icons/material/text-box.svg +++ b/material/.icons/material/text-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-recognition.svg b/material/.icons/material/text-recognition.svg index b2ee6a036..965d782eb 100644 --- a/material/.icons/material/text-recognition.svg +++ b/material/.icons/material/text-recognition.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-search.svg b/material/.icons/material/text-search.svg index 12f1d35e6..365edae75 100644 --- a/material/.icons/material/text-search.svg +++ b/material/.icons/material/text-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-to-speech-off.svg b/material/.icons/material/text-to-speech-off.svg index 3004072e2..8dbac54c1 100644 --- a/material/.icons/material/text-to-speech-off.svg +++ b/material/.icons/material/text-to-speech-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/text-to-speech.svg b/material/.icons/material/text-to-speech.svg index 7659bd95d..63dbccb35 100644 --- a/material/.icons/material/text-to-speech.svg +++ b/material/.icons/material/text-to-speech.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/texture-box.svg b/material/.icons/material/texture-box.svg index 543b0cb6f..0f349084b 100644 --- a/material/.icons/material/texture-box.svg +++ b/material/.icons/material/texture-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/texture.svg b/material/.icons/material/texture.svg index 29ab3f2a7..b51cf5a00 100644 --- a/material/.icons/material/texture.svg +++ b/material/.icons/material/texture.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/theater.svg b/material/.icons/material/theater.svg index f18bf69c5..658558316 100644 --- a/material/.icons/material/theater.svg +++ b/material/.icons/material/theater.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/theme-light-dark.svg b/material/.icons/material/theme-light-dark.svg index 2008df85d..2515eb4e8 100644 --- a/material/.icons/material/theme-light-dark.svg +++ b/material/.icons/material/theme-light-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermometer-chevron-down.svg b/material/.icons/material/thermometer-chevron-down.svg index e24ef7bcc..44f0e2a5e 100644 --- a/material/.icons/material/thermometer-chevron-down.svg +++ b/material/.icons/material/thermometer-chevron-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermometer-chevron-up.svg b/material/.icons/material/thermometer-chevron-up.svg index 95bc01355..c8f86639b 100644 --- a/material/.icons/material/thermometer-chevron-up.svg +++ b/material/.icons/material/thermometer-chevron-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermometer-high.svg b/material/.icons/material/thermometer-high.svg index fa0da5c0e..d9fd1d73f 100644 --- a/material/.icons/material/thermometer-high.svg +++ b/material/.icons/material/thermometer-high.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermometer-lines.svg b/material/.icons/material/thermometer-lines.svg index 12f5c9907..f25ae0055 100644 --- a/material/.icons/material/thermometer-lines.svg +++ b/material/.icons/material/thermometer-lines.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermometer-low.svg b/material/.icons/material/thermometer-low.svg index f75b55226..870e6ad82 100644 --- a/material/.icons/material/thermometer-low.svg +++ b/material/.icons/material/thermometer-low.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermometer-minus.svg b/material/.icons/material/thermometer-minus.svg index c0f99e8c8..e3007bee0 100644 --- a/material/.icons/material/thermometer-minus.svg +++ b/material/.icons/material/thermometer-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermometer-off.svg b/material/.icons/material/thermometer-off.svg index 7c5c07fac..02460fbba 100644 --- a/material/.icons/material/thermometer-off.svg +++ b/material/.icons/material/thermometer-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermometer-plus.svg b/material/.icons/material/thermometer-plus.svg index 725df000a..6af038b31 100644 --- a/material/.icons/material/thermometer-plus.svg +++ b/material/.icons/material/thermometer-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermometer.svg b/material/.icons/material/thermometer.svg index 10dbb20e2..7ce41c58d 100644 --- a/material/.icons/material/thermometer.svg +++ b/material/.icons/material/thermometer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermostat-box.svg b/material/.icons/material/thermostat-box.svg index 129f10cba..f98691b0b 100644 --- a/material/.icons/material/thermostat-box.svg +++ b/material/.icons/material/thermostat-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thermostat.svg b/material/.icons/material/thermostat.svg index eb662f7ed..a858b3fbe 100644 --- a/material/.icons/material/thermostat.svg +++ b/material/.icons/material/thermostat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thought-bubble-outline.svg b/material/.icons/material/thought-bubble-outline.svg index 534d73a7f..fde52d8a3 100644 --- a/material/.icons/material/thought-bubble-outline.svg +++ b/material/.icons/material/thought-bubble-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thought-bubble.svg b/material/.icons/material/thought-bubble.svg index 6dbb26e45..ddf005f42 100644 --- a/material/.icons/material/thought-bubble.svg +++ b/material/.icons/material/thought-bubble.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thumb-down-outline.svg b/material/.icons/material/thumb-down-outline.svg index 97cf0258e..f40dd509d 100644 --- a/material/.icons/material/thumb-down-outline.svg +++ b/material/.icons/material/thumb-down-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thumb-down.svg b/material/.icons/material/thumb-down.svg index 0811b95b9..50b890504 100644 --- a/material/.icons/material/thumb-down.svg +++ b/material/.icons/material/thumb-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thumb-up-outline.svg b/material/.icons/material/thumb-up-outline.svg index 351ad27ca..640b11381 100644 --- a/material/.icons/material/thumb-up-outline.svg +++ b/material/.icons/material/thumb-up-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thumb-up.svg b/material/.icons/material/thumb-up.svg index 7b0745fde..3d41329d9 100644 --- a/material/.icons/material/thumb-up.svg +++ b/material/.icons/material/thumb-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/thumbs-up-down.svg b/material/.icons/material/thumbs-up-down.svg index d84516847..323b164ef 100644 --- a/material/.icons/material/thumbs-up-down.svg +++ b/material/.icons/material/thumbs-up-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ticket-account.svg b/material/.icons/material/ticket-account.svg index 886eb5521..4bf74c4fd 100644 --- a/material/.icons/material/ticket-account.svg +++ b/material/.icons/material/ticket-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ticket-confirmation-outline.svg b/material/.icons/material/ticket-confirmation-outline.svg index 020d1cd0e..11ad6652b 100644 --- a/material/.icons/material/ticket-confirmation-outline.svg +++ b/material/.icons/material/ticket-confirmation-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ticket-confirmation.svg b/material/.icons/material/ticket-confirmation.svg index 47d387141..b053db741 100644 --- a/material/.icons/material/ticket-confirmation.svg +++ b/material/.icons/material/ticket-confirmation.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ticket-outline.svg b/material/.icons/material/ticket-outline.svg index f7dfb666a..8663f920a 100644 --- a/material/.icons/material/ticket-outline.svg +++ b/material/.icons/material/ticket-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ticket-percent-outline.svg b/material/.icons/material/ticket-percent-outline.svg index 6c85090f1..639757721 100644 --- a/material/.icons/material/ticket-percent-outline.svg +++ b/material/.icons/material/ticket-percent-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ticket-percent.svg b/material/.icons/material/ticket-percent.svg index 7cb481eed..3ba7a61d8 100644 --- a/material/.icons/material/ticket-percent.svg +++ b/material/.icons/material/ticket-percent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ticket.svg b/material/.icons/material/ticket.svg index 071ab85d4..b30dfd712 100644 --- a/material/.icons/material/ticket.svg +++ b/material/.icons/material/ticket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timelapse.svg b/material/.icons/material/timelapse.svg index acfcb2dee..42c1356d1 100644 --- a/material/.icons/material/timelapse.svg +++ b/material/.icons/material/timelapse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-alert-outline.svg b/material/.icons/material/timeline-alert-outline.svg index 921ae6ea0..a8f941e69 100644 --- a/material/.icons/material/timeline-alert-outline.svg +++ b/material/.icons/material/timeline-alert-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-alert.svg b/material/.icons/material/timeline-alert.svg index 26137f11c..2a7a58fc3 100644 --- a/material/.icons/material/timeline-alert.svg +++ b/material/.icons/material/timeline-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-check-outline.svg b/material/.icons/material/timeline-check-outline.svg index 61f0c5aea..54dfd5d8e 100644 --- a/material/.icons/material/timeline-check-outline.svg +++ b/material/.icons/material/timeline-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-check.svg b/material/.icons/material/timeline-check.svg index 9293661f1..d853aa727 100644 --- a/material/.icons/material/timeline-check.svg +++ b/material/.icons/material/timeline-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-clock-outline.svg b/material/.icons/material/timeline-clock-outline.svg index aba7f0426..dea034d82 100644 --- a/material/.icons/material/timeline-clock-outline.svg +++ b/material/.icons/material/timeline-clock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-clock.svg b/material/.icons/material/timeline-clock.svg index 5996bb4db..c6cfbc7f7 100644 --- a/material/.icons/material/timeline-clock.svg +++ b/material/.icons/material/timeline-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-help-outline.svg b/material/.icons/material/timeline-help-outline.svg index 3cb706ce3..683352e1a 100644 --- a/material/.icons/material/timeline-help-outline.svg +++ b/material/.icons/material/timeline-help-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-help.svg b/material/.icons/material/timeline-help.svg index 68399818a..a441c69ff 100644 --- a/material/.icons/material/timeline-help.svg +++ b/material/.icons/material/timeline-help.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-minus-outline.svg b/material/.icons/material/timeline-minus-outline.svg index 16fe90ae7..b79abbe83 100644 --- a/material/.icons/material/timeline-minus-outline.svg +++ b/material/.icons/material/timeline-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-minus.svg b/material/.icons/material/timeline-minus.svg index 52d05b751..84d3060d6 100644 --- a/material/.icons/material/timeline-minus.svg +++ b/material/.icons/material/timeline-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-outline.svg b/material/.icons/material/timeline-outline.svg index 46bb36bb5..61e05ee51 100644 --- a/material/.icons/material/timeline-outline.svg +++ b/material/.icons/material/timeline-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-plus-outline.svg b/material/.icons/material/timeline-plus-outline.svg index a8945478e..aea4fc329 100644 --- a/material/.icons/material/timeline-plus-outline.svg +++ b/material/.icons/material/timeline-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-plus.svg b/material/.icons/material/timeline-plus.svg index 9b7128063..1663262a3 100644 --- a/material/.icons/material/timeline-plus.svg +++ b/material/.icons/material/timeline-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-remove-outline.svg b/material/.icons/material/timeline-remove-outline.svg index 818953919..fb623bb19 100644 --- a/material/.icons/material/timeline-remove-outline.svg +++ b/material/.icons/material/timeline-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-remove.svg b/material/.icons/material/timeline-remove.svg index cd2de2857..aa3f6d041 100644 --- a/material/.icons/material/timeline-remove.svg +++ b/material/.icons/material/timeline-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-text-outline.svg b/material/.icons/material/timeline-text-outline.svg index 970cc5163..b9cb63dd5 100644 --- a/material/.icons/material/timeline-text-outline.svg +++ b/material/.icons/material/timeline-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline-text.svg b/material/.icons/material/timeline-text.svg index 48a771670..e14a0c566 100644 --- a/material/.icons/material/timeline-text.svg +++ b/material/.icons/material/timeline-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timeline.svg b/material/.icons/material/timeline.svg index 9e9b30c8a..7e192e761 100644 --- a/material/.icons/material/timeline.svg +++ b/material/.icons/material/timeline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timer-10.svg b/material/.icons/material/timer-10.svg index e628c0926..c45173afc 100644 --- a/material/.icons/material/timer-10.svg +++ b/material/.icons/material/timer-10.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timer-3.svg b/material/.icons/material/timer-3.svg index 93b975b68..b3a391ddf 100644 --- a/material/.icons/material/timer-3.svg +++ b/material/.icons/material/timer-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timer-off-outline.svg b/material/.icons/material/timer-off-outline.svg index 53a4512a3..060b1fcb4 100644 --- a/material/.icons/material/timer-off-outline.svg +++ b/material/.icons/material/timer-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timer-off.svg b/material/.icons/material/timer-off.svg index c592adf0b..48d308964 100644 --- a/material/.icons/material/timer-off.svg +++ b/material/.icons/material/timer-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timer-outline.svg b/material/.icons/material/timer-outline.svg index 7eb2dddb7..856c71d4a 100644 --- a/material/.icons/material/timer-outline.svg +++ b/material/.icons/material/timer-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timer.svg b/material/.icons/material/timer.svg index e352f3160..54cbd19ce 100644 --- a/material/.icons/material/timer.svg +++ b/material/.icons/material/timer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/timetable.svg b/material/.icons/material/timetable.svg index e8bbacfbe..df1d50a56 100644 --- a/material/.icons/material/timetable.svg +++ b/material/.icons/material/timetable.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toaster-oven.svg b/material/.icons/material/toaster-oven.svg index ce41571b4..1feae37b1 100644 --- a/material/.icons/material/toaster-oven.svg +++ b/material/.icons/material/toaster-oven.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toaster.svg b/material/.icons/material/toaster.svg index 728059f69..1e7e1ef74 100644 --- a/material/.icons/material/toaster.svg +++ b/material/.icons/material/toaster.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toggle-switch-off-outline.svg b/material/.icons/material/toggle-switch-off-outline.svg index 4485ed231..9daaa0eb7 100644 --- a/material/.icons/material/toggle-switch-off-outline.svg +++ b/material/.icons/material/toggle-switch-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toggle-switch-off.svg b/material/.icons/material/toggle-switch-off.svg index 2ac0e8655..1a5f82842 100644 --- a/material/.icons/material/toggle-switch-off.svg +++ b/material/.icons/material/toggle-switch-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toggle-switch-outline.svg b/material/.icons/material/toggle-switch-outline.svg index 9f2186482..58a30b9f0 100644 --- a/material/.icons/material/toggle-switch-outline.svg +++ b/material/.icons/material/toggle-switch-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toggle-switch.svg b/material/.icons/material/toggle-switch.svg index 5cb7e88ca..a5cb0f934 100644 --- a/material/.icons/material/toggle-switch.svg +++ b/material/.icons/material/toggle-switch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toilet.svg b/material/.icons/material/toilet.svg index c83f48391..a81dd7504 100644 --- a/material/.icons/material/toilet.svg +++ b/material/.icons/material/toilet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tools.svg b/material/.icons/material/tools.svg index e48453da3..3ccb3dac3 100644 --- a/material/.icons/material/tools.svg +++ b/material/.icons/material/tools.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-account.svg b/material/.icons/material/tooltip-account.svg index 327bffc23..7ebc82125 100644 --- a/material/.icons/material/tooltip-account.svg +++ b/material/.icons/material/tooltip-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-check-outline.svg b/material/.icons/material/tooltip-check-outline.svg index f8e554187..299014275 100644 --- a/material/.icons/material/tooltip-check-outline.svg +++ b/material/.icons/material/tooltip-check-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-check.svg b/material/.icons/material/tooltip-check.svg index 07f58682c..d9589e4c2 100644 --- a/material/.icons/material/tooltip-check.svg +++ b/material/.icons/material/tooltip-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-edit-outline.svg b/material/.icons/material/tooltip-edit-outline.svg index 8ee5b4480..bd35056eb 100644 --- a/material/.icons/material/tooltip-edit-outline.svg +++ b/material/.icons/material/tooltip-edit-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-edit.svg b/material/.icons/material/tooltip-edit.svg index e8ae71d08..5328bcf7a 100644 --- a/material/.icons/material/tooltip-edit.svg +++ b/material/.icons/material/tooltip-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-image-outline.svg b/material/.icons/material/tooltip-image-outline.svg index 63b0d6847..4c5c4731b 100644 --- a/material/.icons/material/tooltip-image-outline.svg +++ b/material/.icons/material/tooltip-image-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-image.svg b/material/.icons/material/tooltip-image.svg index aa5c647fa..c3af6f015 100644 --- a/material/.icons/material/tooltip-image.svg +++ b/material/.icons/material/tooltip-image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-minus-outline.svg b/material/.icons/material/tooltip-minus-outline.svg index 347de82a8..b6dc40f01 100644 --- a/material/.icons/material/tooltip-minus-outline.svg +++ b/material/.icons/material/tooltip-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-minus.svg b/material/.icons/material/tooltip-minus.svg index 5bf487140..42e109404 100644 --- a/material/.icons/material/tooltip-minus.svg +++ b/material/.icons/material/tooltip-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-outline.svg b/material/.icons/material/tooltip-outline.svg index 068418306..a69bf5043 100644 --- a/material/.icons/material/tooltip-outline.svg +++ b/material/.icons/material/tooltip-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-plus-outline.svg b/material/.icons/material/tooltip-plus-outline.svg index 4052e95f7..2e673a79c 100644 --- a/material/.icons/material/tooltip-plus-outline.svg +++ b/material/.icons/material/tooltip-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-plus.svg b/material/.icons/material/tooltip-plus.svg index 7c72f53be..25e9cd5da 100644 --- a/material/.icons/material/tooltip-plus.svg +++ b/material/.icons/material/tooltip-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-remove-outline.svg b/material/.icons/material/tooltip-remove-outline.svg index 876567dc2..0fda0de8a 100644 --- a/material/.icons/material/tooltip-remove-outline.svg +++ b/material/.icons/material/tooltip-remove-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-remove.svg b/material/.icons/material/tooltip-remove.svg index eb7fd0774..1d83e00f5 100644 --- a/material/.icons/material/tooltip-remove.svg +++ b/material/.icons/material/tooltip-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-text-outline.svg b/material/.icons/material/tooltip-text-outline.svg index 833e842d3..2739418ea 100644 --- a/material/.icons/material/tooltip-text-outline.svg +++ b/material/.icons/material/tooltip-text-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip-text.svg b/material/.icons/material/tooltip-text.svg index 3cf2d1411..ee2c01e66 100644 --- a/material/.icons/material/tooltip-text.svg +++ b/material/.icons/material/tooltip-text.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tooltip.svg b/material/.icons/material/tooltip.svg index 3ea36ff37..44bcd908c 100644 --- a/material/.icons/material/tooltip.svg +++ b/material/.icons/material/tooltip.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toothbrush-electric.svg b/material/.icons/material/toothbrush-electric.svg index c5caeb2c6..a9427f101 100644 --- a/material/.icons/material/toothbrush-electric.svg +++ b/material/.icons/material/toothbrush-electric.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tortoise.svg b/material/.icons/material/tortoise.svg index d56bc727a..5b2d0e7b0 100644 --- a/material/.icons/material/tortoise.svg +++ b/material/.icons/material/tortoise.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-marker-outline.svg b/material/.icons/material/toy-brick-marker-outline.svg index 1064edc12..9f4b67a0e 100644 --- a/material/.icons/material/toy-brick-marker-outline.svg +++ b/material/.icons/material/toy-brick-marker-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-marker.svg b/material/.icons/material/toy-brick-marker.svg index a4ba943c6..c25f6ca2f 100644 --- a/material/.icons/material/toy-brick-marker.svg +++ b/material/.icons/material/toy-brick-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-minus-outline.svg b/material/.icons/material/toy-brick-minus-outline.svg index f0efeb753..430c38dbc 100644 --- a/material/.icons/material/toy-brick-minus-outline.svg +++ b/material/.icons/material/toy-brick-minus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-minus.svg b/material/.icons/material/toy-brick-minus.svg index d4c8b4fcb..375d31d07 100644 --- a/material/.icons/material/toy-brick-minus.svg +++ b/material/.icons/material/toy-brick-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-outline.svg b/material/.icons/material/toy-brick-outline.svg index 511d07658..ae17ee360 100644 --- a/material/.icons/material/toy-brick-outline.svg +++ b/material/.icons/material/toy-brick-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-plus-outline.svg b/material/.icons/material/toy-brick-plus-outline.svg index f10482ec0..bcc485cb6 100644 --- a/material/.icons/material/toy-brick-plus-outline.svg +++ b/material/.icons/material/toy-brick-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-plus.svg b/material/.icons/material/toy-brick-plus.svg index b2a2a76f3..ab212e30a 100644 --- a/material/.icons/material/toy-brick-plus.svg +++ b/material/.icons/material/toy-brick-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-remove.svg b/material/.icons/material/toy-brick-remove.svg index 2ffc27842..0e113ac34 100644 --- a/material/.icons/material/toy-brick-remove.svg +++ b/material/.icons/material/toy-brick-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-search-outline.svg b/material/.icons/material/toy-brick-search-outline.svg index 437bb15b2..3dc815030 100644 --- a/material/.icons/material/toy-brick-search-outline.svg +++ b/material/.icons/material/toy-brick-search-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick-search.svg b/material/.icons/material/toy-brick-search.svg index ffce63e03..532293cff 100644 --- a/material/.icons/material/toy-brick-search.svg +++ b/material/.icons/material/toy-brick-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/toy-brick.svg b/material/.icons/material/toy-brick.svg index 1681c6c3f..d0115efe2 100644 --- a/material/.icons/material/toy-brick.svg +++ b/material/.icons/material/toy-brick.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/trackpad-lock.svg b/material/.icons/material/trackpad-lock.svg index 00ae30dae..4f269bb53 100644 --- a/material/.icons/material/trackpad-lock.svg +++ b/material/.icons/material/trackpad-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/trackpad.svg b/material/.icons/material/trackpad.svg index a7ae2b7c0..125de1324 100644 --- a/material/.icons/material/trackpad.svg +++ b/material/.icons/material/trackpad.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tractor-variant.svg b/material/.icons/material/tractor-variant.svg index 2117bac52..f2aa2ba76 100644 --- a/material/.icons/material/tractor-variant.svg +++ b/material/.icons/material/tractor-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tractor.svg b/material/.icons/material/tractor.svg index 038791f6a..3929d3ece 100644 --- a/material/.icons/material/tractor.svg +++ b/material/.icons/material/tractor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/traffic-light.svg b/material/.icons/material/traffic-light.svg index 196202ec9..ce120e394 100644 --- a/material/.icons/material/traffic-light.svg +++ b/material/.icons/material/traffic-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/train-car-passenger-door-open.svg b/material/.icons/material/train-car-passenger-door-open.svg index 5074b4d06..0e70428e0 100644 --- a/material/.icons/material/train-car-passenger-door-open.svg +++ b/material/.icons/material/train-car-passenger-door-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/train-car-passenger-door.svg b/material/.icons/material/train-car-passenger-door.svg index 9c0c54e7f..cbf6818a8 100644 --- a/material/.icons/material/train-car-passenger-door.svg +++ b/material/.icons/material/train-car-passenger-door.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/train-car-passenger-variant.svg b/material/.icons/material/train-car-passenger-variant.svg index aef3a809d..71a6ce344 100644 --- a/material/.icons/material/train-car-passenger-variant.svg +++ b/material/.icons/material/train-car-passenger-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/train-car-passenger.svg b/material/.icons/material/train-car-passenger.svg index 5bc3c1be0..04477a464 100644 --- a/material/.icons/material/train-car-passenger.svg +++ b/material/.icons/material/train-car-passenger.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/train-car.svg b/material/.icons/material/train-car.svg index c2f29310f..b7957312d 100644 --- a/material/.icons/material/train-car.svg +++ b/material/.icons/material/train-car.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/train-variant.svg b/material/.icons/material/train-variant.svg index f68f47d06..c51be3d11 100644 --- a/material/.icons/material/train-variant.svg +++ b/material/.icons/material/train-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/train.svg b/material/.icons/material/train.svg index b7ef247d5..89210abdb 100644 --- a/material/.icons/material/train.svg +++ b/material/.icons/material/train.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tram-side.svg b/material/.icons/material/tram-side.svg index 14e192050..163f8521b 100644 --- a/material/.icons/material/tram-side.svg +++ b/material/.icons/material/tram-side.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tram.svg b/material/.icons/material/tram.svg index 28e123d1f..2b82f056c 100644 --- a/material/.icons/material/tram.svg +++ b/material/.icons/material/tram.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/transcribe-close.svg b/material/.icons/material/transcribe-close.svg index 32f8dfb0e..cac4fc0ff 100644 --- a/material/.icons/material/transcribe-close.svg +++ b/material/.icons/material/transcribe-close.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/transcribe.svg b/material/.icons/material/transcribe.svg index 59ae88c81..e1eff7b11 100644 --- a/material/.icons/material/transcribe.svg +++ b/material/.icons/material/transcribe.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/transfer.svg b/material/.icons/material/transfer.svg index fb4ce5428..ffb12278a 100644 --- a/material/.icons/material/transfer.svg +++ b/material/.icons/material/transfer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/transit-connection-variant.svg b/material/.icons/material/transit-connection-variant.svg index 87cef9e4d..df4463cd3 100644 --- a/material/.icons/material/transit-connection-variant.svg +++ b/material/.icons/material/transit-connection-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/transit-connection.svg b/material/.icons/material/transit-connection.svg index d3ece6c53..3144d6885 100644 --- a/material/.icons/material/transit-connection.svg +++ b/material/.icons/material/transit-connection.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/transit-detour.svg b/material/.icons/material/transit-detour.svg index b455b9e13..5f4fae74f 100644 --- a/material/.icons/material/transit-detour.svg +++ b/material/.icons/material/transit-detour.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/transit-transfer.svg b/material/.icons/material/transit-transfer.svg index f006b3a5b..1ea186bf8 100644 --- a/material/.icons/material/transit-transfer.svg +++ b/material/.icons/material/transit-transfer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/transition-masked.svg b/material/.icons/material/transition-masked.svg index 64cd7bf7b..985ce0a85 100644 --- a/material/.icons/material/transition-masked.svg +++ b/material/.icons/material/transition-masked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/transition.svg b/material/.icons/material/transition.svg index ef8b7296f..b52efc4c3 100644 --- a/material/.icons/material/transition.svg +++ b/material/.icons/material/transition.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/translate.svg b/material/.icons/material/translate.svg index bac1efd16..ed8ee4c16 100644 --- a/material/.icons/material/translate.svg +++ b/material/.icons/material/translate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/trash-can-outline.svg b/material/.icons/material/trash-can-outline.svg index 7fe042401..5f8667825 100644 --- a/material/.icons/material/trash-can-outline.svg +++ b/material/.icons/material/trash-can-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/trash-can.svg b/material/.icons/material/trash-can.svg index 31f6b08de..8578a7699 100644 --- a/material/.icons/material/trash-can.svg +++ b/material/.icons/material/trash-can.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tray-alert.svg b/material/.icons/material/tray-alert.svg index 568b2df15..0d77c3762 100644 --- a/material/.icons/material/tray-alert.svg +++ b/material/.icons/material/tray-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tray-full.svg b/material/.icons/material/tray-full.svg index 342126b65..a7011ce71 100644 --- a/material/.icons/material/tray-full.svg +++ b/material/.icons/material/tray-full.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tray-minus.svg b/material/.icons/material/tray-minus.svg index a5963de52..71a5452f2 100644 --- a/material/.icons/material/tray-minus.svg +++ b/material/.icons/material/tray-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tray-plus.svg b/material/.icons/material/tray-plus.svg index 71bcc8681..50d60c610 100644 --- a/material/.icons/material/tray-plus.svg +++ b/material/.icons/material/tray-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tray-remove.svg b/material/.icons/material/tray-remove.svg index c4adac21a..9c61274c3 100644 --- a/material/.icons/material/tray-remove.svg +++ b/material/.icons/material/tray-remove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tray.svg b/material/.icons/material/tray.svg index 5ee5f8e83..84b98f5e6 100644 --- a/material/.icons/material/tray.svg +++ b/material/.icons/material/tray.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/treasure-chest.svg b/material/.icons/material/treasure-chest.svg index 0f7627725..7a866f7d5 100644 --- a/material/.icons/material/treasure-chest.svg +++ b/material/.icons/material/treasure-chest.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tree-outline.svg b/material/.icons/material/tree-outline.svg index 48d2b990e..601fd2050 100644 --- a/material/.icons/material/tree-outline.svg +++ b/material/.icons/material/tree-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tree.svg b/material/.icons/material/tree.svg index b8e86d5eb..c3d5e1212 100644 --- a/material/.icons/material/tree.svg +++ b/material/.icons/material/tree.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/trello.svg b/material/.icons/material/trello.svg index da327e1d1..88fe0aefc 100644 --- a/material/.icons/material/trello.svg +++ b/material/.icons/material/trello.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/trophy-award.svg b/material/.icons/material/trophy-award.svg index 3c91d5562..0cfd68722 100644 --- a/material/.icons/material/trophy-award.svg +++ b/material/.icons/material/trophy-award.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/trophy-variant-outline.svg b/material/.icons/material/trophy-variant-outline.svg index ab3d06f58..a44ddc2f9 100644 --- a/material/.icons/material/trophy-variant-outline.svg +++ b/material/.icons/material/trophy-variant-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/trophy-variant.svg b/material/.icons/material/trophy-variant.svg index bb4141e48..a61d6ce13 100644 --- a/material/.icons/material/trophy-variant.svg +++ b/material/.icons/material/trophy-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/truck-check.svg b/material/.icons/material/truck-check.svg index d8e629ed1..474c14f9d 100644 --- a/material/.icons/material/truck-check.svg +++ b/material/.icons/material/truck-check.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/truck-delivery.svg b/material/.icons/material/truck-delivery.svg index 8cfdafed9..6fc058bcd 100644 --- a/material/.icons/material/truck-delivery.svg +++ b/material/.icons/material/truck-delivery.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/truck-fast.svg b/material/.icons/material/truck-fast.svg index fb6056824..2735f930c 100644 --- a/material/.icons/material/truck-fast.svg +++ b/material/.icons/material/truck-fast.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/truck-trailer.svg b/material/.icons/material/truck-trailer.svg index ef6e4194a..e49518812 100644 --- a/material/.icons/material/truck-trailer.svg +++ b/material/.icons/material/truck-trailer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/truck.svg b/material/.icons/material/truck.svg index 0d44ab232..f8309eb89 100644 --- a/material/.icons/material/truck.svg +++ b/material/.icons/material/truck.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tshirt-crew-outline.svg b/material/.icons/material/tshirt-crew-outline.svg index 4ba5e99de..fe7e7a2d7 100644 --- a/material/.icons/material/tshirt-crew-outline.svg +++ b/material/.icons/material/tshirt-crew-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tshirt-crew.svg b/material/.icons/material/tshirt-crew.svg index fa010f7f0..051630ebc 100644 --- a/material/.icons/material/tshirt-crew.svg +++ b/material/.icons/material/tshirt-crew.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tshirt-v-outline.svg b/material/.icons/material/tshirt-v-outline.svg index 837805605..b1826ba54 100644 --- a/material/.icons/material/tshirt-v-outline.svg +++ b/material/.icons/material/tshirt-v-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tshirt-v.svg b/material/.icons/material/tshirt-v.svg index ee182e483..5ea670d8e 100644 --- a/material/.icons/material/tshirt-v.svg +++ b/material/.icons/material/tshirt-v.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tumble-dryer-alert.svg b/material/.icons/material/tumble-dryer-alert.svg index ede00144e..e10e09f3d 100644 --- a/material/.icons/material/tumble-dryer-alert.svg +++ b/material/.icons/material/tumble-dryer-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tumble-dryer-off.svg b/material/.icons/material/tumble-dryer-off.svg index ba65cd580..1bf70caab 100644 --- a/material/.icons/material/tumble-dryer-off.svg +++ b/material/.icons/material/tumble-dryer-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/tumble-dryer.svg b/material/.icons/material/tumble-dryer.svg index a18db566e..b0f092e21 100644 --- a/material/.icons/material/tumble-dryer.svg +++ b/material/.icons/material/tumble-dryer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/turkey.svg b/material/.icons/material/turkey.svg index 24799669b..fe9894591 100644 --- a/material/.icons/material/turkey.svg +++ b/material/.icons/material/turkey.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/turnstile-outline.svg b/material/.icons/material/turnstile-outline.svg index e7f11b2d1..8a7d6d68d 100644 --- a/material/.icons/material/turnstile-outline.svg +++ b/material/.icons/material/turnstile-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/turtle.svg b/material/.icons/material/turtle.svg index 4a7046545..49cf1f6dd 100644 --- a/material/.icons/material/turtle.svg +++ b/material/.icons/material/turtle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/twitter-retweet.svg b/material/.icons/material/twitter-retweet.svg index b3feb38a9..85e340e99 100644 --- a/material/.icons/material/twitter-retweet.svg +++ b/material/.icons/material/twitter-retweet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/twitter.svg b/material/.icons/material/twitter.svg index c6f679680..ba0b63b3f 100644 --- a/material/.icons/material/twitter.svg +++ b/material/.icons/material/twitter.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/two-factor-authentication.svg b/material/.icons/material/two-factor-authentication.svg index 913379039..b539d3e54 100644 --- a/material/.icons/material/two-factor-authentication.svg +++ b/material/.icons/material/two-factor-authentication.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ubuntu.svg b/material/.icons/material/ubuntu.svg index 7362008cc..cf359a155 100644 --- a/material/.icons/material/ubuntu.svg +++ b/material/.icons/material/ubuntu.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/ultra-high-definition.svg b/material/.icons/material/ultra-high-definition.svg index 71b2d60f8..1ec3fe4e0 100644 --- a/material/.icons/material/ultra-high-definition.svg +++ b/material/.icons/material/ultra-high-definition.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/umbraco.svg b/material/.icons/material/umbraco.svg index 560157e53..569b6f038 100644 --- a/material/.icons/material/umbraco.svg +++ b/material/.icons/material/umbraco.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/umbrella-outline.svg b/material/.icons/material/umbrella-outline.svg index bf41ccf81..328759c27 100644 --- a/material/.icons/material/umbrella-outline.svg +++ b/material/.icons/material/umbrella-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/umbrella.svg b/material/.icons/material/umbrella.svg index 90e82fa6f..80b400d83 100644 --- a/material/.icons/material/umbrella.svg +++ b/material/.icons/material/umbrella.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/undo-variant.svg b/material/.icons/material/undo-variant.svg index 481ef757e..fab125164 100644 --- a/material/.icons/material/undo-variant.svg +++ b/material/.icons/material/undo-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/unicode.svg b/material/.icons/material/unicode.svg index 0b75c4456..1d18fb91a 100644 --- a/material/.icons/material/unicode.svg +++ b/material/.icons/material/unicode.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/unicorn.svg b/material/.icons/material/unicorn.svg index 6984db09e..bb68021fb 100644 --- a/material/.icons/material/unicorn.svg +++ b/material/.icons/material/unicorn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/unreal.svg b/material/.icons/material/unreal.svg index 40f3de57e..851b5cfc8 100644 --- a/material/.icons/material/unreal.svg +++ b/material/.icons/material/unreal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/update.svg b/material/.icons/material/update.svg index 4e45fa7be..2bf16a2ce 100644 --- a/material/.icons/material/update.svg +++ b/material/.icons/material/update.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/upload-network-outline.svg b/material/.icons/material/upload-network-outline.svg index 0014a379f..626a05ac5 100644 --- a/material/.icons/material/upload-network-outline.svg +++ b/material/.icons/material/upload-network-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/upload-network.svg b/material/.icons/material/upload-network.svg index 999dbc7d2..f995921ed 100644 --- a/material/.icons/material/upload-network.svg +++ b/material/.icons/material/upload-network.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/usb-flash-drive-outline.svg b/material/.icons/material/usb-flash-drive-outline.svg index 31677cdce..ede834009 100644 --- a/material/.icons/material/usb-flash-drive-outline.svg +++ b/material/.icons/material/usb-flash-drive-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/usb-flash-drive.svg b/material/.icons/material/usb-flash-drive.svg index 60e74e903..07658264f 100644 --- a/material/.icons/material/usb-flash-drive.svg +++ b/material/.icons/material/usb-flash-drive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/usb-port.svg b/material/.icons/material/usb-port.svg index d81e34ead..e2242f20d 100644 --- a/material/.icons/material/usb-port.svg +++ b/material/.icons/material/usb-port.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/usb.svg b/material/.icons/material/usb.svg index b55ae67f9..11e1ebc9d 100644 --- a/material/.icons/material/usb.svg +++ b/material/.icons/material/usb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/valve-closed.svg b/material/.icons/material/valve-closed.svg index df4b8f7e3..8a269f37a 100644 --- a/material/.icons/material/valve-closed.svg +++ b/material/.icons/material/valve-closed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/valve-open.svg b/material/.icons/material/valve-open.svg index 6e73acbfd..d76a60bb0 100644 --- a/material/.icons/material/valve-open.svg +++ b/material/.icons/material/valve-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/valve.svg b/material/.icons/material/valve.svg index 03b2651b2..67f4fcdca 100644 --- a/material/.icons/material/valve.svg +++ b/material/.icons/material/valve.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/van-passenger.svg b/material/.icons/material/van-passenger.svg index 0cafa2214..e49c3d3be 100644 --- a/material/.icons/material/van-passenger.svg +++ b/material/.icons/material/van-passenger.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/van-utility.svg b/material/.icons/material/van-utility.svg index b6734e53c..60f70aed7 100644 --- a/material/.icons/material/van-utility.svg +++ b/material/.icons/material/van-utility.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vector-bezier.svg b/material/.icons/material/vector-bezier.svg index 4506c7ff6..d414fbb0a 100644 --- a/material/.icons/material/vector-bezier.svg +++ b/material/.icons/material/vector-bezier.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vector-circle-variant.svg b/material/.icons/material/vector-circle-variant.svg index 5204113d8..867ba9016 100644 --- a/material/.icons/material/vector-circle-variant.svg +++ b/material/.icons/material/vector-circle-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vector-circle.svg b/material/.icons/material/vector-circle.svg index fe4bd65a5..fef3d046f 100644 --- a/material/.icons/material/vector-circle.svg +++ b/material/.icons/material/vector-circle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vector-curve.svg b/material/.icons/material/vector-curve.svg index 48dd94a05..ee19227db 100644 --- a/material/.icons/material/vector-curve.svg +++ b/material/.icons/material/vector-curve.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vector-intersection.svg b/material/.icons/material/vector-intersection.svg index 10acd3a8f..f1efada7a 100644 --- a/material/.icons/material/vector-intersection.svg +++ b/material/.icons/material/vector-intersection.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vector-polyline-edit.svg b/material/.icons/material/vector-polyline-edit.svg index c3e8b3512..e06b0b2f7 100644 --- a/material/.icons/material/vector-polyline-edit.svg +++ b/material/.icons/material/vector-polyline-edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vector-radius.svg b/material/.icons/material/vector-radius.svg index 1ea1d62ff..ac734bb50 100644 --- a/material/.icons/material/vector-radius.svg +++ b/material/.icons/material/vector-radius.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vector-selection.svg b/material/.icons/material/vector-selection.svg index ef00f7a43..d76f7f029 100644 --- a/material/.icons/material/vector-selection.svg +++ b/material/.icons/material/vector-selection.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vhs.svg b/material/.icons/material/vhs.svg index 3e8eb54e5..f84d30f50 100644 --- a/material/.icons/material/vhs.svg +++ b/material/.icons/material/vhs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vibrate-off.svg b/material/.icons/material/vibrate-off.svg index ce3f59730..08e2b76c0 100644 --- a/material/.icons/material/vibrate-off.svg +++ b/material/.icons/material/vibrate-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vibrate.svg b/material/.icons/material/vibrate.svg index 0aa61430e..03f10b44f 100644 --- a/material/.icons/material/vibrate.svg +++ b/material/.icons/material/vibrate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-3d-variant.svg b/material/.icons/material/video-3d-variant.svg index dfb8ca7c9..0fe81d501 100644 --- a/material/.icons/material/video-3d-variant.svg +++ b/material/.icons/material/video-3d-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-3d.svg b/material/.icons/material/video-3d.svg index 8d8e1c826..a23c3ce4f 100644 --- a/material/.icons/material/video-3d.svg +++ b/material/.icons/material/video-3d.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-4k-box.svg b/material/.icons/material/video-4k-box.svg index e3835d466..f5e45c56c 100644 --- a/material/.icons/material/video-4k-box.svg +++ b/material/.icons/material/video-4k-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-account.svg b/material/.icons/material/video-account.svg index 4d229c2b7..27ba4c435 100644 --- a/material/.icons/material/video-account.svg +++ b/material/.icons/material/video-account.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-box-off.svg b/material/.icons/material/video-box-off.svg index 9bcfc9fdd..637a2e095 100644 --- a/material/.icons/material/video-box-off.svg +++ b/material/.icons/material/video-box-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-box.svg b/material/.icons/material/video-box.svg index 5bf12ee51..92bac880f 100644 --- a/material/.icons/material/video-box.svg +++ b/material/.icons/material/video-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-image.svg b/material/.icons/material/video-image.svg index 8d4229a7d..2f47c4819 100644 --- a/material/.icons/material/video-image.svg +++ b/material/.icons/material/video-image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-input-antenna.svg b/material/.icons/material/video-input-antenna.svg index b4c9d1747..6f145f60f 100644 --- a/material/.icons/material/video-input-antenna.svg +++ b/material/.icons/material/video-input-antenna.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-input-component.svg b/material/.icons/material/video-input-component.svg index aa155b533..cfeabdd15 100644 --- a/material/.icons/material/video-input-component.svg +++ b/material/.icons/material/video-input-component.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-input-hdmi.svg b/material/.icons/material/video-input-hdmi.svg index f5b4c39b5..83ccd4762 100644 --- a/material/.icons/material/video-input-hdmi.svg +++ b/material/.icons/material/video-input-hdmi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-input-svideo.svg b/material/.icons/material/video-input-svideo.svg index 9c715e991..318ace923 100644 --- a/material/.icons/material/video-input-svideo.svg +++ b/material/.icons/material/video-input-svideo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-minus.svg b/material/.icons/material/video-minus.svg index 170841e1a..cb442f7d1 100644 --- a/material/.icons/material/video-minus.svg +++ b/material/.icons/material/video-minus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-off-outline.svg b/material/.icons/material/video-off-outline.svg index 350968c63..3c79e0f6a 100644 --- a/material/.icons/material/video-off-outline.svg +++ b/material/.icons/material/video-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-off.svg b/material/.icons/material/video-off.svg index 7e4276ac1..368fe1919 100644 --- a/material/.icons/material/video-off.svg +++ b/material/.icons/material/video-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-outline.svg b/material/.icons/material/video-outline.svg index 07b57b8bc..a8f862e77 100644 --- a/material/.icons/material/video-outline.svg +++ b/material/.icons/material/video-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-plus.svg b/material/.icons/material/video-plus.svg index ac72cd98b..93733e530 100644 --- a/material/.icons/material/video-plus.svg +++ b/material/.icons/material/video-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-stabilization.svg b/material/.icons/material/video-stabilization.svg index 191ae59d0..cef4f54da 100644 --- a/material/.icons/material/video-stabilization.svg +++ b/material/.icons/material/video-stabilization.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-switch.svg b/material/.icons/material/video-switch.svg index 8b4b22964..416985772 100644 --- a/material/.icons/material/video-switch.svg +++ b/material/.icons/material/video-switch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-vintage.svg b/material/.icons/material/video-vintage.svg index 3381f18ee..920ccc784 100644 --- a/material/.icons/material/video-vintage.svg +++ b/material/.icons/material/video-vintage.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-wireless-outline.svg b/material/.icons/material/video-wireless-outline.svg index d051e74f5..471491461 100644 --- a/material/.icons/material/video-wireless-outline.svg +++ b/material/.icons/material/video-wireless-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video-wireless.svg b/material/.icons/material/video-wireless.svg index 02e8ab264..d6b275c1b 100644 --- a/material/.icons/material/video-wireless.svg +++ b/material/.icons/material/video-wireless.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/video.svg b/material/.icons/material/video.svg index 491f73f0e..69e8d0c2f 100644 --- a/material/.icons/material/video.svg +++ b/material/.icons/material/video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/view-agenda-outline.svg b/material/.icons/material/view-agenda-outline.svg index 697cac459..83be97b2d 100644 --- a/material/.icons/material/view-agenda-outline.svg +++ b/material/.icons/material/view-agenda-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/view-day.svg b/material/.icons/material/view-day.svg index e271cd8d0..9a5fd3848 100644 --- a/material/.icons/material/view-day.svg +++ b/material/.icons/material/view-day.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/view-week.svg b/material/.icons/material/view-week.svg index 11d065927..0a4687f33 100644 --- a/material/.icons/material/view-week.svg +++ b/material/.icons/material/view-week.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/violin.svg b/material/.icons/material/violin.svg index 576766357..39ece6eb9 100644 --- a/material/.icons/material/violin.svg +++ b/material/.icons/material/violin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/virtual-reality.svg b/material/.icons/material/virtual-reality.svg index fad92f60b..401a735ee 100644 --- a/material/.icons/material/virtual-reality.svg +++ b/material/.icons/material/virtual-reality.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/virus-outline.svg b/material/.icons/material/virus-outline.svg index 1ec69c236..2d4d15131 100644 --- a/material/.icons/material/virus-outline.svg +++ b/material/.icons/material/virus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/virus.svg b/material/.icons/material/virus.svg index a7a28532f..b084c6cb0 100644 --- a/material/.icons/material/virus.svg +++ b/material/.icons/material/virus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/voice-off.svg b/material/.icons/material/voice-off.svg index 99dcb4177..cb1611901 100644 --- a/material/.icons/material/voice-off.svg +++ b/material/.icons/material/voice-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/voicemail.svg b/material/.icons/material/voicemail.svg index 1c586d188..9b1711bd0 100644 --- a/material/.icons/material/voicemail.svg +++ b/material/.icons/material/voicemail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/volleyball.svg b/material/.icons/material/volleyball.svg index 9711638e3..676b572fd 100644 --- a/material/.icons/material/volleyball.svg +++ b/material/.icons/material/volleyball.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/volume-off.svg b/material/.icons/material/volume-off.svg index 7fb8844e6..13d330d43 100644 --- a/material/.icons/material/volume-off.svg +++ b/material/.icons/material/volume-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vote-outline.svg b/material/.icons/material/vote-outline.svg index dd6121e3b..ffd2dd6aa 100644 --- a/material/.icons/material/vote-outline.svg +++ b/material/.icons/material/vote-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vote.svg b/material/.icons/material/vote.svg index 8f8b62453..7178b2837 100644 --- a/material/.icons/material/vote.svg +++ b/material/.icons/material/vote.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/vpn.svg b/material/.icons/material/vpn.svg index 6fe911dce..7fecd8d9f 100644 --- a/material/.icons/material/vpn.svg +++ b/material/.icons/material/vpn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wallet-giftcard.svg b/material/.icons/material/wallet-giftcard.svg index ee1808352..426b5dea9 100644 --- a/material/.icons/material/wallet-giftcard.svg +++ b/material/.icons/material/wallet-giftcard.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wallet-outline.svg b/material/.icons/material/wallet-outline.svg index 4fb83ae40..5c5037c0b 100644 --- a/material/.icons/material/wallet-outline.svg +++ b/material/.icons/material/wallet-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wallet-plus-outline.svg b/material/.icons/material/wallet-plus-outline.svg index bd116a8b5..3c9dbe9d5 100644 --- a/material/.icons/material/wallet-plus-outline.svg +++ b/material/.icons/material/wallet-plus-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wallet-plus.svg b/material/.icons/material/wallet-plus.svg index d3a0f6dea..88d373404 100644 --- a/material/.icons/material/wallet-plus.svg +++ b/material/.icons/material/wallet-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wallet.svg b/material/.icons/material/wallet.svg index e7bb62a76..d8d62d58b 100644 --- a/material/.icons/material/wallet.svg +++ b/material/.icons/material/wallet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wallpaper.svg b/material/.icons/material/wallpaper.svg index e9f16beba..c98019f88 100644 --- a/material/.icons/material/wallpaper.svg +++ b/material/.icons/material/wallpaper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wan.svg b/material/.icons/material/wan.svg index 20875b155..34059ebbc 100644 --- a/material/.icons/material/wan.svg +++ b/material/.icons/material/wan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wardrobe-outline.svg b/material/.icons/material/wardrobe-outline.svg index 52d0f393f..b38f5c2d5 100644 --- a/material/.icons/material/wardrobe-outline.svg +++ b/material/.icons/material/wardrobe-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/washing-machine-alert.svg b/material/.icons/material/washing-machine-alert.svg index 3e2bfb161..d8b3e1117 100644 --- a/material/.icons/material/washing-machine-alert.svg +++ b/material/.icons/material/washing-machine-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/washing-machine-off.svg b/material/.icons/material/washing-machine-off.svg index 5b403534b..e84a781f2 100644 --- a/material/.icons/material/washing-machine-off.svg +++ b/material/.icons/material/washing-machine-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/washing-machine.svg b/material/.icons/material/washing-machine.svg index 940c492c4..7ed064c31 100644 --- a/material/.icons/material/washing-machine.svg +++ b/material/.icons/material/washing-machine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watch-export-variant.svg b/material/.icons/material/watch-export-variant.svg index de733addf..4c1de1141 100644 --- a/material/.icons/material/watch-export-variant.svg +++ b/material/.icons/material/watch-export-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watch-export.svg b/material/.icons/material/watch-export.svg index abd91aac1..8f8535e7c 100644 --- a/material/.icons/material/watch-export.svg +++ b/material/.icons/material/watch-export.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watch-import-variant.svg b/material/.icons/material/watch-import-variant.svg index b9fdc134c..7556ee87c 100644 --- a/material/.icons/material/watch-import-variant.svg +++ b/material/.icons/material/watch-import-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watch-import.svg b/material/.icons/material/watch-import.svg index f7ac3fe22..61f1267d7 100644 --- a/material/.icons/material/watch-import.svg +++ b/material/.icons/material/watch-import.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watch-variant.svg b/material/.icons/material/watch-variant.svg index ead033610..fc38b7f84 100644 --- a/material/.icons/material/watch-variant.svg +++ b/material/.icons/material/watch-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watch-vibrate.svg b/material/.icons/material/watch-vibrate.svg index ba7365725..75c75dbcb 100644 --- a/material/.icons/material/watch-vibrate.svg +++ b/material/.icons/material/watch-vibrate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watch.svg b/material/.icons/material/watch.svg index d100489d0..2935e4b62 100644 --- a/material/.icons/material/watch.svg +++ b/material/.icons/material/watch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-boiler-alert.svg b/material/.icons/material/water-boiler-alert.svg index 5d36e4140..577a47a08 100644 --- a/material/.icons/material/water-boiler-alert.svg +++ b/material/.icons/material/water-boiler-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-boiler-off.svg b/material/.icons/material/water-boiler-off.svg index d060c65cf..38b04d1fe 100644 --- a/material/.icons/material/water-boiler-off.svg +++ b/material/.icons/material/water-boiler-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-boiler.svg b/material/.icons/material/water-boiler.svg index 9e1898db3..7668271ae 100644 --- a/material/.icons/material/water-boiler.svg +++ b/material/.icons/material/water-boiler.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-off-outline.svg b/material/.icons/material/water-off-outline.svg index 0a4395f7f..4ca18ea48 100644 --- a/material/.icons/material/water-off-outline.svg +++ b/material/.icons/material/water-off-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-off.svg b/material/.icons/material/water-off.svg index af2bcad10..461187138 100644 --- a/material/.icons/material/water-off.svg +++ b/material/.icons/material/water-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-outline.svg b/material/.icons/material/water-outline.svg index cec022335..da6a592e1 100644 --- a/material/.icons/material/water-outline.svg +++ b/material/.icons/material/water-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-percent-alert.svg b/material/.icons/material/water-percent-alert.svg index 65ee43322..d7c9111cc 100644 --- a/material/.icons/material/water-percent-alert.svg +++ b/material/.icons/material/water-percent-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-percent.svg b/material/.icons/material/water-percent.svg index 05da91677..be24b4ba7 100644 --- a/material/.icons/material/water-percent.svg +++ b/material/.icons/material/water-percent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-pump-off.svg b/material/.icons/material/water-pump-off.svg index 723ff3914..b0ea368b0 100644 --- a/material/.icons/material/water-pump-off.svg +++ b/material/.icons/material/water-pump-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-pump.svg b/material/.icons/material/water-pump.svg index 61a5d9928..53d71abb0 100644 --- a/material/.icons/material/water-pump.svg +++ b/material/.icons/material/water-pump.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-well-outline.svg b/material/.icons/material/water-well-outline.svg index 3f5d88aa6..7003e4656 100644 --- a/material/.icons/material/water-well-outline.svg +++ b/material/.icons/material/water-well-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water-well.svg b/material/.icons/material/water-well.svg index 22edbc055..0717ffd8c 100644 --- a/material/.icons/material/water-well.svg +++ b/material/.icons/material/water-well.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/water.svg b/material/.icons/material/water.svg index 5721faad3..030a2f51b 100644 --- a/material/.icons/material/water.svg +++ b/material/.icons/material/water.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watering-can-outline.svg b/material/.icons/material/watering-can-outline.svg index 494efc2b2..2bf362131 100644 --- a/material/.icons/material/watering-can-outline.svg +++ b/material/.icons/material/watering-can-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watering-can.svg b/material/.icons/material/watering-can.svg index 17f0e3111..be725c61e 100644 --- a/material/.icons/material/watering-can.svg +++ b/material/.icons/material/watering-can.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/watermark.svg b/material/.icons/material/watermark.svg index 3d45014b9..f528af480 100644 --- a/material/.icons/material/watermark.svg +++ b/material/.icons/material/watermark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/waze.svg b/material/.icons/material/waze.svg index 70b312865..7d2366e93 100644 --- a/material/.icons/material/waze.svg +++ b/material/.icons/material/waze.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-cloudy-alert.svg b/material/.icons/material/weather-cloudy-alert.svg index 019fd769c..064121d14 100644 --- a/material/.icons/material/weather-cloudy-alert.svg +++ b/material/.icons/material/weather-cloudy-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-cloudy-arrow-right.svg b/material/.icons/material/weather-cloudy-arrow-right.svg index 688c16426..8dbd5b613 100644 --- a/material/.icons/material/weather-cloudy-arrow-right.svg +++ b/material/.icons/material/weather-cloudy-arrow-right.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-cloudy.svg b/material/.icons/material/weather-cloudy.svg index 5f837aefd..dca25c1f6 100644 --- a/material/.icons/material/weather-cloudy.svg +++ b/material/.icons/material/weather-cloudy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-fog.svg b/material/.icons/material/weather-fog.svg index 521148277..c219246eb 100644 --- a/material/.icons/material/weather-fog.svg +++ b/material/.icons/material/weather-fog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-hail.svg b/material/.icons/material/weather-hail.svg index 6c74b9251..008bee2e3 100644 --- a/material/.icons/material/weather-hail.svg +++ b/material/.icons/material/weather-hail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-hazy.svg b/material/.icons/material/weather-hazy.svg index cb237e624..82ba4ce6d 100644 --- a/material/.icons/material/weather-hazy.svg +++ b/material/.icons/material/weather-hazy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-hurricane.svg b/material/.icons/material/weather-hurricane.svg index 7d65ffc08..78ae93903 100644 --- a/material/.icons/material/weather-hurricane.svg +++ b/material/.icons/material/weather-hurricane.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-lightning-rainy.svg b/material/.icons/material/weather-lightning-rainy.svg index 8148610d6..64a2ca536 100644 --- a/material/.icons/material/weather-lightning-rainy.svg +++ b/material/.icons/material/weather-lightning-rainy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-lightning.svg b/material/.icons/material/weather-lightning.svg index cd709ec71..ce070ae7c 100644 --- a/material/.icons/material/weather-lightning.svg +++ b/material/.icons/material/weather-lightning.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-night-partly-cloudy.svg b/material/.icons/material/weather-night-partly-cloudy.svg index 6acb4ec5b..d244e0fa5 100644 --- a/material/.icons/material/weather-night-partly-cloudy.svg +++ b/material/.icons/material/weather-night-partly-cloudy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-night.svg b/material/.icons/material/weather-night.svg index 643783b13..3fbdad3a6 100644 --- a/material/.icons/material/weather-night.svg +++ b/material/.icons/material/weather-night.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-partly-cloudy.svg b/material/.icons/material/weather-partly-cloudy.svg index 9eb066615..2badb48e6 100644 --- a/material/.icons/material/weather-partly-cloudy.svg +++ b/material/.icons/material/weather-partly-cloudy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-partly-lightning.svg b/material/.icons/material/weather-partly-lightning.svg index e0c4beff2..b4d86b339 100644 --- a/material/.icons/material/weather-partly-lightning.svg +++ b/material/.icons/material/weather-partly-lightning.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-partly-rainy.svg b/material/.icons/material/weather-partly-rainy.svg index 5026d4a17..c21292e3e 100644 --- a/material/.icons/material/weather-partly-rainy.svg +++ b/material/.icons/material/weather-partly-rainy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-partly-snowy-rainy.svg b/material/.icons/material/weather-partly-snowy-rainy.svg index 5eb8c1c09..8cbfdfe63 100644 --- a/material/.icons/material/weather-partly-snowy-rainy.svg +++ b/material/.icons/material/weather-partly-snowy-rainy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-partly-snowy.svg b/material/.icons/material/weather-partly-snowy.svg index 60f7045d6..645eb0451 100644 --- a/material/.icons/material/weather-partly-snowy.svg +++ b/material/.icons/material/weather-partly-snowy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-pouring.svg b/material/.icons/material/weather-pouring.svg index 7633ea8f3..0b904e731 100644 --- a/material/.icons/material/weather-pouring.svg +++ b/material/.icons/material/weather-pouring.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-rainy.svg b/material/.icons/material/weather-rainy.svg index c3711e708..385e33e57 100644 --- a/material/.icons/material/weather-rainy.svg +++ b/material/.icons/material/weather-rainy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-snowy-heavy.svg b/material/.icons/material/weather-snowy-heavy.svg index f5a5130f0..e135cf8ce 100644 --- a/material/.icons/material/weather-snowy-heavy.svg +++ b/material/.icons/material/weather-snowy-heavy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-snowy-rainy.svg b/material/.icons/material/weather-snowy-rainy.svg index 48dab025a..611c18f98 100644 --- a/material/.icons/material/weather-snowy-rainy.svg +++ b/material/.icons/material/weather-snowy-rainy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-snowy.svg b/material/.icons/material/weather-snowy.svg index e5166c705..947c8a07c 100644 --- a/material/.icons/material/weather-snowy.svg +++ b/material/.icons/material/weather-snowy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-sunny-alert.svg b/material/.icons/material/weather-sunny-alert.svg index f1351e7e6..e1e226e9d 100644 --- a/material/.icons/material/weather-sunny-alert.svg +++ b/material/.icons/material/weather-sunny-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-sunny-off.svg b/material/.icons/material/weather-sunny-off.svg index fa78b22fa..21daf7354 100644 --- a/material/.icons/material/weather-sunny-off.svg +++ b/material/.icons/material/weather-sunny-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-sunny.svg b/material/.icons/material/weather-sunny.svg index 9094555f1..e77846cdf 100644 --- a/material/.icons/material/weather-sunny.svg +++ b/material/.icons/material/weather-sunny.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-sunset-down.svg b/material/.icons/material/weather-sunset-down.svg index 84346f08f..bb3c0e375 100644 --- a/material/.icons/material/weather-sunset-down.svg +++ b/material/.icons/material/weather-sunset-down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-sunset-up.svg b/material/.icons/material/weather-sunset-up.svg index 5dca25628..8a5c33f76 100644 --- a/material/.icons/material/weather-sunset-up.svg +++ b/material/.icons/material/weather-sunset-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-sunset.svg b/material/.icons/material/weather-sunset.svg index 64b051ed9..5131d8f79 100644 --- a/material/.icons/material/weather-sunset.svg +++ b/material/.icons/material/weather-sunset.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-tornado.svg b/material/.icons/material/weather-tornado.svg index 53546eb4b..c769c9c81 100644 --- a/material/.icons/material/weather-tornado.svg +++ b/material/.icons/material/weather-tornado.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-windy-variant.svg b/material/.icons/material/weather-windy-variant.svg index 712bd895c..91f1c4954 100644 --- a/material/.icons/material/weather-windy-variant.svg +++ b/material/.icons/material/weather-windy-variant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weather-windy.svg b/material/.icons/material/weather-windy.svg index a3f09ea6c..cdd2c6e7f 100644 --- a/material/.icons/material/weather-windy.svg +++ b/material/.icons/material/weather-windy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/web-box.svg b/material/.icons/material/web-box.svg index 36e40ce0e..85f3ea375 100644 --- a/material/.icons/material/web-box.svg +++ b/material/.icons/material/web-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/web-clock.svg b/material/.icons/material/web-clock.svg index 5b29586b2..a0f74ff29 100644 --- a/material/.icons/material/web-clock.svg +++ b/material/.icons/material/web-clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/web.svg b/material/.icons/material/web.svg index 3d8c89e6c..0e7390e24 100644 --- a/material/.icons/material/web.svg +++ b/material/.icons/material/web.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/webcam-off.svg b/material/.icons/material/webcam-off.svg index 7da7469cf..5b7e896e1 100644 --- a/material/.icons/material/webcam-off.svg +++ b/material/.icons/material/webcam-off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/webcam.svg b/material/.icons/material/webcam.svg index 8cb68322d..6366691fa 100644 --- a/material/.icons/material/webcam.svg +++ b/material/.icons/material/webcam.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/webhook.svg b/material/.icons/material/webhook.svg index ab90db4b0..b4d719030 100644 --- a/material/.icons/material/webhook.svg +++ b/material/.icons/material/webhook.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/webrtc.svg b/material/.icons/material/webrtc.svg index a2374c155..988a65e5e 100644 --- a/material/.icons/material/webrtc.svg +++ b/material/.icons/material/webrtc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wechat.svg b/material/.icons/material/wechat.svg index 88b0c496a..0c4b1e232 100644 --- a/material/.icons/material/wechat.svg +++ b/material/.icons/material/wechat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weight-gram.svg b/material/.icons/material/weight-gram.svg index 83833d550..50033ca8c 100644 --- a/material/.icons/material/weight-gram.svg +++ b/material/.icons/material/weight-gram.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weight-kilogram.svg b/material/.icons/material/weight-kilogram.svg index e47e857d0..c1bc62619 100644 --- a/material/.icons/material/weight-kilogram.svg +++ b/material/.icons/material/weight-kilogram.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weight-pound.svg b/material/.icons/material/weight-pound.svg index 2989982cf..5082a1f7e 100644 --- a/material/.icons/material/weight-pound.svg +++ b/material/.icons/material/weight-pound.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/weight.svg b/material/.icons/material/weight.svg index 479390e75..badad1c7e 100644 --- a/material/.icons/material/weight.svg +++ b/material/.icons/material/weight.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/whatsapp.svg b/material/.icons/material/whatsapp.svg index 0fb259728..d57641108 100644 --- a/material/.icons/material/whatsapp.svg +++ b/material/.icons/material/whatsapp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wheelchair-accessibility.svg b/material/.icons/material/wheelchair-accessibility.svg index c7390978d..ae515b5d4 100644 --- a/material/.icons/material/wheelchair-accessibility.svg +++ b/material/.icons/material/wheelchair-accessibility.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/whistle-outline.svg b/material/.icons/material/whistle-outline.svg index 12565d0f6..5287d8eef 100644 --- a/material/.icons/material/whistle-outline.svg +++ b/material/.icons/material/whistle-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/whistle.svg b/material/.icons/material/whistle.svg index fe965b7b4..e374d2b31 100644 --- a/material/.icons/material/whistle.svg +++ b/material/.icons/material/whistle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/white-balance-auto.svg b/material/.icons/material/white-balance-auto.svg index 1b03526d1..7c7e878f9 100644 --- a/material/.icons/material/white-balance-auto.svg +++ b/material/.icons/material/white-balance-auto.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/white-balance-incandescent.svg b/material/.icons/material/white-balance-incandescent.svg index ea2ca96e6..e6b0e1503 100644 --- a/material/.icons/material/white-balance-incandescent.svg +++ b/material/.icons/material/white-balance-incandescent.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/white-balance-sunny.svg b/material/.icons/material/white-balance-sunny.svg index a8a8d54ed..9ca6c304f 100644 --- a/material/.icons/material/white-balance-sunny.svg +++ b/material/.icons/material/white-balance-sunny.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-alert.svg b/material/.icons/material/wifi-alert.svg index 99c5c1fb8..b4a7e9ac6 100644 --- a/material/.icons/material/wifi-alert.svg +++ b/material/.icons/material/wifi-alert.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-cog.svg b/material/.icons/material/wifi-cog.svg index b216357bd..5765667cb 100644 --- a/material/.icons/material/wifi-cog.svg +++ b/material/.icons/material/wifi-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-lock-open.svg b/material/.icons/material/wifi-lock-open.svg index 7806025c7..5dba104cb 100644 --- a/material/.icons/material/wifi-lock-open.svg +++ b/material/.icons/material/wifi-lock-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-lock.svg b/material/.icons/material/wifi-lock.svg index 8efee8053..921c46cd0 100644 --- a/material/.icons/material/wifi-lock.svg +++ b/material/.icons/material/wifi-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-marker.svg b/material/.icons/material/wifi-marker.svg index fb6c4b89d..514778ebf 100644 --- a/material/.icons/material/wifi-marker.svg +++ b/material/.icons/material/wifi-marker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-refresh.svg b/material/.icons/material/wifi-refresh.svg index a2a2c5ff6..e17cccf56 100644 --- a/material/.icons/material/wifi-refresh.svg +++ b/material/.icons/material/wifi-refresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-strength-1-lock-open.svg b/material/.icons/material/wifi-strength-1-lock-open.svg index bed58a913..cb703da60 100644 --- a/material/.icons/material/wifi-strength-1-lock-open.svg +++ b/material/.icons/material/wifi-strength-1-lock-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-strength-1.svg b/material/.icons/material/wifi-strength-1.svg index 82fe09c2f..913009413 100644 --- a/material/.icons/material/wifi-strength-1.svg +++ b/material/.icons/material/wifi-strength-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-strength-3-lock-open.svg b/material/.icons/material/wifi-strength-3-lock-open.svg index eb644f0fc..daefc31e0 100644 --- a/material/.icons/material/wifi-strength-3-lock-open.svg +++ b/material/.icons/material/wifi-strength-3-lock-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-strength-lock-open-outline.svg b/material/.icons/material/wifi-strength-lock-open-outline.svg index 651304a47..fa5e90f26 100644 --- a/material/.icons/material/wifi-strength-lock-open-outline.svg +++ b/material/.icons/material/wifi-strength-lock-open-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-strength-lock-outline.svg b/material/.icons/material/wifi-strength-lock-outline.svg index d411f5f29..75ca1e20e 100644 --- a/material/.icons/material/wifi-strength-lock-outline.svg +++ b/material/.icons/material/wifi-strength-lock-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wifi-sync.svg b/material/.icons/material/wifi-sync.svg index a8e99540e..190c99c11 100644 --- a/material/.icons/material/wifi-sync.svg +++ b/material/.icons/material/wifi-sync.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wikipedia.svg b/material/.icons/material/wikipedia.svg index e4b0f9dbd..1c6971505 100644 --- a/material/.icons/material/wikipedia.svg +++ b/material/.icons/material/wikipedia.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wind-turbine.svg b/material/.icons/material/wind-turbine.svg index 245d4527a..623d1bb0a 100644 --- a/material/.icons/material/wind-turbine.svg +++ b/material/.icons/material/wind-turbine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/window-closed.svg b/material/.icons/material/window-closed.svg index b4b6f1b77..6bf16c280 100644 --- a/material/.icons/material/window-closed.svg +++ b/material/.icons/material/window-closed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/window-open.svg b/material/.icons/material/window-open.svg index 49d86e1d9..f2b1f0e5b 100644 --- a/material/.icons/material/window-open.svg +++ b/material/.icons/material/window-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wiper-wash.svg b/material/.icons/material/wiper-wash.svg index 012c5ea3f..dc848aef0 100644 --- a/material/.icons/material/wiper-wash.svg +++ b/material/.icons/material/wiper-wash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wiper.svg b/material/.icons/material/wiper.svg index 4044ce7b2..adc64bd0b 100644 --- a/material/.icons/material/wiper.svg +++ b/material/.icons/material/wiper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wordpress.svg b/material/.icons/material/wordpress.svg index 9c01cc86d..931b318d3 100644 --- a/material/.icons/material/wordpress.svg +++ b/material/.icons/material/wordpress.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/wrench-outline.svg b/material/.icons/material/wrench-outline.svg index 09aab491b..06b43bbb5 100644 --- a/material/.icons/material/wrench-outline.svg +++ b/material/.icons/material/wrench-outline.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/xing.svg b/material/.icons/material/xing.svg index e17232754..c3fe13823 100644 --- a/material/.icons/material/xing.svg +++ b/material/.icons/material/xing.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/yeast.svg b/material/.icons/material/yeast.svg index ed31889f0..29e2ebd28 100644 --- a/material/.icons/material/yeast.svg +++ b/material/.icons/material/yeast.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/yin-yang.svg b/material/.icons/material/yin-yang.svg index 53f6da5bb..169b596a0 100644 --- a/material/.icons/material/yin-yang.svg +++ b/material/.icons/material/yin-yang.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/yoga.svg b/material/.icons/material/yoga.svg index 1df163411..4df6fc915 100644 --- a/material/.icons/material/yoga.svg +++ b/material/.icons/material/yoga.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/youtube-subscription.svg b/material/.icons/material/youtube-subscription.svg index 69d55c5ff..b4106f309 100644 --- a/material/.icons/material/youtube-subscription.svg +++ b/material/.icons/material/youtube-subscription.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zigbee.svg b/material/.icons/material/zigbee.svg index ff1afabd5..2251a5037 100644 --- a/material/.icons/material/zigbee.svg +++ b/material/.icons/material/zigbee.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zip-box.svg b/material/.icons/material/zip-box.svg index bc660a16e..633810993 100644 --- a/material/.icons/material/zip-box.svg +++ b/material/.icons/material/zip-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zip-disk.svg b/material/.icons/material/zip-disk.svg index c40c00f37..c57588723 100644 --- a/material/.icons/material/zip-disk.svg +++ b/material/.icons/material/zip-disk.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-aries.svg b/material/.icons/material/zodiac-aries.svg index af8ef940e..0694d887c 100644 --- a/material/.icons/material/zodiac-aries.svg +++ b/material/.icons/material/zodiac-aries.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-cancer.svg b/material/.icons/material/zodiac-cancer.svg index 41fb8e387..91bcef84d 100644 --- a/material/.icons/material/zodiac-cancer.svg +++ b/material/.icons/material/zodiac-cancer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-capricorn.svg b/material/.icons/material/zodiac-capricorn.svg index 4f08db602..bbd36e644 100644 --- a/material/.icons/material/zodiac-capricorn.svg +++ b/material/.icons/material/zodiac-capricorn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-gemini.svg b/material/.icons/material/zodiac-gemini.svg index de61cd8fe..c6aec7fa7 100644 --- a/material/.icons/material/zodiac-gemini.svg +++ b/material/.icons/material/zodiac-gemini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-leo.svg b/material/.icons/material/zodiac-leo.svg index e2de3a360..6d3cc4cfa 100644 --- a/material/.icons/material/zodiac-leo.svg +++ b/material/.icons/material/zodiac-leo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-libra.svg b/material/.icons/material/zodiac-libra.svg index 4ad040be3..383c22feb 100644 --- a/material/.icons/material/zodiac-libra.svg +++ b/material/.icons/material/zodiac-libra.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-pisces.svg b/material/.icons/material/zodiac-pisces.svg index bbc32d421..cdc45d714 100644 --- a/material/.icons/material/zodiac-pisces.svg +++ b/material/.icons/material/zodiac-pisces.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-scorpio.svg b/material/.icons/material/zodiac-scorpio.svg index 5bd2912dc..4e6043e01 100644 --- a/material/.icons/material/zodiac-scorpio.svg +++ b/material/.icons/material/zodiac-scorpio.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-taurus.svg b/material/.icons/material/zodiac-taurus.svg index 8ad0ac436..fcf4730d5 100644 --- a/material/.icons/material/zodiac-taurus.svg +++ b/material/.icons/material/zodiac-taurus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/material/zodiac-virgo.svg b/material/.icons/material/zodiac-virgo.svg index 75522f079..ed5a1be25 100644 --- a/material/.icons/material/zodiac-virgo.svg +++ b/material/.icons/material/zodiac-virgo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/alert-16.svg b/material/.icons/octicons/alert-16.svg index 5b14f7fdc..b833e9bef 100644 --- a/material/.icons/octicons/alert-16.svg +++ b/material/.icons/octicons/alert-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/alert-24.svg b/material/.icons/octicons/alert-24.svg index 28841964f..4bb55eae8 100644 --- a/material/.icons/octicons/alert-24.svg +++ b/material/.icons/octicons/alert-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/archive-16.svg b/material/.icons/octicons/archive-16.svg index ad10fd662..b05113dd9 100644 --- a/material/.icons/octicons/archive-16.svg +++ b/material/.icons/octicons/archive-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/archive-24.svg b/material/.icons/octicons/archive-24.svg index 84659ed2d..f615dadc7 100644 --- a/material/.icons/octicons/archive-24.svg +++ b/material/.icons/octicons/archive-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-both-16.svg b/material/.icons/octicons/arrow-both-16.svg index 64e675759..1228c7906 100644 --- a/material/.icons/octicons/arrow-both-16.svg +++ b/material/.icons/octicons/arrow-both-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-both-24.svg b/material/.icons/octicons/arrow-both-24.svg index a2153f502..724aa131c 100644 --- a/material/.icons/octicons/arrow-both-24.svg +++ b/material/.icons/octicons/arrow-both-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-down-16.svg b/material/.icons/octicons/arrow-down-16.svg index 939e64102..34f27f295 100644 --- a/material/.icons/octicons/arrow-down-16.svg +++ b/material/.icons/octicons/arrow-down-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-down-24.svg b/material/.icons/octicons/arrow-down-24.svg index 701da497b..17979ab2d 100644 --- a/material/.icons/octicons/arrow-down-24.svg +++ b/material/.icons/octicons/arrow-down-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-down-left-24.svg b/material/.icons/octicons/arrow-down-left-24.svg index f270fe3e4..68087d24e 100644 --- a/material/.icons/octicons/arrow-down-left-24.svg +++ b/material/.icons/octicons/arrow-down-left-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-down-right-24.svg b/material/.icons/octicons/arrow-down-right-24.svg index 7ab42160b..99cfba3e1 100644 --- a/material/.icons/octicons/arrow-down-right-24.svg +++ b/material/.icons/octicons/arrow-down-right-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-left-16.svg b/material/.icons/octicons/arrow-left-16.svg index bfe115626..b2ab9b209 100644 --- a/material/.icons/octicons/arrow-left-16.svg +++ b/material/.icons/octicons/arrow-left-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-left-24.svg b/material/.icons/octicons/arrow-left-24.svg index 33e143f00..ebb7bd7b5 100644 --- a/material/.icons/octicons/arrow-left-24.svg +++ b/material/.icons/octicons/arrow-left-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-right-16.svg b/material/.icons/octicons/arrow-right-16.svg index 196ecdf6a..cfab85ec2 100644 --- a/material/.icons/octicons/arrow-right-16.svg +++ b/material/.icons/octicons/arrow-right-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-right-24.svg b/material/.icons/octicons/arrow-right-24.svg index ade03d9b1..cfeab3c7d 100644 --- a/material/.icons/octicons/arrow-right-24.svg +++ b/material/.icons/octicons/arrow-right-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-switch-16.svg b/material/.icons/octicons/arrow-switch-16.svg index e1d1ae373..949415a1b 100644 --- a/material/.icons/octicons/arrow-switch-16.svg +++ b/material/.icons/octicons/arrow-switch-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-switch-24.svg b/material/.icons/octicons/arrow-switch-24.svg index 5b00a91da..976874faa 100644 --- a/material/.icons/octicons/arrow-switch-24.svg +++ b/material/.icons/octicons/arrow-switch-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-up-16.svg b/material/.icons/octicons/arrow-up-16.svg index 45e936b25..52ea8282e 100644 --- a/material/.icons/octicons/arrow-up-16.svg +++ b/material/.icons/octicons/arrow-up-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-up-24.svg b/material/.icons/octicons/arrow-up-24.svg index a8b74b314..aaf9df77d 100644 --- a/material/.icons/octicons/arrow-up-24.svg +++ b/material/.icons/octicons/arrow-up-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-up-left-24.svg b/material/.icons/octicons/arrow-up-left-24.svg index 0f46d44a2..ef3ac5ad9 100644 --- a/material/.icons/octicons/arrow-up-left-24.svg +++ b/material/.icons/octicons/arrow-up-left-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/arrow-up-right-24.svg b/material/.icons/octicons/arrow-up-right-24.svg index 77d1cec12..a82685acf 100644 --- a/material/.icons/octicons/arrow-up-right-24.svg +++ b/material/.icons/octicons/arrow-up-right-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/beaker-16.svg b/material/.icons/octicons/beaker-16.svg index df492cea1..3e2894b27 100644 --- a/material/.icons/octicons/beaker-16.svg +++ b/material/.icons/octicons/beaker-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/beaker-24.svg b/material/.icons/octicons/beaker-24.svg index e9e2aaf46..58d8f411b 100644 --- a/material/.icons/octicons/beaker-24.svg +++ b/material/.icons/octicons/beaker-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bell-16.svg b/material/.icons/octicons/bell-16.svg index fa75a5a91..f4992d9d8 100644 --- a/material/.icons/octicons/bell-16.svg +++ b/material/.icons/octicons/bell-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bell-24.svg b/material/.icons/octicons/bell-24.svg index 66deea62d..934a25062 100644 --- a/material/.icons/octicons/bell-24.svg +++ b/material/.icons/octicons/bell-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bell-fill-24.svg b/material/.icons/octicons/bell-fill-24.svg index e6e4564da..8f80b4901 100644 --- a/material/.icons/octicons/bell-fill-24.svg +++ b/material/.icons/octicons/bell-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bell-slash-16.svg b/material/.icons/octicons/bell-slash-16.svg index 5a9d587e9..6282d706d 100644 --- a/material/.icons/octicons/bell-slash-16.svg +++ b/material/.icons/octicons/bell-slash-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bell-slash-24.svg b/material/.icons/octicons/bell-slash-24.svg index e862255b5..99806011c 100644 --- a/material/.icons/octicons/bell-slash-24.svg +++ b/material/.icons/octicons/bell-slash-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bold-16.svg b/material/.icons/octicons/bold-16.svg index 54f6f0938..27e2c153e 100644 --- a/material/.icons/octicons/bold-16.svg +++ b/material/.icons/octicons/bold-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bold-24.svg b/material/.icons/octicons/bold-24.svg index 98e5ce0fc..4eb873eec 100644 --- a/material/.icons/octicons/bold-24.svg +++ b/material/.icons/octicons/bold-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/book-16.svg b/material/.icons/octicons/book-16.svg index 57e197ae3..1c41a2301 100644 --- a/material/.icons/octicons/book-16.svg +++ b/material/.icons/octicons/book-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/book-24.svg b/material/.icons/octicons/book-24.svg index d8914ec63..8d25de623 100644 --- a/material/.icons/octicons/book-24.svg +++ b/material/.icons/octicons/book-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bookmark-16.svg b/material/.icons/octicons/bookmark-16.svg index 0af8cac09..511b3d8ad 100644 --- a/material/.icons/octicons/bookmark-16.svg +++ b/material/.icons/octicons/bookmark-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bookmark-24.svg b/material/.icons/octicons/bookmark-24.svg index 553c3ac39..8833a4862 100644 --- a/material/.icons/octicons/bookmark-24.svg +++ b/material/.icons/octicons/bookmark-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bookmark-fill-24.svg b/material/.icons/octicons/bookmark-fill-24.svg index ce527f21a..d1e6f534a 100644 --- a/material/.icons/octicons/bookmark-fill-24.svg +++ b/material/.icons/octicons/bookmark-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bookmark-slash-16.svg b/material/.icons/octicons/bookmark-slash-16.svg index 2345fbb87..e1e96e276 100644 --- a/material/.icons/octicons/bookmark-slash-16.svg +++ b/material/.icons/octicons/bookmark-slash-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bookmark-slash-24.svg b/material/.icons/octicons/bookmark-slash-24.svg index 9114d8309..22aa65518 100644 --- a/material/.icons/octicons/bookmark-slash-24.svg +++ b/material/.icons/octicons/bookmark-slash-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bookmark-slash-fill-24.svg b/material/.icons/octicons/bookmark-slash-fill-24.svg index 5695a0316..edd6d13af 100644 --- a/material/.icons/octicons/bookmark-slash-fill-24.svg +++ b/material/.icons/octicons/bookmark-slash-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/briefcase-16.svg b/material/.icons/octicons/briefcase-16.svg index 3efb575c1..120afb337 100644 --- a/material/.icons/octicons/briefcase-16.svg +++ b/material/.icons/octicons/briefcase-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/briefcase-24.svg b/material/.icons/octicons/briefcase-24.svg index 05a5c1ef9..a9176e78d 100644 --- a/material/.icons/octicons/briefcase-24.svg +++ b/material/.icons/octicons/briefcase-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/broadcast-16.svg b/material/.icons/octicons/broadcast-16.svg index 8c66af7b5..efc281df2 100644 --- a/material/.icons/octicons/broadcast-16.svg +++ b/material/.icons/octicons/broadcast-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/broadcast-24.svg b/material/.icons/octicons/broadcast-24.svg index 4f4fc323d..e2e81af23 100644 --- a/material/.icons/octicons/broadcast-24.svg +++ b/material/.icons/octicons/broadcast-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bug-16.svg b/material/.icons/octicons/bug-16.svg index 1743f4168..9b372cbbc 100644 --- a/material/.icons/octicons/bug-16.svg +++ b/material/.icons/octicons/bug-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/bug-24.svg b/material/.icons/octicons/bug-24.svg index e34c886fd..06fbdabb2 100644 --- a/material/.icons/octicons/bug-24.svg +++ b/material/.icons/octicons/bug-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/calendar-16.svg b/material/.icons/octicons/calendar-16.svg index 5f840e94c..486cee929 100644 --- a/material/.icons/octicons/calendar-16.svg +++ b/material/.icons/octicons/calendar-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/calendar-24.svg b/material/.icons/octicons/calendar-24.svg index 4faf0669b..a82440ff2 100644 --- a/material/.icons/octicons/calendar-24.svg +++ b/material/.icons/octicons/calendar-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/check-16.svg b/material/.icons/octicons/check-16.svg index cfa4fbe23..ff32fccc2 100644 --- a/material/.icons/octicons/check-16.svg +++ b/material/.icons/octicons/check-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/check-24.svg b/material/.icons/octicons/check-24.svg index ea7a60ea2..e0ce5adc8 100644 --- a/material/.icons/octicons/check-24.svg +++ b/material/.icons/octicons/check-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/check-circle-16.svg b/material/.icons/octicons/check-circle-16.svg index 54ae186a0..a77656a97 100644 --- a/material/.icons/octicons/check-circle-16.svg +++ b/material/.icons/octicons/check-circle-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/check-circle-24.svg b/material/.icons/octicons/check-circle-24.svg index 45903aacf..d85328343 100644 --- a/material/.icons/octicons/check-circle-24.svg +++ b/material/.icons/octicons/check-circle-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/check-circle-fill-16.svg b/material/.icons/octicons/check-circle-fill-16.svg index 1055b7a02..5741cfd60 100644 --- a/material/.icons/octicons/check-circle-fill-16.svg +++ b/material/.icons/octicons/check-circle-fill-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/check-circle-fill-24.svg b/material/.icons/octicons/check-circle-fill-24.svg index 0ada63730..5ee33acc7 100644 --- a/material/.icons/octicons/check-circle-fill-24.svg +++ b/material/.icons/octicons/check-circle-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/checklist-16.svg b/material/.icons/octicons/checklist-16.svg index d85feaeb8..81f9a3eca 100644 --- a/material/.icons/octicons/checklist-16.svg +++ b/material/.icons/octicons/checklist-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/checklist-24.svg b/material/.icons/octicons/checklist-24.svg index 73d9f5fef..959bc6d6d 100644 --- a/material/.icons/octicons/checklist-24.svg +++ b/material/.icons/octicons/checklist-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/chevron-down-16.svg b/material/.icons/octicons/chevron-down-16.svg index 40ba56c00..dd89cd071 100644 --- a/material/.icons/octicons/chevron-down-16.svg +++ b/material/.icons/octicons/chevron-down-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/chevron-down-24.svg b/material/.icons/octicons/chevron-down-24.svg index b533b3882..691c33bba 100644 --- a/material/.icons/octicons/chevron-down-24.svg +++ b/material/.icons/octicons/chevron-down-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/chevron-left-16.svg b/material/.icons/octicons/chevron-left-16.svg index 24e85a3e9..0e94bf700 100644 --- a/material/.icons/octicons/chevron-left-16.svg +++ b/material/.icons/octicons/chevron-left-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/chevron-left-24.svg b/material/.icons/octicons/chevron-left-24.svg index 2f5af323f..3ffdd2bc8 100644 --- a/material/.icons/octicons/chevron-left-24.svg +++ b/material/.icons/octicons/chevron-left-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/chevron-right-16.svg b/material/.icons/octicons/chevron-right-16.svg index 82a798dd4..f47fd8a9a 100644 --- a/material/.icons/octicons/chevron-right-16.svg +++ b/material/.icons/octicons/chevron-right-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/chevron-right-24.svg b/material/.icons/octicons/chevron-right-24.svg index be4e2cdc3..02ca07ac5 100644 --- a/material/.icons/octicons/chevron-right-24.svg +++ b/material/.icons/octicons/chevron-right-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/chevron-up-16.svg b/material/.icons/octicons/chevron-up-16.svg index a83173f83..231a8d56a 100644 --- a/material/.icons/octicons/chevron-up-16.svg +++ b/material/.icons/octicons/chevron-up-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/chevron-up-24.svg b/material/.icons/octicons/chevron-up-24.svg index e6554f354..50b55d922 100644 --- a/material/.icons/octicons/chevron-up-24.svg +++ b/material/.icons/octicons/chevron-up-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/circle-16.svg b/material/.icons/octicons/circle-16.svg index 89cfa515d..98b136f48 100644 --- a/material/.icons/octicons/circle-16.svg +++ b/material/.icons/octicons/circle-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/circle-24.svg b/material/.icons/octicons/circle-24.svg index 33d1cae09..40c08bff8 100644 --- a/material/.icons/octicons/circle-24.svg +++ b/material/.icons/octicons/circle-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/circle-slash-16.svg b/material/.icons/octicons/circle-slash-16.svg index 8a6feb35f..4e70899bf 100644 --- a/material/.icons/octicons/circle-slash-16.svg +++ b/material/.icons/octicons/circle-slash-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/circle-slash-24.svg b/material/.icons/octicons/circle-slash-24.svg index f1ec55438..a34e303d3 100644 --- a/material/.icons/octicons/circle-slash-24.svg +++ b/material/.icons/octicons/circle-slash-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/clippy-16.svg b/material/.icons/octicons/clippy-16.svg index 8d1e86edc..18e134471 100644 --- a/material/.icons/octicons/clippy-16.svg +++ b/material/.icons/octicons/clippy-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/clippy-24.svg b/material/.icons/octicons/clippy-24.svg index 6cbc30c57..e3dbe9e88 100644 --- a/material/.icons/octicons/clippy-24.svg +++ b/material/.icons/octicons/clippy-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/clock-16.svg b/material/.icons/octicons/clock-16.svg index 5a0eb90a1..4da36fd63 100644 --- a/material/.icons/octicons/clock-16.svg +++ b/material/.icons/octicons/clock-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/clock-24.svg b/material/.icons/octicons/clock-24.svg index 6a24b2fdd..4a318434a 100644 --- a/material/.icons/octicons/clock-24.svg +++ b/material/.icons/octicons/clock-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/code-16.svg b/material/.icons/octicons/code-16.svg index c8bb78503..46346dd2e 100644 --- a/material/.icons/octicons/code-16.svg +++ b/material/.icons/octicons/code-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/code-24.svg b/material/.icons/octicons/code-24.svg index 0be299bd7..0a42a0546 100644 --- a/material/.icons/octicons/code-24.svg +++ b/material/.icons/octicons/code-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/code-review-16.svg b/material/.icons/octicons/code-review-16.svg index f9e3c6a50..70d699cbf 100644 --- a/material/.icons/octicons/code-review-16.svg +++ b/material/.icons/octicons/code-review-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/code-review-24.svg b/material/.icons/octicons/code-review-24.svg index 75b1a1282..937472b8c 100644 --- a/material/.icons/octicons/code-review-24.svg +++ b/material/.icons/octicons/code-review-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/code-square-16.svg b/material/.icons/octicons/code-square-16.svg index a268d5131..6fe7617c0 100644 --- a/material/.icons/octicons/code-square-16.svg +++ b/material/.icons/octicons/code-square-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/code-square-24.svg b/material/.icons/octicons/code-square-24.svg index 98ec385cd..854eb63f2 100644 --- a/material/.icons/octicons/code-square-24.svg +++ b/material/.icons/octicons/code-square-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/comment-16.svg b/material/.icons/octicons/comment-16.svg index 9bfda5014..25173c03b 100644 --- a/material/.icons/octicons/comment-16.svg +++ b/material/.icons/octicons/comment-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/comment-24.svg b/material/.icons/octicons/comment-24.svg index a0620b0e4..b4caaa050 100644 --- a/material/.icons/octicons/comment-24.svg +++ b/material/.icons/octicons/comment-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/comment-discussion-16.svg b/material/.icons/octicons/comment-discussion-16.svg index dd121c433..c7342e3f9 100644 --- a/material/.icons/octicons/comment-discussion-16.svg +++ b/material/.icons/octicons/comment-discussion-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/comment-discussion-24.svg b/material/.icons/octicons/comment-discussion-24.svg index a88fdbc0f..61ed8b314 100644 --- a/material/.icons/octicons/comment-discussion-24.svg +++ b/material/.icons/octicons/comment-discussion-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/commit-24.svg b/material/.icons/octicons/commit-24.svg index af0fdd0be..2e240b38b 100644 --- a/material/.icons/octicons/commit-24.svg +++ b/material/.icons/octicons/commit-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/container-16.svg b/material/.icons/octicons/container-16.svg index 9c9293e24..569c353f3 100644 --- a/material/.icons/octicons/container-16.svg +++ b/material/.icons/octicons/container-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/container-24.svg b/material/.icons/octicons/container-24.svg index 7899afd55..59b3eede0 100644 --- a/material/.icons/octicons/container-24.svg +++ b/material/.icons/octicons/container-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/copy-24.svg b/material/.icons/octicons/copy-24.svg index bc5321220..ee3b52b8b 100644 --- a/material/.icons/octicons/copy-24.svg +++ b/material/.icons/octicons/copy-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/cpu-16.svg b/material/.icons/octicons/cpu-16.svg index 53bff26c6..e809359ca 100644 --- a/material/.icons/octicons/cpu-16.svg +++ b/material/.icons/octicons/cpu-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/cpu-24.svg b/material/.icons/octicons/cpu-24.svg index bc7566d17..1e10dc665 100644 --- a/material/.icons/octicons/cpu-24.svg +++ b/material/.icons/octicons/cpu-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/credit-card-16.svg b/material/.icons/octicons/credit-card-16.svg index a9faf6ddb..087d21191 100644 --- a/material/.icons/octicons/credit-card-16.svg +++ b/material/.icons/octicons/credit-card-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/credit-card-24.svg b/material/.icons/octicons/credit-card-24.svg index 379e0f081..759962a90 100644 --- a/material/.icons/octicons/credit-card-24.svg +++ b/material/.icons/octicons/credit-card-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/cross-reference-16.svg b/material/.icons/octicons/cross-reference-16.svg index f457095e6..cee6f7c07 100644 --- a/material/.icons/octicons/cross-reference-16.svg +++ b/material/.icons/octicons/cross-reference-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/cross-reference-24.svg b/material/.icons/octicons/cross-reference-24.svg index 0b96508c4..eabb5f2e0 100644 --- a/material/.icons/octicons/cross-reference-24.svg +++ b/material/.icons/octicons/cross-reference-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/dash-16.svg b/material/.icons/octicons/dash-16.svg index a3130b99e..40bd13d74 100644 --- a/material/.icons/octicons/dash-16.svg +++ b/material/.icons/octicons/dash-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/dash-24.svg b/material/.icons/octicons/dash-24.svg index f3fb7c37b..f69dde6ce 100644 --- a/material/.icons/octicons/dash-24.svg +++ b/material/.icons/octicons/dash-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/database-16.svg b/material/.icons/octicons/database-16.svg index 587a8f956..5a12c6b6e 100644 --- a/material/.icons/octicons/database-16.svg +++ b/material/.icons/octicons/database-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/database-24.svg b/material/.icons/octicons/database-24.svg index c4e5a6c0d..256c5fb7e 100644 --- a/material/.icons/octicons/database-24.svg +++ b/material/.icons/octicons/database-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/desktop-download-16.svg b/material/.icons/octicons/desktop-download-16.svg index 019d14aed..a58e1a096 100644 --- a/material/.icons/octicons/desktop-download-16.svg +++ b/material/.icons/octicons/desktop-download-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/desktop-download-24.svg b/material/.icons/octicons/desktop-download-24.svg index 3ea48b83b..74acc42fc 100644 --- a/material/.icons/octicons/desktop-download-24.svg +++ b/material/.icons/octicons/desktop-download-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/device-camera-video-16.svg b/material/.icons/octicons/device-camera-video-16.svg index 7e38e9aa1..57212bd6d 100644 --- a/material/.icons/octicons/device-camera-video-16.svg +++ b/material/.icons/octicons/device-camera-video-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/device-camera-video-24.svg b/material/.icons/octicons/device-camera-video-24.svg index 05a0daccb..0176cc3f2 100644 --- a/material/.icons/octicons/device-camera-video-24.svg +++ b/material/.icons/octicons/device-camera-video-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/device-desktop-16.svg b/material/.icons/octicons/device-desktop-16.svg index 3d9590672..755538613 100644 --- a/material/.icons/octicons/device-desktop-16.svg +++ b/material/.icons/octicons/device-desktop-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/device-desktop-24.svg b/material/.icons/octicons/device-desktop-24.svg index 934c06eb0..781844119 100644 --- a/material/.icons/octicons/device-desktop-24.svg +++ b/material/.icons/octicons/device-desktop-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/device-mobile-16.svg b/material/.icons/octicons/device-mobile-16.svg index 9382c5219..a79d1e5c4 100644 --- a/material/.icons/octicons/device-mobile-16.svg +++ b/material/.icons/octicons/device-mobile-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/device-mobile-24.svg b/material/.icons/octicons/device-mobile-24.svg index 72904f205..9a280f9ff 100644 --- a/material/.icons/octicons/device-mobile-24.svg +++ b/material/.icons/octicons/device-mobile-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/diff-16.svg b/material/.icons/octicons/diff-16.svg index 35918c5ad..0490c2b2d 100644 --- a/material/.icons/octicons/diff-16.svg +++ b/material/.icons/octicons/diff-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/diff-24.svg b/material/.icons/octicons/diff-24.svg index 14049a298..6499e578a 100644 --- a/material/.icons/octicons/diff-24.svg +++ b/material/.icons/octicons/diff-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/diff-added-16.svg b/material/.icons/octicons/diff-added-16.svg index a711822ca..9e4db5b06 100644 --- a/material/.icons/octicons/diff-added-16.svg +++ b/material/.icons/octicons/diff-added-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/diff-ignored-16.svg b/material/.icons/octicons/diff-ignored-16.svg index 5efb09d2c..930304018 100644 --- a/material/.icons/octicons/diff-ignored-16.svg +++ b/material/.icons/octicons/diff-ignored-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/diff-modified-16.svg b/material/.icons/octicons/diff-modified-16.svg index 83c1177f3..1da70962f 100644 --- a/material/.icons/octicons/diff-modified-16.svg +++ b/material/.icons/octicons/diff-modified-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/diff-removed-16.svg b/material/.icons/octicons/diff-removed-16.svg index 030b00916..fcafe6d64 100644 --- a/material/.icons/octicons/diff-removed-16.svg +++ b/material/.icons/octicons/diff-removed-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/diff-renamed-16.svg b/material/.icons/octicons/diff-renamed-16.svg index 2654394d5..2663eead7 100644 --- a/material/.icons/octicons/diff-renamed-16.svg +++ b/material/.icons/octicons/diff-renamed-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/dot-16.svg b/material/.icons/octicons/dot-16.svg index 5a4e677ec..1617e6293 100644 --- a/material/.icons/octicons/dot-16.svg +++ b/material/.icons/octicons/dot-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/dot-24.svg b/material/.icons/octicons/dot-24.svg index cb1eebb8d..0062f01ba 100644 --- a/material/.icons/octicons/dot-24.svg +++ b/material/.icons/octicons/dot-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/dot-fill-16.svg b/material/.icons/octicons/dot-fill-16.svg index bf719ce5e..20594fe19 100644 --- a/material/.icons/octicons/dot-fill-16.svg +++ b/material/.icons/octicons/dot-fill-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/dot-fill-24.svg b/material/.icons/octicons/dot-fill-24.svg index fe7ee70a0..b9641a350 100644 --- a/material/.icons/octicons/dot-fill-24.svg +++ b/material/.icons/octicons/dot-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/download-16.svg b/material/.icons/octicons/download-16.svg index ed51f2ecc..0ffde5f9e 100644 --- a/material/.icons/octicons/download-16.svg +++ b/material/.icons/octicons/download-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/download-24.svg b/material/.icons/octicons/download-24.svg index d4d754df6..81d204b6a 100644 --- a/material/.icons/octicons/download-24.svg +++ b/material/.icons/octicons/download-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/ellipsis-16.svg b/material/.icons/octicons/ellipsis-16.svg index 9894b38e9..53ef30fed 100644 --- a/material/.icons/octicons/ellipsis-16.svg +++ b/material/.icons/octicons/ellipsis-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/eye-16.svg b/material/.icons/octicons/eye-16.svg index 876078063..df00c9af8 100644 --- a/material/.icons/octicons/eye-16.svg +++ b/material/.icons/octicons/eye-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/eye-24.svg b/material/.icons/octicons/eye-24.svg index 0259fd408..f210b00b9 100644 --- a/material/.icons/octicons/eye-24.svg +++ b/material/.icons/octicons/eye-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/eye-closed-16.svg b/material/.icons/octicons/eye-closed-16.svg index e2f476e1e..bc73aa726 100644 --- a/material/.icons/octicons/eye-closed-16.svg +++ b/material/.icons/octicons/eye-closed-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/eye-closed-24.svg b/material/.icons/octicons/eye-closed-24.svg index 29592d58a..afded9db6 100644 --- a/material/.icons/octicons/eye-closed-24.svg +++ b/material/.icons/octicons/eye-closed-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-16.svg b/material/.icons/octicons/file-16.svg index 01ef5e5dc..8daa008c1 100644 --- a/material/.icons/octicons/file-16.svg +++ b/material/.icons/octicons/file-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-24.svg b/material/.icons/octicons/file-24.svg index 9f62c294f..8d68750b3 100644 --- a/material/.icons/octicons/file-24.svg +++ b/material/.icons/octicons/file-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-badge-16.svg b/material/.icons/octicons/file-badge-16.svg index 81cbda7c8..01d9aa865 100644 --- a/material/.icons/octicons/file-badge-16.svg +++ b/material/.icons/octicons/file-badge-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-binary-16.svg b/material/.icons/octicons/file-binary-16.svg index 2e246a6a6..a5484b6dd 100644 --- a/material/.icons/octicons/file-binary-16.svg +++ b/material/.icons/octicons/file-binary-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-binary-24.svg b/material/.icons/octicons/file-binary-24.svg index 1ca2dbbc9..b7dab60ba 100644 --- a/material/.icons/octicons/file-binary-24.svg +++ b/material/.icons/octicons/file-binary-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-code-16.svg b/material/.icons/octicons/file-code-16.svg index fdec513f5..2174514c8 100644 --- a/material/.icons/octicons/file-code-16.svg +++ b/material/.icons/octicons/file-code-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-code-24.svg b/material/.icons/octicons/file-code-24.svg index f1e522f47..1d5af0ceb 100644 --- a/material/.icons/octicons/file-code-24.svg +++ b/material/.icons/octicons/file-code-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-diff-16.svg b/material/.icons/octicons/file-diff-16.svg index 79d0a5f46..9433f742c 100644 --- a/material/.icons/octicons/file-diff-16.svg +++ b/material/.icons/octicons/file-diff-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-diff-24.svg b/material/.icons/octicons/file-diff-24.svg index 593f92beb..cfbb1ffa2 100644 --- a/material/.icons/octicons/file-diff-24.svg +++ b/material/.icons/octicons/file-diff-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-directory-16.svg b/material/.icons/octicons/file-directory-16.svg index af2d3dcd4..fe2b0f76f 100644 --- a/material/.icons/octicons/file-directory-16.svg +++ b/material/.icons/octicons/file-directory-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-directory-24.svg b/material/.icons/octicons/file-directory-24.svg index bd6917a51..cd42adbb2 100644 --- a/material/.icons/octicons/file-directory-24.svg +++ b/material/.icons/octicons/file-directory-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-directory-fill-24.svg b/material/.icons/octicons/file-directory-fill-24.svg index f12fa954e..7c11a6a4c 100644 --- a/material/.icons/octicons/file-directory-fill-24.svg +++ b/material/.icons/octicons/file-directory-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-media-24.svg b/material/.icons/octicons/file-media-24.svg index 431812aac..9e82b1e1c 100644 --- a/material/.icons/octicons/file-media-24.svg +++ b/material/.icons/octicons/file-media-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-submodule-16.svg b/material/.icons/octicons/file-submodule-16.svg index c4f9e504a..23643bf33 100644 --- a/material/.icons/octicons/file-submodule-16.svg +++ b/material/.icons/octicons/file-submodule-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-submodule-24.svg b/material/.icons/octicons/file-submodule-24.svg index 49ded4e16..6af49d44e 100644 --- a/material/.icons/octicons/file-submodule-24.svg +++ b/material/.icons/octicons/file-submodule-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-symlink-file-16.svg b/material/.icons/octicons/file-symlink-file-16.svg index 1ee190d8d..073930d57 100644 --- a/material/.icons/octicons/file-symlink-file-16.svg +++ b/material/.icons/octicons/file-symlink-file-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-symlink-file-24.svg b/material/.icons/octicons/file-symlink-file-24.svg index b6ebec765..c974cfa87 100644 --- a/material/.icons/octicons/file-symlink-file-24.svg +++ b/material/.icons/octicons/file-symlink-file-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-zip-16.svg b/material/.icons/octicons/file-zip-16.svg index f94ff5385..a85421b27 100644 --- a/material/.icons/octicons/file-zip-16.svg +++ b/material/.icons/octicons/file-zip-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/file-zip-24.svg b/material/.icons/octicons/file-zip-24.svg index 1823108a2..4a11a4e8a 100644 --- a/material/.icons/octicons/file-zip-24.svg +++ b/material/.icons/octicons/file-zip-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/filter-16.svg b/material/.icons/octicons/filter-16.svg index 4e9099b3d..1fcac29bb 100644 --- a/material/.icons/octicons/filter-16.svg +++ b/material/.icons/octicons/filter-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/filter-24.svg b/material/.icons/octicons/filter-24.svg index d8002b6d7..1c52a2007 100644 --- a/material/.icons/octicons/filter-24.svg +++ b/material/.icons/octicons/filter-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/flame-16.svg b/material/.icons/octicons/flame-16.svg index 57e8528b6..1e3799805 100644 --- a/material/.icons/octicons/flame-16.svg +++ b/material/.icons/octicons/flame-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/flame-24.svg b/material/.icons/octicons/flame-24.svg index da9ea762d..8f1e3ea5a 100644 --- a/material/.icons/octicons/flame-24.svg +++ b/material/.icons/octicons/flame-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/fold-16.svg b/material/.icons/octicons/fold-16.svg index 320632cd5..fb4ed7362 100644 --- a/material/.icons/octicons/fold-16.svg +++ b/material/.icons/octicons/fold-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/fold-24.svg b/material/.icons/octicons/fold-24.svg index 846098b3c..d0240d7a8 100644 --- a/material/.icons/octicons/fold-24.svg +++ b/material/.icons/octicons/fold-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/fold-down-16.svg b/material/.icons/octicons/fold-down-16.svg index 2e3d60be0..a3ff54d1c 100644 --- a/material/.icons/octicons/fold-down-16.svg +++ b/material/.icons/octicons/fold-down-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/fold-down-24.svg b/material/.icons/octicons/fold-down-24.svg index 78b94891f..64a6fa802 100644 --- a/material/.icons/octicons/fold-down-24.svg +++ b/material/.icons/octicons/fold-down-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/fold-up-16.svg b/material/.icons/octicons/fold-up-16.svg index 5cc840d9f..a99d01bbd 100644 --- a/material/.icons/octicons/fold-up-16.svg +++ b/material/.icons/octicons/fold-up-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/fold-up-24.svg b/material/.icons/octicons/fold-up-24.svg index d65b5cb03..362438d4f 100644 --- a/material/.icons/octicons/fold-up-24.svg +++ b/material/.icons/octicons/fold-up-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/gear-16.svg b/material/.icons/octicons/gear-16.svg index 814939a45..84587268c 100644 --- a/material/.icons/octicons/gear-16.svg +++ b/material/.icons/octicons/gear-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/gear-24.svg b/material/.icons/octicons/gear-24.svg index bbd8a39a9..647b0c5a9 100644 --- a/material/.icons/octicons/gear-24.svg +++ b/material/.icons/octicons/gear-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/gift-16.svg b/material/.icons/octicons/gift-16.svg index 3727ec0ce..6c303c5e8 100644 --- a/material/.icons/octicons/gift-16.svg +++ b/material/.icons/octicons/gift-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/gift-24.svg b/material/.icons/octicons/gift-24.svg index 34541bc1e..c1cc29310 100644 --- a/material/.icons/octicons/gift-24.svg +++ b/material/.icons/octicons/gift-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-branch-16.svg b/material/.icons/octicons/git-branch-16.svg index d8a7da5be..792aac2d9 100644 --- a/material/.icons/octicons/git-branch-16.svg +++ b/material/.icons/octicons/git-branch-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-branch-24.svg b/material/.icons/octicons/git-branch-24.svg index 68e79b4a0..5788a6e0f 100644 --- a/material/.icons/octicons/git-branch-24.svg +++ b/material/.icons/octicons/git-branch-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-commit-16.svg b/material/.icons/octicons/git-commit-16.svg index 86b9d1546..6b954e984 100644 --- a/material/.icons/octicons/git-commit-16.svg +++ b/material/.icons/octicons/git-commit-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-commit-24.svg b/material/.icons/octicons/git-commit-24.svg index e21d9a26c..c3c3792c3 100644 --- a/material/.icons/octicons/git-commit-24.svg +++ b/material/.icons/octicons/git-commit-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-compare-16.svg b/material/.icons/octicons/git-compare-16.svg index df44ed0de..ac4cbcaf6 100644 --- a/material/.icons/octicons/git-compare-16.svg +++ b/material/.icons/octicons/git-compare-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-compare-24.svg b/material/.icons/octicons/git-compare-24.svg index 691051da4..20e202590 100644 --- a/material/.icons/octicons/git-compare-24.svg +++ b/material/.icons/octicons/git-compare-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-fork-24.svg b/material/.icons/octicons/git-fork-24.svg index cde7dbdbf..00d73e0d1 100644 --- a/material/.icons/octicons/git-fork-24.svg +++ b/material/.icons/octicons/git-fork-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-merge-16.svg b/material/.icons/octicons/git-merge-16.svg index ae17b2428..42f88d911 100644 --- a/material/.icons/octicons/git-merge-16.svg +++ b/material/.icons/octicons/git-merge-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-merge-24.svg b/material/.icons/octicons/git-merge-24.svg index fe55fc87b..4a03e0e84 100644 --- a/material/.icons/octicons/git-merge-24.svg +++ b/material/.icons/octicons/git-merge-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-pull-request-16.svg b/material/.icons/octicons/git-pull-request-16.svg index 1cf2ce6e8..0a5151fe8 100644 --- a/material/.icons/octicons/git-pull-request-16.svg +++ b/material/.icons/octicons/git-pull-request-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/git-pull-request-24.svg b/material/.icons/octicons/git-pull-request-24.svg index c4f0c8fee..66174cc68 100644 --- a/material/.icons/octicons/git-pull-request-24.svg +++ b/material/.icons/octicons/git-pull-request-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/globe-16.svg b/material/.icons/octicons/globe-16.svg index 13d2f5f12..8b4eeba28 100644 --- a/material/.icons/octicons/globe-16.svg +++ b/material/.icons/octicons/globe-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/globe-24.svg b/material/.icons/octicons/globe-24.svg index e5f3d52a4..b319e1ada 100644 --- a/material/.icons/octicons/globe-24.svg +++ b/material/.icons/octicons/globe-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/grabber-16.svg b/material/.icons/octicons/grabber-16.svg index 3432c3b18..63b131f5b 100644 --- a/material/.icons/octicons/grabber-16.svg +++ b/material/.icons/octicons/grabber-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/grabber-24.svg b/material/.icons/octicons/grabber-24.svg index 25862202a..7a8bec01f 100644 --- a/material/.icons/octicons/grabber-24.svg +++ b/material/.icons/octicons/grabber-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/graph-16.svg b/material/.icons/octicons/graph-16.svg index 738543de5..9389321a8 100644 --- a/material/.icons/octicons/graph-16.svg +++ b/material/.icons/octicons/graph-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/graph-24.svg b/material/.icons/octicons/graph-24.svg index 86a2833ec..eb60378ae 100644 --- a/material/.icons/octicons/graph-24.svg +++ b/material/.icons/octicons/graph-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/heading-16.svg b/material/.icons/octicons/heading-16.svg index 07df9bf13..4dc6345e1 100644 --- a/material/.icons/octicons/heading-16.svg +++ b/material/.icons/octicons/heading-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/heading-24.svg b/material/.icons/octicons/heading-24.svg index d95bc524a..5f3d5aba5 100644 --- a/material/.icons/octicons/heading-24.svg +++ b/material/.icons/octicons/heading-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/heart-16.svg b/material/.icons/octicons/heart-16.svg index 98a7f0983..8cc09703e 100644 --- a/material/.icons/octicons/heart-16.svg +++ b/material/.icons/octicons/heart-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/heart-24.svg b/material/.icons/octicons/heart-24.svg index a9f35aa71..a3dd94232 100644 --- a/material/.icons/octicons/heart-24.svg +++ b/material/.icons/octicons/heart-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/heart-fill-16.svg b/material/.icons/octicons/heart-fill-16.svg index 537ef7251..a79c7c107 100644 --- a/material/.icons/octicons/heart-fill-16.svg +++ b/material/.icons/octicons/heart-fill-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/heart-fill-24.svg b/material/.icons/octicons/heart-fill-24.svg index 1ff81a7e5..31e6dc5c0 100644 --- a/material/.icons/octicons/heart-fill-24.svg +++ b/material/.icons/octicons/heart-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/history-16.svg b/material/.icons/octicons/history-16.svg index 36527a75d..d9e3e5b15 100644 --- a/material/.icons/octicons/history-16.svg +++ b/material/.icons/octicons/history-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/history-24.svg b/material/.icons/octicons/history-24.svg index 6ded9e967..a2bb73d05 100644 --- a/material/.icons/octicons/history-24.svg +++ b/material/.icons/octicons/history-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/home-16.svg b/material/.icons/octicons/home-16.svg index abf3e41af..0a130913c 100644 --- a/material/.icons/octicons/home-16.svg +++ b/material/.icons/octicons/home-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/home-24.svg b/material/.icons/octicons/home-24.svg index 155233d46..662272a5f 100644 --- a/material/.icons/octicons/home-24.svg +++ b/material/.icons/octicons/home-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/home-fill-24.svg b/material/.icons/octicons/home-fill-24.svg index 56e7958db..77ccf91e1 100644 --- a/material/.icons/octicons/home-fill-24.svg +++ b/material/.icons/octicons/home-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/horizontal-rule-16.svg b/material/.icons/octicons/horizontal-rule-16.svg index 6dda34d0d..65a74b00d 100644 --- a/material/.icons/octicons/horizontal-rule-16.svg +++ b/material/.icons/octicons/horizontal-rule-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/horizontal-rule-24.svg b/material/.icons/octicons/horizontal-rule-24.svg index 8bcd8d310..de6467d6a 100644 --- a/material/.icons/octicons/horizontal-rule-24.svg +++ b/material/.icons/octicons/horizontal-rule-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/hourglass-16.svg b/material/.icons/octicons/hourglass-16.svg index 18d847a4d..4e95c1092 100644 --- a/material/.icons/octicons/hourglass-16.svg +++ b/material/.icons/octicons/hourglass-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/hourglass-24.svg b/material/.icons/octicons/hourglass-24.svg index 029c45b49..cc789f726 100644 --- a/material/.icons/octicons/hourglass-24.svg +++ b/material/.icons/octicons/hourglass-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/hubot-16.svg b/material/.icons/octicons/hubot-16.svg index 797a845bd..5a07fc76e 100644 --- a/material/.icons/octicons/hubot-16.svg +++ b/material/.icons/octicons/hubot-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/hubot-24.svg b/material/.icons/octicons/hubot-24.svg index e0c458ffe..09cb11610 100644 --- a/material/.icons/octicons/hubot-24.svg +++ b/material/.icons/octicons/hubot-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/image-16.svg b/material/.icons/octicons/image-16.svg index e17ede7ca..3b7a2d263 100644 --- a/material/.icons/octicons/image-16.svg +++ b/material/.icons/octicons/image-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/image-24.svg b/material/.icons/octicons/image-24.svg index 0ec883ea8..79ae71e42 100644 --- a/material/.icons/octicons/image-24.svg +++ b/material/.icons/octicons/image-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/inbox-16.svg b/material/.icons/octicons/inbox-16.svg index f90df253a..8655dc826 100644 --- a/material/.icons/octicons/inbox-16.svg +++ b/material/.icons/octicons/inbox-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/inbox-24.svg b/material/.icons/octicons/inbox-24.svg index 9f817191e..be82e1b24 100644 --- a/material/.icons/octicons/inbox-24.svg +++ b/material/.icons/octicons/inbox-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/info-16.svg b/material/.icons/octicons/info-16.svg index 4fac2c454..efffa1a07 100644 --- a/material/.icons/octicons/info-16.svg +++ b/material/.icons/octicons/info-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/info-24.svg b/material/.icons/octicons/info-24.svg index 49934dfcc..e683bbd77 100644 --- a/material/.icons/octicons/info-24.svg +++ b/material/.icons/octicons/info-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/insights-24.svg b/material/.icons/octicons/insights-24.svg index 2b29a3cae..1e9a43f04 100644 --- a/material/.icons/octicons/insights-24.svg +++ b/material/.icons/octicons/insights-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/issue-closed-16.svg b/material/.icons/octicons/issue-closed-16.svg index 9b2a2d992..4f5196077 100644 --- a/material/.icons/octicons/issue-closed-16.svg +++ b/material/.icons/octicons/issue-closed-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/issue-closed-24.svg b/material/.icons/octicons/issue-closed-24.svg index 759a05f4e..cc5b5aaa6 100644 --- a/material/.icons/octicons/issue-closed-24.svg +++ b/material/.icons/octicons/issue-closed-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/issue-opened-16.svg b/material/.icons/octicons/issue-opened-16.svg index 5382252d6..1a3976240 100644 --- a/material/.icons/octicons/issue-opened-16.svg +++ b/material/.icons/octicons/issue-opened-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/issue-opened-24.svg b/material/.icons/octicons/issue-opened-24.svg index c39b1c88c..1beef79b8 100644 --- a/material/.icons/octicons/issue-opened-24.svg +++ b/material/.icons/octicons/issue-opened-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/issue-reopened-16.svg b/material/.icons/octicons/issue-reopened-16.svg index cad984b56..6213b6de2 100644 --- a/material/.icons/octicons/issue-reopened-16.svg +++ b/material/.icons/octicons/issue-reopened-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/issue-reopened-24.svg b/material/.icons/octicons/issue-reopened-24.svg index dbd018c3e..d1d6e4435 100644 --- a/material/.icons/octicons/issue-reopened-24.svg +++ b/material/.icons/octicons/issue-reopened-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/italic-16.svg b/material/.icons/octicons/italic-16.svg index d9acf6b89..5e85d7064 100644 --- a/material/.icons/octicons/italic-16.svg +++ b/material/.icons/octicons/italic-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/italic-24.svg b/material/.icons/octicons/italic-24.svg index 75a71d4fb..f5c64b29e 100644 --- a/material/.icons/octicons/italic-24.svg +++ b/material/.icons/octicons/italic-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/kebab-horizontal-16.svg b/material/.icons/octicons/kebab-horizontal-16.svg index 49e4bfee5..8398f024e 100644 --- a/material/.icons/octicons/kebab-horizontal-16.svg +++ b/material/.icons/octicons/kebab-horizontal-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/kebab-horizontal-24.svg b/material/.icons/octicons/kebab-horizontal-24.svg index 0cb77dcde..65d2649e4 100644 --- a/material/.icons/octicons/kebab-horizontal-24.svg +++ b/material/.icons/octicons/kebab-horizontal-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/key-16.svg b/material/.icons/octicons/key-16.svg index 765319b62..d5ead8f99 100644 --- a/material/.icons/octicons/key-16.svg +++ b/material/.icons/octicons/key-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/key-24.svg b/material/.icons/octicons/key-24.svg index 923399455..c6500b448 100644 --- a/material/.icons/octicons/key-24.svg +++ b/material/.icons/octicons/key-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/law-16.svg b/material/.icons/octicons/law-16.svg index 5b8661b7e..7900ae142 100644 --- a/material/.icons/octicons/law-16.svg +++ b/material/.icons/octicons/law-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/law-24.svg b/material/.icons/octicons/law-24.svg index 0f3d4509f..151f1fe29 100644 --- a/material/.icons/octicons/law-24.svg +++ b/material/.icons/octicons/law-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/light-bulb-16.svg b/material/.icons/octicons/light-bulb-16.svg index ed416c922..c6a07bbd9 100644 --- a/material/.icons/octicons/light-bulb-16.svg +++ b/material/.icons/octicons/light-bulb-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/light-bulb-24.svg b/material/.icons/octicons/light-bulb-24.svg index 90d9f637b..5b3c25df0 100644 --- a/material/.icons/octicons/light-bulb-24.svg +++ b/material/.icons/octicons/light-bulb-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/link-16.svg b/material/.icons/octicons/link-16.svg index 1014a1cf6..5a5e47780 100644 --- a/material/.icons/octicons/link-16.svg +++ b/material/.icons/octicons/link-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/link-24.svg b/material/.icons/octicons/link-24.svg index 64eb5f3f2..3e9c11e69 100644 --- a/material/.icons/octicons/link-24.svg +++ b/material/.icons/octicons/link-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/link-external-16.svg b/material/.icons/octicons/link-external-16.svg index 283da5933..8d2369bc6 100644 --- a/material/.icons/octicons/link-external-16.svg +++ b/material/.icons/octicons/link-external-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/link-external-24.svg b/material/.icons/octicons/link-external-24.svg index bec698d99..81d39fed6 100644 --- a/material/.icons/octicons/link-external-24.svg +++ b/material/.icons/octicons/link-external-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/list-ordered-16.svg b/material/.icons/octicons/list-ordered-16.svg index 609025b2f..33e725680 100644 --- a/material/.icons/octicons/list-ordered-16.svg +++ b/material/.icons/octicons/list-ordered-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/list-ordered-24.svg b/material/.icons/octicons/list-ordered-24.svg index 1dcfa01a1..eba586091 100644 --- a/material/.icons/octicons/list-ordered-24.svg +++ b/material/.icons/octicons/list-ordered-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/list-unordered-16.svg b/material/.icons/octicons/list-unordered-16.svg index af3cf5b14..9d5c442a2 100644 --- a/material/.icons/octicons/list-unordered-16.svg +++ b/material/.icons/octicons/list-unordered-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/list-unordered-24.svg b/material/.icons/octicons/list-unordered-24.svg index b48209164..dd8dc20c7 100644 --- a/material/.icons/octicons/list-unordered-24.svg +++ b/material/.icons/octicons/list-unordered-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/location-16.svg b/material/.icons/octicons/location-16.svg index f96abe240..38fab28de 100644 --- a/material/.icons/octicons/location-16.svg +++ b/material/.icons/octicons/location-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/location-24.svg b/material/.icons/octicons/location-24.svg index 177c620a0..3f77b6e5a 100644 --- a/material/.icons/octicons/location-24.svg +++ b/material/.icons/octicons/location-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/lock-16.svg b/material/.icons/octicons/lock-16.svg index 8f01cb7ed..c9667456a 100644 --- a/material/.icons/octicons/lock-16.svg +++ b/material/.icons/octicons/lock-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/lock-24.svg b/material/.icons/octicons/lock-24.svg index 36fa0fd85..1fa851087 100644 --- a/material/.icons/octicons/lock-24.svg +++ b/material/.icons/octicons/lock-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/logo-github-16.svg b/material/.icons/octicons/logo-github-16.svg index e84e4b8d8..ce5e50386 100644 --- a/material/.icons/octicons/logo-github-16.svg +++ b/material/.icons/octicons/logo-github-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mail-16.svg b/material/.icons/octicons/mail-16.svg index 496907039..621ded021 100644 --- a/material/.icons/octicons/mail-16.svg +++ b/material/.icons/octicons/mail-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mail-24.svg b/material/.icons/octicons/mail-24.svg index 38de6579e..861dd00ca 100644 --- a/material/.icons/octicons/mail-24.svg +++ b/material/.icons/octicons/mail-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mark-github-16.svg b/material/.icons/octicons/mark-github-16.svg index 66b2a7ba0..b7eb9c714 100644 --- a/material/.icons/octicons/mark-github-16.svg +++ b/material/.icons/octicons/mark-github-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/megaphone-16.svg b/material/.icons/octicons/megaphone-16.svg index 8bc20ffc2..29c5b7e42 100644 --- a/material/.icons/octicons/megaphone-16.svg +++ b/material/.icons/octicons/megaphone-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/megaphone-24.svg b/material/.icons/octicons/megaphone-24.svg index b4e9dc7fb..7758e570e 100644 --- a/material/.icons/octicons/megaphone-24.svg +++ b/material/.icons/octicons/megaphone-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mention-16.svg b/material/.icons/octicons/mention-16.svg index 3100d98be..e407edc40 100644 --- a/material/.icons/octicons/mention-16.svg +++ b/material/.icons/octicons/mention-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mention-24.svg b/material/.icons/octicons/mention-24.svg index 74d901ec2..4e76fe372 100644 --- a/material/.icons/octicons/mention-24.svg +++ b/material/.icons/octicons/mention-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/meter-16.svg b/material/.icons/octicons/meter-16.svg index f1f5742d3..75cc531a0 100644 --- a/material/.icons/octicons/meter-16.svg +++ b/material/.icons/octicons/meter-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/milestone-16.svg b/material/.icons/octicons/milestone-16.svg index 2247126cf..03872b193 100644 --- a/material/.icons/octicons/milestone-16.svg +++ b/material/.icons/octicons/milestone-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/milestone-24.svg b/material/.icons/octicons/milestone-24.svg index 355842a89..e8e6db1ea 100644 --- a/material/.icons/octicons/milestone-24.svg +++ b/material/.icons/octicons/milestone-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mirror-16.svg b/material/.icons/octicons/mirror-16.svg index af6555b74..1820a7cae 100644 --- a/material/.icons/octicons/mirror-16.svg +++ b/material/.icons/octicons/mirror-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mirror-24.svg b/material/.icons/octicons/mirror-24.svg index 2271fc461..d313759e8 100644 --- a/material/.icons/octicons/mirror-24.svg +++ b/material/.icons/octicons/mirror-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/moon-16.svg b/material/.icons/octicons/moon-16.svg index 712996480..ba3bf6773 100644 --- a/material/.icons/octicons/moon-16.svg +++ b/material/.icons/octicons/moon-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/moon-24.svg b/material/.icons/octicons/moon-24.svg index 7e70b1478..ce89c992d 100644 --- a/material/.icons/octicons/moon-24.svg +++ b/material/.icons/octicons/moon-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mortar-board-16.svg b/material/.icons/octicons/mortar-board-16.svg index e2bddbcc0..0ae3d2e44 100644 --- a/material/.icons/octicons/mortar-board-16.svg +++ b/material/.icons/octicons/mortar-board-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mortar-board-24.svg b/material/.icons/octicons/mortar-board-24.svg index c7211310d..bb108dd2c 100644 --- a/material/.icons/octicons/mortar-board-24.svg +++ b/material/.icons/octicons/mortar-board-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/multi-select-16.svg b/material/.icons/octicons/multi-select-16.svg index 41e1fcc45..d6c736a57 100644 --- a/material/.icons/octicons/multi-select-16.svg +++ b/material/.icons/octicons/multi-select-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/multi-select-24.svg b/material/.icons/octicons/multi-select-24.svg index 2094f17b2..cf3875265 100644 --- a/material/.icons/octicons/multi-select-24.svg +++ b/material/.icons/octicons/multi-select-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mute-16.svg b/material/.icons/octicons/mute-16.svg index 1a1415297..7d9953e99 100644 --- a/material/.icons/octicons/mute-16.svg +++ b/material/.icons/octicons/mute-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/mute-24.svg b/material/.icons/octicons/mute-24.svg index bc12094e7..5af7ecf45 100644 --- a/material/.icons/octicons/mute-24.svg +++ b/material/.icons/octicons/mute-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/no-entry-16.svg b/material/.icons/octicons/no-entry-16.svg index 84d28e599..3e8b29eeb 100644 --- a/material/.icons/octicons/no-entry-16.svg +++ b/material/.icons/octicons/no-entry-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/no-entry-24.svg b/material/.icons/octicons/no-entry-24.svg index f38987b35..eefaae5cc 100644 --- a/material/.icons/octicons/no-entry-24.svg +++ b/material/.icons/octicons/no-entry-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/north-star-16.svg b/material/.icons/octicons/north-star-16.svg index dd0a89343..e07b69940 100644 --- a/material/.icons/octicons/north-star-16.svg +++ b/material/.icons/octicons/north-star-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/north-star-24.svg b/material/.icons/octicons/north-star-24.svg index 67593f961..72aa812fd 100644 --- a/material/.icons/octicons/north-star-24.svg +++ b/material/.icons/octicons/north-star-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/note-16.svg b/material/.icons/octicons/note-16.svg index c43fc9c4f..fb7600004 100644 --- a/material/.icons/octicons/note-16.svg +++ b/material/.icons/octicons/note-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/note-24.svg b/material/.icons/octicons/note-24.svg index a53c333db..5c7961b7f 100644 --- a/material/.icons/octicons/note-24.svg +++ b/material/.icons/octicons/note-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/number-16.svg b/material/.icons/octicons/number-16.svg index 5057bac97..a14a32919 100644 --- a/material/.icons/octicons/number-16.svg +++ b/material/.icons/octicons/number-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/number-24.svg b/material/.icons/octicons/number-24.svg index e0ba802ed..98684ca82 100644 --- a/material/.icons/octicons/number-24.svg +++ b/material/.icons/octicons/number-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/octoface-16.svg b/material/.icons/octicons/octoface-16.svg index cf3501ad2..493a4ca14 100644 --- a/material/.icons/octicons/octoface-16.svg +++ b/material/.icons/octicons/octoface-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/octoface-24.svg b/material/.icons/octicons/octoface-24.svg index af5864a8c..52b55858e 100644 --- a/material/.icons/octicons/octoface-24.svg +++ b/material/.icons/octicons/octoface-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/organization-16.svg b/material/.icons/octicons/organization-16.svg index 8fbc447f1..9d7ed6641 100644 --- a/material/.icons/octicons/organization-16.svg +++ b/material/.icons/octicons/organization-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/organization-24.svg b/material/.icons/octicons/organization-24.svg index 5d99a3e48..4262e097b 100644 --- a/material/.icons/octicons/organization-24.svg +++ b/material/.icons/octicons/organization-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/package-16.svg b/material/.icons/octicons/package-16.svg index 10da29ff0..c9809daf9 100644 --- a/material/.icons/octicons/package-16.svg +++ b/material/.icons/octicons/package-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/package-24.svg b/material/.icons/octicons/package-24.svg index d120cc1e2..ae2f9a19f 100644 --- a/material/.icons/octicons/package-24.svg +++ b/material/.icons/octicons/package-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/package-dependencies-16.svg b/material/.icons/octicons/package-dependencies-16.svg index e3323910a..4aca0d26b 100644 --- a/material/.icons/octicons/package-dependencies-16.svg +++ b/material/.icons/octicons/package-dependencies-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/package-dependencies-24.svg b/material/.icons/octicons/package-dependencies-24.svg index 3025ebc99..7adbe8a91 100644 --- a/material/.icons/octicons/package-dependencies-24.svg +++ b/material/.icons/octicons/package-dependencies-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/package-dependents-16.svg b/material/.icons/octicons/package-dependents-16.svg index cf7ae4e7f..429eab241 100644 --- a/material/.icons/octicons/package-dependents-16.svg +++ b/material/.icons/octicons/package-dependents-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/package-dependents-24.svg b/material/.icons/octicons/package-dependents-24.svg index d4ef87f49..178ae333b 100644 --- a/material/.icons/octicons/package-dependents-24.svg +++ b/material/.icons/octicons/package-dependents-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/paintbrush-16.svg b/material/.icons/octicons/paintbrush-16.svg index 170ab1042..c13ccb0c0 100644 --- a/material/.icons/octicons/paintbrush-16.svg +++ b/material/.icons/octicons/paintbrush-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/paper-airplane-16.svg b/material/.icons/octicons/paper-airplane-16.svg index 424ead391..6e98ecf44 100644 --- a/material/.icons/octicons/paper-airplane-16.svg +++ b/material/.icons/octicons/paper-airplane-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/paper-airplane-24.svg b/material/.icons/octicons/paper-airplane-24.svg index 9d7c08fac..98a6aab82 100644 --- a/material/.icons/octicons/paper-airplane-24.svg +++ b/material/.icons/octicons/paper-airplane-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/pencil-16.svg b/material/.icons/octicons/pencil-16.svg index 0ecbe0465..ab3522ccb 100644 --- a/material/.icons/octicons/pencil-16.svg +++ b/material/.icons/octicons/pencil-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/pencil-24.svg b/material/.icons/octicons/pencil-24.svg index eb574f7e6..29c200ce7 100644 --- a/material/.icons/octicons/pencil-24.svg +++ b/material/.icons/octicons/pencil-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/people-16.svg b/material/.icons/octicons/people-16.svg index f94c249b9..b0e5d0bd5 100644 --- a/material/.icons/octicons/people-16.svg +++ b/material/.icons/octicons/people-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/people-24.svg b/material/.icons/octicons/people-24.svg index 532a41104..4b456a33e 100644 --- a/material/.icons/octicons/people-24.svg +++ b/material/.icons/octicons/people-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/person-16.svg b/material/.icons/octicons/person-16.svg index 19f0f0c37..0d16e62c0 100644 --- a/material/.icons/octicons/person-16.svg +++ b/material/.icons/octicons/person-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/person-24.svg b/material/.icons/octicons/person-24.svg index d47cb10ab..d45ee1fbe 100644 --- a/material/.icons/octicons/person-24.svg +++ b/material/.icons/octicons/person-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/pin-16.svg b/material/.icons/octicons/pin-16.svg index f2c7c1df3..df3baaedd 100644 --- a/material/.icons/octicons/pin-16.svg +++ b/material/.icons/octicons/pin-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/pin-24.svg b/material/.icons/octicons/pin-24.svg index bb2dc28aa..2bc2577f8 100644 --- a/material/.icons/octicons/pin-24.svg +++ b/material/.icons/octicons/pin-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/play-16.svg b/material/.icons/octicons/play-16.svg index d759463fb..3f77e86e2 100644 --- a/material/.icons/octicons/play-16.svg +++ b/material/.icons/octicons/play-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/play-24.svg b/material/.icons/octicons/play-24.svg index 95451da9d..b42ec159d 100644 --- a/material/.icons/octicons/play-24.svg +++ b/material/.icons/octicons/play-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/plug-16.svg b/material/.icons/octicons/plug-16.svg index 4f8469654..40c9b6ce5 100644 --- a/material/.icons/octicons/plug-16.svg +++ b/material/.icons/octicons/plug-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/plug-24.svg b/material/.icons/octicons/plug-24.svg index 8ec3eac13..03b767537 100644 --- a/material/.icons/octicons/plug-24.svg +++ b/material/.icons/octicons/plug-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/plus-16.svg b/material/.icons/octicons/plus-16.svg index 1b45911ef..80ece1a4b 100644 --- a/material/.icons/octicons/plus-16.svg +++ b/material/.icons/octicons/plus-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/plus-24.svg b/material/.icons/octicons/plus-24.svg index 13da0864b..1916174f8 100644 --- a/material/.icons/octicons/plus-24.svg +++ b/material/.icons/octicons/plus-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/plus-circle-16.svg b/material/.icons/octicons/plus-circle-16.svg index 3a51fda91..42ff86ddd 100644 --- a/material/.icons/octicons/plus-circle-16.svg +++ b/material/.icons/octicons/plus-circle-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/plus-circle-24.svg b/material/.icons/octicons/plus-circle-24.svg index 20232f868..f1d307159 100644 --- a/material/.icons/octicons/plus-circle-24.svg +++ b/material/.icons/octicons/plus-circle-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/project-16.svg b/material/.icons/octicons/project-16.svg index 97fa6a137..0bef048f7 100644 --- a/material/.icons/octicons/project-16.svg +++ b/material/.icons/octicons/project-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/project-24.svg b/material/.icons/octicons/project-24.svg index e61edd2f4..b1f364c79 100644 --- a/material/.icons/octicons/project-24.svg +++ b/material/.icons/octicons/project-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/pulse-16.svg b/material/.icons/octicons/pulse-16.svg index ca470eed7..cb10d198d 100644 --- a/material/.icons/octicons/pulse-16.svg +++ b/material/.icons/octicons/pulse-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/pulse-24.svg b/material/.icons/octicons/pulse-24.svg index c1825b6d3..f5d39f1bd 100644 --- a/material/.icons/octicons/pulse-24.svg +++ b/material/.icons/octicons/pulse-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/question-16.svg b/material/.icons/octicons/question-16.svg index ef4344039..b6ed614d0 100644 --- a/material/.icons/octicons/question-16.svg +++ b/material/.icons/octicons/question-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/question-24.svg b/material/.icons/octicons/question-24.svg index bc405d973..9a20fa659 100644 --- a/material/.icons/octicons/question-24.svg +++ b/material/.icons/octicons/question-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/quote-16.svg b/material/.icons/octicons/quote-16.svg index 98aa1a161..a2c273444 100644 --- a/material/.icons/octicons/quote-16.svg +++ b/material/.icons/octicons/quote-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/quote-24.svg b/material/.icons/octicons/quote-24.svg index 6bee83897..82ba41c24 100644 --- a/material/.icons/octicons/quote-24.svg +++ b/material/.icons/octicons/quote-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/reply-16.svg b/material/.icons/octicons/reply-16.svg index 68247e27f..48bed4ce9 100644 --- a/material/.icons/octicons/reply-16.svg +++ b/material/.icons/octicons/reply-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/reply-24.svg b/material/.icons/octicons/reply-24.svg index fa68e1316..7bfb48bf3 100644 --- a/material/.icons/octicons/reply-24.svg +++ b/material/.icons/octicons/reply-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/repo-16.svg b/material/.icons/octicons/repo-16.svg index 194562d1d..df6c34715 100644 --- a/material/.icons/octicons/repo-16.svg +++ b/material/.icons/octicons/repo-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/repo-24.svg b/material/.icons/octicons/repo-24.svg index 1008c253f..b0563d510 100644 --- a/material/.icons/octicons/repo-24.svg +++ b/material/.icons/octicons/repo-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/repo-forked-16.svg b/material/.icons/octicons/repo-forked-16.svg index da963b1aa..89de03c0c 100644 --- a/material/.icons/octicons/repo-forked-16.svg +++ b/material/.icons/octicons/repo-forked-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/repo-push-16.svg b/material/.icons/octicons/repo-push-16.svg index 52eacc06c..dc67a1c87 100644 --- a/material/.icons/octicons/repo-push-16.svg +++ b/material/.icons/octicons/repo-push-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/repo-push-24.svg b/material/.icons/octicons/repo-push-24.svg index afe70dcd1..0bd958c6e 100644 --- a/material/.icons/octicons/repo-push-24.svg +++ b/material/.icons/octicons/repo-push-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/repo-template-16.svg b/material/.icons/octicons/repo-template-16.svg index 5795069e1..ea3462f81 100644 --- a/material/.icons/octicons/repo-template-16.svg +++ b/material/.icons/octicons/repo-template-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/repo-template-24.svg b/material/.icons/octicons/repo-template-24.svg index 78b1be87d..705e3bf03 100644 --- a/material/.icons/octicons/repo-template-24.svg +++ b/material/.icons/octicons/repo-template-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/report-16.svg b/material/.icons/octicons/report-16.svg index 7f1c27e44..42b6c2f6c 100644 --- a/material/.icons/octicons/report-16.svg +++ b/material/.icons/octicons/report-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/report-24.svg b/material/.icons/octicons/report-24.svg index 445ce79a5..28f478a6b 100644 --- a/material/.icons/octicons/report-24.svg +++ b/material/.icons/octicons/report-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/rocket-16.svg b/material/.icons/octicons/rocket-16.svg index b0c752461..3a483f820 100644 --- a/material/.icons/octicons/rocket-16.svg +++ b/material/.icons/octicons/rocket-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/rocket-24.svg b/material/.icons/octicons/rocket-24.svg index d7a8194d6..274db4c63 100644 --- a/material/.icons/octicons/rocket-24.svg +++ b/material/.icons/octicons/rocket-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/rss-16.svg b/material/.icons/octicons/rss-16.svg index 57948e422..1d22be9b4 100644 --- a/material/.icons/octicons/rss-16.svg +++ b/material/.icons/octicons/rss-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/rss-24.svg b/material/.icons/octicons/rss-24.svg index e127763ae..b88ce92b2 100644 --- a/material/.icons/octicons/rss-24.svg +++ b/material/.icons/octicons/rss-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/ruby-16.svg b/material/.icons/octicons/ruby-16.svg index 7006f8bc9..8c67b5ab7 100644 --- a/material/.icons/octicons/ruby-16.svg +++ b/material/.icons/octicons/ruby-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/ruby-24.svg b/material/.icons/octicons/ruby-24.svg index 529622490..eaa55cbfb 100644 --- a/material/.icons/octicons/ruby-24.svg +++ b/material/.icons/octicons/ruby-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/screen-full-16.svg b/material/.icons/octicons/screen-full-16.svg index 54b9c31bb..f04b78fd0 100644 --- a/material/.icons/octicons/screen-full-16.svg +++ b/material/.icons/octicons/screen-full-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/screen-full-24.svg b/material/.icons/octicons/screen-full-24.svg index 1b25a99f2..6ef8d0b63 100644 --- a/material/.icons/octicons/screen-full-24.svg +++ b/material/.icons/octicons/screen-full-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/screen-normal-16.svg b/material/.icons/octicons/screen-normal-16.svg index d0874ce25..81691c3a5 100644 --- a/material/.icons/octicons/screen-normal-16.svg +++ b/material/.icons/octicons/screen-normal-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/screen-normal-24.svg b/material/.icons/octicons/screen-normal-24.svg index 9d3cfbd5c..9c3854666 100644 --- a/material/.icons/octicons/screen-normal-24.svg +++ b/material/.icons/octicons/screen-normal-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/search-16.svg b/material/.icons/octicons/search-16.svg index 9a5d4e286..2fd09d063 100644 --- a/material/.icons/octicons/search-16.svg +++ b/material/.icons/octicons/search-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/search-24.svg b/material/.icons/octicons/search-24.svg index 4eceadaf7..6f57ba0d0 100644 --- a/material/.icons/octicons/search-24.svg +++ b/material/.icons/octicons/search-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/server-16.svg b/material/.icons/octicons/server-16.svg index 0280ecbf4..85acc7612 100644 --- a/material/.icons/octicons/server-16.svg +++ b/material/.icons/octicons/server-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/server-24.svg b/material/.icons/octicons/server-24.svg index dd616997a..fcff2bf87 100644 --- a/material/.icons/octicons/server-24.svg +++ b/material/.icons/octicons/server-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/share-16.svg b/material/.icons/octicons/share-16.svg index 60816b384..7e604c183 100644 --- a/material/.icons/octicons/share-16.svg +++ b/material/.icons/octicons/share-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/share-24.svg b/material/.icons/octicons/share-24.svg index 21eda9714..e2af5a472 100644 --- a/material/.icons/octicons/share-24.svg +++ b/material/.icons/octicons/share-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/share-android-16.svg b/material/.icons/octicons/share-android-16.svg index c75d75b6e..291a35264 100644 --- a/material/.icons/octicons/share-android-16.svg +++ b/material/.icons/octicons/share-android-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/share-android-24.svg b/material/.icons/octicons/share-android-24.svg index 5d032c2e9..85fc2359b 100644 --- a/material/.icons/octicons/share-android-24.svg +++ b/material/.icons/octicons/share-android-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/shield-16.svg b/material/.icons/octicons/shield-16.svg index 3099405eb..a4609b750 100644 --- a/material/.icons/octicons/shield-16.svg +++ b/material/.icons/octicons/shield-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/shield-24.svg b/material/.icons/octicons/shield-24.svg index b980b96bc..df88bf89c 100644 --- a/material/.icons/octicons/shield-24.svg +++ b/material/.icons/octicons/shield-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/shield-check-16.svg b/material/.icons/octicons/shield-check-16.svg index 4cf90f31d..37e40847f 100644 --- a/material/.icons/octicons/shield-check-16.svg +++ b/material/.icons/octicons/shield-check-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/shield-check-24.svg b/material/.icons/octicons/shield-check-24.svg index 97c3df472..a5fe2c167 100644 --- a/material/.icons/octicons/shield-check-24.svg +++ b/material/.icons/octicons/shield-check-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/shield-lock-16.svg b/material/.icons/octicons/shield-lock-16.svg index b9335b7bb..a685c6fab 100644 --- a/material/.icons/octicons/shield-lock-16.svg +++ b/material/.icons/octicons/shield-lock-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/shield-lock-24.svg b/material/.icons/octicons/shield-lock-24.svg index 17917b658..5ee8f4a00 100644 --- a/material/.icons/octicons/shield-lock-24.svg +++ b/material/.icons/octicons/shield-lock-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/shield-x-16.svg b/material/.icons/octicons/shield-x-16.svg index 071505492..28626d622 100644 --- a/material/.icons/octicons/shield-x-16.svg +++ b/material/.icons/octicons/shield-x-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/shield-x-24.svg b/material/.icons/octicons/shield-x-24.svg index fe313940a..e14c45935 100644 --- a/material/.icons/octicons/shield-x-24.svg +++ b/material/.icons/octicons/shield-x-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/sign-in-16.svg b/material/.icons/octicons/sign-in-16.svg index a5f97f333..9ae07d3d5 100644 --- a/material/.icons/octicons/sign-in-16.svg +++ b/material/.icons/octicons/sign-in-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/sign-in-24.svg b/material/.icons/octicons/sign-in-24.svg index c01d4535e..fc136cd01 100644 --- a/material/.icons/octicons/sign-in-24.svg +++ b/material/.icons/octicons/sign-in-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/sign-out-16.svg b/material/.icons/octicons/sign-out-16.svg index 717278cf5..7293ff5fe 100644 --- a/material/.icons/octicons/sign-out-16.svg +++ b/material/.icons/octicons/sign-out-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/sign-out-24.svg b/material/.icons/octicons/sign-out-24.svg index 244990360..b05057f91 100644 --- a/material/.icons/octicons/sign-out-24.svg +++ b/material/.icons/octicons/sign-out-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/skip-16.svg b/material/.icons/octicons/skip-16.svg index 6ee1c3ec8..df0125738 100644 --- a/material/.icons/octicons/skip-16.svg +++ b/material/.icons/octicons/skip-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/skip-24.svg b/material/.icons/octicons/skip-24.svg index afe85ed31..dfe13fc5d 100644 --- a/material/.icons/octicons/skip-24.svg +++ b/material/.icons/octicons/skip-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/smiley-16.svg b/material/.icons/octicons/smiley-16.svg index 78269f936..db0f9b896 100644 --- a/material/.icons/octicons/smiley-16.svg +++ b/material/.icons/octicons/smiley-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/smiley-24.svg b/material/.icons/octicons/smiley-24.svg index a85f2cdf5..024ec950b 100644 --- a/material/.icons/octicons/smiley-24.svg +++ b/material/.icons/octicons/smiley-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/square-16.svg b/material/.icons/octicons/square-16.svg index cee55dbfd..9947395ee 100644 --- a/material/.icons/octicons/square-16.svg +++ b/material/.icons/octicons/square-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/square-24.svg b/material/.icons/octicons/square-24.svg index cf35774a2..30255cab8 100644 --- a/material/.icons/octicons/square-24.svg +++ b/material/.icons/octicons/square-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/square-fill-16.svg b/material/.icons/octicons/square-fill-16.svg index 70df96c87..cbec561b4 100644 --- a/material/.icons/octicons/square-fill-16.svg +++ b/material/.icons/octicons/square-fill-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/square-fill-24.svg b/material/.icons/octicons/square-fill-24.svg index 863771b1a..5863c2aa5 100644 --- a/material/.icons/octicons/square-fill-24.svg +++ b/material/.icons/octicons/square-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/squirrel-16.svg b/material/.icons/octicons/squirrel-16.svg index 4d3cdf774..564b3e959 100644 --- a/material/.icons/octicons/squirrel-16.svg +++ b/material/.icons/octicons/squirrel-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/squirrel-24.svg b/material/.icons/octicons/squirrel-24.svg index be9860761..fb0fbf95e 100644 --- a/material/.icons/octicons/squirrel-24.svg +++ b/material/.icons/octicons/squirrel-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/star-16.svg b/material/.icons/octicons/star-16.svg index f5fd9490b..8a44c3321 100644 --- a/material/.icons/octicons/star-16.svg +++ b/material/.icons/octicons/star-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/star-24.svg b/material/.icons/octicons/star-24.svg index b56b11913..cf4696aeb 100644 --- a/material/.icons/octicons/star-24.svg +++ b/material/.icons/octicons/star-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/star-fill-16.svg b/material/.icons/octicons/star-fill-16.svg index 927f7a2df..1f7ce80f9 100644 --- a/material/.icons/octicons/star-fill-16.svg +++ b/material/.icons/octicons/star-fill-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/star-fill-24.svg b/material/.icons/octicons/star-fill-24.svg index 2d172cb73..21bcf763a 100644 --- a/material/.icons/octicons/star-fill-24.svg +++ b/material/.icons/octicons/star-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/stop-16.svg b/material/.icons/octicons/stop-16.svg index 54fa87a1a..b2ee0e3b9 100644 --- a/material/.icons/octicons/stop-16.svg +++ b/material/.icons/octicons/stop-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/stop-24.svg b/material/.icons/octicons/stop-24.svg index 4eee00f20..27e367591 100644 --- a/material/.icons/octicons/stop-24.svg +++ b/material/.icons/octicons/stop-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/stopwatch-16.svg b/material/.icons/octicons/stopwatch-16.svg index 8661bebb7..5803217cc 100644 --- a/material/.icons/octicons/stopwatch-16.svg +++ b/material/.icons/octicons/stopwatch-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/stopwatch-24.svg b/material/.icons/octicons/stopwatch-24.svg index f42cb08cb..ec110ae5a 100644 --- a/material/.icons/octicons/stopwatch-24.svg +++ b/material/.icons/octicons/stopwatch-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/strikethrough-16.svg b/material/.icons/octicons/strikethrough-16.svg index f39bf28db..91cc8a8b6 100644 --- a/material/.icons/octicons/strikethrough-16.svg +++ b/material/.icons/octicons/strikethrough-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/strikethrough-24.svg b/material/.icons/octicons/strikethrough-24.svg index 8a25a7eee..c73f1f2a6 100644 --- a/material/.icons/octicons/strikethrough-24.svg +++ b/material/.icons/octicons/strikethrough-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/sun-16.svg b/material/.icons/octicons/sun-16.svg index e6b8eea43..f4a133028 100644 --- a/material/.icons/octicons/sun-16.svg +++ b/material/.icons/octicons/sun-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/sun-24.svg b/material/.icons/octicons/sun-24.svg index ccc73aeec..78001822b 100644 --- a/material/.icons/octicons/sun-24.svg +++ b/material/.icons/octicons/sun-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/sync-16.svg b/material/.icons/octicons/sync-16.svg index f3082720d..866cae91c 100644 --- a/material/.icons/octicons/sync-16.svg +++ b/material/.icons/octicons/sync-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/sync-24.svg b/material/.icons/octicons/sync-24.svg index 670c708f1..aeeebea06 100644 --- a/material/.icons/octicons/sync-24.svg +++ b/material/.icons/octicons/sync-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/tab-24.svg b/material/.icons/octicons/tab-24.svg index c54257522..c6cdf8b32 100644 --- a/material/.icons/octicons/tab-24.svg +++ b/material/.icons/octicons/tab-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/tag-16.svg b/material/.icons/octicons/tag-16.svg index 48b165e01..4e315a687 100644 --- a/material/.icons/octicons/tag-16.svg +++ b/material/.icons/octicons/tag-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/tag-24.svg b/material/.icons/octicons/tag-24.svg index e30b21241..791ad9e8a 100644 --- a/material/.icons/octicons/tag-24.svg +++ b/material/.icons/octicons/tag-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/tasklist-16.svg b/material/.icons/octicons/tasklist-16.svg index 2f8f84f3d..a0f5e3484 100644 --- a/material/.icons/octicons/tasklist-16.svg +++ b/material/.icons/octicons/tasklist-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/tasklist-24.svg b/material/.icons/octicons/tasklist-24.svg index 10cab4f9f..6251c4b2e 100644 --- a/material/.icons/octicons/tasklist-24.svg +++ b/material/.icons/octicons/tasklist-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/telescope-16.svg b/material/.icons/octicons/telescope-16.svg index 151628854..7a61ba627 100644 --- a/material/.icons/octicons/telescope-16.svg +++ b/material/.icons/octicons/telescope-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/telescope-24.svg b/material/.icons/octicons/telescope-24.svg index 362434a2e..9a34e802b 100644 --- a/material/.icons/octicons/telescope-24.svg +++ b/material/.icons/octicons/telescope-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/terminal-16.svg b/material/.icons/octicons/terminal-16.svg index c8a0af1b0..eb5f1b579 100644 --- a/material/.icons/octicons/terminal-16.svg +++ b/material/.icons/octicons/terminal-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/terminal-24.svg b/material/.icons/octicons/terminal-24.svg index 317f895d6..2326e1a68 100644 --- a/material/.icons/octicons/terminal-24.svg +++ b/material/.icons/octicons/terminal-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/three-bars-16.svg b/material/.icons/octicons/three-bars-16.svg index ed4357a82..28a7f6814 100644 --- a/material/.icons/octicons/three-bars-16.svg +++ b/material/.icons/octicons/three-bars-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/thumbsdown-16.svg b/material/.icons/octicons/thumbsdown-16.svg index 4671cdc13..aa54d5040 100644 --- a/material/.icons/octicons/thumbsdown-16.svg +++ b/material/.icons/octicons/thumbsdown-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/thumbsdown-24.svg b/material/.icons/octicons/thumbsdown-24.svg index 0bfd1044e..dc184c23b 100644 --- a/material/.icons/octicons/thumbsdown-24.svg +++ b/material/.icons/octicons/thumbsdown-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/thumbsup-16.svg b/material/.icons/octicons/thumbsup-16.svg index da6932b67..3c3266ceb 100644 --- a/material/.icons/octicons/thumbsup-16.svg +++ b/material/.icons/octicons/thumbsup-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/thumbsup-24.svg b/material/.icons/octicons/thumbsup-24.svg index c6057f447..1d09570d7 100644 --- a/material/.icons/octicons/thumbsup-24.svg +++ b/material/.icons/octicons/thumbsup-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/tools-16.svg b/material/.icons/octicons/tools-16.svg index 85da3e3cc..a7878d158 100644 --- a/material/.icons/octicons/tools-16.svg +++ b/material/.icons/octicons/tools-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/tools-24.svg b/material/.icons/octicons/tools-24.svg index 9aa7ffb14..36d426246 100644 --- a/material/.icons/octicons/tools-24.svg +++ b/material/.icons/octicons/tools-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/trash-16.svg b/material/.icons/octicons/trash-16.svg index b83f08c47..7616967ef 100644 --- a/material/.icons/octicons/trash-16.svg +++ b/material/.icons/octicons/trash-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/trash-24.svg b/material/.icons/octicons/trash-24.svg index 6c280acde..b75ad5dbd 100644 --- a/material/.icons/octicons/trash-24.svg +++ b/material/.icons/octicons/trash-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/triangle-down-16.svg b/material/.icons/octicons/triangle-down-16.svg index 6f3a4aad3..0e33b44b3 100644 --- a/material/.icons/octicons/triangle-down-16.svg +++ b/material/.icons/octicons/triangle-down-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/triangle-down-24.svg b/material/.icons/octicons/triangle-down-24.svg index 0a3ef94e2..bae5cbfdf 100644 --- a/material/.icons/octicons/triangle-down-24.svg +++ b/material/.icons/octicons/triangle-down-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/triangle-left-16.svg b/material/.icons/octicons/triangle-left-16.svg index faf5c5c63..48687c8b0 100644 --- a/material/.icons/octicons/triangle-left-16.svg +++ b/material/.icons/octicons/triangle-left-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/triangle-left-24.svg b/material/.icons/octicons/triangle-left-24.svg index 01ee86c8f..f4e4a0c06 100644 --- a/material/.icons/octicons/triangle-left-24.svg +++ b/material/.icons/octicons/triangle-left-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/triangle-right-16.svg b/material/.icons/octicons/triangle-right-16.svg index f55f87db0..d6386b7f4 100644 --- a/material/.icons/octicons/triangle-right-16.svg +++ b/material/.icons/octicons/triangle-right-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/triangle-right-24.svg b/material/.icons/octicons/triangle-right-24.svg index 6a5049aa5..c52756ac1 100644 --- a/material/.icons/octicons/triangle-right-24.svg +++ b/material/.icons/octicons/triangle-right-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/triangle-up-16.svg b/material/.icons/octicons/triangle-up-16.svg index 496d17b85..d8d7ab6ad 100644 --- a/material/.icons/octicons/triangle-up-16.svg +++ b/material/.icons/octicons/triangle-up-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/triangle-up-24.svg b/material/.icons/octicons/triangle-up-24.svg index 62440dc71..c7ac1d922 100644 --- a/material/.icons/octicons/triangle-up-24.svg +++ b/material/.icons/octicons/triangle-up-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/typography-16.svg b/material/.icons/octicons/typography-16.svg index 117347642..d2d6bfe0c 100644 --- a/material/.icons/octicons/typography-16.svg +++ b/material/.icons/octicons/typography-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/typography-24.svg b/material/.icons/octicons/typography-24.svg index 8d5b61521..93a46e786 100644 --- a/material/.icons/octicons/typography-24.svg +++ b/material/.icons/octicons/typography-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/unfold-16.svg b/material/.icons/octicons/unfold-16.svg index 9f0162663..4cd78f248 100644 --- a/material/.icons/octicons/unfold-16.svg +++ b/material/.icons/octicons/unfold-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/unfold-24.svg b/material/.icons/octicons/unfold-24.svg index 923acec3e..2c795c001 100644 --- a/material/.icons/octicons/unfold-24.svg +++ b/material/.icons/octicons/unfold-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/unlock-16.svg b/material/.icons/octicons/unlock-16.svg index d73b93c2a..2a36f4ecc 100644 --- a/material/.icons/octicons/unlock-16.svg +++ b/material/.icons/octicons/unlock-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/unlock-24.svg b/material/.icons/octicons/unlock-24.svg index dd74eecc9..684cce1e1 100644 --- a/material/.icons/octicons/unlock-24.svg +++ b/material/.icons/octicons/unlock-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/unmute-16.svg b/material/.icons/octicons/unmute-16.svg index 9fe91902e..b1a8c72ab 100644 --- a/material/.icons/octicons/unmute-16.svg +++ b/material/.icons/octicons/unmute-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/unmute-24.svg b/material/.icons/octicons/unmute-24.svg index 223cfcc19..8bd3f49d7 100644 --- a/material/.icons/octicons/unmute-24.svg +++ b/material/.icons/octicons/unmute-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/unverified-16.svg b/material/.icons/octicons/unverified-16.svg index 6370a2f6a..49242bf48 100644 --- a/material/.icons/octicons/unverified-16.svg +++ b/material/.icons/octicons/unverified-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/unverified-24.svg b/material/.icons/octicons/unverified-24.svg index 8d56a8e88..3e29ca513 100644 --- a/material/.icons/octicons/unverified-24.svg +++ b/material/.icons/octicons/unverified-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/upload-16.svg b/material/.icons/octicons/upload-16.svg index 5582c6dcd..5c215bd15 100644 --- a/material/.icons/octicons/upload-16.svg +++ b/material/.icons/octicons/upload-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/upload-24.svg b/material/.icons/octicons/upload-24.svg index 5929e9fe4..46a52e807 100644 --- a/material/.icons/octicons/upload-24.svg +++ b/material/.icons/octicons/upload-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/verified-16.svg b/material/.icons/octicons/verified-16.svg index ab6f2a265..d144f7758 100644 --- a/material/.icons/octicons/verified-16.svg +++ b/material/.icons/octicons/verified-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/verified-24.svg b/material/.icons/octicons/verified-24.svg index 7ce5b560e..3242e8595 100644 --- a/material/.icons/octicons/verified-24.svg +++ b/material/.icons/octicons/verified-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/versions-16.svg b/material/.icons/octicons/versions-16.svg index aa33ad750..bff013b48 100644 --- a/material/.icons/octicons/versions-16.svg +++ b/material/.icons/octicons/versions-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/versions-24.svg b/material/.icons/octicons/versions-24.svg index 37aaa9218..4df1fad69 100644 --- a/material/.icons/octicons/versions-24.svg +++ b/material/.icons/octicons/versions-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/video-16.svg b/material/.icons/octicons/video-16.svg index b817bd6ea..f9c09a95c 100644 --- a/material/.icons/octicons/video-16.svg +++ b/material/.icons/octicons/video-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/video-24.svg b/material/.icons/octicons/video-24.svg index 842fcbf37..f6a797c1d 100644 --- a/material/.icons/octicons/video-24.svg +++ b/material/.icons/octicons/video-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/workflow-16.svg b/material/.icons/octicons/workflow-16.svg index ef1a6d706..b72c253fa 100644 --- a/material/.icons/octicons/workflow-16.svg +++ b/material/.icons/octicons/workflow-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/workflow-24.svg b/material/.icons/octicons/workflow-24.svg index 0ec3d5df5..d40421d9a 100644 --- a/material/.icons/octicons/workflow-24.svg +++ b/material/.icons/octicons/workflow-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/x-16.svg b/material/.icons/octicons/x-16.svg index 65597e33e..6b906a96d 100644 --- a/material/.icons/octicons/x-16.svg +++ b/material/.icons/octicons/x-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/x-24.svg b/material/.icons/octicons/x-24.svg index e8dd2f7c1..29d11030f 100644 --- a/material/.icons/octicons/x-24.svg +++ b/material/.icons/octicons/x-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/x-circle-16.svg b/material/.icons/octicons/x-circle-16.svg index b54f44551..d22cb322c 100644 --- a/material/.icons/octicons/x-circle-16.svg +++ b/material/.icons/octicons/x-circle-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/x-circle-24.svg b/material/.icons/octicons/x-circle-24.svg index 44f64c48c..73c2d4358 100644 --- a/material/.icons/octicons/x-circle-24.svg +++ b/material/.icons/octicons/x-circle-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/x-circle-fill-16.svg b/material/.icons/octicons/x-circle-fill-16.svg index 3840e2cd9..4ecb14c44 100644 --- a/material/.icons/octicons/x-circle-fill-16.svg +++ b/material/.icons/octicons/x-circle-fill-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/x-circle-fill-24.svg b/material/.icons/octicons/x-circle-fill-24.svg index 54466a61a..1c0e99765 100644 --- a/material/.icons/octicons/x-circle-fill-24.svg +++ b/material/.icons/octicons/x-circle-fill-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/zap-16.svg b/material/.icons/octicons/zap-16.svg index 7615212d6..d8698dabd 100644 --- a/material/.icons/octicons/zap-16.svg +++ b/material/.icons/octicons/zap-16.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/.icons/octicons/zap-24.svg b/material/.icons/octicons/zap-24.svg index 76de7129c..896e87f9d 100644 --- a/material/.icons/octicons/zap-24.svg +++ b/material/.icons/octicons/zap-24.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/material/assets/javascripts/bundle.js b/material/assets/javascripts/bundle.ee96dedf.min.js similarity index 99% rename from material/assets/javascripts/bundle.js rename to material/assets/javascripts/bundle.ee96dedf.min.js index 750d21803..094b31203 100644 --- a/material/assets/javascripts/bundle.js +++ b/material/assets/javascripts/bundle.ee96dedf.min.js @@ -28,4 +28,5 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -//# sourceMappingURL=bundle.js.map +//# sourceMappingURL=bundle.ee96dedf.min.js + diff --git a/material/assets/javascripts/bundle.ee96dedf.min.js.map b/material/assets/javascripts/bundle.ee96dedf.min.js.map new file mode 100644 index 000000000..3f17aee14 --- /dev/null +++ b/material/assets/javascripts/bundle.ee96dedf.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/clipboard/dist/clipboard.js", "node_modules/escape-html/index.js", "src/assets/javascripts/bundle.ts", "node_modules/rxjs/node_modules/tslib/tslib.es6.js", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/BehaviorSubject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/util/caughtSchedule.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/fromArray.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/concatMap.ts", "node_modules/rxjs/src/internal/operators/debounce.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/takeLast.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/sample.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/switchMapTo.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/assets/javascripts/browser/document/index.ts", "src/assets/javascripts/browser/element/_/index.ts", "src/assets/javascripts/browser/element/focus/index.ts", "src/assets/javascripts/browser/element/size/index.ts", "src/assets/javascripts/browser/element/offset/index.ts", "src/assets/javascripts/browser/element/selection/index.ts", "src/assets/javascripts/browser/toggle/index.ts", "src/assets/javascripts/browser/keyboard/index.ts", "src/assets/javascripts/browser/location/_/index.ts", "src/assets/javascripts/browser/location/hash/index.ts", "src/assets/javascripts/browser/media/index.ts", "src/assets/javascripts/browser/request/index.ts", "src/assets/javascripts/browser/viewport/offset/index.ts", "src/assets/javascripts/browser/viewport/size/index.ts", "src/assets/javascripts/browser/viewport/_/index.ts", "src/assets/javascripts/browser/worker/index.ts", "src/assets/javascripts/_/index.ts", "src/assets/javascripts/components/_/index.ts", "src/assets/javascripts/components/content/code/index.ts", "src/assets/javascripts/actions/_/index.ts", "src/assets/javascripts/actions/anchor/index.ts", "src/assets/javascripts/actions/dialog/index.ts", "src/assets/javascripts/actions/header/_/index.ts", "src/assets/javascripts/actions/header/title/index.ts", "src/assets/javascripts/actions/search/query/index.ts", "src/assets/javascripts/utilities/h/index.ts", "src/assets/javascripts/utilities/string/index.ts", "src/assets/javascripts/actions/search/result/index.ts", "src/assets/javascripts/actions/sidebar/index.ts", "src/assets/javascripts/actions/source/index.ts", "src/assets/javascripts/actions/tabs/index.ts", "src/assets/javascripts/templates/clipboard/index.tsx", "src/assets/javascripts/templates/search/index.tsx", "src/assets/javascripts/templates/source/index.tsx", "src/assets/javascripts/templates/table/index.tsx", "src/assets/javascripts/components/content/details/index.ts", "src/assets/javascripts/components/content/table/index.ts", "src/assets/javascripts/components/content/_/index.ts", "src/assets/javascripts/components/dialog/index.ts", "src/assets/javascripts/components/header/_/index.ts", "src/assets/javascripts/components/header/title/index.ts", "src/assets/javascripts/components/main/index.ts", "src/assets/javascripts/integrations/clipboard/index.ts", "src/assets/javascripts/integrations/instant/index.ts", "src/assets/javascripts/integrations/search/document/index.ts", "src/assets/javascripts/integrations/search/query/transform/index.ts", "src/assets/javascripts/integrations/search/worker/message/index.ts", "src/assets/javascripts/integrations/search/worker/_/index.ts", "src/assets/javascripts/components/search/query/index.ts", "src/assets/javascripts/components/search/result/index.ts", "src/assets/javascripts/components/search/_/index.ts", "src/assets/javascripts/components/sidebar/index.ts", "src/assets/javascripts/components/source/facts/github/index.ts", "src/assets/javascripts/components/source/facts/gitlab/index.ts", "src/assets/javascripts/components/source/facts/_/index.ts", "src/assets/javascripts/components/source/_/index.ts", "src/assets/javascripts/components/tabs/index.ts", "src/assets/javascripts/components/toc/index.ts", "src/assets/javascripts/patches/indeterminate/index.ts", "src/assets/javascripts/patches/scrollfix/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * clipboard.js v2.0.6\n * https://clipboardjs.com/\n * \n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(3);\nvar delegate = __webpack_require__(4);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(5);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(0);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n\n// CONCATENATED MODULE: ./src/clipboard-action.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\n\nvar clipboard_action_ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = select_default()(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = select_default()(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n document.activeElement.blur();\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\n/* harmony default export */ var clipboard_action = (clipboard_action_ClipboardAction);\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(1);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(2);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n\n// CONCATENATED MODULE: ./src/clipboard.js\nvar clipboard_typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar clipboard_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\nvar clipboard_Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n clipboard_classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n clipboard_createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new clipboard_action({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(tiny_emitter_default.a);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\n/* harmony default export */ var clipboard = __webpack_exports__[\"default\"] = (clipboard_Clipboard);\n\n/***/ })\n/******/ ])[\"default\"];\n});", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\nimport { Subject, defer, merge } from \"rxjs\"\nimport {\n filter,\n map,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\nimport { feature } from \"./_\"\nimport {\n at,\n getElement,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountSearch,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n setupClipboardJS,\n setupInstantLoading\n} from \"./integrations\"\nimport {\n patchIndeterminate,\n patchScrollfix\n} from \"./patches\"\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget()\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up instant loading, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantLoading({ document$, location$, viewport$ })\n\n/* Always close drawer on navigation */\nmerge(location$, target$)\n .subscribe(() => setToggle(\"drawer\", false))\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getElement(\"[href][rel=prev]\")\n if (typeof prev !== \"undefined\")\n prev.click()\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getElement(\"[href][rel=next]\")\n if (typeof next !== \"undefined\")\n next.click()\n break\n }\n })\n\n/* Set up patches */\npatchIndeterminate({ document$ })\npatchScrollfix({ document$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el as HTMLAnchorElement)),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { target$, viewport$, print$ })),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, { viewport$, header$ })),\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Tablet observable */\nwindow.screen$ = screen$ /* Screen observable */\nwindow.print$ = print$ /* Print mode observable */\nwindow.component$ = component$ /* Component observable */\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ReplaySubject, Subject, fromEvent } from \"rxjs\"\nimport { mapTo } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch document\n *\n * Documents must be implemented as subjects, so all downstream observables are\n * automatically updated when a new document is emitted. This enabled features\n * like instant loading.\n *\n * @returns Document subject\n */\nexport function watchDocument(): Subject {\n const document$ = new ReplaySubject()\n fromEvent(document, \"DOMContentLoaded\")\n .pipe(\n mapTo(document)\n )\n .subscribe(document$)\n\n /* Return document */\n return document$\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve an element matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element or nothing\n */\nexport function getElement(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElement(\n selector: string, node?: ParentNode\n): T | undefined\n\nexport function getElement(\n selector: string, node: ParentNode = document\n): T | undefined {\n return node.querySelector(selector) || undefined\n}\n\n/**\n * Retrieve an element matching a query selector or throw a reference error\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getElementOrThrow(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElementOrThrow(\n selector: string, node?: ParentNode\n): T\n\nexport function getElementOrThrow(\n selector: string, node: ParentNode = document\n): T {\n const el = getElement(selector, node)\n if (typeof el === \"undefined\")\n throw new ReferenceError(\n `Missing element: expected \"${selector}\" to be present`\n )\n return el\n}\n\n/**\n * Retrieve the currently active element\n *\n * @returns Element or nothing\n */\nexport function getActiveElement(): HTMLElement | undefined {\n return document.activeElement instanceof HTMLElement\n ? document.activeElement\n : undefined\n}\n\n/**\n * Retrieve all elements matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getElements(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T][]\n\nexport function getElements(\n selector: string, node?: ParentNode\n): T[]\n\nexport function getElements(\n selector: string, node: ParentNode = document\n): T[] {\n return Array.from(node.querySelectorAll(selector))\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Create an element\n *\n * @template T - Tag name type\n *\n * @param tagName - Tag name\n *\n * @returns Element\n */\nexport function createElement(\n tagName: T\n): HTMLElementTagNameMap[T] {\n return document.createElement(tagName)\n}\n\n/**\n * Replace an element with another element\n *\n * @param source - Source element\n * @param target - Target element\n */\nexport function replaceElement(\n source: HTMLElement, target: Node\n): void {\n source.replaceWith(target)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element focus\n *\n * @param el - Element\n * @param value - Whether the element should be focused\n */\nexport function setElementFocus(\n el: HTMLElement, value = true\n): void {\n if (value)\n el.focus()\n else\n el.blur()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element focus\n *\n * @param el - Element\n *\n * @returns Element focus observable\n */\nexport function watchElementFocus(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"focus\"),\n fromEvent(el, \"blur\")\n )\n .pipe(\n map(({ type }) => type === \"focus\"),\n startWith(el === getActiveElement())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n defer,\n of\n} from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n shareReplay,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementSize {\n width: number /* Element width */\n height: number /* Element height */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Resize observer entry subject\n */\nconst entry$ = new Subject()\n\n/**\n * Resize observer observable\n *\n * This observable will create a `ResizeObserver` on the first subscription\n * and will automatically terminate it when there are no more subscribers.\n * It's quite important to centralize observation in a single `ResizeObserver`,\n * as the performance difference can be quite dramatic, as the link shows.\n *\n * @see https://bit.ly/3iIYfEm - Google Groups on performance\n */\nconst observer$ = defer(() => of(\n new ResizeObserver(entries => {\n for (const entry of entries)\n entry$.next(entry)\n })\n))\n .pipe(\n switchMap(resize => NEVER.pipe(startWith(resize))\n .pipe(\n finalize(() => resize.disconnect())\n )\n ),\n shareReplay(1)\n )\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element size\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementSize(el: HTMLElement): ElementSize {\n return {\n width: el.offsetWidth,\n height: el.offsetHeight\n }\n}\n\n/**\n * Retrieve element content size, i.e. including overflowing content\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementContentSize(el: HTMLElement): ElementSize {\n return {\n width: el.scrollWidth,\n height: el.scrollHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element size\n *\n * This function returns an observable that subscribes to a single internal\n * instance of `ResizeObserver` upon subscription, and emit resize events until\n * termination. Note that this function should not be called with the same\n * element twice, as the first unsubscription will terminate observation.\n *\n * @param el - Element\n *\n * @returns Element size observable\n */\nexport function watchElementSize(\n el: HTMLElement\n): Observable {\n return observer$\n .pipe(\n tap(observer => observer.observe(el)),\n switchMap(observer => entry$\n .pipe(\n filter(({ target }) => target === el),\n finalize(() => observer.unobserve(el)),\n map(({ contentRect }) => ({\n width: contentRect.width,\n height: contentRect.height\n }))\n )\n ),\n startWith(getElementSize(el))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { distinctUntilChanged, map, startWith } from \"rxjs/operators\"\n\nimport { getElementContentSize, getElementSize } from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element offset\n *\n * @param el - Element\n *\n * @returns Element offset\n */\nexport function getElementOffset(el: HTMLElement): ElementOffset {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element offset\n *\n * @param el - Element\n *\n * @returns Element offset observable\n */\nexport function watchElementOffset(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"scroll\"),\n fromEvent(window, \"resize\")\n )\n .pipe(\n map(() => getElementOffset(el)),\n startWith(getElementOffset(el))\n )\n}\n\n/**\n * Watch element threshold\n *\n * This function returns an observable which emits whether the bottom scroll\n * offset of an elements is within a certain threshold.\n *\n * @param el - Element\n * @param threshold - Threshold\n *\n * @returns Element threshold observable\n */\nexport function watchElementThreshold(\n el: HTMLElement, threshold = 16\n): Observable {\n return watchElementOffset(el)\n .pipe(\n map(({ y }) => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return y >= (\n content.height - visible.height - threshold\n )\n }),\n distinctUntilChanged()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element text selection\n *\n * @param el - Element\n */\nexport function setElementSelection(\n el: HTMLElement\n): void {\n if (el instanceof HTMLInputElement)\n el.select()\n else\n throw new Error(\"Not implemented\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getElementOrThrow } from \"../element\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle\n */\nexport type Toggle =\n | \"drawer\" /* Toggle for drawer */\n | \"search\" /* Toggle for search */\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle map\n */\nconst toggles: Record = {\n drawer: getElementOrThrow(\"[data-md-toggle=drawer]\"),\n search: getElementOrThrow(\"[data-md-toggle=search]\")\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the value of a toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value\n */\nexport function getToggle(name: Toggle): boolean {\n return toggles[name].checked\n}\n\n/**\n * Set toggle\n *\n * Simulating a click event seems to be the most cross-browser compatible way\n * of changing the value while also emitting a `change` event. Before, Material\n * used `CustomEvent` to programmatically change the value of a toggle, but this\n * is a much simpler and cleaner solution which doesn't require a polyfill.\n *\n * @param name - Toggle\n * @param value - Toggle value\n */\nexport function setToggle(name: Toggle, value: boolean): void {\n if (toggles[name].checked !== value)\n toggles[name].click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value observable\n */\nexport function watchToggle(name: Toggle): Observable {\n const el = toggles[name]\n return fromEvent(el, \"change\")\n .pipe(\n map(() => el.checked),\n startWith(el.checked)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { filter, map, share } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../element\"\nimport { getToggle } from \"../toggle\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Keyboard mode\n */\nexport type KeyboardMode =\n | \"global\" /* Global */\n | \"search\" /* Search is open */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Keyboard\n */\nexport interface Keyboard {\n mode: KeyboardMode /* Keyboard mode */\n type: string /* Key type */\n claim(): void /* Key claim */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Check whether an element may receive keyboard input\n *\n * @param el - Element\n *\n * @returns Test result\n */\nfunction isSusceptibleToKeyboard(el: HTMLElement): boolean {\n switch (el.tagName) {\n\n /* Form elements */\n case \"INPUT\":\n case \"SELECT\":\n case \"TEXTAREA\":\n return true\n\n /* Everything else */\n default:\n return el.isContentEditable\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch keyboard\n *\n * @returns Keyboard observable\n */\nexport function watchKeyboard(): Observable {\n return fromEvent(window, \"keydown\")\n .pipe(\n filter(ev => !(ev.metaKey || ev.ctrlKey)),\n map(ev => ({\n mode: getToggle(\"search\") ? \"search\" : \"global\",\n type: ev.key,\n claim() {\n ev.preventDefault()\n ev.stopPropagation()\n }\n } as Keyboard)),\n filter(({ mode }) => {\n if (mode === \"global\") {\n const active = getActiveElement()\n if (typeof active !== \"undefined\")\n return !isSusceptibleToKeyboard(active)\n }\n return true\n }),\n share()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { BehaviorSubject, Subject } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location\n *\n * This function will return a `URL` object (and not `Location`) in order to\n * normalize typings across the application. Furthermore, locations need to be\n * tracked without setting them and `Location` is a singleton which represents\n * the current location.\n *\n * @returns URL\n */\nexport function getLocation(): URL {\n return new URL(location.href)\n}\n\n/**\n * Set location\n *\n * @param url - URL to change to\n */\nexport function setLocation(url: URL): void {\n location.href = url.href\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location\n *\n * @returns Location subject\n */\nexport function watchLocation(): Subject {\n return new BehaviorSubject(getLocation())\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, of } from \"rxjs\"\nimport { filter, map, share, startWith, switchMap } from \"rxjs/operators\"\n\nimport { createElement, getElement } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location hash\n *\n * @returns Location hash\n */\nexport function getLocationHash(): string {\n return location.hash.substring(1)\n}\n\n/**\n * Set location hash\n *\n * Setting a new fragment identifier via `location.hash` will have no effect\n * if the value doesn't change. When a new fragment identifier is set, we want\n * the browser to target the respective element at all times, which is why we\n * use this dirty little trick.\n *\n * @param hash - Location hash\n */\nexport function setLocationHash(hash: string): void {\n const el = createElement(\"a\")\n el.href = hash\n el.addEventListener(\"click\", ev => ev.stopPropagation())\n el.click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location hash\n *\n * @returns Location hash observable\n */\nexport function watchLocationHash(): Observable {\n return fromEvent(window, \"hashchange\")\n .pipe(\n map(getLocationHash),\n startWith(getLocationHash()),\n filter(hash => hash.length > 0),\n share()\n )\n}\n\n/**\n * Watch location target\n *\n * @returns Location target observable\n */\nexport function watchLocationTarget(): Observable {\n return watchLocationHash()\n .pipe(\n switchMap(id => of(getElement(`[id=\"${id}\"]`)!))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, fromEvent, merge } from \"rxjs\"\nimport {\n filter,\n map,\n mapTo,\n startWith,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch media query\n *\n * @param query - Media query\n *\n * @returns Media observable\n */\nexport function watchMedia(query: string): Observable {\n const media = matchMedia(query)\n return fromEvent(media, \"change\")\n .pipe(\n map(ev => ev.matches),\n startWith(media.matches)\n )\n}\n\n/**\n * Watch print mode, cross-browser\n *\n * @returns Print mode observable\n */\nexport function watchPrint(): Observable {\n return merge(\n watchMedia(\"print\").pipe(filter(Boolean)), /* Webkit */\n fromEvent(window, \"beforeprint\") /* IE, FF */\n )\n .pipe(\n mapTo(undefined)\n )\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Toggle an observable with a media observable\n *\n * @template T - Data type\n *\n * @param query$ - Media observable\n * @param factory - Observable factory\n *\n * @returns Toggled observable\n */\nexport function at(\n query$: Observable, factory: () => Observable\n): Observable {\n return query$\n .pipe(\n switchMap(active => active ? factory() : NEVER)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, from } from \"rxjs\"\nimport {\n filter,\n map,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Response observable\n */\nexport function request(\n url: string, options: RequestInit = { credentials: \"same-origin\" }\n): Observable {\n return from(fetch(url, options))\n .pipe(\n filter(res => res.status === 200),\n )\n}\n\n/**\n * Fetch JSON from the given URL\n *\n * @template T - Data type\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestJSON(\n url: string, options?: RequestInit\n): Observable {\n return request(url, options)\n .pipe(\n switchMap(res => res.json()),\n shareReplay(1)\n )\n}\n\n/**\n * Fetch XML from the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestXML(\n url: string, options?: RequestInit\n): Observable {\n const dom = new DOMParser()\n return request(url, options)\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/xml\")),\n shareReplay(1)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport offset\n */\nexport interface ViewportOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve viewport offset\n *\n * On iOS Safari, viewport offset can be negative due to overflow scrolling.\n * As this may induce strange behaviors downstream, we'll just limit it to 0.\n *\n * @returns Viewport offset\n */\nexport function getViewportOffset(): ViewportOffset {\n return {\n x: Math.max(0, pageXOffset),\n y: Math.max(0, pageYOffset)\n }\n}\n\n/**\n * Set viewport offset\n *\n * @param offset - Viewport offset\n */\nexport function setViewportOffset(\n { x, y }: Partial\n): void {\n window.scrollTo(x || 0, y || 0)\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport offset\n *\n * @returns Viewport offset observable\n */\nexport function watchViewportOffset(): Observable {\n return merge(\n fromEvent(window, \"scroll\", { passive: true }),\n fromEvent(window, \"resize\", { passive: true })\n )\n .pipe(\n map(getViewportOffset),\n startWith(getViewportOffset())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport size\n */\nexport interface ViewportSize {\n width: number /* Viewport width */\n height: number /* Viewport height */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve viewport size\n *\n * @returns Viewport size\n */\nexport function getViewportSize(): ViewportSize {\n return {\n width: innerWidth,\n height: innerHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport size\n *\n * @returns Viewport size observable\n */\nexport function watchViewportSize(): Observable {\n return fromEvent(window, \"resize\", { passive: true })\n .pipe(\n map(getViewportSize),\n startWith(getViewportSize())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, combineLatest } from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n map,\n shareReplay\n} from \"rxjs/operators\"\n\nimport { Header } from \"~/components\"\n\nimport {\n ViewportOffset,\n watchViewportOffset\n} from \"../offset\"\nimport {\n ViewportSize,\n watchViewportSize\n} from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport\n */\nexport interface Viewport {\n offset: ViewportOffset /* Viewport offset */\n size: ViewportSize /* Viewport size */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch at options\n */\ninterface WatchAtOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport\n *\n * @returns Viewport observable\n */\nexport function watchViewport(): Observable {\n return combineLatest([\n watchViewportOffset(),\n watchViewportSize()\n ])\n .pipe(\n map(([offset, size]) => ({ offset, size })),\n shareReplay(1)\n )\n}\n\n/**\n * Watch viewport relative to element\n *\n * @param el - Element\n * @param options - Options\n *\n * @returns Viewport observable\n */\nexport function watchViewportAt(\n el: HTMLElement, { viewport$, header$ }: WatchAtOptions\n): Observable {\n const size$ = viewport$\n .pipe(\n distinctUntilKeyChanged(\"size\")\n )\n\n /* Compute element offset */\n const offset$ = combineLatest([size$, header$])\n .pipe(\n map((): ViewportOffset => ({\n x: el.offsetLeft,\n y: el.offsetTop\n }))\n )\n\n /* Compute relative viewport, return hot observable */\n return combineLatest([header$, viewport$, offset$])\n .pipe(\n map(([{ height }, { offset, size }, { x, y }]) => ({\n offset: {\n x: offset.x - x,\n y: offset.y - y + height\n },\n size\n }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject, fromEvent } from \"rxjs\"\nimport {\n map,\n share,\n switchMapTo,\n tap,\n throttle\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Worker message\n */\nexport interface WorkerMessage {\n type: unknown /* Message type */\n data?: unknown /* Message data */\n}\n\n/**\n * Worker handler\n *\n * @template T - Message type\n */\nexport interface WorkerHandler<\n T extends WorkerMessage\n> {\n tx$: Subject /* Message transmission subject */\n rx$: Observable /* Message receive observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n *\n * @template T - Worker message type\n */\ninterface WatchOptions {\n tx$: Observable /* Message transmission observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch a web worker\n *\n * This function returns an observable that sends all values emitted by the\n * message observable to the web worker. Web worker communication is expected\n * to be bidirectional (request-response) and synchronous. Messages that are\n * emitted during a pending request are throttled, the last one is emitted.\n *\n * @param worker - Web worker\n * @param options - Options\n *\n * @returns Worker message observable\n */\nexport function watchWorker(\n worker: Worker, { tx$ }: WatchOptions\n): Observable {\n\n /* Intercept messages from worker-like objects */\n const rx$ = fromEvent(worker, \"message\")\n .pipe(\n map(({ data }) => data as T)\n )\n\n /* Send and receive messages, return hot observable */\n return tx$\n .pipe(\n throttle(() => rx$, { leading: true, trailing: true }),\n tap(message => worker.postMessage(message)),\n switchMapTo(rx$),\n share()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getLocation } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Feature flag\n */\nexport type Flag =\n | \"header.autohide\" /* Hide header */\n | \"navigation.expand\" /* Automatic expansion */\n | \"navigation.instant\" /* Instant loading */\n | \"navigation.sections\" /* Sections navigation */\n | \"navigation.tabs\" /* Tabs navigation */\n | \"toc.integrate\" /* Integrated table of contents */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Translation\n */\nexport type Translation =\n | \"clipboard.copy\" /* Copy to clipboard */\n | \"clipboard.copied\" /* Copied to clipboard */\n | \"search.config.lang\" /* Search language */\n | \"search.config.pipeline\" /* Search pipeline */\n | \"search.config.separator\" /* Search separator */\n | \"search.placeholder\" /* Search */\n | \"search.result.placeholder\" /* Type to start searching */\n | \"search.result.none\" /* No matching documents */\n | \"search.result.one\" /* 1 matching document */\n | \"search.result.other\" /* # matching documents */\n | \"search.result.more.one\" /* 1 more on this page */\n | \"search.result.more.other\" /* # more on this page */\n | \"search.result.term.missing\" /* Missing */\n\n/**\n * Translations\n */\nexport type Translations = Record\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Configuration\n */\nexport interface Config {\n base: string /* Base URL */\n features: Flag[] /* Feature flags */\n translations: Translations /* Translations */\n search: string /* Search worker URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration and make base URL absolute\n */\nconst script = getElementOrThrow(\"#__config\")\nconst config: Config = JSON.parse(script.textContent!)\nconfig.base = new URL(config.base, getLocation())\n .toString()\n .replace(/\\/$/, \"\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration\n *\n * @returns Global configuration\n */\nexport function configuration(): Config {\n return config\n}\n\n/**\n * Check whether a feature flag is enabled\n *\n * @param flag - Feature flag\n *\n * @returns Test result\n */\nexport function feature(flag: Flag): boolean {\n return config.features.includes(flag)\n}\n\n/**\n * Retrieve the translation for the given key\n *\n * @param key - Key to be translated\n * @param value - Value to be replaced\n *\n * @returns Translation\n */\nexport function translation(\n key: Translation, value?: string | number\n): string {\n return typeof value !== \"undefined\"\n ? config.translations[key].replace(\"#\", value.toString())\n : config.translations[key]\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Component\n */\nexport type ComponentType =\n | \"announce\" /* Announcement bar */\n | \"container\" /* Container */\n | \"content\" /* Content */\n | \"dialog\" /* Dialog */\n | \"header\" /* Header */\n | \"header-title\" /* Header title */\n | \"main\" /* Main area */\n | \"search\" /* Search */\n | \"search-query\" /* Search input */\n | \"search-result\" /* Search results */\n | \"sidebar\" /* Sidebar */\n | \"skip\" /* Skip link */\n | \"source\" /* Repository information */\n | \"tabs\" /* Navigation tabs */\n | \"toc\" /* Table of contents */\n\n/**\n * A component\n *\n * @template T - Component type\n * @template U - Reference type\n */\nexport type Component<\n T extends {} = {},\n U extends HTMLElement = HTMLElement\n> =\n T & {\n ref: U /* Component reference */\n }\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the element for a given component or throw a reference error\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getComponentElement(\n type: ComponentType, node: ParentNode = document\n): T {\n return getElementOrThrow(`[data-md-component=${type}]`, node)\n}\n\n/**\n * Retrieve all elements for a given component\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getComponentElements(\n type: ComponentType, node: ParentNode = document\n): T[] {\n return getElements(`[data-md-component=${type}]`, node)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport ClipboardJS from \"clipboard\"\nimport {\n NEVER,\n Observable,\n Subject,\n fromEvent,\n merge,\n of\n} from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n switchMap,\n tap,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport { resetFocusable, setFocusable } from \"~/actions\"\nimport {\n Viewport,\n getElementContentSize,\n getElementSize,\n getElements,\n watchMedia\n} from \"~/browser\"\nimport { renderClipboardButton } from \"~/templates\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Code block\n */\nexport interface CodeBlock {\n scroll: boolean /* Code block overflows */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Global index for Clipboard.js integration\n */\nlet index = 0\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch code block\n *\n * This function will monitor size changes of the viewport, as well as switches\n * of content tabs with embedded code blocks, as both may trigger overflow.\n *\n * @param el - Code block element\n * @param options - Options\n *\n * @returns Code block observable\n */\nexport function watchCodeBlock(\n el: HTMLElement, { viewport$ }: WatchOptions\n): Observable {\n const container$ = of(el)\n .pipe(\n switchMap(child => {\n const container = child.closest(\"[data-tabs]\")\n if (container instanceof HTMLElement) {\n return merge(\n ...getElements(\"input\", container)\n .map(input => fromEvent(input, \"change\"))\n )\n }\n return NEVER\n })\n )\n\n /* Check overflow on resize and tab change */\n return merge(\n viewport$.pipe(distinctUntilKeyChanged(\"size\")),\n container$\n )\n .pipe(\n map(() => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return {\n scroll: content.width > visible.width\n }\n }),\n distinctUntilKeyChanged(\"scroll\")\n )\n}\n\n/**\n * Mount code block\n *\n * This function ensures that an overflowing code block is focusable through\n * keyboard, so it can be scrolled without a mouse to improve on accessibility.\n *\n * @param el - Code block element\n * @param options - Options\n *\n * @returns Code block component observable\n */\nexport function mountCodeBlock(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n withLatestFrom(watchMedia(\"(hover)\"))\n )\n .subscribe(([{ scroll }, hover]) => {\n if (scroll && hover)\n setFocusable(el)\n else\n resetFocusable(el)\n })\n\n /* Inject button for Clipboard.js integration */\n if (ClipboardJS.isSupported()) {\n const parent = el.closest(\"pre\")!\n parent.id = `__code_${index++}`\n parent.insertBefore(\n renderClipboardButton(parent.id),\n el\n )\n }\n\n /* Create and return component */\n return watchCodeBlock(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set focusable property\n *\n * @param el - Element\n * @param value - Tabindex value\n */\nexport function setFocusable(\n el: HTMLElement, value = 0\n): void {\n el.setAttribute(\"tabindex\", value.toString())\n}\n\n/**\n * Reset focusable property\n *\n * @param el - Element\n */\nexport function resetFocusable(\n el: HTMLElement\n): void {\n el.removeAttribute(\"tabindex\")\n}\n\n/**\n * Set scroll lock\n *\n * @param el - Scrollable element\n * @param value - Vertical offset\n */\nexport function setScrollLock(\n el: HTMLElement, value: number\n): void {\n el.setAttribute(\"data-md-state\", \"lock\")\n el.style.top = `-${value}px`\n}\n\n/**\n * Reset scroll lock\n *\n * @param el - Scrollable element\n */\nexport function resetScrollLock(\n el: HTMLElement\n): void {\n const value = -1 * parseInt(el.style.top, 10)\n el.removeAttribute(\"data-md-state\")\n el.style.top = \"\"\n if (value)\n window.scrollTo(0, value)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set anchor state\n *\n * @param el - Anchor element\n * @param state - Anchor state\n */\nexport function setAnchorState(\n el: HTMLElement, state: \"blur\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset anchor state\n *\n * @param el - Anchor element\n */\nexport function resetAnchorState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set anchor active\n *\n * @param el - Anchor element\n * @param value - Whether the anchor is active\n */\nexport function setAnchorActive(\n el: HTMLElement, value: boolean\n): void {\n el.classList.toggle(\"md-nav__link--active\", value)\n}\n\n/**\n * Reset anchor active\n *\n * @param el - Anchor element\n */\nexport function resetAnchorActive(\n el: HTMLElement\n): void {\n el.classList.remove(\"md-nav__link--active\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set dialog message\n *\n * @param el - Dialog element\n * @param value - Dialog message\n */\nexport function setDialogMessage(\n el: HTMLElement, value: string\n): void {\n el.firstElementChild!.innerHTML = value\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set dialog state\n *\n * @param el - Dialog element\n * @param state - Dialog state\n */\nexport function setDialogState(\n el: HTMLElement, state: \"open\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset dialog state\n *\n * @param el - Dialog element\n */\nexport function resetDialogState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set header state\n *\n * @param el - Header element\n * @param state - Header state\n */\nexport function setHeaderState(\n el: HTMLElement, state: \"shadow\" | \"hidden\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset header state\n *\n * @param el - Header element\n */\nexport function resetHeaderState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set header title state\n *\n * @param el - Header title element\n * @param state - Header title state\n */\nexport function setHeaderTitleState(\n el: HTMLElement, state: \"active\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset header title state\n *\n * @param el - Header title element\n */\nexport function resetHeaderTitleState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set search query placeholder\n *\n * @param el - Search query element\n * @param value - Placeholder\n */\nexport function setSearchQueryPlaceholder(\n el: HTMLInputElement, value: string\n): void {\n el.placeholder = value\n}\n\n/**\n * Reset search query placeholder\n *\n * @param el - Search query element\n */\nexport function resetSearchQueryPlaceholder(\n el: HTMLInputElement\n): void {\n el.placeholder = translation(\"search.placeholder\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { JSX as JSXInternal } from \"preact\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * HTML attributes\n */\ntype Attributes =\n & JSXInternal.HTMLAttributes\n & JSXInternal.SVGAttributes\n & Record\n\n/**\n * Child element\n */\ntype Child =\n | HTMLElement\n | Text\n | string\n | number\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Append a child node to an element\n *\n * @param el - Element\n * @param child - Child node(s)\n */\nfunction appendChild(el: HTMLElement, child: Child | Child[]): void {\n\n /* Handle primitive types (including raw HTML) */\n if (typeof child === \"string\" || typeof child === \"number\") {\n el.innerHTML += child.toString()\n\n /* Handle nodes */\n } else if (child instanceof Node) {\n el.appendChild(child)\n\n /* Handle nested children */\n } else if (Array.isArray(child)) {\n for (const node of child)\n appendChild(el, node)\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * JSX factory\n *\n * @param tag - HTML tag\n * @param attributes - HTML attributes\n * @param children - Child elements\n *\n * @returns Element\n */\nexport function h(\n tag: string, attributes: Attributes | null, ...children: Child[]\n): HTMLElement {\n const el = document.createElement(tag)\n\n /* Set attributes, if any */\n if (attributes)\n for (const attr of Object.keys(attributes))\n if (typeof attributes[attr] !== \"boolean\")\n el.setAttribute(attr, attributes[attr])\n else if (attributes[attr])\n el.setAttribute(attr, \"\")\n\n /* Append child nodes */\n for (const child of children)\n appendChild(el, child)\n\n /* Return element */\n return el\n}\n\n/* ----------------------------------------------------------------------------\n * Namespace\n * ------------------------------------------------------------------------- */\n\nexport declare namespace h {\n namespace JSX {\n type Element = HTMLElement\n type IntrinsicElements = JSXInternal.IntrinsicElements\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Truncate a string after the given number of characters\n *\n * This is not a very reasonable approach, since the summaries kind of suck.\n * It would be better to create something more intelligent, highlighting the\n * search occurrences and making a better summary out of it, but this note was\n * written three years ago, so who knows if we'll ever fix it.\n *\n * @param value - Value to be truncated\n * @param n - Number of characters\n *\n * @returns Truncated value\n */\nexport function truncate(value: string, n: number): string {\n let i = n\n if (value.length > i) {\n while (value[i] !== \" \" && --i > 0) { /* keep eating */ }\n return `${value.substring(0, i)}...`\n }\n return value\n}\n\n/**\n * Round a number for display with repository facts\n *\n * This is a reverse-engineered version of GitHub's weird rounding algorithm\n * for stars, forks and all other numbers. While all numbers below `1,000` are\n * returned as-is, bigger numbers are converted to fixed numbers:\n *\n * - `1,049` => `1k`\n * - `1,050` => `1.1k`\n * - `1,949` => `1.9k`\n * - `1,950` => `2k`\n *\n * @param value - Original value\n *\n * @returns Rounded value\n */\nexport function round(value: number): string {\n if (value > 999) {\n const digits = +((value - 950) % 1000 > 99)\n return `${((value + 0.000001) / 1000).toFixed(digits)}k`\n } else {\n return value.toString()\n }\n}\n\n/**\n * Simple hash function\n *\n * @see https://bit.ly/2wsVjJ4 - Original source\n *\n * @param value - Value to be hashed\n *\n * @returns Hash as 32bit integer\n */\nexport function hash(value: string): number {\n let h = 0\n for (let i = 0, len = value.length; i < len; i++) {\n h = ((h << 5) - h) + value.charCodeAt(i)\n h |= 0 // Convert to 32bit integer\n }\n return h\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { round } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set number of search results\n *\n * @param el - Search result metadata element\n * @param value - Number of results\n */\nexport function setSearchResultMeta(\n el: HTMLElement, value: number\n): void {\n switch (value) {\n\n /* No results */\n case 0:\n el.textContent = translation(\"search.result.none\")\n break\n\n /* One result */\n case 1:\n el.textContent = translation(\"search.result.one\")\n break\n\n /* Multiple result */\n default:\n el.textContent = translation(\"search.result.other\", round(value))\n }\n}\n\n/**\n * Reset number of search results\n *\n * @param el - Search result metadata element\n */\nexport function resetSearchResultMeta(\n el: HTMLElement\n): void {\n el.textContent = translation(\"search.result.placeholder\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Add an element to the search result list\n *\n * @param el - Search result list element\n * @param child - Search result element\n */\nexport function addToSearchResultList(\n el: HTMLElement, child: Element\n): void {\n el.appendChild(child)\n}\n\n/**\n * Reset search result list\n *\n * @param el - Search result list element\n */\nexport function resetSearchResultList(\n el: HTMLElement\n): void {\n el.innerHTML = \"\"\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set sidebar offset\n *\n * @param el - Sidebar element\n * @param value - Sidebar offset\n */\nexport function setSidebarOffset(\n el: HTMLElement, value: number\n): void {\n el.style.top = `${value}px`\n}\n\n/**\n * Reset sidebar offset\n *\n * @param el - Sidebar element\n */\nexport function resetSidebarOffset(\n el: HTMLElement\n): void {\n el.style.top = \"\"\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set sidebar height\n *\n * This function doesn't set the height of the actual sidebar, but of its first\n * child \u2013 the `.md-sidebar__scrollwrap` element in order to mitigiate jittery\n * sidebars when the footer is scrolled into view. At some point we switched\n * from `absolute` / `fixed` positioning to `sticky` positioning, significantly\n * reducing jitter in some browsers (respectively Firefox and Safari) when\n * scrolling from the top. However, top-aligned sticky positioning means that\n * the sidebar snaps to the bottom when the end of the container is reached.\n * This is what leads to the mentioned jitter, as the sidebar's height may be\n * updated too slowly.\n *\n * This behaviour can be mitigiated by setting the height of the sidebar to `0`\n * while preserving the padding, and the height on its first element.\n *\n * @param el - Sidebar element\n * @param value - Sidebar height\n */\nexport function setSidebarHeight(\n el: HTMLElement, value: number\n): void {\n const scrollwrap = el.firstElementChild as HTMLElement\n scrollwrap.style.height = `${value - 2 * scrollwrap.offsetTop}px`\n}\n\n/**\n * Reset sidebar height\n *\n * @param el - Sidebar element\n */\nexport function resetSidebarHeight(\n el: HTMLElement\n): void {\n const scrollwrap = el.firstElementChild as HTMLElement\n scrollwrap.style.height = \"\"\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set repository facts\n *\n * @param el - Repository element\n * @param child - Repository facts element\n */\nexport function setSourceFacts(\n el: HTMLElement, child: Element\n): void {\n el.lastElementChild!.appendChild(child)\n}\n\n/**\n * Set repository state\n *\n * @param el - Repository element\n * @param state - Repository state\n */\nexport function setSourceState(\n el: HTMLElement, state: \"done\"\n): void {\n el.lastElementChild!.setAttribute(\"data-md-state\", state)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set tabs state\n *\n * @param el - Tabs element\n * @param state - Tabs state\n */\nexport function setTabsState(\n el: HTMLElement, state: \"hidden\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset tabs state\n *\n * @param el - Tabs element\n */\nexport function resetTabsState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a 'copy-to-clipboard' button\n *\n * @param id - Unique identifier\n *\n * @returns Element\n */\nexport function renderClipboardButton(id: string): HTMLElement {\n return (\n code`}\n >\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport {\n SearchDocument,\n SearchMetadata,\n SearchResult\n} from \"~/integrations/search\"\nimport { h, truncate } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Render flag\n */\nconst enum Flag {\n TEASER = 1, /* Render teaser */\n PARENT = 2 /* Render as parent */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper function\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a search document\n *\n * @param document - Search document\n * @param flag - Render flags\n *\n * @returns Element\n */\nfunction renderSearchDocument(\n document: SearchDocument & SearchMetadata, flag: Flag\n): HTMLElement {\n const parent = flag & Flag.PARENT\n const teaser = flag & Flag.TEASER\n\n /* Render missing query terms */\n const missing = Object.keys(document.terms)\n .filter(key => !document.terms[key])\n .map(key => [{key}, \" \"])\n .flat()\n .slice(0, -1)\n\n /* Render article or section, depending on flags */\n const url = document.location\n return (\n \n \n {parent > 0 &&
    }\n

    {document.title}

    \n {teaser > 0 && document.text.length > 0 &&\n

    \n {truncate(document.text, 320)}\n

    \n }\n {teaser > 0 && missing.length > 0 &&\n

    \n {translation(\"search.result.term.missing\")}: {...missing}\n

    \n }\n \n
    \n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a search result\n *\n * @param result - Search result\n *\n * @returns Element\n */\nexport function renderSearchResult(\n result: SearchResult\n): HTMLElement {\n const threshold = result[0].score\n const docs = [...result]\n\n /* Find and extract parent article */\n const parent = docs.findIndex(doc => !doc.location.includes(\"#\"))\n const [article] = docs.splice(parent, 1)\n\n /* Determine last index above threshold */\n let index = docs.findIndex(doc => doc.score < threshold)\n if (index === -1)\n index = docs.length\n\n /* Partition sections */\n const best = docs.slice(0, index)\n const more = docs.slice(index)\n\n /* Render children */\n const children = [\n renderSearchDocument(article, Flag.PARENT | +(!parent && index === 0)),\n ...best.map(section => renderSearchDocument(section, Flag.TEASER)),\n ...more.length ? [\n
    \n \n {more.length > 0 && more.length === 1\n ? translation(\"search.result.more.one\")\n : translation(\"search.result.more.other\", more.length)\n }\n \n {...more.map(section => renderSearchDocument(section, Flag.TEASER))}\n
    \n ] : []\n ]\n\n /* Render search result */\n return (\n
  • \n {children}\n
  • \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SourceFacts } from \"~/components\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render repository facts\n *\n * @param facts - Repository facts\n *\n * @returns Element\n */\nexport function renderSourceFacts(facts: SourceFacts): HTMLElement {\n return (\n
      \n {facts.map(fact => (\n
    • {fact}
    • \n ))}\n
    \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a table inside a wrapper to improve scrolling on mobile\n *\n * @param table - Table element\n *\n * @returns Element\n */\nexport function renderTable(table: HTMLElement): HTMLElement {\n return (\n
    \n
    \n {table}\n
    \n
    \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject } from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n mapTo,\n mergeWith,\n tap\n} from \"rxjs/operators\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Details\n */\nexport interface Details {}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n target$: Observable /* Location target observable */\n print$: Observable /* Print mode observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n target$: Observable /* Location target observable */\n print$: Observable /* Print mode observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch details\n *\n * @param el - Details element\n * @param options - Options\n *\n * @returns Details observable\n */\nexport function watchDetails(\n el: HTMLDetailsElement, { target$, print$ }: WatchOptions\n): Observable
    {\n return target$\n .pipe(\n map(target => target.closest(\"details:not([open])\")!),\n filter(details => el === details),\n mergeWith(print$),\n mapTo(el)\n )\n}\n\n/**\n * Mount details\n *\n * This function ensures that `details` tags are opened on anchor jumps and\n * prior to printing, so the whole content of the page is visible.\n *\n * @param el - Details element\n * @param options - Options\n *\n * @returns Details component observable\n */\nexport function mountDetails(\n el: HTMLDetailsElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject
    ()\n internal$.subscribe(() => {\n el.setAttribute(\"open\", \"\")\n el.scrollIntoView()\n })\n\n /* Create and return component */\n return watchDetails(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n mapTo({ ref: el })\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, of } from \"rxjs\"\n\nimport { createElement, replaceElement } from \"~/browser\"\nimport { renderTable } from \"~/templates\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Data table\n */\nexport interface DataTable {}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Sentinel for replacement\n */\nconst sentinel = createElement(\"table\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount data table\n *\n * This function wraps a data table in another scrollable container, so they\n * can be scrolled on smaller screen sizes and won't break the layout.\n *\n * @param el - Data table element\n *\n * @returns Data table component observable\n */\nexport function mountDataTable(\n el: HTMLElement\n): Observable> {\n replaceElement(el, sentinel)\n replaceElement(sentinel, renderTable(el))\n\n /* Create and return component */\n return of({ ref: el })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, merge } from \"rxjs\"\n\nimport { Viewport, getElements } from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { CodeBlock, mountCodeBlock } from \"../code\"\nimport { Details, mountDetails } from \"../details\"\nimport { DataTable, mountDataTable } from \"../table\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Content\n */\nexport type Content =\n | CodeBlock\n | DataTable\n | Details\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n target$: Observable /* Location target observable */\n viewport$: Observable /* Viewport observable */\n print$: Observable /* Print mode observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount content\n *\n * This function mounts all components that are found in the content of the\n * actual article, including code blocks, data tables and details.\n *\n * @param el - Content element\n * @param options - Options\n *\n * @returns Content component observable\n */\nexport function mountContent(\n el: HTMLElement, { target$, viewport$, print$ }: MountOptions\n): Observable> {\n return merge(\n\n /* Code blocks */\n ...getElements(\"pre > code\", el)\n .map(child => mountCodeBlock(child, { viewport$ })),\n\n /* Data tables */\n ...getElements(\"table:not([class])\", el)\n .map(child => mountDataTable(child)),\n\n /* Details */\n ...getElements(\"details\", el)\n .map(child => mountDetails(child, { target$, print$ }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n merge,\n of\n} from \"rxjs\"\nimport {\n delay,\n finalize,\n map,\n observeOn,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetDialogState,\n setDialogMessage,\n setDialogState\n} from \"~/actions\"\n\nimport { Component } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Dialog\n */\nexport interface Dialog {\n message: string /* Dialog message */\n open: boolean /* Dialog is visible */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n alert$: Subject /* Alert subject */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n alert$: Subject /* Alert subject */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch dialog\n *\n * @param _el - Dialog element\n * @param options - Options\n *\n * @returns Dialog observable\n */\nexport function watchDialog(\n _el: HTMLElement, { alert$ }: WatchOptions\n): Observable {\n return alert$\n .pipe(\n switchMap(message => merge(\n of(true),\n of(false).pipe(delay(2000))\n )\n .pipe(\n map(open => ({ message, open }))\n )\n )\n )\n}\n\n/**\n * Mount dialog\n *\n * This function makes the dialog in the right corner appear when a new alert\n * is emitted through the subject that is passed as part of the options.\n *\n * @param el - Dialog element\n * @param options - Options\n *\n * @returns Dialog component observable\n */\nexport function mountDialog(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler)\n )\n .subscribe(({ message, open }) => {\n setDialogMessage(el, message)\n if (open)\n setDialogState(el, \"open\")\n else\n resetDialogState(el)\n })\n\n /* Create and return component */\n return watchDialog(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest,\n defer,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n combineLatestWith,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n filter,\n map,\n observeOn,\n shareReplay,\n startWith,\n switchMap\n} from \"rxjs/operators\"\n\nimport { feature } from \"~/_\"\nimport { resetHeaderState, setHeaderState } from \"~/actions\"\nimport {\n Viewport,\n watchElementSize,\n watchToggle\n} from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { Main } from \"../../main\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Header\n */\nexport interface Header {\n height: number /* Header visible height */\n sticky: boolean /* Header stickyness */\n hidden: boolean /* User scrolled past threshold */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n main$: Observable
    /* Main area observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Compute whether the header is hidden\n *\n * If the user scrolls past a certain threshold, the header can be hidden when\n * scrolling down, and shown when scrolling up.\n *\n * @param options - Options\n *\n * @returns Toggle observable\n */\nfunction isHidden({ viewport$ }: WatchOptions): Observable {\n if (!feature(\"header.autohide\"))\n return of(false)\n\n /* Compute direction and turning point */\n const direction$ = viewport$\n .pipe(\n map(({ offset: { y } }) => y),\n bufferCount(2, 1),\n map(([a, b]) => [a < b, b] as const),\n distinctUntilKeyChanged(0)\n )\n\n /* Compute whether header should be hidden */\n const hidden$ = combineLatest([viewport$, direction$])\n .pipe(\n filter(([{ offset }, [, y]]) => Math.abs(y - offset.y) > 100),\n map(([, [direction]]) => direction),\n distinctUntilChanged()\n )\n\n /* Compute threshold for autohiding */\n const search$ = watchToggle(\"search\")\n return combineLatest([viewport$, search$])\n .pipe(\n map(([{ offset }, search]) => offset.y > 400 && !search),\n distinctUntilChanged(),\n switchMap(active => active ? hidden$ : of(false)),\n startWith(false)\n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch header\n *\n * @param el - Header element\n * @param options - Options\n *\n * @returns Header observable\n */\nexport function watchHeader(\n el: HTMLElement, options: WatchOptions\n): Observable
    {\n return defer(() => {\n const styles = getComputedStyle(el)\n return of(\n styles.position === \"sticky\" ||\n styles.position === \"-webkit-sticky\"\n )\n })\n .pipe(\n combineLatestWith(watchElementSize(el), isHidden(options)),\n map(([sticky, { height }, hidden]) => ({\n height: sticky ? height : 0,\n sticky,\n hidden\n })),\n distinctUntilChanged((a, b) => (\n a.sticky === b.sticky &&\n a.height === b.height &&\n a.hidden === b.hidden\n )),\n shareReplay(1)\n )\n}\n\n/**\n * Mount header\n *\n * This function manages the different states of the header, i.e. whether it's\n * hidden or rendered with a shadow. This depends heavily on the main area.\n *\n * @param el - Header element\n * @param options - Options\n *\n * @returns Header component observable\n */\nexport function mountHeader(\n el: HTMLElement, { header$, main$ }: MountOptions\n): Observable> {\n const internal$ = new Subject
    ()\n internal$\n .pipe(\n distinctUntilKeyChanged(\"active\"),\n combineLatestWith(header$),\n observeOn(animationFrameScheduler)\n )\n .subscribe(([{ active }, { hidden }]) => {\n if (active)\n setHeaderState(el, hidden ? \"hidden\" : \"shadow\")\n else\n resetHeaderState(el)\n })\n\n /* Connect to long-living subject and return component */\n main$.subscribe(main => internal$.next(main))\n return header$\n .pipe(\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n animationFrameScheduler\n} from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetHeaderTitleState,\n setHeaderTitleState\n} from \"~/actions\"\nimport {\n Viewport,\n getElement,\n getElementSize,\n watchViewportAt\n} from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { Header } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Header\n */\nexport interface HeaderTitle {\n active: boolean /* User scrolled past first headline */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch header title\n *\n * @param el - Heading element\n * @param options - Options\n *\n * @returns Header title observable\n */\nexport function watchHeaderTitle(\n el: HTMLHeadingElement, { viewport$, header$ }: WatchOptions\n): Observable {\n return watchViewportAt(el, { header$, viewport$ })\n .pipe(\n map(({ offset: { y } }) => {\n const { height } = getElementSize(el)\n return {\n active: y >= height\n }\n }),\n distinctUntilKeyChanged(\"active\")\n )\n}\n\n/**\n * Mount header title\n *\n * This function swaps the header title from the site title to the title of the\n * current page when the user scrolls past the first headline.\n *\n * @param el - Header title element\n * @param options - Options\n *\n * @returns Header title component observable\n */\nexport function mountHeaderTitle(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n )\n .subscribe(({ active }) => {\n if (active)\n setHeaderTitleState(el, \"active\")\n else\n resetHeaderTitleState(el)\n })\n\n /* Obtain headline, if any */\n const headline = getElement(\"article h1\")\n if (typeof headline === \"undefined\")\n return NEVER\n\n /* Create and return component */\n return watchHeaderTitle(headline, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n combineLatest\n} from \"rxjs\"\nimport {\n distinctUntilChanged,\n distinctUntilKeyChanged,\n map,\n switchMap\n} from \"rxjs/operators\"\n\nimport { Viewport, watchElementSize } from \"~/browser\"\n\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Main area\n */\nexport interface Main {\n offset: number /* Main area top offset */\n height: number /* Main area visible height */\n active: boolean /* User scrolled past header */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch main area\n *\n * This function returns an observable that computes the visual parameters of\n * the main area which depends on the viewport vertical offset and height, as\n * well as the height of the header element, if the header is fixed.\n *\n * @param el - Main area element\n * @param options - Options\n *\n * @returns Main area observable\n */\nexport function watchMain(\n el: HTMLElement, { viewport$, header$ }: WatchOptions\n): Observable
    {\n\n /* Compute necessary adjustment for header */\n const adjust$ = header$\n .pipe(\n map(({ height }) => height),\n distinctUntilChanged()\n )\n\n /* Compute the main area's top and bottom borders */\n const border$ = adjust$\n .pipe(\n switchMap(() => watchElementSize(el)\n .pipe(\n map(({ height }) => ({\n top: el.offsetTop,\n bottom: el.offsetTop + height\n })),\n distinctUntilKeyChanged(\"bottom\")\n )\n )\n )\n\n /* Compute the main area's offset, visible height and if we scrolled past */\n return combineLatest([adjust$, border$, viewport$])\n .pipe(\n map(([header, { top, bottom }, { offset: { y }, size: { height } }]) => {\n height = Math.max(0, height\n - Math.max(0, top - y, header)\n - Math.max(0, height + y - bottom)\n )\n return {\n offset: top - header,\n height,\n active: top - header <= y\n }\n }),\n distinctUntilChanged((a, b) => (\n a.offset === b.offset &&\n a.height === b.height &&\n a.active === b.active\n ))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport ClipboardJS from \"clipboard\"\nimport { Observable, Subject } from \"rxjs\"\n\nimport { translation } from \"~/_\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Setup options\n */\ninterface SetupOptions {\n alert$: Subject /* Alert subject */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up Clipboard.js integration\n *\n * @param options - Options\n */\nexport function setupClipboardJS(\n { alert$ }: SetupOptions\n): void {\n if (ClipboardJS.isSupported()) {\n new Observable(subscriber => {\n new ClipboardJS(\"[data-clipboard-target], [data-clipboard-text]\")\n .on(\"success\", ev => subscriber.next(ev))\n })\n .subscribe(() => alert$.next(translation(\"clipboard.copied\")))\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n fromEvent,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n catchError,\n concatMap,\n debounceTime,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n filter,\n map,\n sample,\n share,\n skip,\n skipUntil,\n switchMap\n} from \"rxjs/operators\"\n\nimport { configuration } from \"~/_\"\nimport {\n Viewport,\n ViewportOffset,\n createElement,\n getElement,\n getElements,\n replaceElement,\n request,\n requestXML,\n setLocation,\n setLocationHash,\n setViewportOffset\n} from \"~/browser\"\nimport { getComponentElement } from \"~/components\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * History state\n */\nexport interface HistoryState {\n url: URL /* State URL */\n offset?: ViewportOffset /* State viewport offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Setup options\n */\ninterface SetupOptions {\n document$: Subject /* Document subject */\n location$: Subject /* Location subject */\n viewport$: Observable /* Viewport observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Preprocess a list of URLs\n *\n * This function replaces the `site_url` in the sitemap with the actual base\n * URL, to allow instant loading to work in occasions like Netlify previews.\n *\n * @param urls - URLs\n *\n * @returns Processed URLs\n */\nfunction preprocess(urls: string[]): string[] {\n if (urls.length < 2)\n return urls\n\n /* Compute references URLs */\n const [root, next] = urls.sort((a, b) => a.length - b.length)\n\n /* Compute common prefix */\n let index = 0\n if (root === next)\n index = root.length\n else\n while (root.charCodeAt(index) === root.charCodeAt(index))\n index++\n\n /* Replace common prefix (i.e. base) with effective base */\n const config = configuration()\n return urls.map(url => (\n url.replace(root.slice(0, index), `${config.base}/`)\n ))\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up instant loading\n *\n * When fetching, theoretically, we could use `responseType: \"document\"`, but\n * since all MkDocs links are relative, we need to make sure that the current\n * location matches the document we just loaded. Otherwise any relative links\n * in the document could use the old location.\n *\n * This is the reason why we need to synchronize history events and the process\n * of fetching the document for navigation changes (except `popstate` events):\n *\n * 1. Fetch document via `XMLHTTPRequest`\n * 2. Set new location via `history.pushState`\n * 3. Parse and emit fetched document\n *\n * For `popstate` events, we must not use `history.pushState`, or the forward\n * history will be irreversibly overwritten. In case the request fails, the\n * location change is dispatched regularly.\n *\n * @param options - Options\n */\nexport function setupInstantLoading(\n { document$, location$, viewport$ }: SetupOptions\n): void {\n const config = configuration()\n if (location.protocol === \"file:\")\n return\n\n /* Disable automatic scroll restoration */\n if (\"scrollRestoration\" in history) {\n history.scrollRestoration = \"manual\"\n\n /* Hack: ensure that reloads restore viewport offset */\n fromEvent(window, \"beforeunload\")\n .subscribe(() => {\n history.scrollRestoration = \"auto\"\n })\n }\n\n /* Hack: ensure absolute favicon link to omit 404s when switching */\n const favicon = getElement(\"link[rel='shortcut icon']\")\n if (typeof favicon !== \"undefined\")\n favicon.href = favicon.href\n\n /* Intercept internal navigation */\n const push$ = requestXML(`${config.base}/sitemap.xml`)\n .pipe(\n map(sitemap => preprocess(getElements(\"loc\", sitemap)\n .map(node => node.textContent!)\n )),\n switchMap(urls => fromEvent(document.body, \"click\")\n .pipe(\n filter(ev => !ev.metaKey && !ev.ctrlKey),\n switchMap(ev => {\n if (ev.target instanceof HTMLElement) {\n const el = ev.target.closest(\"a\")\n if (el && !el.target && urls.includes(el.href)) {\n ev.preventDefault()\n return of({\n url: new URL(el.href)\n })\n }\n }\n return NEVER\n })\n )\n ),\n share()\n )\n\n /* Intercept history back and forward */\n const pop$ = fromEvent(window, \"popstate\")\n .pipe(\n filter(ev => ev.state !== null),\n map(ev => ({\n url: new URL(location.href),\n offset: ev.state\n })),\n share()\n )\n\n /* Emit location change */\n merge(push$, pop$)\n .pipe(\n distinctUntilChanged((a, b) => a.url.href === b.url.href),\n map(({ url }) => url)\n )\n .subscribe(location$)\n\n /* Fetch document via `XMLHTTPRequest` */\n const response$ = location$\n .pipe(\n distinctUntilKeyChanged(\"pathname\"),\n skip(1),\n switchMap(url => request(url.href)\n .pipe(\n catchError(() => {\n setLocation(url)\n return NEVER\n })\n )\n ),\n share()\n )\n\n /* Set new location via `history.pushState` */\n push$\n .pipe(\n sample(response$)\n )\n .subscribe(({ url }) => {\n history.pushState({}, \"\", url.toString())\n })\n\n /* Parse and emit fetched document */\n const dom = new DOMParser()\n response$\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/html\"))\n )\n .subscribe(document$)\n\n /* Emit history state change */\n merge(push$, pop$)\n .pipe(\n sample(document$)\n )\n .subscribe(({ url, offset }) => {\n if (url.hash && !offset)\n setLocationHash(url.hash)\n else\n setViewportOffset(offset || { y: 0 })\n })\n\n /* Replace meta tags and components */\n document$\n .pipe(\n skip(1)\n )\n .subscribe(replacement => {\n for (const selector of [\n\n /* Meta tags */\n \"title\",\n \"link[rel='canonical']\",\n \"meta[name='author']\",\n \"meta[name='description']\",\n\n /* Components */\n \"[data-md-component=announce]\",\n \"[data-md-component=header-title]\",\n \"[data-md-component=container]\",\n \"[data-md-component=skip]\"\n ]) {\n const source = getElement(selector)\n const target = getElement(selector, replacement)\n if (\n typeof source !== \"undefined\" &&\n typeof target !== \"undefined\"\n ) {\n replaceElement(source, target)\n }\n }\n })\n\n /* Re-evaluate scripts */\n document$\n .pipe(\n skip(1),\n map(() => getComponentElement(\"container\")),\n switchMap(el => of(...getElements(\"script\", el))),\n concatMap(el => {\n const script = createElement(\"script\")\n if (el.src) {\n script.src = el.src\n replaceElement(el, script)\n\n /* Complete when script is loaded */\n return new Observable(observer => {\n script.onload = () => observer.complete()\n })\n\n /* Complete immediately */\n } else {\n script.textContent = el.textContent!\n replaceElement(el, script)\n return EMPTY\n }\n })\n )\n .subscribe()\n\n /* Debounce update of viewport offset */\n viewport$\n .pipe(\n skipUntil(push$),\n debounceTime(250),\n distinctUntilKeyChanged(\"offset\")\n )\n .subscribe(({ offset }) => {\n history.replaceState(offset, \"\")\n })\n\n /* Set viewport offset from history */\n merge(push$, pop$)\n .pipe(\n bufferCount(2, 1),\n filter(([a, b]) => a.url.pathname === b.url.pathname),\n map(([, state]) => state)\n )\n .subscribe(({ offset }) => {\n setViewportOffset(offset || { y: 0 })\n })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport escapeHTML from \"escape-html\"\n\nimport { SearchIndexDocument } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search document\n */\nexport interface SearchDocument extends SearchIndexDocument {\n parent?: SearchIndexDocument /* Parent article */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search document mapping\n */\nexport type SearchDocumentMap = Map\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Create a search document mapping\n *\n * @param docs - Search index documents\n *\n * @returns Search document map\n */\nexport function setupSearchDocumentMap(\n docs: SearchIndexDocument[]\n): SearchDocumentMap {\n const documents = new Map()\n const parents = new Set()\n for (const doc of docs) {\n const [path, hash] = doc.location.split(\"#\")\n\n /* Extract location and title */\n const location = doc.location\n const title = doc.title\n\n /* Escape and cleanup text */\n const text = escapeHTML(doc.text)\n .replace(/\\s+(?=[,.:;!?])/g, \"\")\n .replace(/\\s+/g, \" \")\n\n /* Handle section */\n if (hash) {\n const parent = documents.get(path)!\n\n /* Ignore first section, override article */\n if (!parents.has(parent)) {\n parent.title = doc.title\n parent.text = text\n\n /* Remember that we processed the article */\n parents.add(parent)\n\n /* Add subsequent section */\n } else {\n documents.set(location, {\n location,\n title,\n text,\n parent\n })\n }\n\n /* Add article */\n } else {\n documents.set(location, {\n location,\n title,\n text\n })\n }\n }\n return documents\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search transformation function\n *\n * @param value - Query value\n *\n * @returns Transformed query value\n */\nexport type SearchTransformFn = (value: string) => string\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Default transformation function\n *\n * 1. Search for terms in quotation marks and prepend a `+` modifier to denote\n * that the resulting document must contain all terms, converting the query\n * to an `AND` query (as opposed to the default `OR` behavior). While users\n * may expect terms enclosed in quotation marks to map to span queries, i.e.\n * for which order is important, Lunr.js doesn't support them, so the best\n * we can do is to convert the terms to an `AND` query.\n *\n * 2. Replace control characters which are not located at the beginning of the\n * query or preceded by white space, or are not followed by a non-whitespace\n * character or are at the end of the query string. Furthermore, filter\n * unmatched quotation marks.\n *\n * 3. Trim excess whitespace from left and right.\n *\n * @param query - Query value\n *\n * @returns Transformed query value\n */\nexport function defaultTransform(query: string): string {\n return query\n .split(/\"([^\"]+)\"/g) /* => 1 */\n .map((terms, index) => index & 1\n ? terms.replace(/^\\b|^(?![^\\x00-\\x7F]|$)|\\s+/g, \" +\")\n : terms\n )\n .join(\"\")\n .replace(/\"|(?:^|\\s+)[*+\\-:^~]+(?=\\s+|$)/g, \"\") /* => 2 */\n .trim() /* => 3 */\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndex, SearchResult } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search message type\n */\nexport const enum SearchMessageType {\n SETUP, /* Search index setup */\n READY, /* Search index ready */\n QUERY, /* Search query */\n RESULT /* Search results */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message containing the data necessary to setup the search index\n */\nexport interface SearchSetupMessage {\n type: SearchMessageType.SETUP /* Message type */\n data: SearchIndex /* Message data */\n}\n\n/**\n * A message indicating the search index is ready\n */\nexport interface SearchReadyMessage {\n type: SearchMessageType.READY /* Message type */\n}\n\n/**\n * A message containing a search query\n */\nexport interface SearchQueryMessage {\n type: SearchMessageType.QUERY /* Message type */\n data: string /* Message data */\n}\n\n/**\n * A message containing results for a search query\n */\nexport interface SearchResultMessage {\n type: SearchMessageType.RESULT /* Message type */\n data: SearchResult[] /* Message data */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message exchanged with the search worker\n */\nexport type SearchMessage =\n | SearchSetupMessage\n | SearchReadyMessage\n | SearchQueryMessage\n | SearchResultMessage\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Type guard for search setup messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchSetupMessage(\n message: SearchMessage\n): message is SearchSetupMessage {\n return message.type === SearchMessageType.SETUP\n}\n\n/**\n * Type guard for search ready messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchReadyMessage(\n message: SearchMessage\n): message is SearchReadyMessage {\n return message.type === SearchMessageType.READY\n}\n\n/**\n * Type guard for search query messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchQueryMessage(\n message: SearchMessage\n): message is SearchQueryMessage {\n return message.type === SearchMessageType.QUERY\n}\n\n/**\n * Type guard for search result messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchResultMessage(\n message: SearchMessage\n): message is SearchResultMessage {\n return message.type === SearchMessageType.RESULT\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ObservableInput, Subject, from } from \"rxjs\"\nimport { map, share } from \"rxjs/operators\"\n\nimport { configuration, translation } from \"~/_\"\nimport { WorkerHandler, watchWorker } from \"~/browser\"\n\nimport { SearchIndex, SearchIndexPipeline } from \"../../_\"\nimport {\n SearchMessage,\n SearchMessageType,\n SearchSetupMessage,\n isSearchResultMessage\n} from \"../message\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search worker\n */\nexport type SearchWorker = WorkerHandler\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up search index\n *\n * @param data - Search index\n *\n * @returns Search index\n */\nfunction setupSearchIndex(\n { config, docs, index }: SearchIndex\n): SearchIndex {\n\n /* Override default language with value from translation */\n if (config.lang.length === 1 && config.lang[0] === \"en\")\n config.lang = [\n translation(\"search.config.lang\")\n ]\n\n /* Override default separator with value from translation */\n if (config.separator === \"[\\\\s\\\\-]+\")\n config.separator = translation(\"search.config.separator\")\n\n /* Set pipeline from translation */\n const pipeline = translation(\"search.config.pipeline\")\n .split(/\\s*,\\s*/)\n .filter(Boolean) as SearchIndexPipeline\n\n /* Return search index after defaulting */\n return { config, docs, index, pipeline }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up search worker\n *\n * This function will create a web worker to set up and query the search index\n * which is done using Lunr.js. The index must be passed as an observable to\n * enable hacks like _localsearch_ via search index embedding as JSON.\n *\n * @param url - Worker URL\n * @param index - Search index observable input\n *\n * @returns Search worker\n */\nexport function setupSearchWorker(\n url: string, index: ObservableInput\n): SearchWorker {\n const config = configuration()\n const worker = new Worker(url)\n\n /* Create communication channels and resolve relative links */\n const tx$ = new Subject()\n const rx$ = watchWorker(worker, { tx$ })\n .pipe(\n map(message => {\n if (isSearchResultMessage(message)) {\n for (const result of message.data)\n for (const document of result)\n document.location = `${config.base}/${document.location}`\n }\n return message\n }),\n share()\n )\n\n /* Set up search index */\n from(index)\n .pipe(\n map(data => ({\n type: SearchMessageType.SETUP,\n data: setupSearchIndex(data)\n }))\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Return search worker */\n return { tx$, rx$ }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n combineLatest,\n fromEvent,\n merge\n} from \"rxjs\"\nimport {\n delay,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n finalize,\n map,\n startWith,\n takeLast,\n takeUntil,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetSearchQueryPlaceholder,\n setSearchQueryPlaceholder\n} from \"~/actions\"\nimport {\n setElementFocus,\n setToggle,\n watchElementFocus\n} from \"~/browser\"\nimport {\n SearchMessageType,\n SearchQueryMessage,\n SearchWorker,\n defaultTransform\n} from \"~/integrations\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search query\n */\nexport interface SearchQuery {\n value: string /* Query value */\n focus: boolean /* Query focus */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch search query\n *\n * Note that the focus event which triggers re-reading the current query value\n * is delayed by `1ms` so the input's empty state is allowed to propagate.\n *\n * @param el - Search query element\n *\n * @returns Search query observable\n */\nexport function watchSearchQuery(\n el: HTMLInputElement\n): Observable {\n const fn = __search?.transform || defaultTransform\n\n /* Intercept focus and input events */\n const focus$ = watchElementFocus(el)\n const value$ = merge(\n fromEvent(el, \"keyup\"),\n fromEvent(el, \"focus\").pipe(delay(1))\n )\n .pipe(\n map(() => fn(el.value)),\n startWith(fn(el.value)),\n distinctUntilChanged()\n )\n\n /* Combine into single observable */\n return combineLatest([value$, focus$])\n .pipe(\n map(([value, focus]) => ({ value, focus }))\n )\n}\n\n/**\n * Mount search query\n *\n * @param el - Search query element\n * @param worker - Search worker\n *\n * @returns Search query component observable\n */\nexport function mountSearchQuery(\n el: HTMLInputElement, { tx$ }: SearchWorker\n): Observable> {\n const internal$ = new Subject()\n\n /* Handle value changes */\n internal$\n .pipe(\n distinctUntilKeyChanged(\"value\"),\n map(({ value }): SearchQueryMessage => ({\n type: SearchMessageType.QUERY,\n data: value\n }))\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Handle focus changes */\n internal$\n .pipe(\n distinctUntilKeyChanged(\"focus\")\n )\n .subscribe(({ focus }) => {\n if (focus) {\n setToggle(\"search\", focus)\n setSearchQueryPlaceholder(el, \"\")\n } else {\n resetSearchQueryPlaceholder(el)\n }\n })\n\n /* Handle reset */\n fromEvent(el.form!, \"reset\")\n .pipe(\n takeUntil(internal$.pipe(takeLast(1)))\n )\n .subscribe(() => setElementFocus(el))\n\n /* Create and return component */\n return watchSearchQuery(el)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n filter,\n finalize,\n map,\n observeOn,\n startWith,\n switchMap,\n tap,\n withLatestFrom,\n zipWith\n} from \"rxjs/operators\"\n\nimport {\n addToSearchResultList,\n resetSearchResultList,\n resetSearchResultMeta,\n setSearchResultMeta\n} from \"~/actions\"\nimport {\n getElementOrThrow,\n watchElementThreshold\n} from \"~/browser\"\nimport {\n SearchResult as SearchResultData,\n SearchWorker,\n isSearchResultMessage\n} from \"~/integrations\"\nimport { renderSearchResult } from \"~/templates\"\n\nimport { Component } from \"../../_\"\nimport { SearchQuery } from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search result\n */\nexport interface SearchResult {\n data: SearchResultData[] /* Search result data */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n query$: Observable /* Search query observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount search result list\n *\n * This function will perform a lazy rendering of the search results, depending\n * on the vertical offset of the search result container.\n *\n * @param el - Search result list element\n * @param worker - Search worker\n * @param options - Options\n *\n * @returns Search result list component observable\n */\nexport function mountSearchResult(\n el: HTMLElement, { rx$ }: SearchWorker, { query$ }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n const boundary$ = watchElementThreshold(el.parentElement!)\n .pipe(\n filter(Boolean)\n )\n\n /* Update search result metadata */\n const meta = getElementOrThrow(\":scope > :first-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(query$)\n )\n .subscribe(([{ data }, { value }]) => {\n if (value)\n setSearchResultMeta(meta, data.length)\n else\n resetSearchResultMeta(meta)\n })\n\n /* Update search result list */\n const list = getElementOrThrow(\":scope > :last-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n tap(() => resetSearchResultList(list)),\n switchMap(({ data }) => merge(\n of(...data.slice(0, 10)),\n of(...data.slice(10))\n .pipe(\n bufferCount(4),\n zipWith(boundary$),\n switchMap(([chunk]) => of(...chunk))\n )\n ))\n )\n .subscribe(result => {\n addToSearchResultList(list, renderSearchResult(result))\n })\n\n /* Filter search result list */\n const result$ = rx$\n .pipe(\n filter(isSearchResultMessage),\n map(({ data }) => ({ data })),\n startWith({ data: [] })\n )\n\n /* Create and return component */\n return result$\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, ObservableInput, merge } from \"rxjs\"\nimport { filter, sample, take } from \"rxjs/operators\"\n\nimport { configuration } from \"~/_\"\nimport {\n Keyboard,\n getActiveElement,\n getElements,\n requestJSON,\n setElementFocus,\n setElementSelection,\n setToggle\n} from \"~/browser\"\nimport {\n SearchIndex,\n isSearchQueryMessage,\n isSearchReadyMessage,\n setupSearchWorker\n} from \"~/integrations\"\n\nimport { Component, getComponentElement } from \"../../_\"\nimport { SearchQuery, mountSearchQuery } from \"../query\"\nimport { SearchResult, mountSearchResult } from \"../result\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search\n */\nexport type Search =\n | SearchQuery\n | SearchResult\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n keyboard$: Observable /* Keyboard observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @param url - Search index URL\n *\n * @returns Promise or observable\n */\nfunction fetchSearchIndex(url: string): ObservableInput {\n return __search?.index || requestJSON(url)\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount search\n *\n * This function sets up the search functionality, including the underlying\n * web worker and all keyboard bindings.\n *\n * @param el - Search element\n * @param options - Options\n *\n * @returns Search component observable\n */\nexport function mountSearch(\n el: HTMLElement, { keyboard$ }: MountOptions\n): Observable> {\n if (location.protocol === \"file:\")\n return NEVER\n\n /* Set up search worker */\n const config = configuration()\n const worker = setupSearchWorker(config.search, fetchSearchIndex(\n `${config.base}/search/search_index.json`\n ))\n\n /* Retrieve nested components */\n const query = getComponentElement(\"search-query\", el)\n const result = getComponentElement(\"search-result\", el)\n\n /* Re-emit query when search is ready */\n const { tx$, rx$ } = worker\n tx$\n .pipe(\n filter(isSearchQueryMessage),\n sample(rx$.pipe(filter(isSearchReadyMessage))),\n take(1)\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Set up search keyboard handlers */\n keyboard$\n .pipe(\n filter(({ mode }) => mode === \"search\")\n )\n .subscribe(key => {\n const active = getActiveElement()\n switch (key.type) {\n\n /* Enter: prevent form submission */\n case \"Enter\":\n if (active === query)\n key.claim()\n break\n\n /* Escape or Tab: close search */\n case \"Escape\":\n case \"Tab\":\n setToggle(\"search\", false)\n setElementFocus(query, false)\n break\n\n /* Vertical arrows: select previous or next search result */\n case \"ArrowUp\":\n case \"ArrowDown\":\n if (typeof active === \"undefined\") {\n setElementFocus(query)\n } else {\n const els = [query, ...getElements(\n \":not(details) > [href], summary, details[open] [href]\",\n result\n )]\n const i = Math.max(0, (\n Math.max(0, els.indexOf(active)) + els.length + (\n key.type === \"ArrowUp\" ? -1 : +1\n )\n ) % els.length)\n setElementFocus(els[i])\n }\n\n /* Prevent scrolling of page */\n key.claim()\n break\n\n /* All other keys: hand to search query */\n default:\n if (query !== getActiveElement())\n setElementFocus(query)\n }\n })\n\n /* Set up global keyboard handlers */\n keyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\"),\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Open search and select query */\n case \"f\":\n case \"s\":\n case \"/\":\n setElementFocus(query)\n setElementSelection(query)\n key.claim()\n break\n }\n })\n\n /* Create and return component */\n const query$ = mountSearchQuery(query as HTMLInputElement, worker)\n return merge(\n query$,\n mountSearchResult(result, worker, { query$ })\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest\n} from \"rxjs\"\nimport {\n distinctUntilChanged,\n finalize,\n map,\n observeOn,\n tap,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport {\n resetSidebarHeight,\n resetSidebarOffset,\n setSidebarHeight,\n setSidebarOffset\n} from \"~/actions\"\nimport { Viewport } from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\nimport { Main } from \"../main\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Sidebar\n */\nexport interface Sidebar {\n height: number /* Sidebar height */\n locked: boolean /* User scrolled past header */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n main$: Observable
    /* Main area observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n main$: Observable
    /* Main area observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch sidebar\n *\n * This function returns an observable that computes the visual parameters of\n * the sidebar which depends on the vertical viewport offset, as well as the\n * height of the main area. When the page is scrolled beyond the header, the\n * sidebar is locked and fills the remaining space.\n *\n * @param el - Sidebar element\n * @param options - Options\n *\n * @returns Sidebar observable\n */\nexport function watchSidebar(\n el: HTMLElement, { viewport$, main$ }: WatchOptions\n): Observable {\n const adjust =\n el.parentElement!.offsetTop -\n el.parentElement!.parentElement!.offsetTop\n\n /* Compute the sidebar's available height and if it should be locked */\n return combineLatest([main$, viewport$])\n .pipe(\n map(([{ offset, height }, { offset: { y } }]) => {\n height = height\n + Math.min(adjust, Math.max(0, y - offset))\n - adjust\n return {\n height,\n locked: y >= offset + adjust\n }\n }),\n distinctUntilChanged((a, b) => (\n a.height === b.height &&\n a.locked === b.locked\n ))\n )\n}\n\n/**\n * Mount sidebar\n *\n * @param el - Sidebar element\n * @param options - Options\n *\n * @returns Sidebar component observable\n */\nexport function mountSidebar(\n el: HTMLElement, { header$, ...options }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(header$)\n )\n .subscribe({\n\n /* Update height and offset */\n next([{ height }, { height: offset }]) {\n setSidebarHeight(el, height)\n setSidebarOffset(el, offset)\n },\n\n /* Reset on complete */\n complete() {\n resetSidebarOffset(el)\n resetSidebarHeight(el)\n }\n })\n\n /* Create and return component */\n return watchSidebar(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Repo, User } from \"github-types\"\nimport { Observable } from \"rxjs\"\nimport { defaultIfEmpty, map } from \"rxjs/operators\"\n\nimport { requestJSON } from \"~/browser\"\nimport { round } from \"~/utilities\"\n\nimport { SourceFacts } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch GitHub repository facts\n *\n * @param user - GitHub user\n * @param repo - GitHub repository\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFactsFromGitHub(\n user: string, repo?: string\n): Observable {\n const url = typeof repo !== \"undefined\"\n ? `https://api.github.com/repos/${user}/${repo}`\n : `https://api.github.com/users/${user}`\n return requestJSON(url)\n .pipe(\n map(data => {\n\n /* GitHub repository */\n if (typeof repo !== \"undefined\") {\n const { stargazers_count, forks_count }: Repo = data\n return [\n `${round(stargazers_count!)} Stars`,\n `${round(forks_count!)} Forks`\n ]\n\n /* GitHub user/organization */\n } else {\n const { public_repos }: User = data\n return [\n `${round(public_repos!)} Repositories`\n ]\n }\n }),\n defaultIfEmpty([])\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ProjectSchema } from \"gitlab\"\nimport { Observable } from \"rxjs\"\nimport { defaultIfEmpty, map } from \"rxjs/operators\"\n\nimport { requestJSON } from \"~/browser\"\nimport { round } from \"~/utilities\"\n\nimport { SourceFacts } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch GitLab repository facts\n *\n * @param base - GitLab base\n * @param project - GitLab project\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFactsFromGitLab(\n base: string, project: string\n): Observable {\n const url = `https://${base}/api/v4/projects/${encodeURIComponent(project)}`\n return requestJSON(url)\n .pipe(\n map(({ star_count, forks_count }) => ([\n `${round(star_count)} Stars`,\n `${round(forks_count)} Forks`\n ])),\n defaultIfEmpty([])\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable } from \"rxjs\"\n\nimport { fetchSourceFactsFromGitHub } from \"../github\"\nimport { fetchSourceFactsFromGitLab } from \"../gitlab\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository facts\n */\nexport type SourceFacts = string[]\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch repository facts\n *\n * @param url - Repository URL\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFacts(\n url: string\n): Observable {\n const [type] = url.match(/(git(?:hub|lab))/i) || []\n switch (type.toLowerCase()) {\n\n /* GitHub repository */\n case \"github\":\n const [, user, repo] = url.match(/^.+github\\.com\\/([^/]+)\\/?([^/]+)?/i)!\n return fetchSourceFactsFromGitHub(user, repo)\n\n /* GitLab repository */\n case \"gitlab\":\n const [, base, slug] = url.match(/^.+?([^/]*gitlab[^/]+)\\/(.+?)\\/?$/i)!\n return fetchSourceFactsFromGitLab(base, slug)\n\n /* Everything else */\n default:\n return NEVER\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, Subject, defer, of } from \"rxjs\"\nimport {\n catchError,\n filter,\n finalize,\n map,\n shareReplay,\n tap\n} from \"rxjs/operators\"\n\nimport { setSourceFacts, setSourceState } from \"~/actions\"\nimport { renderSourceFacts } from \"~/templates\"\nimport { hash } from \"~/utilities\"\n\nimport { Component } from \"../../_\"\nimport { SourceFacts, fetchSourceFacts } from \"../facts\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository information\n */\nexport interface Source {\n facts: SourceFacts /* Repository facts */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository facts observable\n */\nlet fetch$: Observable\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch repository information\n *\n * This function will try to read the repository facts from session storage,\n * and if unsuccessful, fetch them from the underlying provider.\n *\n * @param el - Repository information element\n *\n * @returns Repository information observable\n */\nexport function watchSource(\n el: HTMLAnchorElement\n): Observable {\n const digest = hash(el.href).toString()\n\n /* Fetch repository facts once */\n return fetch$ ||= defer(() => {\n const data = sessionStorage.getItem(digest)\n if (data) {\n return of(JSON.parse(data))\n } else {\n const value$ = fetchSourceFacts(el.href)\n value$.subscribe(value => {\n try {\n sessionStorage.setItem(digest, JSON.stringify(value))\n } catch (err) {\n /* Uncritical, just swallow */\n }\n })\n\n /* Return value */\n return value$\n }\n })\n .pipe(\n catchError(() => NEVER),\n filter(facts => facts.length > 0),\n map(facts => ({ facts })),\n shareReplay(1)\n )\n}\n\n/**\n * Mount repository information\n *\n * @param el - Repository information element\n *\n * @returns Repository information component observable\n */\nexport function mountSource(\n el: HTMLAnchorElement\n): Observable> {\n const internal$ = new Subject()\n internal$.subscribe(({ facts }) => {\n setSourceFacts(el, renderSourceFacts(facts))\n setSourceState(el, \"done\")\n })\n\n /* Create and return component */\n return watchSource(el)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject, animationFrameScheduler } from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n tap\n} from \"rxjs/operators\"\n\nimport { resetTabsState, setTabsState } from \"~/actions\"\nimport { Viewport, watchViewportAt } from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Navigation tabs\n */\nexport interface Tabs {\n hidden: boolean /* User scrolled past tabs */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch navigation tabs\n *\n * @param el - Navigation tabs element\n * @param options - Options\n *\n * @returns Navigation tabs observable\n */\nexport function watchTabs(\n el: HTMLElement, { viewport$, header$ }: WatchOptions\n): Observable {\n return watchViewportAt(el, { header$, viewport$ })\n .pipe(\n map(({ offset: { y } }) => {\n return {\n hidden: y >= 10\n }\n }),\n distinctUntilKeyChanged(\"hidden\")\n )\n}\n\n/**\n * Mount navigation tabs\n *\n * This function hides the navigation tabs when scrolling past the threshold\n * and makes them reappear in a nice CSS animation when scrolling back up.\n *\n * @param el - Navigation tabs element\n * @param options - Options\n *\n * @returns Navigation tabs component observable\n */\nexport function mountTabs(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler)\n )\n .subscribe({\n\n /* Update state */\n next({ hidden }) {\n if (hidden)\n setTabsState(el, \"hidden\")\n else\n resetTabsState(el)\n },\n\n /* Reset on complete */\n complete() {\n resetTabsState(el)\n }\n })\n\n /* Create and return component */\n return watchTabs(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest\n} from \"rxjs\"\nimport {\n bufferCount,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n scan,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetAnchorActive,\n resetAnchorState,\n setAnchorActive,\n setAnchorState\n} from \"~/actions\"\nimport {\n Viewport,\n getElement,\n getElements,\n watchElementSize\n} from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Table of contents\n */\nexport interface TableOfContents {\n prev: HTMLAnchorElement[][] /* Anchors (previous) */\n next: HTMLAnchorElement[][] /* Anchors (next) */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch table of contents\n *\n * This is effectively a scroll spy implementation which will account for the\n * fixed header and automatically re-calculate anchor offsets when the viewport\n * is resized. The returned observable will only emit if the table of contents\n * needs to be repainted.\n *\n * This implementation tracks an anchor element's entire path starting from its\n * level up to the top-most anchor element, e.g. `[h3, h2, h1]`. Although the\n * Material theme currently doesn't make use of this information, it enables\n * the styling of the entire hierarchy through customization.\n *\n * Note that the current anchor is the last item of the `prev` anchor list.\n *\n * @param anchors - Anchor elements\n * @param options - Options\n *\n * @returns Table of contents observable\n */\nexport function watchTableOfContents(\n anchors: HTMLAnchorElement[], { viewport$, header$ }: WatchOptions\n): Observable {\n const table = new Map()\n for (const anchor of anchors) {\n const id = decodeURIComponent(anchor.hash.substring(1))\n const target = getElement(`[id=\"${id}\"]`)\n if (typeof target !== \"undefined\")\n table.set(anchor, target)\n }\n\n /* Compute necessary adjustment for header */\n const adjust$ = header$\n .pipe(\n map(header => 24 + header.height)\n )\n\n /* Compute partition of previous and next anchors */\n const partition$ = watchElementSize(document.body)\n .pipe(\n distinctUntilKeyChanged(\"height\"),\n\n /* Build index to map anchor paths to vertical offsets */\n map(() => {\n let path: HTMLAnchorElement[] = []\n return [...table].reduce((index, [anchor, target]) => {\n while (path.length) {\n const last = table.get(path[path.length - 1])!\n if (last.tagName >= target.tagName) {\n path.pop()\n } else {\n break\n }\n }\n\n /* If the current anchor is hidden, continue with its parent */\n let offset = target.offsetTop\n while (!offset && target.parentElement) {\n target = target.parentElement\n offset = target.offsetTop\n }\n\n /* Map reversed anchor path to vertical offset */\n return index.set(\n [...path = [...path, anchor]].reverse(),\n offset\n )\n }, new Map())\n }),\n\n /* Re-compute partition when viewport offset changes */\n switchMap(index => combineLatest([adjust$, viewport$])\n .pipe(\n scan(([prev, next], [adjust, { offset: { y } }]) => {\n\n /* Look forward */\n while (next.length) {\n const [, offset] = next[0]\n if (offset - adjust < y) {\n prev = [...prev, next.shift()!]\n } else {\n break\n }\n }\n\n /* Look backward */\n while (prev.length) {\n const [, offset] = prev[prev.length - 1]\n if (offset - adjust >= y) {\n next = [prev.pop()!, ...next]\n } else {\n break\n }\n }\n\n /* Return partition */\n return [prev, next]\n }, [[], [...index]]),\n distinctUntilChanged((a, b) => (\n a[0] === b[0] &&\n a[1] === b[1]\n ))\n )\n )\n )\n\n /* Compute and return anchor list migrations */\n return partition$\n .pipe(\n map(([prev, next]) => ({\n prev: prev.map(([path]) => path),\n next: next.map(([path]) => path)\n })),\n\n /* Extract anchor list migrations */\n startWith({ prev: [], next: [] }),\n bufferCount(2, 1),\n map(([a, b]) => {\n\n /* Moving down */\n if (a.prev.length < b.prev.length) {\n return {\n prev: b.prev.slice(Math.max(0, a.prev.length - 1), b.prev.length),\n next: []\n }\n\n /* Moving up */\n } else {\n return {\n prev: b.prev.slice(-1),\n next: b.next.slice(0, b.next.length - a.next.length)\n }\n }\n })\n )\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Mount table of contents\n *\n * @param el - Anchor list element\n * @param options - Options\n *\n * @returns Table of contents component observable\n */\nexport function mountTableOfContents(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n )\n .subscribe(({ prev, next }) => {\n\n /* Look forward */\n for (const [anchor] of next) {\n resetAnchorActive(anchor)\n resetAnchorState(anchor)\n }\n\n /* Look backward */\n for (const [index, [anchor]] of prev.entries()) {\n setAnchorActive(anchor, index === prev.length - 1)\n setAnchorState(anchor, \"blur\")\n }\n })\n\n /* Create and return component */\n const anchors = getElements(\"[href^=\\\\#]\", el)\n return watchTableOfContents(anchors, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable } from \"rxjs\"\n\nimport { getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch options\n */\ninterface PatchOptions {\n document$: Observable /* Document observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch indeterminate checkboxes\n *\n * This function will replace the indeterminate \"pseudo state\" with the actual\n * indeterminate state, which is used to keep navigation always expanded.\n *\n * @param options - Options\n */\nexport function patchIndeterminate(\n { document$ }: PatchOptions\n): void {\n document$.subscribe(() => {\n for (const el of getElements(\n \"[data-md-state=indeterminate]\"\n )) {\n el.setAttribute(\"data-md-state\", \"\")\n el.indeterminate = true\n el.checked = false\n }\n })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, of } from \"rxjs\"\nimport {\n filter,\n mapTo,\n mergeMap,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport { getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch options\n */\ninterface PatchOptions {\n document$: Observable /* Document observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Check whether the given device is an Apple device\n *\n * @returns Test result\n */\nfunction isAppleDevice(): boolean {\n return /(iPad|iPhone|iPod)/.test(navigator.userAgent)\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch all elements with `data-md-scrollfix` attributes\n *\n * This is a year-old patch which ensures that overflow scrolling works at the\n * top and bottom of containers on iOS by ensuring a `1px` scroll offset upon\n * the start of a touch event.\n *\n * @see https://bit.ly/2SCtAOO - Original source\n *\n * @param options - Options\n */\nexport function patchScrollfix(\n { document$ }: PatchOptions\n): void {\n document$\n .pipe(\n switchMap(() => of(...getElements(\"[data-md-scrollfix]\"))),\n tap(el => el.removeAttribute(\"data-md-scrollfix\")),\n filter(isAppleDevice),\n mergeMap(el => fromEvent(el, \"touchstart\")\n .pipe(\n mapTo(el)\n )\n )\n )\n .subscribe(el => {\n const top = el.scrollTop\n\n /* We're at the top of the container */\n if (top === 0) {\n el.scrollTop = 1\n\n /* We're at the bottom of the container */\n } else if (top + el.offsetHeight === el.scrollHeight) {\n el.scrollTop = top - 1\n }\n })\n}\n"], + "mappings": "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", + "names": [] +} diff --git a/material/assets/javascripts/bundle.js.map b/material/assets/javascripts/bundle.js.map deleted file mode 100644 index 18a893c98..000000000 --- a/material/assets/javascripts/bundle.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../node_modules/focus-visible/dist/focus-visible.js", "../../../node_modules/clipboard/dist/clipboard.js", "../../../node_modules/escape-html/index.js", "../../../src/assets/javascripts/index.ts", "../../../node_modules/rxjs/node_modules/tslib/tslib.es6.js", "../../../node_modules/rxjs/src/internal/util/isFunction.ts", "../../../node_modules/rxjs/src/internal/util/createErrorClass.ts", "../../../node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "../../../node_modules/rxjs/src/internal/util/arrRemove.ts", "../../../node_modules/rxjs/src/internal/Subscription.ts", "../../../node_modules/rxjs/src/internal/config.ts", "../../../node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "../../../node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "../../../node_modules/rxjs/src/internal/util/noop.ts", "../../../node_modules/rxjs/src/internal/NotificationFactories.ts", "../../../node_modules/rxjs/src/internal/Subscriber.ts", "../../../node_modules/rxjs/src/internal/symbol/observable.ts", "../../../node_modules/rxjs/src/internal/util/identity.ts", "../../../node_modules/rxjs/src/internal/util/pipe.ts", "../../../node_modules/rxjs/src/internal/Observable.ts", "../../../node_modules/rxjs/src/internal/util/lift.ts", "../../../node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "../../../node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "../../../node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "../../../node_modules/rxjs/src/internal/Subject.ts", "../../../node_modules/rxjs/src/internal/BehaviorSubject.ts", "../../../node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "../../../node_modules/rxjs/src/internal/ReplaySubject.ts", "../../../node_modules/rxjs/src/internal/scheduler/Action.ts", "../../../node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "../../../node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "../../../node_modules/rxjs/src/internal/Scheduler.ts", "../../../node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "../../../node_modules/rxjs/src/internal/scheduler/async.ts", "../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "../../../node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "../../../node_modules/rxjs/src/internal/observable/empty.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "../../../node_modules/rxjs/src/internal/util/isArrayLike.ts", "../../../node_modules/rxjs/src/internal/util/isPromise.ts", "../../../node_modules/rxjs/src/internal/symbol/iterator.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "../../../node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "../../../node_modules/rxjs/src/internal/util/caughtSchedule.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "../../../node_modules/rxjs/src/internal/util/isInteropObservable.ts", "../../../node_modules/rxjs/src/internal/util/isIterable.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "../../../node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "../../../node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "../../../node_modules/rxjs/src/internal/scheduled/scheduled.ts", "../../../node_modules/rxjs/src/internal/observable/from.ts", "../../../node_modules/rxjs/src/internal/observable/fromArray.ts", "../../../node_modules/rxjs/src/internal/util/isScheduler.ts", "../../../node_modules/rxjs/src/internal/util/args.ts", "../../../node_modules/rxjs/src/internal/observable/of.ts", "../../../node_modules/rxjs/src/internal/util/isDate.ts", "../../../node_modules/rxjs/src/internal/operators/map.ts", "../../../node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "../../../node_modules/rxjs/src/internal/operators/observeOn.ts", "../../../node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "../../../node_modules/rxjs/src/internal/observable/combineLatest.ts", "../../../node_modules/rxjs/src/internal/operators/mergeInternals.ts", "../../../node_modules/rxjs/src/internal/operators/mergeMap.ts", "../../../node_modules/rxjs/src/internal/operators/mergeAll.ts", "../../../node_modules/rxjs/src/internal/operators/concatAll.ts", "../../../node_modules/rxjs/src/internal/observable/concat.ts", "../../../node_modules/rxjs/src/internal/observable/defer.ts", "../../../node_modules/rxjs/src/internal/observable/fromEvent.ts", "../../../node_modules/rxjs/src/internal/observable/timer.ts", "../../../node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "../../../node_modules/rxjs/src/internal/observable/merge.ts", "../../../node_modules/rxjs/src/internal/observable/never.ts", "../../../node_modules/rxjs/src/internal/operators/filter.ts", "../../../node_modules/rxjs/src/internal/observable/zip.ts", "../../../node_modules/rxjs/src/internal/operators/bufferCount.ts", "../../../node_modules/rxjs/src/internal/operators/catchError.ts", "../../../node_modules/rxjs/src/internal/operators/scanInternals.ts", "../../../node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "../../../node_modules/rxjs/src/internal/operators/concatMap.ts", "../../../node_modules/rxjs/src/internal/operators/debounce.ts", "../../../node_modules/rxjs/src/internal/operators/debounceTime.ts", "../../../node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "../../../node_modules/rxjs/src/internal/operators/take.ts", "../../../node_modules/rxjs/src/internal/operators/ignoreElements.ts", "../../../node_modules/rxjs/src/internal/operators/mapTo.ts", "../../../node_modules/rxjs/src/internal/operators/delayWhen.ts", "../../../node_modules/rxjs/src/internal/operators/delay.ts", "../../../node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "../../../node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "../../../node_modules/rxjs/src/internal/operators/finalize.ts", "../../../node_modules/rxjs/src/internal/operators/takeLast.ts", "../../../node_modules/rxjs/src/internal/operators/mergeWith.ts", "../../../node_modules/rxjs/src/internal/operators/sample.ts", "../../../node_modules/rxjs/src/internal/operators/scan.ts", "../../../node_modules/rxjs/src/internal/operators/share.ts", "../../../node_modules/rxjs/src/internal/operators/shareReplay.ts", "../../../node_modules/rxjs/src/internal/operators/skip.ts", "../../../node_modules/rxjs/src/internal/operators/skipUntil.ts", "../../../node_modules/rxjs/src/internal/operators/startWith.ts", "../../../node_modules/rxjs/src/internal/operators/switchMap.ts", "../../../node_modules/rxjs/src/internal/operators/switchMapTo.ts", "../../../node_modules/rxjs/src/internal/operators/takeUntil.ts", "../../../node_modules/rxjs/src/internal/operators/tap.ts", "../../../node_modules/rxjs/src/internal/operators/throttle.ts", "../../../node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "../../../node_modules/rxjs/src/internal/operators/zipWith.ts", "../../../src/assets/javascripts/browser/document/index.ts", "../../../src/assets/javascripts/browser/element/_/index.ts", "../../../src/assets/javascripts/browser/element/focus/index.ts", "../../../src/assets/javascripts/browser/element/size/index.ts", "../../../src/assets/javascripts/browser/element/offset/index.ts", "../../../src/assets/javascripts/browser/element/selection/index.ts", "../../../src/assets/javascripts/browser/toggle/index.ts", "../../../src/assets/javascripts/browser/keyboard/index.ts", "../../../src/assets/javascripts/browser/location/_/index.ts", "../../../src/assets/javascripts/browser/location/hash/index.ts", "../../../src/assets/javascripts/browser/media/index.ts", "../../../src/assets/javascripts/browser/request/index.ts", "../../../src/assets/javascripts/browser/viewport/offset/index.ts", "../../../src/assets/javascripts/browser/viewport/size/index.ts", "../../../src/assets/javascripts/browser/viewport/_/index.ts", "../../../src/assets/javascripts/browser/worker/index.ts", "../../../src/assets/javascripts/_/index.ts", "../../../src/assets/javascripts/components/_/index.ts", "../../../src/assets/javascripts/components/content/code/index.ts", "../../../src/assets/javascripts/actions/_/index.ts", "../../../src/assets/javascripts/actions/anchor/index.ts", "../../../src/assets/javascripts/actions/dialog/index.ts", "../../../src/assets/javascripts/actions/header/_/index.ts", "../../../src/assets/javascripts/actions/header/title/index.ts", "../../../src/assets/javascripts/actions/search/query/index.ts", "../../../src/assets/javascripts/utilities/h/index.ts", "../../../src/assets/javascripts/utilities/string/index.ts", "../../../src/assets/javascripts/actions/search/result/index.ts", "../../../src/assets/javascripts/actions/sidebar/index.ts", "../../../src/assets/javascripts/actions/source/index.ts", "../../../src/assets/javascripts/actions/tabs/index.ts", "../../../src/assets/javascripts/templates/clipboard/index.tsx", "../../../src/assets/javascripts/templates/search/index.tsx", "../../../src/assets/javascripts/templates/source/index.tsx", "../../../src/assets/javascripts/templates/table/index.tsx", "../../../src/assets/javascripts/components/content/details/index.ts", "../../../src/assets/javascripts/components/content/table/index.ts", "../../../src/assets/javascripts/components/content/_/index.ts", "../../../src/assets/javascripts/components/dialog/index.ts", "../../../src/assets/javascripts/components/header/_/index.ts", "../../../src/assets/javascripts/components/header/title/index.ts", "../../../src/assets/javascripts/components/main/index.ts", "../../../src/assets/javascripts/integrations/clipboard/index.ts", "../../../src/assets/javascripts/integrations/instant/index.ts", "../../../src/assets/javascripts/integrations/search/document/index.ts", "../../../src/assets/javascripts/integrations/search/query/transform/index.ts", "../../../src/assets/javascripts/integrations/search/worker/message/index.ts", "../../../src/assets/javascripts/integrations/search/worker/_/index.ts", "../../../src/assets/javascripts/components/search/query/index.ts", "../../../src/assets/javascripts/components/search/result/index.ts", "../../../src/assets/javascripts/components/search/_/index.ts", "../../../src/assets/javascripts/components/sidebar/index.ts", "../../../src/assets/javascripts/components/source/facts/github/index.ts", "../../../src/assets/javascripts/components/source/facts/gitlab/index.ts", "../../../src/assets/javascripts/components/source/facts/_/index.ts", "../../../src/assets/javascripts/components/source/_/index.ts", "../../../src/assets/javascripts/components/tabs/index.ts", "../../../src/assets/javascripts/components/toc/index.ts", "../../../src/assets/javascripts/patches/indeterminate/index.ts", "../../../src/assets/javascripts/patches/scrollfix/index.ts"], - "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * clipboard.js v2.0.6\n * https://clipboardjs.com/\n * \n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(3);\nvar delegate = __webpack_require__(4);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(5);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(0);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n\n// CONCATENATED MODULE: ./src/clipboard-action.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\n\nvar clipboard_action_ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = select_default()(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = select_default()(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n document.activeElement.blur();\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\n/* harmony default export */ var clipboard_action = (clipboard_action_ClipboardAction);\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(1);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(2);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n\n// CONCATENATED MODULE: ./src/clipboard.js\nvar clipboard_typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar clipboard_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\nvar clipboard_Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n clipboard_classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n clipboard_createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new clipboard_action({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(tiny_emitter_default.a);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\n/* harmony default export */ var clipboard = __webpack_exports__[\"default\"] = (clipboard_Clipboard);\n\n/***/ })\n/******/ ])[\"default\"];\n});", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\nimport { Subject, defer, merge } from \"rxjs\"\nimport {\n filter,\n map,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\nimport { feature } from \"./_\"\nimport {\n at,\n getElement,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountSearch,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n setupClipboardJS,\n setupInstantLoading\n} from \"./integrations\"\nimport {\n patchIndeterminate,\n patchScrollfix\n} from \"./patches\"\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget()\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up instant loading, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantLoading({ document$, location$, viewport$ })\n\n/* Always close drawer on navigation */\nmerge(location$, target$)\n .subscribe(() => setToggle(\"drawer\", false))\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getElement(\"[href][rel=prev]\")\n if (typeof prev !== \"undefined\")\n prev.click()\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getElement(\"[href][rel=next]\")\n if (typeof next !== \"undefined\")\n next.click()\n break\n }\n })\n\n/* Set up patches */\npatchIndeterminate({ document$ })\npatchScrollfix({ document$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el as HTMLAnchorElement)),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { target$, viewport$, print$ })),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, { viewport$, header$ })),\n))\n\n/* Set up component observable */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Tablet observable */\nwindow.screen$ = screen$ /* Screen observable */\nwindow.print$ = print$ /* Print mode observable */\nwindow.component$ = component$ /* Component observable */\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ReplaySubject, Subject, fromEvent } from \"rxjs\"\nimport { mapTo } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch document\n *\n * Documents must be implemented as subjects, so all downstream observables are\n * automatically updated when a new document is emitted. This enabled features\n * like instant loading.\n *\n * @returns Document subject\n */\nexport function watchDocument(): Subject {\n const document$ = new ReplaySubject()\n fromEvent(document, \"DOMContentLoaded\")\n .pipe(\n mapTo(document)\n )\n .subscribe(document$)\n\n /* Return document */\n return document$\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve an element matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element or nothing\n */\nexport function getElement(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElement(\n selector: string, node?: ParentNode\n): T | undefined\n\nexport function getElement(\n selector: string, node: ParentNode = document\n): T | undefined {\n return node.querySelector(selector) || undefined\n}\n\n/**\n * Retrieve an element matching a query selector or throw a reference error\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getElementOrThrow(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElementOrThrow(\n selector: string, node?: ParentNode\n): T\n\nexport function getElementOrThrow(\n selector: string, node: ParentNode = document\n): T {\n const el = getElement(selector, node)\n if (typeof el === \"undefined\")\n throw new ReferenceError(\n `Missing element: expected \"${selector}\" to be present`\n )\n return el\n}\n\n/**\n * Retrieve the currently active element\n *\n * @returns Element or nothing\n */\nexport function getActiveElement(): HTMLElement | undefined {\n return document.activeElement instanceof HTMLElement\n ? document.activeElement\n : undefined\n}\n\n/**\n * Retrieve all elements matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getElements(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T][]\n\nexport function getElements(\n selector: string, node?: ParentNode\n): T[]\n\nexport function getElements(\n selector: string, node: ParentNode = document\n): T[] {\n return Array.from(node.querySelectorAll(selector))\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Create an element\n *\n * @template T - Tag name type\n *\n * @param tagName - Tag name\n *\n * @returns Element\n */\nexport function createElement(\n tagName: T\n): HTMLElementTagNameMap[T] {\n return document.createElement(tagName)\n}\n\n/**\n * Replace an element with another element\n *\n * @param source - Source element\n * @param target - Target element\n */\nexport function replaceElement(\n source: HTMLElement, target: Node\n): void {\n source.replaceWith(target)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element focus\n *\n * @param el - Element\n * @param value - Whether the element should be focused\n */\nexport function setElementFocus(\n el: HTMLElement, value = true\n): void {\n if (value)\n el.focus()\n else\n el.blur()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element focus\n *\n * @param el - Element\n *\n * @returns Element focus observable\n */\nexport function watchElementFocus(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"focus\"),\n fromEvent(el, \"blur\")\n )\n .pipe(\n map(({ type }) => type === \"focus\"),\n startWith(el === getActiveElement())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n defer,\n of\n} from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n shareReplay,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementSize {\n width: number /* Element width */\n height: number /* Element height */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Resize observer entry subject\n */\nconst entry$ = new Subject()\n\n/**\n * Resize observer observable\n *\n * This observable will create a `ResizeObserver` on the first subscription\n * and will automatically terminate it when there are no more subscribers.\n * It's quite important to centralize observation in a single `ResizeObserver`,\n * as the performance difference can be quite dramatic, as the link shows.\n *\n * @see https://bit.ly/3iIYfEm - Google Groups on performance\n */\nconst observer$ = defer(() => of(\n new ResizeObserver(entries => {\n for (const entry of entries)\n entry$.next(entry)\n })\n))\n .pipe(\n switchMap(resize => NEVER.pipe(startWith(resize))\n .pipe(\n finalize(() => resize.disconnect())\n )\n ),\n shareReplay(1)\n )\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element size\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementSize(el: HTMLElement): ElementSize {\n return {\n width: el.offsetWidth,\n height: el.offsetHeight\n }\n}\n\n/**\n * Retrieve element content size, i.e. including overflowing content\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementContentSize(el: HTMLElement): ElementSize {\n return {\n width: el.scrollWidth,\n height: el.scrollHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element size\n *\n * This function returns an observable that subscribes to a single internal\n * instance of `ResizeObserver` upon subscription, and emit resize events until\n * termination. Note that this function should not be called with the same\n * element twice, as the first unsubscription will terminate observation.\n *\n * @param el - Element\n *\n * @returns Element size observable\n */\nexport function watchElementSize(\n el: HTMLElement\n): Observable {\n return observer$\n .pipe(\n tap(observer => observer.observe(el)),\n switchMap(observer => entry$\n .pipe(\n filter(({ target }) => target === el),\n finalize(() => observer.unobserve(el)),\n map(({ contentRect }) => ({\n width: contentRect.width,\n height: contentRect.height\n }))\n )\n ),\n startWith(getElementSize(el))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { distinctUntilChanged, map, startWith } from \"rxjs/operators\"\n\nimport { getElementContentSize, getElementSize } from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element offset\n *\n * @param el - Element\n *\n * @returns Element offset\n */\nexport function getElementOffset(el: HTMLElement): ElementOffset {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element offset\n *\n * @param el - Element\n *\n * @returns Element offset observable\n */\nexport function watchElementOffset(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"scroll\"),\n fromEvent(window, \"resize\")\n )\n .pipe(\n map(() => getElementOffset(el)),\n startWith(getElementOffset(el))\n )\n}\n\n/**\n * Watch element threshold\n *\n * This function returns an observable which emits whether the bottom scroll\n * offset of an elements is within a certain threshold.\n *\n * @param el - Element\n * @param threshold - Threshold\n *\n * @returns Element threshold observable\n */\nexport function watchElementThreshold(\n el: HTMLElement, threshold = 16\n): Observable {\n return watchElementOffset(el)\n .pipe(\n map(({ y }) => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return y >= (\n content.height - visible.height - threshold\n )\n }),\n distinctUntilChanged()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element text selection\n *\n * @param el - Element\n */\nexport function setElementSelection(\n el: HTMLElement\n): void {\n if (el instanceof HTMLInputElement)\n el.select()\n else\n throw new Error(\"Not implemented\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getElementOrThrow } from \"../element\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle\n */\nexport type Toggle =\n | \"drawer\" /* Toggle for drawer */\n | \"search\" /* Toggle for search */\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle map\n */\nconst toggles: Record = {\n drawer: getElementOrThrow(\"[data-md-toggle=drawer]\"),\n search: getElementOrThrow(\"[data-md-toggle=search]\")\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the value of a toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value\n */\nexport function getToggle(name: Toggle): boolean {\n return toggles[name].checked\n}\n\n/**\n * Set toggle\n *\n * Simulating a click event seems to be the most cross-browser compatible way\n * of changing the value while also emitting a `change` event. Before, Material\n * used `CustomEvent` to programmatically change the value of a toggle, but this\n * is a much simpler and cleaner solution which doesn't require a polyfill.\n *\n * @param name - Toggle\n * @param value - Toggle value\n */\nexport function setToggle(name: Toggle, value: boolean): void {\n if (toggles[name].checked !== value)\n toggles[name].click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value observable\n */\nexport function watchToggle(name: Toggle): Observable {\n const el = toggles[name]\n return fromEvent(el, \"change\")\n .pipe(\n map(() => el.checked),\n startWith(el.checked)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { filter, map, share } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../element\"\nimport { getToggle } from \"../toggle\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Keyboard mode\n */\nexport type KeyboardMode =\n | \"global\" /* Global */\n | \"search\" /* Search is open */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Keyboard\n */\nexport interface Keyboard {\n mode: KeyboardMode /* Keyboard mode */\n type: string /* Key type */\n claim(): void /* Key claim */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Check whether an element may receive keyboard input\n *\n * @param el - Element\n *\n * @returns Test result\n */\nfunction isSusceptibleToKeyboard(el: HTMLElement): boolean {\n switch (el.tagName) {\n\n /* Form elements */\n case \"INPUT\":\n case \"SELECT\":\n case \"TEXTAREA\":\n return true\n\n /* Everything else */\n default:\n return el.isContentEditable\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch keyboard\n *\n * @returns Keyboard observable\n */\nexport function watchKeyboard(): Observable {\n return fromEvent(window, \"keydown\")\n .pipe(\n filter(ev => !(ev.metaKey || ev.ctrlKey)),\n map(ev => ({\n mode: getToggle(\"search\") ? \"search\" : \"global\",\n type: ev.key,\n claim() {\n ev.preventDefault()\n ev.stopPropagation()\n }\n } as Keyboard)),\n filter(({ mode }) => {\n if (mode === \"global\") {\n const active = getActiveElement()\n if (typeof active !== \"undefined\")\n return !isSusceptibleToKeyboard(active)\n }\n return true\n }),\n share()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { BehaviorSubject, Subject } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location\n *\n * This function will return a `URL` object (and not `Location`) in order to\n * normalize typings across the application. Furthermore, locations need to be\n * tracked without setting them and `Location` is a singleton which represents\n * the current location.\n *\n * @returns URL\n */\nexport function getLocation(): URL {\n return new URL(location.href)\n}\n\n/**\n * Set location\n *\n * @param url - URL to change to\n */\nexport function setLocation(url: URL): void {\n location.href = url.href\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location\n *\n * @returns Location subject\n */\nexport function watchLocation(): Subject {\n return new BehaviorSubject(getLocation())\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, of } from \"rxjs\"\nimport { filter, map, share, startWith, switchMap } from \"rxjs/operators\"\n\nimport { createElement, getElement } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location hash\n *\n * @returns Location hash\n */\nexport function getLocationHash(): string {\n return location.hash.substring(1)\n}\n\n/**\n * Set location hash\n *\n * Setting a new fragment identifier via `location.hash` will have no effect\n * if the value doesn't change. When a new fragment identifier is set, we want\n * the browser to target the respective element at all times, which is why we\n * use this dirty little trick.\n *\n * @param hash - Location hash\n */\nexport function setLocationHash(hash: string): void {\n const el = createElement(\"a\")\n el.href = hash\n el.addEventListener(\"click\", ev => ev.stopPropagation())\n el.click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location hash\n *\n * @returns Location hash observable\n */\nexport function watchLocationHash(): Observable {\n return fromEvent(window, \"hashchange\")\n .pipe(\n map(getLocationHash),\n startWith(getLocationHash()),\n filter(hash => hash.length > 0),\n share()\n )\n}\n\n/**\n * Watch location target\n *\n * @returns Location target observable\n */\nexport function watchLocationTarget(): Observable {\n return watchLocationHash()\n .pipe(\n switchMap(id => of(getElement(`[id=\"${id}\"]`)!))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, fromEvent, merge } from \"rxjs\"\nimport {\n filter,\n map,\n mapTo,\n startWith,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch media query\n *\n * @param query - Media query\n *\n * @returns Media observable\n */\nexport function watchMedia(query: string): Observable {\n const media = matchMedia(query)\n return fromEvent(media, \"change\")\n .pipe(\n map(ev => ev.matches),\n startWith(media.matches)\n )\n}\n\n/**\n * Watch print mode, cross-browser\n *\n * @returns Print mode observable\n */\nexport function watchPrint(): Observable {\n return merge(\n watchMedia(\"print\").pipe(filter(Boolean)), /* Webkit */\n fromEvent(window, \"beforeprint\") /* IE, FF */\n )\n .pipe(\n mapTo(undefined)\n )\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Toggle an observable with a media observable\n *\n * @template T - Data type\n *\n * @param query$ - Media observable\n * @param factory - Observable factory\n *\n * @returns Toggled observable\n */\nexport function at(\n query$: Observable, factory: () => Observable\n): Observable {\n return query$\n .pipe(\n switchMap(active => active ? factory() : NEVER)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, from } from \"rxjs\"\nimport {\n filter,\n map,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Response observable\n */\nexport function request(\n url: string, options: RequestInit = { credentials: \"same-origin\" }\n): Observable {\n return from(fetch(url, options))\n .pipe(\n filter(res => res.status === 200),\n )\n}\n\n/**\n * Fetch JSON from the given URL\n *\n * @template T - Data type\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestJSON(\n url: string, options?: RequestInit\n): Observable {\n return request(url, options)\n .pipe(\n switchMap(res => res.json()),\n shareReplay(1)\n )\n}\n\n/**\n * Fetch XML from the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestXML(\n url: string, options?: RequestInit\n): Observable {\n const dom = new DOMParser()\n return request(url, options)\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/xml\")),\n shareReplay(1)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport offset\n */\nexport interface ViewportOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve viewport offset\n *\n * On iOS Safari, viewport offset can be negative due to overflow scrolling.\n * As this may induce strange behaviors downstream, we'll just limit it to 0.\n *\n * @returns Viewport offset\n */\nexport function getViewportOffset(): ViewportOffset {\n return {\n x: Math.max(0, pageXOffset),\n y: Math.max(0, pageYOffset)\n }\n}\n\n/**\n * Set viewport offset\n *\n * @param offset - Viewport offset\n */\nexport function setViewportOffset(\n { x, y }: Partial\n): void {\n window.scrollTo(x || 0, y || 0)\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport offset\n *\n * @returns Viewport offset observable\n */\nexport function watchViewportOffset(): Observable {\n return merge(\n fromEvent(window, \"scroll\", { passive: true }),\n fromEvent(window, \"resize\", { passive: true })\n )\n .pipe(\n map(getViewportOffset),\n startWith(getViewportOffset())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport size\n */\nexport interface ViewportSize {\n width: number /* Viewport width */\n height: number /* Viewport height */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve viewport size\n *\n * @returns Viewport size\n */\nexport function getViewportSize(): ViewportSize {\n return {\n width: innerWidth,\n height: innerHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport size\n *\n * @returns Viewport size observable\n */\nexport function watchViewportSize(): Observable {\n return fromEvent(window, \"resize\", { passive: true })\n .pipe(\n map(getViewportSize),\n startWith(getViewportSize())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, combineLatest } from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n map,\n shareReplay\n} from \"rxjs/operators\"\n\nimport { Header } from \"~/components\"\n\nimport {\n ViewportOffset,\n watchViewportOffset\n} from \"../offset\"\nimport {\n ViewportSize,\n watchViewportSize\n} from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Viewport\n */\nexport interface Viewport {\n offset: ViewportOffset /* Viewport offset */\n size: ViewportSize /* Viewport size */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch at options\n */\ninterface WatchAtOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch viewport\n *\n * @returns Viewport observable\n */\nexport function watchViewport(): Observable {\n return combineLatest([\n watchViewportOffset(),\n watchViewportSize()\n ])\n .pipe(\n map(([offset, size]) => ({ offset, size })),\n shareReplay(1)\n )\n}\n\n/**\n * Watch viewport relative to element\n *\n * @param el - Element\n * @param options - Options\n *\n * @returns Viewport observable\n */\nexport function watchViewportAt(\n el: HTMLElement, { viewport$, header$ }: WatchAtOptions\n): Observable {\n const size$ = viewport$\n .pipe(\n distinctUntilKeyChanged(\"size\")\n )\n\n /* Compute element offset */\n const offset$ = combineLatest([size$, header$])\n .pipe(\n map((): ViewportOffset => ({\n x: el.offsetLeft,\n y: el.offsetTop\n }))\n )\n\n /* Compute relative viewport, return hot observable */\n return combineLatest([header$, viewport$, offset$])\n .pipe(\n map(([{ height }, { offset, size }, { x, y }]) => ({\n offset: {\n x: offset.x - x,\n y: offset.y - y + height\n },\n size\n }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject, fromEvent } from \"rxjs\"\nimport {\n map,\n share,\n switchMapTo,\n tap,\n throttle\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Worker message\n */\nexport interface WorkerMessage {\n type: unknown /* Message type */\n data?: unknown /* Message data */\n}\n\n/**\n * Worker handler\n *\n * @template T - Message type\n */\nexport interface WorkerHandler<\n T extends WorkerMessage\n> {\n tx$: Subject /* Message transmission subject */\n rx$: Observable /* Message receive observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n *\n * @template T - Worker message type\n */\ninterface WatchOptions {\n tx$: Observable /* Message transmission observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch a web worker\n *\n * This function returns an observable that sends all values emitted by the\n * message observable to the web worker. Web worker communication is expected\n * to be bidirectional (request-response) and synchronous. Messages that are\n * emitted during a pending request are throttled, the last one is emitted.\n *\n * @param worker - Web worker\n * @param options - Options\n *\n * @returns Worker message observable\n */\nexport function watchWorker(\n worker: Worker, { tx$ }: WatchOptions\n): Observable {\n\n /* Intercept messages from worker-like objects */\n const rx$ = fromEvent(worker, \"message\")\n .pipe(\n map(({ data }) => data as T)\n )\n\n /* Send and receive messages, return hot observable */\n return tx$\n .pipe(\n throttle(() => rx$, { leading: true, trailing: true }),\n tap(message => worker.postMessage(message)),\n switchMapTo(rx$),\n share()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getLocation } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Feature flag\n */\nexport type Flag =\n | \"header.autohide\" /* Hide header */\n | \"navigation.expand\" /* Automatic expansion */\n | \"navigation.instant\" /* Instant loading */\n | \"navigation.sections\" /* Sections navigation */\n | \"navigation.tabs\" /* Tabs navigation */\n | \"toc.integrate\" /* Integrated table of contents */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Translation\n */\nexport type Translation =\n | \"clipboard.copy\" /* Copy to clipboard */\n | \"clipboard.copied\" /* Copied to clipboard */\n | \"search.config.lang\" /* Search language */\n | \"search.config.pipeline\" /* Search pipeline */\n | \"search.config.separator\" /* Search separator */\n | \"search.placeholder\" /* Search */\n | \"search.result.placeholder\" /* Type to start searching */\n | \"search.result.none\" /* No matching documents */\n | \"search.result.one\" /* 1 matching document */\n | \"search.result.other\" /* # matching documents */\n | \"search.result.more.one\" /* 1 more on this page */\n | \"search.result.more.other\" /* # more on this page */\n | \"search.result.term.missing\" /* Missing */\n\n/**\n * Translations\n */\nexport type Translations = Record\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Configuration\n */\nexport interface Config {\n base: string /* Base URL */\n features: Flag[] /* Feature flags */\n translations: Translations /* Translations */\n search: string /* Search worker URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration and make base URL absolute\n */\nconst script = getElementOrThrow(\"#__config\")\nconst config: Config = JSON.parse(script.textContent!)\nconfig.base = new URL(config.base, getLocation())\n .toString()\n .replace(/\\/$/, \"\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration\n *\n * @returns Global configuration\n */\nexport function configuration(): Config {\n return config\n}\n\n/**\n * Check whether a feature flag is enabled\n *\n * @param flag - Feature flag\n *\n * @returns Test result\n */\nexport function feature(flag: Flag): boolean {\n return config.features.includes(flag)\n}\n\n/**\n * Retrieve the translation for the given key\n *\n * @param key - Key to be translated\n * @param value - Value to be replaced\n *\n * @returns Translation\n */\nexport function translation(\n key: Translation, value?: string | number\n): string {\n return typeof value !== \"undefined\"\n ? config.translations[key].replace(\"#\", value.toString())\n : config.translations[key]\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Component\n */\nexport type ComponentType =\n | \"announce\" /* Announcement bar */\n | \"container\" /* Container */\n | \"content\" /* Content */\n | \"dialog\" /* Dialog */\n | \"header\" /* Header */\n | \"header-title\" /* Header title */\n | \"main\" /* Main area */\n | \"search\" /* Search */\n | \"search-query\" /* Search input */\n | \"search-result\" /* Search results */\n | \"sidebar\" /* Sidebar */\n | \"skip\" /* Skip link */\n | \"source\" /* Repository information */\n | \"tabs\" /* Navigation tabs */\n | \"toc\" /* Table of contents */\n\n/**\n * A component\n *\n * @template T - Component type\n * @template U - Reference type\n */\nexport type Component<\n T extends {} = {},\n U extends HTMLElement = HTMLElement\n> =\n T & {\n ref: U /* Component reference */\n }\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the element for a given component or throw a reference error\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getComponentElement(\n type: ComponentType, node: ParentNode = document\n): T {\n return getElementOrThrow(`[data-md-component=${type}]`, node)\n}\n\n/**\n * Retrieve all elements for a given component\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getComponentElements(\n type: ComponentType, node: ParentNode = document\n): T[] {\n return getElements(`[data-md-component=${type}]`, node)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport ClipboardJS from \"clipboard\"\nimport {\n NEVER,\n Observable,\n Subject,\n fromEvent,\n merge,\n of\n} from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n switchMap,\n tap,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport { resetFocusable, setFocusable } from \"~/actions\"\nimport {\n Viewport,\n getElementContentSize,\n getElementSize,\n getElements,\n watchMedia\n} from \"~/browser\"\nimport { renderClipboardButton } from \"~/templates\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Code block\n */\nexport interface CodeBlock {\n scroll: boolean /* Code block overflows */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Global index for Clipboard.js integration\n */\nlet index = 0\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch code block\n *\n * This function will monitor size changes of the viewport, as well as switches\n * of content tabs with embedded code blocks, as both may trigger overflow.\n *\n * @param el - Code block element\n * @param options - Options\n *\n * @returns Code block observable\n */\nexport function watchCodeBlock(\n el: HTMLElement, { viewport$ }: WatchOptions\n): Observable {\n const container$ = of(el)\n .pipe(\n switchMap(child => {\n const container = child.closest(\"[data-tabs]\")\n if (container instanceof HTMLElement) {\n return merge(\n ...getElements(\"input\", container)\n .map(input => fromEvent(input, \"change\"))\n )\n }\n return NEVER\n })\n )\n\n /* Check overflow on resize and tab change */\n return merge(\n viewport$.pipe(distinctUntilKeyChanged(\"size\")),\n container$\n )\n .pipe(\n map(() => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return {\n scroll: content.width > visible.width\n }\n }),\n distinctUntilKeyChanged(\"scroll\")\n )\n}\n\n/**\n * Mount code block\n *\n * This function ensures that an overflowing code block is focusable through\n * keyboard, so it can be scrolled without a mouse to improve on accessibility.\n *\n * @param el - Code block element\n * @param options - Options\n *\n * @returns Code block component observable\n */\nexport function mountCodeBlock(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n withLatestFrom(watchMedia(\"(hover)\"))\n )\n .subscribe(([{ scroll }, hover]) => {\n if (scroll && hover)\n setFocusable(el)\n else\n resetFocusable(el)\n })\n\n /* Inject button for Clipboard.js integration */\n if (ClipboardJS.isSupported()) {\n const parent = el.closest(\"pre\")!\n parent.id = `__code_${index++}`\n parent.insertBefore(\n renderClipboardButton(parent.id),\n el\n )\n }\n\n /* Create and return component */\n return watchCodeBlock(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set focusable property\n *\n * @param el - Element\n * @param value - Tabindex value\n */\nexport function setFocusable(\n el: HTMLElement, value = 0\n): void {\n el.setAttribute(\"tabindex\", value.toString())\n}\n\n/**\n * Reset focusable property\n *\n * @param el - Element\n */\nexport function resetFocusable(\n el: HTMLElement\n): void {\n el.removeAttribute(\"tabindex\")\n}\n\n/**\n * Set scroll lock\n *\n * @param el - Scrollable element\n * @param value - Vertical offset\n */\nexport function setScrollLock(\n el: HTMLElement, value: number\n): void {\n el.setAttribute(\"data-md-state\", \"lock\")\n el.style.top = `-${value}px`\n}\n\n/**\n * Reset scroll lock\n *\n * @param el - Scrollable element\n */\nexport function resetScrollLock(\n el: HTMLElement\n): void {\n const value = -1 * parseInt(el.style.top, 10)\n el.removeAttribute(\"data-md-state\")\n el.style.top = \"\"\n if (value)\n window.scrollTo(0, value)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set anchor state\n *\n * @param el - Anchor element\n * @param state - Anchor state\n */\nexport function setAnchorState(\n el: HTMLElement, state: \"blur\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset anchor state\n *\n * @param el - Anchor element\n */\nexport function resetAnchorState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set anchor active\n *\n * @param el - Anchor element\n * @param value - Whether the anchor is active\n */\nexport function setAnchorActive(\n el: HTMLElement, value: boolean\n): void {\n el.classList.toggle(\"md-nav__link--active\", value)\n}\n\n/**\n * Reset anchor active\n *\n * @param el - Anchor element\n */\nexport function resetAnchorActive(\n el: HTMLElement\n): void {\n el.classList.remove(\"md-nav__link--active\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set dialog message\n *\n * @param el - Dialog element\n * @param value - Dialog message\n */\nexport function setDialogMessage(\n el: HTMLElement, value: string\n): void {\n el.firstElementChild!.innerHTML = value\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set dialog state\n *\n * @param el - Dialog element\n * @param state - Dialog state\n */\nexport function setDialogState(\n el: HTMLElement, state: \"open\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset dialog state\n *\n * @param el - Dialog element\n */\nexport function resetDialogState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set header state\n *\n * @param el - Header element\n * @param state - Header state\n */\nexport function setHeaderState(\n el: HTMLElement, state: \"shadow\" | \"hidden\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset header state\n *\n * @param el - Header element\n */\nexport function resetHeaderState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set header title state\n *\n * @param el - Header title element\n * @param state - Header title state\n */\nexport function setHeaderTitleState(\n el: HTMLElement, state: \"active\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset header title state\n *\n * @param el - Header title element\n */\nexport function resetHeaderTitleState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set search query placeholder\n *\n * @param el - Search query element\n * @param value - Placeholder\n */\nexport function setSearchQueryPlaceholder(\n el: HTMLInputElement, value: string\n): void {\n el.placeholder = value\n}\n\n/**\n * Reset search query placeholder\n *\n * @param el - Search query element\n */\nexport function resetSearchQueryPlaceholder(\n el: HTMLInputElement\n): void {\n el.placeholder = translation(\"search.placeholder\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { JSX as JSXInternal } from \"preact\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * HTML attributes\n */\ntype Attributes =\n & JSXInternal.HTMLAttributes\n & JSXInternal.SVGAttributes\n & Record\n\n/**\n * Child element\n */\ntype Child =\n | HTMLElement\n | Text\n | string\n | number\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Append a child node to an element\n *\n * @param el - Element\n * @param child - Child node(s)\n */\nfunction appendChild(el: HTMLElement, child: Child | Child[]): void {\n\n /* Handle primitive types (including raw HTML) */\n if (typeof child === \"string\" || typeof child === \"number\") {\n el.innerHTML += child.toString()\n\n /* Handle nodes */\n } else if (child instanceof Node) {\n el.appendChild(child)\n\n /* Handle nested children */\n } else if (Array.isArray(child)) {\n for (const node of child)\n appendChild(el, node)\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * JSX factory\n *\n * @param tag - HTML tag\n * @param attributes - HTML attributes\n * @param children - Child elements\n *\n * @returns Element\n */\nexport function h(\n tag: string, attributes: Attributes | null, ...children: Child[]\n): HTMLElement {\n const el = document.createElement(tag)\n\n /* Set attributes, if any */\n if (attributes)\n for (const attr of Object.keys(attributes))\n if (typeof attributes[attr] !== \"boolean\")\n el.setAttribute(attr, attributes[attr])\n else if (attributes[attr])\n el.setAttribute(attr, \"\")\n\n /* Append child nodes */\n for (const child of children)\n appendChild(el, child)\n\n /* Return element */\n return el\n}\n\n/* ----------------------------------------------------------------------------\n * Namespace\n * ------------------------------------------------------------------------- */\n\nexport declare namespace h {\n namespace JSX {\n type Element = HTMLElement\n type IntrinsicElements = JSXInternal.IntrinsicElements\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Truncate a string after the given number of characters\n *\n * This is not a very reasonable approach, since the summaries kind of suck.\n * It would be better to create something more intelligent, highlighting the\n * search occurrences and making a better summary out of it, but this note was\n * written three years ago, so who knows if we'll ever fix it.\n *\n * @param value - Value to be truncated\n * @param n - Number of characters\n *\n * @returns Truncated value\n */\nexport function truncate(value: string, n: number): string {\n let i = n\n if (value.length > i) {\n while (value[i] !== \" \" && --i > 0) { /* keep eating */ }\n return `${value.substring(0, i)}...`\n }\n return value\n}\n\n/**\n * Round a number for display with repository facts\n *\n * This is a reverse-engineered version of GitHub's weird rounding algorithm\n * for stars, forks and all other numbers. While all numbers below `1,000` are\n * returned as-is, bigger numbers are converted to fixed numbers:\n *\n * - `1,049` => `1k`\n * - `1,050` => `1.1k`\n * - `1,949` => `1.9k`\n * - `1,950` => `2k`\n *\n * @param value - Original value\n *\n * @returns Rounded value\n */\nexport function round(value: number): string {\n if (value > 999) {\n const digits = +((value - 950) % 1000 > 99)\n return `${((value + 0.000001) / 1000).toFixed(digits)}k`\n } else {\n return value.toString()\n }\n}\n\n/**\n * Simple hash function\n *\n * @see https://bit.ly/2wsVjJ4 - Original source\n *\n * @param value - Value to be hashed\n *\n * @returns Hash as 32bit integer\n */\nexport function hash(value: string): number {\n let h = 0\n for (let i = 0, len = value.length; i < len; i++) {\n h = ((h << 5) - h) + value.charCodeAt(i)\n h |= 0 // Convert to 32bit integer\n }\n return h\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { round } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set number of search results\n *\n * @param el - Search result metadata element\n * @param value - Number of results\n */\nexport function setSearchResultMeta(\n el: HTMLElement, value: number\n): void {\n switch (value) {\n\n /* No results */\n case 0:\n el.textContent = translation(\"search.result.none\")\n break\n\n /* One result */\n case 1:\n el.textContent = translation(\"search.result.one\")\n break\n\n /* Multiple result */\n default:\n el.textContent = translation(\"search.result.other\", round(value))\n }\n}\n\n/**\n * Reset number of search results\n *\n * @param el - Search result metadata element\n */\nexport function resetSearchResultMeta(\n el: HTMLElement\n): void {\n el.textContent = translation(\"search.result.placeholder\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Add an element to the search result list\n *\n * @param el - Search result list element\n * @param child - Search result element\n */\nexport function addToSearchResultList(\n el: HTMLElement, child: Element\n): void {\n el.appendChild(child)\n}\n\n/**\n * Reset search result list\n *\n * @param el - Search result list element\n */\nexport function resetSearchResultList(\n el: HTMLElement\n): void {\n el.innerHTML = \"\"\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set sidebar offset\n *\n * @param el - Sidebar element\n * @param value - Sidebar offset\n */\nexport function setSidebarOffset(\n el: HTMLElement, value: number\n): void {\n el.style.top = `${value}px`\n}\n\n/**\n * Reset sidebar offset\n *\n * @param el - Sidebar element\n */\nexport function resetSidebarOffset(\n el: HTMLElement\n): void {\n el.style.top = \"\"\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Set sidebar height\n *\n * This function doesn't set the height of the actual sidebar, but of its first\n * child \u2013 the `.md-sidebar__scrollwrap` element in order to mitigiate jittery\n * sidebars when the footer is scrolled into view. At some point we switched\n * from `absolute` / `fixed` positioning to `sticky` positioning, significantly\n * reducing jitter in some browsers (respectively Firefox and Safari) when\n * scrolling from the top. However, top-aligned sticky positioning means that\n * the sidebar snaps to the bottom when the end of the container is reached.\n * This is what leads to the mentioned jitter, as the sidebar's height may be\n * updated too slowly.\n *\n * This behaviour can be mitigiated by setting the height of the sidebar to `0`\n * while preserving the padding, and the height on its first element.\n *\n * @param el - Sidebar element\n * @param value - Sidebar height\n */\nexport function setSidebarHeight(\n el: HTMLElement, value: number\n): void {\n const scrollwrap = el.firstElementChild as HTMLElement\n scrollwrap.style.height = `${value - 2 * scrollwrap.offsetTop}px`\n}\n\n/**\n * Reset sidebar height\n *\n * @param el - Sidebar element\n */\nexport function resetSidebarHeight(\n el: HTMLElement\n): void {\n const scrollwrap = el.firstElementChild as HTMLElement\n scrollwrap.style.height = \"\"\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set repository facts\n *\n * @param el - Repository element\n * @param child - Repository facts element\n */\nexport function setSourceFacts(\n el: HTMLElement, child: Element\n): void {\n el.lastElementChild!.appendChild(child)\n}\n\n/**\n * Set repository state\n *\n * @param el - Repository element\n * @param state - Repository state\n */\nexport function setSourceState(\n el: HTMLElement, state: \"done\"\n): void {\n el.lastElementChild!.setAttribute(\"data-md-state\", state)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set tabs state\n *\n * @param el - Tabs element\n * @param state - Tabs state\n */\nexport function setTabsState(\n el: HTMLElement, state: \"hidden\"\n): void {\n el.setAttribute(\"data-md-state\", state)\n}\n\n/**\n * Reset tabs state\n *\n * @param el - Tabs element\n */\nexport function resetTabsState(\n el: HTMLElement\n): void {\n el.removeAttribute(\"data-md-state\")\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a 'copy-to-clipboard' button\n *\n * @param id - Unique identifier\n *\n * @returns Element\n */\nexport function renderClipboardButton(id: string): HTMLElement {\n return (\n code`}\n >\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport {\n SearchDocument,\n SearchMetadata,\n SearchResult\n} from \"~/integrations/search\"\nimport { h, truncate } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Render flag\n */\nconst enum Flag {\n TEASER = 1, /* Render teaser */\n PARENT = 2 /* Render as parent */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper function\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a search document\n *\n * @param document - Search document\n * @param flag - Render flags\n *\n * @returns Element\n */\nfunction renderSearchDocument(\n document: SearchDocument & SearchMetadata, flag: Flag\n): HTMLElement {\n const parent = flag & Flag.PARENT\n const teaser = flag & Flag.TEASER\n\n /* Render missing query terms */\n const missing = Object.keys(document.terms)\n .filter(key => !document.terms[key])\n .map(key => [{key}, \" \"])\n .flat()\n .slice(0, -1)\n\n /* Render article or section, depending on flags */\n const url = document.location\n return (\n \n \n {parent > 0 &&
    }\n

    {document.title}

    \n {teaser > 0 && document.text.length > 0 &&\n

    \n {truncate(document.text, 320)}\n

    \n }\n {teaser > 0 && missing.length > 0 &&\n

    \n {translation(\"search.result.term.missing\")}: {...missing}\n

    \n }\n \n
    \n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a search result\n *\n * @param result - Search result\n *\n * @returns Element\n */\nexport function renderSearchResult(\n result: SearchResult\n): HTMLElement {\n const threshold = result[0].score\n const docs = [...result]\n\n /* Find and extract parent article */\n const parent = docs.findIndex(doc => !doc.location.includes(\"#\"))\n const [article] = docs.splice(parent, 1)\n\n /* Determine last index above threshold */\n let index = docs.findIndex(doc => doc.score < threshold)\n if (index === -1)\n index = docs.length\n\n /* Partition sections */\n const best = docs.slice(0, index)\n const more = docs.slice(index)\n\n /* Render children */\n const children = [\n renderSearchDocument(article, Flag.PARENT | +(!parent && index === 0)),\n ...best.map(section => renderSearchDocument(section, Flag.TEASER)),\n ...more.length ? [\n
    \n \n {more.length > 0 && more.length === 1\n ? translation(\"search.result.more.one\")\n : translation(\"search.result.more.other\", more.length)\n }\n \n {...more.map(section => renderSearchDocument(section, Flag.TEASER))}\n
    \n ] : []\n ]\n\n /* Render search result */\n return (\n
  • \n {children}\n
  • \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SourceFacts } from \"~/components\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render repository facts\n *\n * @param facts - Repository facts\n *\n * @returns Element\n */\nexport function renderSourceFacts(facts: SourceFacts): HTMLElement {\n return (\n
      \n {facts.map(fact => (\n
    • {fact}
    • \n ))}\n
    \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { h } from \"utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render a table inside a wrapper to improve scrolling on mobile\n *\n * @param table - Table element\n *\n * @returns Element\n */\nexport function renderTable(table: HTMLElement): HTMLElement {\n return (\n
    \n
    \n {table}\n
    \n
    \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject } from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n mapTo,\n mergeWith,\n tap\n} from \"rxjs/operators\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Details\n */\nexport interface Details {}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n target$: Observable /* Location target observable */\n print$: Observable /* Print mode observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n target$: Observable /* Location target observable */\n print$: Observable /* Print mode observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch details\n *\n * @param el - Details element\n * @param options - Options\n *\n * @returns Details observable\n */\nexport function watchDetails(\n el: HTMLDetailsElement, { target$, print$ }: WatchOptions\n): Observable
    {\n return target$\n .pipe(\n map(target => target.closest(\"details:not([open])\")!),\n filter(details => el === details),\n mergeWith(print$),\n mapTo(el)\n )\n}\n\n/**\n * Mount details\n *\n * This function ensures that `details` tags are opened on anchor jumps and\n * prior to printing, so the whole content of the page is visible.\n *\n * @param el - Details element\n * @param options - Options\n *\n * @returns Details component observable\n */\nexport function mountDetails(\n el: HTMLDetailsElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject
    ()\n internal$.subscribe(() => {\n el.setAttribute(\"open\", \"\")\n el.scrollIntoView()\n })\n\n /* Create and return component */\n return watchDetails(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n mapTo({ ref: el })\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, of } from \"rxjs\"\n\nimport { createElement, replaceElement } from \"~/browser\"\nimport { renderTable } from \"~/templates\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Data table\n */\nexport interface DataTable {}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Sentinel for replacement\n */\nconst sentinel = createElement(\"table\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount data table\n *\n * This function wraps a data table in another scrollable container, so they\n * can be scrolled on smaller screen sizes and won't break the layout.\n *\n * @param el - Data table element\n *\n * @returns Data table component observable\n */\nexport function mountDataTable(\n el: HTMLElement\n): Observable> {\n replaceElement(el, sentinel)\n replaceElement(sentinel, renderTable(el))\n\n /* Create and return component */\n return of({ ref: el })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, merge } from \"rxjs\"\n\nimport { Viewport, getElements } from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { CodeBlock, mountCodeBlock } from \"../code\"\nimport { Details, mountDetails } from \"../details\"\nimport { DataTable, mountDataTable } from \"../table\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Content\n */\nexport type Content =\n | CodeBlock\n | DataTable\n | Details\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n target$: Observable /* Location target observable */\n viewport$: Observable /* Viewport observable */\n print$: Observable /* Print mode observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount content\n *\n * This function mounts all components that are found in the content of the\n * actual article, including code blocks, data tables and details.\n *\n * @param el - Content element\n * @param options - Options\n *\n * @returns Content component observable\n */\nexport function mountContent(\n el: HTMLElement, { target$, viewport$, print$ }: MountOptions\n): Observable> {\n return merge(\n\n /* Code blocks */\n ...getElements(\"pre > code\", el)\n .map(child => mountCodeBlock(child, { viewport$ })),\n\n /* Data tables */\n ...getElements(\"table:not([class])\", el)\n .map(child => mountDataTable(child)),\n\n /* Details */\n ...getElements(\"details\", el)\n .map(child => mountDetails(child, { target$, print$ }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n merge,\n of\n} from \"rxjs\"\nimport {\n delay,\n finalize,\n map,\n observeOn,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetDialogState,\n setDialogMessage,\n setDialogState\n} from \"~/actions\"\n\nimport { Component } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Dialog\n */\nexport interface Dialog {\n message: string /* Dialog message */\n open: boolean /* Dialog is visible */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n alert$: Subject /* Alert subject */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n alert$: Subject /* Alert subject */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch dialog\n *\n * @param _el - Dialog element\n * @param options - Options\n *\n * @returns Dialog observable\n */\nexport function watchDialog(\n _el: HTMLElement, { alert$ }: WatchOptions\n): Observable {\n return alert$\n .pipe(\n switchMap(message => merge(\n of(true),\n of(false).pipe(delay(2000))\n )\n .pipe(\n map(open => ({ message, open }))\n )\n )\n )\n}\n\n/**\n * Mount dialog\n *\n * This function makes the dialog in the right corner appear when a new alert\n * is emitted through the subject that is passed as part of the options.\n *\n * @param el - Dialog element\n * @param options - Options\n *\n * @returns Dialog component observable\n */\nexport function mountDialog(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler)\n )\n .subscribe(({ message, open }) => {\n setDialogMessage(el, message)\n if (open)\n setDialogState(el, \"open\")\n else\n resetDialogState(el)\n })\n\n /* Create and return component */\n return watchDialog(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest,\n defer,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n combineLatestWith,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n filter,\n map,\n observeOn,\n shareReplay,\n startWith,\n switchMap\n} from \"rxjs/operators\"\n\nimport { feature } from \"~/_\"\nimport { resetHeaderState, setHeaderState } from \"~/actions\"\nimport {\n Viewport,\n watchElementSize,\n watchToggle\n} from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { Main } from \"../../main\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Header\n */\nexport interface Header {\n height: number /* Header visible height */\n sticky: boolean /* Header stickyness */\n hidden: boolean /* User scrolled past threshold */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n main$: Observable
    /* Main area observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Compute whether the header is hidden\n *\n * If the user scrolls past a certain threshold, the header can be hidden when\n * scrolling down, and shown when scrolling up.\n *\n * @param options - Options\n *\n * @returns Toggle observable\n */\nfunction isHidden({ viewport$ }: WatchOptions): Observable {\n if (!feature(\"header.autohide\"))\n return of(false)\n\n /* Compute direction and turning point */\n const direction$ = viewport$\n .pipe(\n map(({ offset: { y } }) => y),\n bufferCount(2, 1),\n map(([a, b]) => [a < b, b] as const),\n distinctUntilKeyChanged(0)\n )\n\n /* Compute whether header should be hidden */\n const hidden$ = combineLatest([viewport$, direction$])\n .pipe(\n filter(([{ offset }, [, y]]) => Math.abs(y - offset.y) > 100),\n map(([, [direction]]) => direction),\n distinctUntilChanged()\n )\n\n /* Compute threshold for autohiding */\n const search$ = watchToggle(\"search\")\n return combineLatest([viewport$, search$])\n .pipe(\n map(([{ offset }, search]) => offset.y > 400 && !search),\n distinctUntilChanged(),\n switchMap(active => active ? hidden$ : of(false)),\n startWith(false)\n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch header\n *\n * @param el - Header element\n * @param options - Options\n *\n * @returns Header observable\n */\nexport function watchHeader(\n el: HTMLElement, options: WatchOptions\n): Observable
    {\n return defer(() => {\n const styles = getComputedStyle(el)\n return of(\n styles.position === \"sticky\" ||\n styles.position === \"-webkit-sticky\"\n )\n })\n .pipe(\n combineLatestWith(watchElementSize(el), isHidden(options)),\n map(([sticky, { height }, hidden]) => ({\n height: sticky ? height : 0,\n sticky,\n hidden\n })),\n distinctUntilChanged((a, b) => (\n a.sticky === b.sticky &&\n a.height === b.height &&\n a.hidden === b.hidden\n )),\n shareReplay(1)\n )\n}\n\n/**\n * Mount header\n *\n * This function manages the different states of the header, i.e. whether it's\n * hidden or rendered with a shadow. This depends heavily on the main area.\n *\n * @param el - Header element\n * @param options - Options\n *\n * @returns Header component observable\n */\nexport function mountHeader(\n el: HTMLElement, { header$, main$ }: MountOptions\n): Observable> {\n const internal$ = new Subject
    ()\n internal$\n .pipe(\n distinctUntilKeyChanged(\"active\"),\n combineLatestWith(header$),\n observeOn(animationFrameScheduler)\n )\n .subscribe(([{ active }, { hidden }]) => {\n if (active)\n setHeaderState(el, hidden ? \"hidden\" : \"shadow\")\n else\n resetHeaderState(el)\n })\n\n /* Connect to long-living subject and return component */\n main$.subscribe(main => internal$.next(main))\n return header$\n .pipe(\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n animationFrameScheduler\n} from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetHeaderTitleState,\n setHeaderTitleState\n} from \"~/actions\"\nimport {\n Viewport,\n getElement,\n getElementSize,\n watchViewportAt\n} from \"~/browser\"\n\nimport { Component } from \"../../_\"\nimport { Header } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Header\n */\nexport interface HeaderTitle {\n active: boolean /* User scrolled past first headline */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch header title\n *\n * @param el - Heading element\n * @param options - Options\n *\n * @returns Header title observable\n */\nexport function watchHeaderTitle(\n el: HTMLHeadingElement, { viewport$, header$ }: WatchOptions\n): Observable {\n return watchViewportAt(el, { header$, viewport$ })\n .pipe(\n map(({ offset: { y } }) => {\n const { height } = getElementSize(el)\n return {\n active: y >= height\n }\n }),\n distinctUntilKeyChanged(\"active\")\n )\n}\n\n/**\n * Mount header title\n *\n * This function swaps the header title from the site title to the title of the\n * current page when the user scrolls past the first headline.\n *\n * @param el - Header title element\n * @param options - Options\n *\n * @returns Header title component observable\n */\nexport function mountHeaderTitle(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n )\n .subscribe(({ active }) => {\n if (active)\n setHeaderTitleState(el, \"active\")\n else\n resetHeaderTitleState(el)\n })\n\n /* Obtain headline, if any */\n const headline = getElement(\"article h1\")\n if (typeof headline === \"undefined\")\n return NEVER\n\n /* Create and return component */\n return watchHeaderTitle(headline, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n combineLatest\n} from \"rxjs\"\nimport {\n distinctUntilChanged,\n distinctUntilKeyChanged,\n map,\n switchMap\n} from \"rxjs/operators\"\n\nimport { Viewport, watchElementSize } from \"~/browser\"\n\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Main area\n */\nexport interface Main {\n offset: number /* Main area top offset */\n height: number /* Main area visible height */\n active: boolean /* User scrolled past header */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch main area\n *\n * This function returns an observable that computes the visual parameters of\n * the main area which depends on the viewport vertical offset and height, as\n * well as the height of the header element, if the header is fixed.\n *\n * @param el - Main area element\n * @param options - Options\n *\n * @returns Main area observable\n */\nexport function watchMain(\n el: HTMLElement, { viewport$, header$ }: WatchOptions\n): Observable
    {\n\n /* Compute necessary adjustment for header */\n const adjust$ = header$\n .pipe(\n map(({ height }) => height),\n distinctUntilChanged()\n )\n\n /* Compute the main area's top and bottom borders */\n const border$ = adjust$\n .pipe(\n switchMap(() => watchElementSize(el)\n .pipe(\n map(({ height }) => ({\n top: el.offsetTop,\n bottom: el.offsetTop + height\n })),\n distinctUntilKeyChanged(\"bottom\")\n )\n )\n )\n\n /* Compute the main area's offset, visible height and if we scrolled past */\n return combineLatest([adjust$, border$, viewport$])\n .pipe(\n map(([header, { top, bottom }, { offset: { y }, size: { height } }]) => {\n height = Math.max(0, height\n - Math.max(0, top - y, header)\n - Math.max(0, height + y - bottom)\n )\n return {\n offset: top - header,\n height,\n active: top - header <= y\n }\n }),\n distinctUntilChanged((a, b) => (\n a.offset === b.offset &&\n a.height === b.height &&\n a.active === b.active\n ))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport ClipboardJS from \"clipboard\"\nimport { Observable, Subject } from \"rxjs\"\n\nimport { translation } from \"~/_\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Setup options\n */\ninterface SetupOptions {\n alert$: Subject /* Alert subject */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up Clipboard.js integration\n *\n * @param options - Options\n */\nexport function setupClipboardJS(\n { alert$ }: SetupOptions\n): void {\n if (ClipboardJS.isSupported()) {\n new Observable(subscriber => {\n new ClipboardJS(\"[data-clipboard-target], [data-clipboard-text]\")\n .on(\"success\", ev => subscriber.next(ev))\n })\n .subscribe(() => alert$.next(translation(\"clipboard.copied\")))\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n fromEvent,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n catchError,\n concatMap,\n debounceTime,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n filter,\n map,\n sample,\n share,\n skip,\n skipUntil,\n switchMap\n} from \"rxjs/operators\"\n\nimport { configuration } from \"~/_\"\nimport {\n Viewport,\n ViewportOffset,\n createElement,\n getElement,\n getElements,\n replaceElement,\n request,\n requestXML,\n setLocation,\n setLocationHash,\n setViewportOffset\n} from \"~/browser\"\nimport { getComponentElement } from \"~/components\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * History state\n */\nexport interface HistoryState {\n url: URL /* State URL */\n offset?: ViewportOffset /* State viewport offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Setup options\n */\ninterface SetupOptions {\n document$: Subject /* Document subject */\n location$: Subject /* Location subject */\n viewport$: Observable /* Viewport observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Preprocess a list of URLs\n *\n * This function replaces the `site_url` in the sitemap with the actual base\n * URL, to allow instant loading to work in occasions like Netlify previews.\n *\n * @param urls - URLs\n *\n * @returns Processed URLs\n */\nfunction preprocess(urls: string[]): string[] {\n if (urls.length < 2)\n return urls\n\n /* Compute references URLs */\n const [root, next] = urls.sort((a, b) => a.length - b.length)\n\n /* Compute common prefix */\n let index = 0\n if (root === next)\n index = root.length\n else\n while (root.charCodeAt(index) === root.charCodeAt(index))\n index++\n\n /* Replace common prefix (i.e. base) with effective base */\n const config = configuration()\n return urls.map(url => (\n url.replace(root.slice(0, index), `${config.base}/`)\n ))\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up instant loading\n *\n * When fetching, theoretically, we could use `responseType: \"document\"`, but\n * since all MkDocs links are relative, we need to make sure that the current\n * location matches the document we just loaded. Otherwise any relative links\n * in the document could use the old location.\n *\n * This is the reason why we need to synchronize history events and the process\n * of fetching the document for navigation changes (except `popstate` events):\n *\n * 1. Fetch document via `XMLHTTPRequest`\n * 2. Set new location via `history.pushState`\n * 3. Parse and emit fetched document\n *\n * For `popstate` events, we must not use `history.pushState`, or the forward\n * history will be irreversibly overwritten. In case the request fails, the\n * location change is dispatched regularly.\n *\n * @param options - Options\n */\nexport function setupInstantLoading(\n { document$, location$, viewport$ }: SetupOptions\n): void {\n const config = configuration()\n if (location.protocol === \"file:\")\n return\n\n /* Disable automatic scroll restoration */\n if (\"scrollRestoration\" in history) {\n history.scrollRestoration = \"manual\"\n\n /* Hack: ensure that reloads restore viewport offset */\n fromEvent(window, \"beforeunload\")\n .subscribe(() => {\n history.scrollRestoration = \"auto\"\n })\n }\n\n /* Hack: ensure absolute favicon link to omit 404s when switching */\n const favicon = getElement(\"link[rel='shortcut icon']\")\n if (typeof favicon !== \"undefined\")\n favicon.href = favicon.href\n\n /* Intercept internal navigation */\n const push$ = requestXML(`${config.base}/sitemap.xml`)\n .pipe(\n map(sitemap => preprocess(getElements(\"loc\", sitemap)\n .map(node => node.textContent!)\n )),\n switchMap(urls => fromEvent(document.body, \"click\")\n .pipe(\n filter(ev => !ev.metaKey && !ev.ctrlKey),\n switchMap(ev => {\n if (ev.target instanceof HTMLElement) {\n const el = ev.target.closest(\"a\")\n if (el && !el.target && urls.includes(el.href)) {\n ev.preventDefault()\n return of({\n url: new URL(el.href)\n })\n }\n }\n return NEVER\n })\n )\n ),\n share()\n )\n\n /* Intercept history back and forward */\n const pop$ = fromEvent(window, \"popstate\")\n .pipe(\n filter(ev => ev.state !== null),\n map(ev => ({\n url: new URL(location.href),\n offset: ev.state\n })),\n share()\n )\n\n /* Emit location change */\n merge(push$, pop$)\n .pipe(\n distinctUntilChanged((a, b) => a.url.href === b.url.href),\n map(({ url }) => url)\n )\n .subscribe(location$)\n\n /* Fetch document via `XMLHTTPRequest` */\n const response$ = location$\n .pipe(\n distinctUntilKeyChanged(\"pathname\"),\n skip(1),\n switchMap(url => request(url.href)\n .pipe(\n catchError(() => {\n setLocation(url)\n return NEVER\n })\n )\n ),\n share()\n )\n\n /* Set new location via `history.pushState` */\n push$\n .pipe(\n sample(response$)\n )\n .subscribe(({ url }) => {\n history.pushState({}, \"\", url.toString())\n })\n\n /* Parse and emit fetched document */\n const dom = new DOMParser()\n response$\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/html\"))\n )\n .subscribe(document$)\n\n /* Emit history state change */\n merge(push$, pop$)\n .pipe(\n sample(document$)\n )\n .subscribe(({ url, offset }) => {\n if (url.hash && !offset)\n setLocationHash(url.hash)\n else\n setViewportOffset(offset || { y: 0 })\n })\n\n /* Replace meta tags and components */\n document$\n .pipe(\n skip(1)\n )\n .subscribe(replacement => {\n for (const selector of [\n\n /* Meta tags */\n \"title\",\n \"link[rel='canonical']\",\n \"meta[name='author']\",\n \"meta[name='description']\",\n\n /* Components */\n \"[data-md-component=announce]\",\n \"[data-md-component=header-title]\",\n \"[data-md-component=container]\",\n \"[data-md-component=skip]\"\n ]) {\n const source = getElement(selector)\n const target = getElement(selector, replacement)\n if (\n typeof source !== \"undefined\" &&\n typeof target !== \"undefined\"\n ) {\n replaceElement(source, target)\n }\n }\n })\n\n /* Re-evaluate scripts */\n document$\n .pipe(\n skip(1),\n map(() => getComponentElement(\"container\")),\n switchMap(el => of(...getElements(\"script\", el))),\n concatMap(el => {\n const script = createElement(\"script\")\n if (el.src) {\n script.src = el.src\n replaceElement(el, script)\n\n /* Complete when script is loaded */\n return new Observable(observer => {\n script.onload = () => observer.complete()\n })\n\n /* Complete immediately */\n } else {\n script.textContent = el.textContent!\n replaceElement(el, script)\n return EMPTY\n }\n })\n )\n .subscribe()\n\n /* Debounce update of viewport offset */\n viewport$\n .pipe(\n skipUntil(push$),\n debounceTime(250),\n distinctUntilKeyChanged(\"offset\")\n )\n .subscribe(({ offset }) => {\n history.replaceState(offset, \"\")\n })\n\n /* Set viewport offset from history */\n merge(push$, pop$)\n .pipe(\n bufferCount(2, 1),\n filter(([a, b]) => a.url.pathname === b.url.pathname),\n map(([, state]) => state)\n )\n .subscribe(({ offset }) => {\n setViewportOffset(offset || { y: 0 })\n })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport escapeHTML from \"escape-html\"\n\nimport { SearchIndexDocument } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search document\n */\nexport interface SearchDocument extends SearchIndexDocument {\n parent?: SearchIndexDocument /* Parent article */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search document mapping\n */\nexport type SearchDocumentMap = Map\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Create a search document mapping\n *\n * @param docs - Search index documents\n *\n * @returns Search document map\n */\nexport function setupSearchDocumentMap(\n docs: SearchIndexDocument[]\n): SearchDocumentMap {\n const documents = new Map()\n const parents = new Set()\n for (const doc of docs) {\n const [path, hash] = doc.location.split(\"#\")\n\n /* Extract location and title */\n const location = doc.location\n const title = doc.title\n\n /* Escape and cleanup text */\n const text = escapeHTML(doc.text)\n .replace(/\\s+(?=[,.:;!?])/g, \"\")\n .replace(/\\s+/g, \" \")\n\n /* Handle section */\n if (hash) {\n const parent = documents.get(path)!\n\n /* Ignore first section, override article */\n if (!parents.has(parent)) {\n parent.title = doc.title\n parent.text = text\n\n /* Remember that we processed the article */\n parents.add(parent)\n\n /* Add subsequent section */\n } else {\n documents.set(location, {\n location,\n title,\n text,\n parent\n })\n }\n\n /* Add article */\n } else {\n documents.set(location, {\n location,\n title,\n text\n })\n }\n }\n return documents\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search transformation function\n *\n * @param value - Query value\n *\n * @returns Transformed query value\n */\nexport type SearchTransformFn = (value: string) => string\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Default transformation function\n *\n * 1. Search for terms in quotation marks and prepend a `+` modifier to denote\n * that the resulting document must contain all terms, converting the query\n * to an `AND` query (as opposed to the default `OR` behavior). While users\n * may expect terms enclosed in quotation marks to map to span queries, i.e.\n * for which order is important, Lunr.js doesn't support them, so the best\n * we can do is to convert the terms to an `AND` query.\n *\n * 2. Replace control characters which are not located at the beginning of the\n * query or preceded by white space, or are not followed by a non-whitespace\n * character or are at the end of the query string. Furthermore, filter\n * unmatched quotation marks.\n *\n * 3. Trim excess whitespace from left and right.\n *\n * @param query - Query value\n *\n * @returns Transformed query value\n */\nexport function defaultTransform(query: string): string {\n return query\n .split(/\"([^\"]+)\"/g) /* => 1 */\n .map((terms, index) => index & 1\n ? terms.replace(/^\\b|^(?![^\\x00-\\x7F]|$)|\\s+/g, \" +\")\n : terms\n )\n .join(\"\")\n .replace(/\"|(?:^|\\s+)[*+\\-:^~]+(?=\\s+|$)/g, \"\") /* => 2 */\n .trim() /* => 3 */\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndex, SearchResult } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search message type\n */\nexport const enum SearchMessageType {\n SETUP, /* Search index setup */\n READY, /* Search index ready */\n QUERY, /* Search query */\n RESULT /* Search results */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message containing the data necessary to setup the search index\n */\nexport interface SearchSetupMessage {\n type: SearchMessageType.SETUP /* Message type */\n data: SearchIndex /* Message data */\n}\n\n/**\n * A message indicating the search index is ready\n */\nexport interface SearchReadyMessage {\n type: SearchMessageType.READY /* Message type */\n}\n\n/**\n * A message containing a search query\n */\nexport interface SearchQueryMessage {\n type: SearchMessageType.QUERY /* Message type */\n data: string /* Message data */\n}\n\n/**\n * A message containing results for a search query\n */\nexport interface SearchResultMessage {\n type: SearchMessageType.RESULT /* Message type */\n data: SearchResult[] /* Message data */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message exchanged with the search worker\n */\nexport type SearchMessage =\n | SearchSetupMessage\n | SearchReadyMessage\n | SearchQueryMessage\n | SearchResultMessage\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Type guard for search setup messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchSetupMessage(\n message: SearchMessage\n): message is SearchSetupMessage {\n return message.type === SearchMessageType.SETUP\n}\n\n/**\n * Type guard for search ready messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchReadyMessage(\n message: SearchMessage\n): message is SearchReadyMessage {\n return message.type === SearchMessageType.READY\n}\n\n/**\n * Type guard for search query messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchQueryMessage(\n message: SearchMessage\n): message is SearchQueryMessage {\n return message.type === SearchMessageType.QUERY\n}\n\n/**\n * Type guard for search result messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchResultMessage(\n message: SearchMessage\n): message is SearchResultMessage {\n return message.type === SearchMessageType.RESULT\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ObservableInput, Subject, from } from \"rxjs\"\nimport { map, share } from \"rxjs/operators\"\n\nimport { configuration, translation } from \"~/_\"\nimport { WorkerHandler, watchWorker } from \"~/browser\"\n\nimport { SearchIndex, SearchIndexPipeline } from \"../../_\"\nimport {\n SearchMessage,\n SearchMessageType,\n SearchSetupMessage,\n isSearchResultMessage\n} from \"../message\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search worker\n */\nexport type SearchWorker = WorkerHandler\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up search index\n *\n * @param data - Search index\n *\n * @returns Search index\n */\nfunction setupSearchIndex(\n { config, docs, index }: SearchIndex\n): SearchIndex {\n\n /* Override default language with value from translation */\n if (config.lang.length === 1 && config.lang[0] === \"en\")\n config.lang = [\n translation(\"search.config.lang\")\n ]\n\n /* Override default separator with value from translation */\n if (config.separator === \"[\\\\s\\\\-]+\")\n config.separator = translation(\"search.config.separator\")\n\n /* Set pipeline from translation */\n const pipeline = translation(\"search.config.pipeline\")\n .split(/\\s*,\\s*/)\n .filter(Boolean) as SearchIndexPipeline\n\n /* Return search index after defaulting */\n return { config, docs, index, pipeline }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up search worker\n *\n * This function will create a web worker to set up and query the search index\n * which is done using Lunr.js. The index must be passed as an observable to\n * enable hacks like _localsearch_ via search index embedding as JSON.\n *\n * @param url - Worker URL\n * @param index - Search index observable input\n *\n * @returns Search worker\n */\nexport function setupSearchWorker(\n url: string, index: ObservableInput\n): SearchWorker {\n const config = configuration()\n const worker = new Worker(url)\n\n /* Create communication channels and resolve relative links */\n const tx$ = new Subject()\n const rx$ = watchWorker(worker, { tx$ })\n .pipe(\n map(message => {\n if (isSearchResultMessage(message)) {\n for (const result of message.data)\n for (const document of result)\n document.location = `${config.base}/${document.location}`\n }\n return message\n }),\n share()\n )\n\n /* Set up search index */\n from(index)\n .pipe(\n map(data => ({\n type: SearchMessageType.SETUP,\n data: setupSearchIndex(data)\n }))\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Return search worker */\n return { tx$, rx$ }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n combineLatest,\n fromEvent,\n merge\n} from \"rxjs\"\nimport {\n delay,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n finalize,\n map,\n startWith,\n takeLast,\n takeUntil,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetSearchQueryPlaceholder,\n setSearchQueryPlaceholder\n} from \"~/actions\"\nimport {\n setElementFocus,\n setToggle,\n watchElementFocus\n} from \"~/browser\"\nimport {\n SearchMessageType,\n SearchQueryMessage,\n SearchWorker,\n defaultTransform\n} from \"~/integrations\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search query\n */\nexport interface SearchQuery {\n value: string /* Query value */\n focus: boolean /* Query focus */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch search query\n *\n * Note that the focus event which triggers re-reading the current query value\n * is delayed by `1ms` so the input's empty state is allowed to propagate.\n *\n * @param el - Search query element\n *\n * @returns Search query observable\n */\nexport function watchSearchQuery(\n el: HTMLInputElement\n): Observable {\n const fn = __search?.transform || defaultTransform\n\n /* Intercept focus and input events */\n const focus$ = watchElementFocus(el)\n const value$ = merge(\n fromEvent(el, \"keyup\"),\n fromEvent(el, \"focus\").pipe(delay(1))\n )\n .pipe(\n map(() => fn(el.value)),\n startWith(fn(el.value)),\n distinctUntilChanged()\n )\n\n /* Combine into single observable */\n return combineLatest([value$, focus$])\n .pipe(\n map(([value, focus]) => ({ value, focus }))\n )\n}\n\n/**\n * Mount search query\n *\n * @param el - Search query element\n * @param worker - Search worker\n *\n * @returns Search query component observable\n */\nexport function mountSearchQuery(\n el: HTMLInputElement, { tx$ }: SearchWorker\n): Observable> {\n const internal$ = new Subject()\n\n /* Handle value changes */\n internal$\n .pipe(\n distinctUntilKeyChanged(\"value\"),\n map(({ value }): SearchQueryMessage => ({\n type: SearchMessageType.QUERY,\n data: value\n }))\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Handle focus changes */\n internal$\n .pipe(\n distinctUntilKeyChanged(\"focus\")\n )\n .subscribe(({ focus }) => {\n if (focus) {\n setToggle(\"search\", focus)\n setSearchQueryPlaceholder(el, \"\")\n } else {\n resetSearchQueryPlaceholder(el)\n }\n })\n\n /* Handle reset */\n fromEvent(el.form!, \"reset\")\n .pipe(\n takeUntil(internal$.pipe(takeLast(1)))\n )\n .subscribe(() => setElementFocus(el))\n\n /* Create and return component */\n return watchSearchQuery(el)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n filter,\n finalize,\n map,\n observeOn,\n startWith,\n switchMap,\n tap,\n withLatestFrom,\n zipWith\n} from \"rxjs/operators\"\n\nimport {\n addToSearchResultList,\n resetSearchResultList,\n resetSearchResultMeta,\n setSearchResultMeta\n} from \"~/actions\"\nimport {\n getElementOrThrow,\n watchElementThreshold\n} from \"~/browser\"\nimport {\n SearchResult as SearchResultData,\n SearchWorker,\n isSearchResultMessage\n} from \"~/integrations\"\nimport { renderSearchResult } from \"~/templates\"\n\nimport { Component } from \"../../_\"\nimport { SearchQuery } from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search result\n */\nexport interface SearchResult {\n data: SearchResultData[] /* Search result data */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n query$: Observable /* Search query observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount search result list\n *\n * This function will perform a lazy rendering of the search results, depending\n * on the vertical offset of the search result container.\n *\n * @param el - Search result list element\n * @param worker - Search worker\n * @param options - Options\n *\n * @returns Search result list component observable\n */\nexport function mountSearchResult(\n el: HTMLElement, { rx$ }: SearchWorker, { query$ }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n const boundary$ = watchElementThreshold(el.parentElement!)\n .pipe(\n filter(Boolean)\n )\n\n /* Update search result metadata */\n const meta = getElementOrThrow(\":scope > :first-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(query$)\n )\n .subscribe(([{ data }, { value }]) => {\n if (value)\n setSearchResultMeta(meta, data.length)\n else\n resetSearchResultMeta(meta)\n })\n\n /* Update search result list */\n const list = getElementOrThrow(\":scope > :last-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n tap(() => resetSearchResultList(list)),\n switchMap(({ data }) => merge(\n of(...data.slice(0, 10)),\n of(...data.slice(10))\n .pipe(\n bufferCount(4),\n zipWith(boundary$),\n switchMap(([chunk]) => of(...chunk))\n )\n ))\n )\n .subscribe(result => {\n addToSearchResultList(list, renderSearchResult(result))\n })\n\n /* Filter search result list */\n const result$ = rx$\n .pipe(\n filter(isSearchResultMessage),\n map(({ data }) => ({ data })),\n startWith({ data: [] })\n )\n\n /* Create and return component */\n return result$\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, ObservableInput, merge } from \"rxjs\"\nimport { filter, sample, take } from \"rxjs/operators\"\n\nimport { configuration } from \"~/_\"\nimport {\n Keyboard,\n getActiveElement,\n getElements,\n requestJSON,\n setElementFocus,\n setElementSelection,\n setToggle\n} from \"~/browser\"\nimport {\n SearchIndex,\n isSearchQueryMessage,\n isSearchReadyMessage,\n setupSearchWorker\n} from \"~/integrations\"\n\nimport { Component, getComponentElement } from \"../../_\"\nimport { SearchQuery, mountSearchQuery } from \"../query\"\nimport { SearchResult, mountSearchResult } from \"../result\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search\n */\nexport type Search =\n | SearchQuery\n | SearchResult\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount options\n */\ninterface MountOptions {\n keyboard$: Observable /* Keyboard observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @param url - Search index URL\n *\n * @returns Promise or observable\n */\nfunction fetchSearchIndex(url: string): ObservableInput {\n return __search?.index || requestJSON(url)\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount search\n *\n * This function sets up the search functionality, including the underlying\n * web worker and all keyboard bindings.\n *\n * @param el - Search element\n * @param options - Options\n *\n * @returns Search component observable\n */\nexport function mountSearch(\n el: HTMLElement, { keyboard$ }: MountOptions\n): Observable> {\n if (location.protocol === \"file:\")\n return NEVER\n\n /* Set up search worker */\n const config = configuration()\n const worker = setupSearchWorker(config.search, fetchSearchIndex(\n `${config.base}/search/search_index.json`\n ))\n\n /* Retrieve nested components */\n const query = getComponentElement(\"search-query\", el)\n const result = getComponentElement(\"search-result\", el)\n\n /* Re-emit query when search is ready */\n const { tx$, rx$ } = worker\n tx$\n .pipe(\n filter(isSearchQueryMessage),\n sample(rx$.pipe(filter(isSearchReadyMessage))),\n take(1)\n )\n .subscribe(tx$.next.bind(tx$))\n\n /* Set up search keyboard handlers */\n keyboard$\n .pipe(\n filter(({ mode }) => mode === \"search\")\n )\n .subscribe(key => {\n const active = getActiveElement()\n switch (key.type) {\n\n /* Enter: prevent form submission */\n case \"Enter\":\n if (active === query)\n key.claim()\n break\n\n /* Escape or Tab: close search */\n case \"Escape\":\n case \"Tab\":\n setToggle(\"search\", false)\n setElementFocus(query, false)\n break\n\n /* Vertical arrows: select previous or next search result */\n case \"ArrowUp\":\n case \"ArrowDown\":\n if (typeof active === \"undefined\") {\n setElementFocus(query)\n } else {\n const els = [query, ...getElements(\n \":not(details) > [href], summary, details[open] [href]\",\n result\n )]\n const i = Math.max(0, (\n Math.max(0, els.indexOf(active)) + els.length + (\n key.type === \"ArrowUp\" ? -1 : +1\n )\n ) % els.length)\n setElementFocus(els[i])\n }\n\n /* Prevent scrolling of page */\n key.claim()\n break\n\n /* All other keys: hand to search query */\n default:\n if (query !== getActiveElement())\n setElementFocus(query)\n }\n })\n\n /* Set up global keyboard handlers */\n keyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\"),\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Open search and select query */\n case \"f\":\n case \"s\":\n case \"/\":\n setElementFocus(query)\n setElementSelection(query)\n key.claim()\n break\n }\n })\n\n /* Create and return component */\n const query$ = mountSearchQuery(query as HTMLInputElement, worker)\n return merge(\n query$,\n mountSearchResult(result, worker, { query$ })\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest\n} from \"rxjs\"\nimport {\n distinctUntilChanged,\n finalize,\n map,\n observeOn,\n tap,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport {\n resetSidebarHeight,\n resetSidebarOffset,\n setSidebarHeight,\n setSidebarOffset\n} from \"~/actions\"\nimport { Viewport } from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\nimport { Main } from \"../main\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Sidebar\n */\nexport interface Sidebar {\n height: number /* Sidebar height */\n locked: boolean /* User scrolled past header */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n main$: Observable
    /* Main area observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n main$: Observable
    /* Main area observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch sidebar\n *\n * This function returns an observable that computes the visual parameters of\n * the sidebar which depends on the vertical viewport offset, as well as the\n * height of the main area. When the page is scrolled beyond the header, the\n * sidebar is locked and fills the remaining space.\n *\n * @param el - Sidebar element\n * @param options - Options\n *\n * @returns Sidebar observable\n */\nexport function watchSidebar(\n el: HTMLElement, { viewport$, main$ }: WatchOptions\n): Observable {\n const adjust =\n el.parentElement!.offsetTop -\n el.parentElement!.parentElement!.offsetTop\n\n /* Compute the sidebar's available height and if it should be locked */\n return combineLatest([main$, viewport$])\n .pipe(\n map(([{ offset, height }, { offset: { y } }]) => {\n height = height\n + Math.min(adjust, Math.max(0, y - offset))\n - adjust\n return {\n height,\n locked: y >= offset + adjust\n }\n }),\n distinctUntilChanged((a, b) => (\n a.height === b.height &&\n a.locked === b.locked\n ))\n )\n}\n\n/**\n * Mount sidebar\n *\n * @param el - Sidebar element\n * @param options - Options\n *\n * @returns Sidebar component observable\n */\nexport function mountSidebar(\n el: HTMLElement, { header$, ...options }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(header$)\n )\n .subscribe({\n\n /* Update height and offset */\n next([{ height }, { height: offset }]) {\n setSidebarHeight(el, height)\n setSidebarOffset(el, offset)\n },\n\n /* Reset on complete */\n complete() {\n resetSidebarOffset(el)\n resetSidebarHeight(el)\n }\n })\n\n /* Create and return component */\n return watchSidebar(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Repo, User } from \"github-types\"\nimport { Observable } from \"rxjs\"\nimport { defaultIfEmpty, map } from \"rxjs/operators\"\n\nimport { requestJSON } from \"~/browser\"\nimport { round } from \"~/utilities\"\n\nimport { SourceFacts } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch GitHub repository facts\n *\n * @param user - GitHub user\n * @param repo - GitHub repository\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFactsFromGitHub(\n user: string, repo?: string\n): Observable {\n const url = typeof repo !== \"undefined\"\n ? `https://api.github.com/repos/${user}/${repo}`\n : `https://api.github.com/users/${user}`\n return requestJSON(url)\n .pipe(\n map(data => {\n\n /* GitHub repository */\n if (typeof repo !== \"undefined\") {\n const { stargazers_count, forks_count }: Repo = data\n return [\n `${round(stargazers_count!)} Stars`,\n `${round(forks_count!)} Forks`\n ]\n\n /* GitHub user/organization */\n } else {\n const { public_repos }: User = data\n return [\n `${round(public_repos!)} Repositories`\n ]\n }\n }),\n defaultIfEmpty([])\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { ProjectSchema } from \"gitlab\"\nimport { Observable } from \"rxjs\"\nimport { defaultIfEmpty, map } from \"rxjs/operators\"\n\nimport { requestJSON } from \"~/browser\"\nimport { round } from \"~/utilities\"\n\nimport { SourceFacts } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch GitLab repository facts\n *\n * @param base - GitLab base\n * @param project - GitLab project\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFactsFromGitLab(\n base: string, project: string\n): Observable {\n const url = `https://${base}/api/v4/projects/${encodeURIComponent(project)}`\n return requestJSON(url)\n .pipe(\n map(({ star_count, forks_count }) => ([\n `${round(star_count)} Stars`,\n `${round(forks_count)} Forks`\n ])),\n defaultIfEmpty([])\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable } from \"rxjs\"\n\nimport { fetchSourceFactsFromGitHub } from \"../github\"\nimport { fetchSourceFactsFromGitLab } from \"../gitlab\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository facts\n */\nexport type SourceFacts = string[]\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch repository facts\n *\n * @param url - Repository URL\n *\n * @returns Repository facts observable\n */\nexport function fetchSourceFacts(\n url: string\n): Observable {\n const [type] = url.match(/(git(?:hub|lab))/i) || []\n switch (type.toLowerCase()) {\n\n /* GitHub repository */\n case \"github\":\n const [, user, repo] = url.match(/^.+github\\.com\\/([^/]+)\\/?([^/]+)?/i)!\n return fetchSourceFactsFromGitHub(user, repo)\n\n /* GitLab repository */\n case \"gitlab\":\n const [, base, slug] = url.match(/^.+?([^/]*gitlab[^/]+)\\/(.+?)\\/?$/i)!\n return fetchSourceFactsFromGitLab(base, slug)\n\n /* Everything else */\n default:\n return NEVER\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { NEVER, Observable, Subject, defer, of } from \"rxjs\"\nimport {\n catchError,\n filter,\n finalize,\n map,\n shareReplay,\n tap\n} from \"rxjs/operators\"\n\nimport { setSourceFacts, setSourceState } from \"~/actions\"\nimport { renderSourceFacts } from \"~/templates\"\nimport { hash } from \"~/utilities\"\n\nimport { Component } from \"../../_\"\nimport { SourceFacts, fetchSourceFacts } from \"../facts\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository information\n */\nexport interface Source {\n facts: SourceFacts /* Repository facts */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Repository facts observable\n */\nlet fetch$: Observable\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch repository information\n *\n * This function will try to read the repository facts from session storage,\n * and if unsuccessful, fetch them from the underlying provider.\n *\n * @param el - Repository information element\n *\n * @returns Repository information observable\n */\nexport function watchSource(\n el: HTMLAnchorElement\n): Observable {\n const digest = hash(el.href).toString()\n\n /* Fetch repository facts once */\n return fetch$ ||= defer(() => {\n const data = sessionStorage.getItem(digest)\n if (data) {\n return of(JSON.parse(data))\n } else {\n const value$ = fetchSourceFacts(el.href)\n value$.subscribe(value => {\n try {\n sessionStorage.setItem(digest, JSON.stringify(value))\n } catch (err) {\n /* Uncritical, just swallow */\n }\n })\n\n /* Return value */\n return value$\n }\n })\n .pipe(\n catchError(() => NEVER),\n filter(facts => facts.length > 0),\n map(facts => ({ facts })),\n shareReplay(1)\n )\n}\n\n/**\n * Mount repository information\n *\n * @param el - Repository information element\n *\n * @returns Repository information component observable\n */\nexport function mountSource(\n el: HTMLAnchorElement\n): Observable> {\n const internal$ = new Subject()\n internal$.subscribe(({ facts }) => {\n setSourceFacts(el, renderSourceFacts(facts))\n setSourceState(el, \"done\")\n })\n\n /* Create and return component */\n return watchSource(el)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, Subject, animationFrameScheduler } from \"rxjs\"\nimport {\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n tap\n} from \"rxjs/operators\"\n\nimport { resetTabsState, setTabsState } from \"~/actions\"\nimport { Viewport, watchViewportAt } from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Navigation tabs\n */\nexport interface Tabs {\n hidden: boolean /* User scrolled past tabs */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch navigation tabs\n *\n * @param el - Navigation tabs element\n * @param options - Options\n *\n * @returns Navigation tabs observable\n */\nexport function watchTabs(\n el: HTMLElement, { viewport$, header$ }: WatchOptions\n): Observable {\n return watchViewportAt(el, { header$, viewport$ })\n .pipe(\n map(({ offset: { y } }) => {\n return {\n hidden: y >= 10\n }\n }),\n distinctUntilKeyChanged(\"hidden\")\n )\n}\n\n/**\n * Mount navigation tabs\n *\n * This function hides the navigation tabs when scrolling past the threshold\n * and makes them reappear in a nice CSS animation when scrolling back up.\n *\n * @param el - Navigation tabs element\n * @param options - Options\n *\n * @returns Navigation tabs component observable\n */\nexport function mountTabs(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler)\n )\n .subscribe({\n\n /* Update state */\n next({ hidden }) {\n if (hidden)\n setTabsState(el, \"hidden\")\n else\n resetTabsState(el)\n },\n\n /* Reset on complete */\n complete() {\n resetTabsState(el)\n }\n })\n\n /* Create and return component */\n return watchTabs(el, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest\n} from \"rxjs\"\nimport {\n bufferCount,\n distinctUntilChanged,\n distinctUntilKeyChanged,\n finalize,\n map,\n observeOn,\n scan,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport {\n resetAnchorActive,\n resetAnchorState,\n setAnchorActive,\n setAnchorState\n} from \"~/actions\"\nimport {\n Viewport,\n getElement,\n getElements,\n watchElementSize\n} from \"~/browser\"\n\nimport { Component } from \"../_\"\nimport { Header } from \"../header\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Table of contents\n */\nexport interface TableOfContents {\n prev: HTMLAnchorElement[][] /* Anchors (previous) */\n next: HTMLAnchorElement[][] /* Anchors (next) */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n viewport$: Observable /* Viewport observable */\n header$: Observable
    /* Header observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch table of contents\n *\n * This is effectively a scroll spy implementation which will account for the\n * fixed header and automatically re-calculate anchor offsets when the viewport\n * is resized. The returned observable will only emit if the table of contents\n * needs to be repainted.\n *\n * This implementation tracks an anchor element's entire path starting from its\n * level up to the top-most anchor element, e.g. `[h3, h2, h1]`. Although the\n * Material theme currently doesn't make use of this information, it enables\n * the styling of the entire hierarchy through customization.\n *\n * Note that the current anchor is the last item of the `prev` anchor list.\n *\n * @param anchors - Anchor elements\n * @param options - Options\n *\n * @returns Table of contents observable\n */\nexport function watchTableOfContents(\n anchors: HTMLAnchorElement[], { viewport$, header$ }: WatchOptions\n): Observable {\n const table = new Map()\n for (const anchor of anchors) {\n const id = decodeURIComponent(anchor.hash.substring(1))\n const target = getElement(`[id=\"${id}\"]`)\n if (typeof target !== \"undefined\")\n table.set(anchor, target)\n }\n\n /* Compute necessary adjustment for header */\n const adjust$ = header$\n .pipe(\n map(header => 24 + header.height)\n )\n\n /* Compute partition of previous and next anchors */\n const partition$ = watchElementSize(document.body)\n .pipe(\n distinctUntilKeyChanged(\"height\"),\n\n /* Build index to map anchor paths to vertical offsets */\n map(() => {\n let path: HTMLAnchorElement[] = []\n return [...table].reduce((index, [anchor, target]) => {\n while (path.length) {\n const last = table.get(path[path.length - 1])!\n if (last.tagName >= target.tagName) {\n path.pop()\n } else {\n break\n }\n }\n\n /* If the current anchor is hidden, continue with its parent */\n let offset = target.offsetTop\n while (!offset && target.parentElement) {\n target = target.parentElement\n offset = target.offsetTop\n }\n\n /* Map reversed anchor path to vertical offset */\n return index.set(\n [...path = [...path, anchor]].reverse(),\n offset\n )\n }, new Map())\n }),\n\n /* Re-compute partition when viewport offset changes */\n switchMap(index => combineLatest([adjust$, viewport$])\n .pipe(\n scan(([prev, next], [adjust, { offset: { y } }]) => {\n\n /* Look forward */\n while (next.length) {\n const [, offset] = next[0]\n if (offset - adjust < y) {\n prev = [...prev, next.shift()!]\n } else {\n break\n }\n }\n\n /* Look backward */\n while (prev.length) {\n const [, offset] = prev[prev.length - 1]\n if (offset - adjust >= y) {\n next = [prev.pop()!, ...next]\n } else {\n break\n }\n }\n\n /* Return partition */\n return [prev, next]\n }, [[], [...index]]),\n distinctUntilChanged((a, b) => (\n a[0] === b[0] &&\n a[1] === b[1]\n ))\n )\n )\n )\n\n /* Compute and return anchor list migrations */\n return partition$\n .pipe(\n map(([prev, next]) => ({\n prev: prev.map(([path]) => path),\n next: next.map(([path]) => path)\n })),\n\n /* Extract anchor list migrations */\n startWith({ prev: [], next: [] }),\n bufferCount(2, 1),\n map(([a, b]) => {\n\n /* Moving down */\n if (a.prev.length < b.prev.length) {\n return {\n prev: b.prev.slice(Math.max(0, a.prev.length - 1), b.prev.length),\n next: []\n }\n\n /* Moving up */\n } else {\n return {\n prev: b.prev.slice(-1),\n next: b.next.slice(0, b.next.length - a.next.length)\n }\n }\n })\n )\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Mount table of contents\n *\n * @param el - Anchor list element\n * @param options - Options\n *\n * @returns Table of contents component observable\n */\nexport function mountTableOfContents(\n el: HTMLElement, options: MountOptions\n): Observable> {\n const internal$ = new Subject()\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n )\n .subscribe(({ prev, next }) => {\n\n /* Look forward */\n for (const [anchor] of next) {\n resetAnchorActive(anchor)\n resetAnchorState(anchor)\n }\n\n /* Look backward */\n for (const [index, [anchor]] of prev.entries()) {\n setAnchorActive(anchor, index === prev.length - 1)\n setAnchorState(anchor, \"blur\")\n }\n })\n\n /* Create and return component */\n const anchors = getElements(\"[href^=\\\\#]\", el)\n return watchTableOfContents(anchors, options)\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable } from \"rxjs\"\n\nimport { getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch options\n */\ninterface PatchOptions {\n document$: Observable /* Document observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch indeterminate checkboxes\n *\n * This function will replace the indeterminate \"pseudo state\" with the actual\n * indeterminate state, which is used to keep navigation always expanded.\n *\n * @param options - Options\n */\nexport function patchIndeterminate(\n { document$ }: PatchOptions\n): void {\n document$.subscribe(() => {\n for (const el of getElements(\n \"[data-md-state=indeterminate]\"\n )) {\n el.setAttribute(\"data-md-state\", \"\")\n el.indeterminate = true\n el.checked = false\n }\n })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, of } from \"rxjs\"\nimport {\n filter,\n mapTo,\n mergeMap,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\nimport { getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch options\n */\ninterface PatchOptions {\n document$: Observable /* Document observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Check whether the given device is an Apple device\n *\n * @returns Test result\n */\nfunction isAppleDevice(): boolean {\n return /(iPad|iPhone|iPod)/.test(navigator.userAgent)\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Patch all elements with `data-md-scrollfix` attributes\n *\n * This is a year-old patch which ensures that overflow scrolling works at the\n * top and bottom of containers on iOS by ensuring a `1px` scroll offset upon\n * the start of a touch event.\n *\n * @see https://bit.ly/2SCtAOO - Original source\n *\n * @param options - Options\n */\nexport function patchScrollfix(\n { document$ }: PatchOptions\n): void {\n document$\n .pipe(\n switchMap(() => of(...getElements(\"[data-md-scrollfix]\"))),\n tap(el => el.removeAttribute(\"data-md-scrollfix\")),\n filter(isAppleDevice),\n mergeMap(el => fromEvent(el, \"touchstart\")\n .pipe(\n mapTo(el)\n )\n )\n )\n .subscribe(el => {\n const top = el.scrollTop\n\n /* We're at the top of the container */\n if (top === 0) {\n el.scrollTop = 1\n\n /* We're at the bottom of the container */\n } else if (top + el.offsetHeight === el.scrollHeight) {\n el.scrollTop = top - 1\n }\n })\n}\n"], - "mappings": "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", - "names": [] -} diff --git a/material/assets/javascripts/worker/search.js b/material/assets/javascripts/workers/search.217ffd95.min.js similarity index 91% rename from material/assets/javascripts/worker/search.js rename to material/assets/javascripts/workers/search.217ffd95.min.js index ef8419c49..205ca252e 100644 --- a/material/assets/javascripts/worker/search.js +++ b/material/assets/javascripts/workers/search.217ffd95.min.js @@ -1,5 +1,5 @@ (()=>{var ce=Object.create,z=Object.defineProperty,le=Object.getPrototypeOf,he=Object.prototype.hasOwnProperty,de=Object.getOwnPropertyNames,fe=Object.getOwnPropertyDescriptor;var pe=t=>z(t,"__esModule",{value:!0});var H=(t,e)=>()=>(e||(e={exports:{}},t(e.exports,e)),e.exports);var ge=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of de(e))!he.call(t,n)&&n!=="default"&&z(t,n,{get:()=>e[n],enumerable:!(r=fe(e,n))||r.enumerable});return t},q=t=>t&&t.__esModule?t:ge(pe(z(t!=null?ce(le(t)):{},"default",{value:t,enumerable:!0})),t);var J=H((Y,G)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?d+=2:a==c&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof Y=="object"?G.exports=r():e.lunr=r()}(this,function(){return t})})()});var Z=H((be,X)=>{"use strict";var ye=/["'&<>]/;X.exports=ve;function ve(t){var e=""+t,r=ye.exec(e);if(!r)return e;var n,i="",s=0,o=0;for(s=r.index;s`${i}${s}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${t.separator})(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(e,"|")})`,"img");return s=>s.replace(i,r).replace(/<\/mark>(\s+)]*>/img,"$1")}}function re(t){let e=new lunr.Query(["title","text"]);return new lunr.QueryParser(t,e).parse(),e.clauses}function ne(t,e){let r=new Set(t),n={};for(let i=0;i!n.has(i)))]}var U=class{constructor({config:e,docs:r,pipeline:n,index:i}){this.documents=ee(r),this.highlight=te(e),lunr.tokenizer.separator=new RegExp(e.separator),typeof i=="undefined"?this.index=lunr(function(){e.lang.length===1&&e.lang[0]!=="en"?this.use(lunr[e.lang[0]]):e.lang.length>1&&this.use(lunr.multiLanguage(...e.lang));let s=me(["trimmer","stopWordFilter","stemmer"],n);for(let o of e.lang.map(a=>a==="en"?lunr:lunr[a]))for(let a of s)this.pipeline.remove(o[a]),this.searchPipeline.remove(o[a]);this.field("title",{boost:1e3}),this.field("text"),this.ref("location");for(let o of r)this.add(o)}):this.index=lunr.Index.load(i)}search(e){if(e)try{let r=this.highlight(e),n=re(e).filter(s=>s.presence!==lunr.Query.presence.PROHIBITED);return[...this.index.search(`${e}*`).reduce((s,{ref:o,score:a,matchData:c})=>{let u=this.documents.get(o);if(typeof u!="undefined"){let{location:d,title:y,text:p,parent:b}=u,v=ne(n,Object.keys(c.metadata)),Q=+!b+ +Object.values(v).every(f=>f);s.push({location:d,title:r(y),text:r(p),score:a*(1+Q),terms:v})}return s},[]).sort((s,o)=>o.score-s.score).reduce((s,o)=>{let a=this.documents.get(o.location);if(typeof a!="undefined"){let c="parent"in a?a.parent.location:a.location;s.set(c,[...s.get(c)||[],o])}return s},new Map).values()]}catch{console.warn(`Invalid query: ${e} \u2013 see https://bit.ly/2s3ChXG`)}return[]}};var R;(function(t){t[t.SETUP=0]="SETUP",t[t.READY=1]="READY",t[t.QUERY=2]="QUERY",t[t.RESULT=3]="RESULT"})(R||(R={}));var W;async function xe(t){let e="../lunr";if(typeof parent!="undefined"&&"IFrameWorker"in parent){let n=document.querySelector("script[src]"),[i]=n.src.split("/worker");e=e.replace("..",i)}let r=[];for(let n of t.lang)n==="ja"&&r.push(`${e}/tinyseg.js`),n!=="en"&&r.push(`${e}/min/lunr.${n}.min.js`);t.lang.length>1&&r.push(`${e}/min/lunr.multi.min.js`),r.length&&await importScripts(`${e}/min/lunr.stemmer.support.min.js`,...r)}async function Se(t){switch(t.type){case R.SETUP:return await xe(t.data.config),W=new U(t.data),{type:R.READY};case R.QUERY:return{type:R.RESULT,data:W?W.search(t.data):[]};default:throw new TypeError("Invalid message type")}}self.lunr=ie.default;addEventListener("message",async t=>{postMessage(await Se(t.data))});})(); +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?d+=2:a==c&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof Y=="object"?G.exports=r():e.lunr=r()}(this,function(){return t})})()});var Z=H((be,X)=>{"use strict";var ye=/["'&<>]/;X.exports=me;function me(t){var e=""+t,r=ye.exec(e);if(!r)return e;var n,i="",s=0,o=0;for(s=r.index;s`${i}${s}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${t.separator})(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(e,"|")})`,"img");return s=>s.replace(i,r).replace(/<\/mark>(\s+)]*>/img,"$1")}}function re(t){let e=new lunr.Query(["title","text"]);return new lunr.QueryParser(t,e).parse(),e.clauses}function ne(t,e){let r=new Set(t),n={};for(let i=0;i!n.has(i)))]}var U=class{constructor({config:e,docs:r,pipeline:n,index:i}){this.documents=ee(r),this.highlight=te(e),lunr.tokenizer.separator=new RegExp(e.separator),typeof i=="undefined"?this.index=lunr(function(){e.lang.length===1&&e.lang[0]!=="en"?this.use(lunr[e.lang[0]]):e.lang.length>1&&this.use(lunr.multiLanguage(...e.lang));let s=ve(["trimmer","stopWordFilter","stemmer"],n);for(let o of e.lang.map(a=>a==="en"?lunr:lunr[a]))for(let a of s)this.pipeline.remove(o[a]),this.searchPipeline.remove(o[a]);this.field("title",{boost:1e3}),this.field("text"),this.ref("location");for(let o of r)this.add(o)}):this.index=lunr.Index.load(i)}search(e){if(e)try{let r=this.highlight(e),n=re(e).filter(s=>s.presence!==lunr.Query.presence.PROHIBITED);return[...this.index.search(`${e}*`).reduce((s,{ref:o,score:a,matchData:c})=>{let u=this.documents.get(o);if(typeof u!="undefined"){let{location:d,title:y,text:p,parent:b}=u,m=ne(n,Object.keys(c.metadata)),Q=+!b+ +Object.values(m).every(f=>f);s.push({location:d,title:r(y),text:r(p),score:a*(1+Q),terms:m})}return s},[]).sort((s,o)=>o.score-s.score).reduce((s,o)=>{let a=this.documents.get(o.location);if(typeof a!="undefined"){let c="parent"in a?a.parent.location:a.location;s.set(c,[...s.get(c)||[],o])}return s},new Map).values()]}catch{console.warn(`Invalid query: ${e} \u2013 see https://bit.ly/2s3ChXG`)}return[]}};var R;(function(t){t[t.SETUP=0]="SETUP",t[t.READY=1]="READY",t[t.QUERY=2]="QUERY",t[t.RESULT=3]="RESULT"})(R||(R={}));var W;async function xe(t){let e="../lunr";if(typeof parent!="undefined"&&"IFrameWorker"in parent){let n=document.querySelector("script[src]"),[i]=n.src.split("/worker");e=e.replace("..",i)}let r=[];for(let n of t.lang)n==="ja"&&r.push(`${e}/tinyseg.js`),n!=="en"&&r.push(`${e}/min/lunr.${n}.min.js`);t.lang.length>1&&r.push(`${e}/min/lunr.multi.min.js`),r.length&&await importScripts(`${e}/min/lunr.stemmer.support.min.js`,...r)}async function Se(t){switch(t.type){case R.SETUP:return await xe(t.data.config),W=new U(t.data),{type:R.READY};case R.QUERY:return{type:R.RESULT,data:W?W.search(t.data):[]};default:throw new TypeError("Invalid message type")}}self.lunr=ie.default;addEventListener("message",async t=>{postMessage(await Se(t.data))});})(); /*! * escape-html * Copyright(c) 2012-2013 TJ Holowaychuk @@ -57,4 +57,5 @@ * Copyright (C) 2020 Oliver Nightingale * @license MIT */ -//# sourceMappingURL=search.js.map +//# sourceMappingURL=search.217ffd95.min.js + diff --git a/material/assets/javascripts/worker/search.js.map b/material/assets/javascripts/workers/search.217ffd95.min.js.map similarity index 99% rename from material/assets/javascripts/worker/search.js.map rename to material/assets/javascripts/workers/search.217ffd95.min.js.map index 338011ef3..b9878c07a 100644 --- a/material/assets/javascripts/worker/search.js.map +++ b/material/assets/javascripts/workers/search.217ffd95.min.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/lunr/lunr.js", "../../../../node_modules/escape-html/index.js", "../../../../src/assets/javascripts/integrations/search/worker/main/index.ts", "../../../../src/assets/javascripts/integrations/search/document/index.ts", "../../../../src/assets/javascripts/integrations/search/highlighter/index.ts", "../../../../src/assets/javascripts/integrations/search/query/_/index.ts", "../../../../src/assets/javascripts/integrations/search/_/index.ts", "../../../../src/assets/javascripts/integrations/search/worker/message/index.ts"], + "sources": ["node_modules/lunr/lunr.js", "node_modules/escape-html/index.js", "src/assets/javascripts/integrations/search/worker/main/index.ts", "src/assets/javascripts/integrations/search/document/index.ts", "src/assets/javascripts/integrations/search/highlighter/index.ts", "src/assets/javascripts/integrations/search/query/_/index.ts", "src/assets/javascripts/integrations/search/_/index.ts", "src/assets/javascripts/integrations/search/worker/message/index.ts"], "sourcesContent": ["/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.9\"\n/*!\n * lunr.utils\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function () {\n return this\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2020 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example Simple single term query\n * hello\n * @example Multiple term query\n * hello world\n * @example term scoped to a field\n * title:hello\n * @example term with a boost of 10\n * hello^10\n * @example term with an edit distance of 2\n * hello~2\n * @example terms with presence modifiers\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.empty\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example Extracting a nested field\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with trailing wildcard\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example query term with leading and trailing wildcard\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with required presence\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example adding a single term to a query\n * query.term(\"foo\")\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like enviroments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n root.lunr = factory()\n }\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport lunr from \"lunr\"\n\nimport { Search, SearchIndexConfig } from \"../../_\"\nimport {\n SearchMessage,\n SearchMessageType\n} from \"../message\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Add support for usage with `iframe-worker` polyfill\n *\n * While `importScripts` is synchronous when executed inside of a web worker,\n * it's not possible to provide a synchronous polyfilled implementation. The\n * cool thing is that awaiting a non-Promise is a noop, so extending the type\n * definition to return a `Promise` shouldn't break anything.\n *\n * @see https://bit.ly/2PjDnXi - GitHub comment\n */\ndeclare global {\n function importScripts(...urls: string[]): Promise | void\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Search index\n */\nlet index: Search\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch (= import) multi-language support through `lunr-languages`\n *\n * This function will automatically import the stemmers necessary to process\n * the languages which were given through the search index configuration.\n *\n * If the worker runs inside of an `iframe` (when using `iframe-worker` as\n * a shim), the base URL for the stemmers to be loaded must be determined by\n * searching for the first `script` element with a `src` attribute, which will\n * contain the contents of this script.\n *\n * @param config - Search index configuration\n *\n * @returns Promise resolving with no result\n */\nasync function setupSearchLanguages(\n config: SearchIndexConfig\n): Promise {\n let base = \"../lunr\"\n\n /* Detect `iframe-worker` and fix base URL */\n if (typeof parent !== \"undefined\" && \"IFrameWorker\" in parent) {\n const worker = document.querySelector(\"script[src]\")!\n const [path] = worker.src.split(\"/worker\")\n\n /* Prefix base with path */\n base = base.replace(\"..\", path)\n }\n\n /* Add scripts for languages */\n const scripts = []\n for (const lang of config.lang) {\n if (lang === \"ja\") scripts.push(`${base}/tinyseg.js`)\n if (lang !== \"en\") scripts.push(`${base}/min/lunr.${lang}.min.js`)\n }\n\n /* Add multi-language support */\n if (config.lang.length > 1)\n scripts.push(`${base}/min/lunr.multi.min.js`)\n\n /* Load scripts synchronously */\n if (scripts.length)\n await importScripts(\n `${base}/min/lunr.stemmer.support.min.js`,\n ...scripts\n )\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Message handler\n *\n * @param message - Source message\n *\n * @returns Target message\n */\nexport async function handler(\n message: SearchMessage\n): Promise {\n switch (message.type) {\n\n /* Search setup message */\n case SearchMessageType.SETUP:\n await setupSearchLanguages(message.data.config)\n index = new Search(message.data)\n return {\n type: SearchMessageType.READY\n }\n\n /* Search query message */\n case SearchMessageType.QUERY:\n return {\n type: SearchMessageType.RESULT,\n data: index ? index.search(message.data) : []\n }\n\n /* All other messages */\n default:\n throw new TypeError(\"Invalid message type\")\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Worker\n * ------------------------------------------------------------------------- */\n\n/* @ts-ignore - expose Lunr.js in global scope, or stemmers will not work */\nself.lunr = lunr\n\n/* Handle messages */\naddEventListener(\"message\", async ev => {\n postMessage(await handler(ev.data))\n})\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport escapeHTML from \"escape-html\"\n\nimport { SearchIndexDocument } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search document\n */\nexport interface SearchDocument extends SearchIndexDocument {\n parent?: SearchIndexDocument /* Parent article */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search document mapping\n */\nexport type SearchDocumentMap = Map\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Create a search document mapping\n *\n * @param docs - Search index documents\n *\n * @returns Search document map\n */\nexport function setupSearchDocumentMap(\n docs: SearchIndexDocument[]\n): SearchDocumentMap {\n const documents = new Map()\n const parents = new Set()\n for (const doc of docs) {\n const [path, hash] = doc.location.split(\"#\")\n\n /* Extract location and title */\n const location = doc.location\n const title = doc.title\n\n /* Escape and cleanup text */\n const text = escapeHTML(doc.text)\n .replace(/\\s+(?=[,.:;!?])/g, \"\")\n .replace(/\\s+/g, \" \")\n\n /* Handle section */\n if (hash) {\n const parent = documents.get(path)!\n\n /* Ignore first section, override article */\n if (!parents.has(parent)) {\n parent.title = doc.title\n parent.text = text\n\n /* Remember that we processed the article */\n parents.add(parent)\n\n /* Add subsequent section */\n } else {\n documents.set(location, {\n location,\n title,\n text,\n parent\n })\n }\n\n /* Add article */\n } else {\n documents.set(location, {\n location,\n title,\n text\n })\n }\n }\n return documents\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndexConfig } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search highlight function\n *\n * @param value - Value\n *\n * @returns Highlighted value\n */\nexport type SearchHighlightFn = (value: string) => string\n\n/**\n * Search highlight factory function\n *\n * @param query - Query value\n *\n * @returns Search highlight function\n */\nexport type SearchHighlightFactoryFn = (query: string) => SearchHighlightFn\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Create a search highlighter\n *\n * @param config - Search index configuration\n *\n * @returns Search highlight factory function\n */\nexport function setupSearchHighlighter(\n config: SearchIndexConfig\n): SearchHighlightFactoryFn {\n const separator = new RegExp(config.separator, \"img\")\n const highlight = (_: unknown, data: string, term: string) => {\n return `${data}${term}`\n }\n\n /* Return factory function */\n return (query: string) => {\n query = query\n .replace(/[\\s*+\\-:~^]+/g, \" \")\n .trim()\n\n /* Create search term match expression */\n const match = new RegExp(`(^|${config.separator})(${\n query\n .replace(/[|\\\\{}()[\\]^$+*?.-]/g, \"\\\\$&\")\n .replace(separator, \"|\")\n })`, \"img\")\n\n /* Highlight string value */\n return value => value\n .replace(match, highlight)\n .replace(/<\\/mark>(\\s+)]*>/img, \"$1\")\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search query clause\n */\nexport interface SearchQueryClause {\n presence: lunr.Query.presence /* Clause presence */\n term: string /* Clause term */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search query terms\n */\nexport type SearchQueryTerms = Record\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Parse a search query for analysis\n *\n * @param value - Query value\n *\n * @returns Search query clauses\n */\nexport function parseSearchQuery(\n value: string\n): SearchQueryClause[] {\n const query = new (lunr as any).Query([\"title\", \"text\"])\n const parser = new (lunr as any).QueryParser(value, query)\n\n /* Parse and return query clauses */\n parser.parse()\n return query.clauses\n}\n\n/**\n * Analyze the search query clauses in regard to the search terms found\n *\n * @param query - Search query clauses\n * @param terms - Search terms\n *\n * @returns Search query terms\n */\nexport function getSearchQueryTerms(\n query: SearchQueryClause[], terms: string[]\n): SearchQueryTerms {\n const clauses = new Set(query)\n\n /* Match query clauses against terms */\n const result: SearchQueryTerms = {}\n for (let t = 0; t < terms.length; t++)\n for (const clause of clauses)\n if (terms[t].startsWith(clause.term)) {\n result[clause.term] = true\n clauses.delete(clause)\n }\n\n /* Annotate unmatched query clauses */\n for (const clause of clauses)\n result[clause.term] = false\n\n /* Return query terms */\n return result\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n SearchDocument,\n SearchDocumentMap,\n setupSearchDocumentMap\n} from \"../document\"\nimport {\n SearchHighlightFactoryFn,\n setupSearchHighlighter\n} from \"../highlighter\"\nimport {\n SearchQueryTerms,\n getSearchQueryTerms,\n parseSearchQuery\n} from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search index configuration\n */\nexport interface SearchIndexConfig {\n lang: string[] /* Search languages */\n separator: string /* Search separator */\n}\n\n/**\n * Search index document\n */\nexport interface SearchIndexDocument {\n location: string /* Document location */\n title: string /* Document title */\n text: string /* Document text */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search index pipeline function\n */\nexport type SearchIndexPipelineFn =\n | \"trimmer\" /* Trimmer */\n | \"stopWordFilter\" /* Stop word filter */\n | \"stemmer\" /* Stemmer */\n\n/**\n * Search index pipeline\n */\nexport type SearchIndexPipeline = SearchIndexPipelineFn[]\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search index\n *\n * This interfaces describes the format of the `search_index.json` file which\n * is automatically built by the MkDocs search plugin.\n */\nexport interface SearchIndex {\n config: SearchIndexConfig /* Search index configuration */\n docs: SearchIndexDocument[] /* Search index documents */\n index?: object /* Prebuilt index */\n pipeline?: SearchIndexPipeline /* Search index pipeline */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search metadata\n */\nexport interface SearchMetadata {\n score: number /* Score (relevance) */\n terms: SearchQueryTerms /* Search query terms */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Search result\n */\nexport type SearchResult = Array\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Compute the difference of two lists of strings\n *\n * @param a - 1st list of strings\n * @param b - 2nd list of strings\n *\n * @returns Difference\n */\nfunction difference(a: string[], b: string[]): string[] {\n const [x, y] = [new Set(a), new Set(b)]\n return [\n ...new Set([...x].filter(value => !y.has(value)))\n ]\n}\n\n/* ----------------------------------------------------------------------------\n * Class\n * ------------------------------------------------------------------------- */\n\n/**\n * Search index\n */\nexport class Search {\n\n /**\n * Search document mapping\n *\n * A mapping of URLs (including hash fragments) to the actual articles and\n * sections of the documentation. The search document mapping must be created\n * regardless of whether the index was prebuilt or not, as Lunr.js itself\n * only stores the actual index.\n */\n protected documents: SearchDocumentMap\n\n /**\n * Search highlight factory function\n */\n protected highlight: SearchHighlightFactoryFn\n\n /**\n * The underlying Lunr.js search index\n */\n protected index: lunr.Index\n\n /**\n * Create the search integration\n *\n * @param data - Search index\n */\n public constructor({ config, docs, pipeline, index }: SearchIndex) {\n this.documents = setupSearchDocumentMap(docs)\n this.highlight = setupSearchHighlighter(config)\n\n /* Set separator for tokenizer */\n lunr.tokenizer.separator = new RegExp(config.separator)\n\n /* If no index was given, create it */\n if (typeof index === \"undefined\") {\n this.index = lunr(function () {\n\n /* Set up multi-language support */\n if (config.lang.length === 1 && config.lang[0] !== \"en\") {\n this.use((lunr as any)[config.lang[0]])\n } else if (config.lang.length > 1) {\n this.use((lunr as any).multiLanguage(...config.lang))\n }\n\n /* Compute functions to be removed from the pipeline */\n const fns = difference([\n \"trimmer\", \"stopWordFilter\", \"stemmer\"\n ], pipeline!)\n\n /* Remove functions from the pipeline for registered languages */\n for (const lang of config.lang.map(language => (\n language === \"en\" ? lunr : (lunr as any)[language]\n ))) {\n for (const fn of fns) {\n this.pipeline.remove(lang[fn])\n this.searchPipeline.remove(lang[fn])\n }\n }\n\n /* Set up fields and reference */\n this.field(\"title\", { boost: 1000 })\n this.field(\"text\")\n this.ref(\"location\")\n\n /* Index documents */\n for (const doc of docs)\n this.add(doc)\n })\n\n /* Handle prebuilt index */\n } else {\n this.index = lunr.Index.load(index)\n }\n }\n\n /**\n * Search for matching documents\n *\n * The search index which MkDocs provides is divided up into articles, which\n * contain the whole content of the individual pages, and sections, which only\n * contain the contents of the subsections obtained by breaking the individual\n * pages up at `h1` ... `h6`. As there may be many sections on different pages\n * with identical titles (for example within this very project, e.g. \"Usage\"\n * or \"Installation\"), they need to be put into the context of the containing\n * page. For this reason, section results are grouped within their respective\n * articles which are the top-level results that are returned.\n *\n * @param query - Query value\n *\n * @returns Search results\n */\n public search(query: string): SearchResult[] {\n if (query) {\n try {\n const highlight = this.highlight(query)\n\n /* Parse query to extract clauses for analysis */\n const clauses = parseSearchQuery(query)\n .filter(clause => (\n clause.presence !== lunr.Query.presence.PROHIBITED\n ))\n\n /* Perform search and post-process results */\n const groups = this.index.search(`${query}*`)\n\n /* Apply post-query boosts based on title and search query terms */\n .reduce((results, { ref, score, matchData }) => {\n const document = this.documents.get(ref)\n if (typeof document !== \"undefined\") {\n const { location, title, text, parent } = document\n\n /* Compute and analyze search query terms */\n const terms = getSearchQueryTerms(\n clauses,\n Object.keys(matchData.metadata)\n )\n\n /* Highlight title and text and apply post-query boosts */\n const boost = +!parent + +Object.values(terms).every(t => t)\n results.push({\n location,\n title: highlight(title),\n text: highlight(text),\n score: score * (1 + boost),\n terms\n })\n }\n return results\n }, [])\n\n /* Sort search results again after applying boosts */\n .sort((a, b) => b.score - a.score)\n\n /* Group search results by page */\n .reduce((results, result) => {\n const document = this.documents.get(result.location)\n if (typeof document !== \"undefined\") {\n const ref = \"parent\" in document\n ? document.parent!.location\n : document.location\n results.set(ref, [...results.get(ref) || [], result])\n }\n return results\n }, new Map())\n\n /* Expand grouped search results */\n return [...groups.values()]\n\n /* Log errors to console (for now) */\n } catch {\n console.warn(`Invalid query: ${query} \u2013 see https://bit.ly/2s3ChXG`)\n }\n }\n\n /* Return nothing in case of error or empty query */\n return []\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 RTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { SearchIndex, SearchResult } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Search message type\n */\nexport const enum SearchMessageType {\n SETUP, /* Search index setup */\n READY, /* Search index ready */\n QUERY, /* Search query */\n RESULT /* Search results */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message containing the data necessary to setup the search index\n */\nexport interface SearchSetupMessage {\n type: SearchMessageType.SETUP /* Message type */\n data: SearchIndex /* Message data */\n}\n\n/**\n * A message indicating the search index is ready\n */\nexport interface SearchReadyMessage {\n type: SearchMessageType.READY /* Message type */\n}\n\n/**\n * A message containing a search query\n */\nexport interface SearchQueryMessage {\n type: SearchMessageType.QUERY /* Message type */\n data: string /* Message data */\n}\n\n/**\n * A message containing results for a search query\n */\nexport interface SearchResultMessage {\n type: SearchMessageType.RESULT /* Message type */\n data: SearchResult[] /* Message data */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * A message exchanged with the search worker\n */\nexport type SearchMessage =\n | SearchSetupMessage\n | SearchReadyMessage\n | SearchQueryMessage\n | SearchResultMessage\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Type guard for search setup messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchSetupMessage(\n message: SearchMessage\n): message is SearchSetupMessage {\n return message.type === SearchMessageType.SETUP\n}\n\n/**\n * Type guard for search ready messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchReadyMessage(\n message: SearchMessage\n): message is SearchReadyMessage {\n return message.type === SearchMessageType.READY\n}\n\n/**\n * Type guard for search query messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchQueryMessage(\n message: SearchMessage\n): message is SearchQueryMessage {\n return message.type === SearchMessageType.QUERY\n}\n\n/**\n * Type guard for search result messages\n *\n * @param message - Search worker message\n *\n * @returns Test result\n */\nexport function isSearchResultMessage(\n message: SearchMessage\n): message is SearchResultMessage {\n return message.type === SearchMessageType.RESULT\n}\n"], "mappings": "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L,EAAI,EAAE,QAAQ,EAAG,KAKf,GAAW,KACb,GAAI,EAAQ,cAAgB,EAAE,OAAO,IAGhC,GAGT,MAAO,UAAU,GACf,MAAO,GAAM,OAAO,OAIxB,EAAK,SAAS,iBAAiB,EAAK,QAAS,WAC7C,AAkBA,EAAK,uBAAyB,SAAU,GACtC,GAAI,GAAQ,EAAU,OAAO,SAAU,EAAM,GAC3C,SAAK,GAAY,EACV,GACN,IAEH,MAAO,UAAU,GACf,GAAI,GAAS,EAAM,EAAM,cAAgB,EAAM,WAAY,MAAO,KAiBtE,EAAK,eAAiB,EAAK,uBAAuB,CAChD,IACA,OACA,QACA,SACA,QACA,MACA,SACA,OACA,KACA,QACA,KACA,MACA,MACA,MACA,KACA,KACA,KACA,UACA,OACA,MACA,KACA,MACA,SACA,QACA,OACA,MACA,KACA,OACA,SACA,OACA,OACA,QACA,MACA,OACA,MACA,MACA,MACA,MACA,OACA,KACA,MACA,OACA,MACA,MACA,MACA,UACA,IACA,KACA,KACA,OACA,KACA,KACA,MACA,OACA,QACA,MACA,OACA,SACA,MACA,KACA,QACA,OACA,OACA,KACA,UACA,KACA,MACA,MACA,KACA,MACA,QACA,KACA,OACA,KACA,QACA,MACA,MACA,SACA,OACA,MACA,OACA,MACA,SACA,QACA,KACA,OACA,OACA,OACA,MACA,QACA,OACA,OACA,QACA,QACA,OACA,OACA,MACA,KACA,MACA,OACA,KACA,QACA,MACA,KACA,OACA,OACA,OACA,QACA,QACA,QACA,MACA,OACA,MACA,OACA,OACA,QACA,MACA,MACA,SAGF,EAAK,SAAS,iBAAiB,EAAK,eAAgB,kBACpD,AAoBA,EAAK,QAAU,SAAU,GACvB,MAAO,GAAM,OAAO,SAAU,GAC5B,MAAO,GAAE,QAAQ,OAAQ,IAAI,QAAQ,OAAQ,OAIjD,EAAK,SAAS,iBAAiB,EAAK,QAAS,WAC7C,AA0BA,EAAK,SAAW,WACd,KAAK,MAAQ,GACb,KAAK,MAAQ,GACb,KAAK,GAAK,EAAK,SAAS,QACxB,EAAK,SAAS,SAAW,GAW3B,EAAK,SAAS,QAAU,EASxB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", "names": [] diff --git a/material/assets/stylesheets/main.a361390f.min.css b/material/assets/stylesheets/main.a361390f.min.css new file mode 100644 index 000000000..5c68dde46 --- /dev/null +++ b/material/assets/stylesheets/main.a361390f.min.css @@ -0,0 +1,2 @@ +@charset "UTF-8";html{box-sizing:border-box;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}*,:after,:before{box-sizing:inherit}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{display:block;box-sizing:initial;height:.05rem;padding:0;overflow:visible;border:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:none}:root{--md-default-fg-color:rgba(0,0,0,0.87);--md-default-fg-color--light:rgba(0,0,0,0.54);--md-default-fg-color--lighter:rgba(0,0,0,0.32);--md-default-fg-color--lightest:rgba(0,0,0,0.07);--md-default-bg-color:#fff;--md-default-bg-color--light:hsla(0,0%,100%,0.7);--md-default-bg-color--lighter:hsla(0,0%,100%,0.3);--md-default-bg-color--lightest:hsla(0,0%,100%,0.12);--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7);--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:rgba(83,108,254,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}:root>*{--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-hl-color:rgba(255,255,0,0.5);--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-mark-color:rgba(255,255,0,0.5);--md-typeset-del-color:rgba(245,80,61,0.15);--md-typeset-ins-color:rgba(11,213,112,0.15);--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-footer-fg-color:#fff;--md-footer-fg-color--light:hsla(0,0%,100%,0.7);--md-footer-fg-color--lighter:hsla(0,0%,100%,0.3);--md-footer-bg-color:rgba(0,0,0,0.87);--md-footer-bg-color--dark:rgba(0,0,0,0.32)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{font-feature-settings:"kern","liga";font-family:var(--md-text-font-family,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}body,code,input,kbd,pre{color:var(--md-typeset-color)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family,_),SFMono-Regular,Consolas,Menlo,monospace}:root{--md-typeset-table--ascending:url("data:image/svg+xml;charset=utf-8,");--md-typeset-table--descending:url("data:image/svg+xml;charset=utf-8,")}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset ol,.md-typeset p,.md-typeset ul{margin:1em 0}.md-typeset h1{margin:0 0 1.25em;color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{margin:1.6em 0 .64em;font-size:1.5625em;line-height:1.4}.md-typeset h3{margin:1.6em 0 .8em;font-weight:400;font-size:1.25em;line-height:1.5;letter-spacing:-.01em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{margin:1em 0;font-weight:700;letter-spacing:-.01em}.md-typeset h5,.md-typeset h6{margin:1.25em 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.8em;letter-spacing:-.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset code:not(.focus-visible){outline:none;-webkit-tap-highlight-color:transparent}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:initial;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.7720588235em 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width:44.9375em){.md-typeset>pre{margin:1em -.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;color:var(--md-default-fg-color);font-size:.75em;vertical-align:text-top;word-break:break-word;background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset}.md-typeset mark{color:inherit;word-break:break-word;background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}@media (hover:none){.md-typeset abbr{position:relative}.md-typeset abbr[title]:focus:after,.md-typeset abbr[title]:hover:after{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:absolute;left:0;display:inline-block;width:auto;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;max-width:80%;margin-top:2em;padding:.2rem .3rem;color:var(--md-default-bg-color);font-size:.7rem;background-color:var(--md-default-fg-color);border-radius:.1rem;content:attr(title)}}.md-typeset small{opacity:.75}.md-typeset sub,.md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em;margin-left:0}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:0;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ol,.md-typeset ul{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em;margin-left:0}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em;margin-left:0}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em;margin-left:0}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:0}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset img[align=left],.md-typeset svg[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right],.md-typeset svg[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child,.md-typeset svg[align]:only-child{margin-top:0}.md-typeset figure{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto;text-align:center}.md-typeset figure img{display:block}.md-typeset figcaption{max-width:24rem;margin:1em auto 2em;font-style:italic}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.9375em 1.25em;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.9375em 1.25em;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}.md-typeset table th[role=columnheader]:after{display:inline-block;width:1.2em;height:1.2em;margin-left:.5em;vertical-align:sub;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:currentColor;-webkit-mask-image:var(--md-typeset-table--ascending);mask-image:var(--md-typeset-table--ascending)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:currentColor;-webkit-mask-image:var(--md-typeset-table--descending);mask-image:var(--md-typeset-table--descending)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media print{body{display:block}}@media screen and (max-width:59.9375em){body[data-md-state=lock]{position:fixed}}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-footer-bg-color)}@media print{.md-announce{display:none}}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-footer-fg-color);font-size:.7rem}:root{--md-clipboard-icon:url("data:image/svg+xml;charset=utf-8,")}.md-clipboard{position:absolute;top:.5em;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color .25s}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){outline:none;-webkit-tap-highlight-color:transparent}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{display:block;width:1.125em;height:1.125em;margin:0 auto;background-color:currentColor;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{color:var(--md-accent-fg-color);background-color:var(--md-accent-fg-color--transparent)}.md-content{flex-grow:1;overflow:hidden;scroll-padding-top:51.2rem}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){.md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem;margin-left:.8rem}.md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-right:.8rem;margin-left:1.2rem}}.md-content__inner:before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0 .4rem .4rem;padding:0}@media print{.md-content__button{display:none}}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:0}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:auto;z-index:2;min-width:11.1rem;padding:.4rem .6rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms .4s,opacity .4s;pointer-events:none}@media print{.md-dialog{display:none}}[dir=rtl] .md-dialog{right:auto;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s;pointer-events:auto}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .md-input{height:1.8rem;padding:0 .6rem;font-size:.8rem;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 .025rem .05rem rgba(0,0,0,.1);transition:box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{box-shadow:0 .4rem 1rem rgba(0,0,0,.15),0 .025rem .05rem rgba(0,0,0,.15)}.md-typeset .md-input--stretch{width:100%}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem transparent,0 .2rem .4rem transparent;transition:color .25s,background-color .25s}@media print{.md-header{display:none}}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.1,.7,.1,1),color .25s,background-color .25s,box-shadow .25s}.md-header[data-md-state=hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),color .25s,background-color .25s,box-shadow .25s}.md-header-nav{display:flex;align-items:center;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:inline-block;margin:.2rem;padding:.4rem;color:currentColor;vertical-align:middle;cursor:pointer;transition:opacity .25s}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button:not(.focus-visible){outline:none}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.1875em){.md-header-nav__button.md-logo{display:none}}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}@media screen and (min-width:60em){.md-header-nav__button[for=__search]{display:none}}.no-js .md-header-nav__button[for=__search]{display:none}[dir=rtl] .md-header-nav__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;display:flex;max-width:100%;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.md-header-nav__title{flex-grow:1;height:2.4rem;margin-right:.4rem;margin-left:1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;pointer-events:auto}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width:60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:0}}@media screen and (min-width:76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity .25s}@media screen and (min-width:45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left}@media screen and (max-width:44.9375em){.md-footer-nav__link--prev{width:25%}.md-footer-nav__link--prev .md-footer-nav__title{display:none}}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}.md-footer-nav__link--next{float:right;text-align:right}@media screen and (max-width:44.9375em){.md-footer-nav__link--next{width:75%}}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width:45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link:before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}:root{--md-nav-icon--prev:url("data:image/svg+xml;charset=utf-8,");--md-nav-icon--next:url("data:image/svg+xml;charset=utf-8,");--md-toc-icon:url("data:image/svg+xml;charset=utf-8,")}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:auto;height:100%}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem;fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active{color:var(--md-typeset-a-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{display:block;width:100%;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);background-color:currentColor}.md-nav--primary .md-nav__link[for=__toc]~.md-nav,.md-nav__source{display:none}@media screen and (max-width:76.1875em){.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%;background-color:var(--md-default-bg-color)}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:auto}.md-nav--primary .md-nav__title .md-nav__icon:after{display:block;width:100%;height:100%;background-color:currentColor;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title .md-logo{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-logo{right:.2rem;left:auto}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;width:1.2rem;height:1.2rem;margin-top:-.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:auto;left:.6rem}.md-nav--primary .md-nav__link .md-nav__icon:after{display:block;width:100%;height:100%;background-color:currentColor;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:0}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.9375em){.md-nav--primary .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__link[for=__toc]{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-nav--integrated .md-nav__link[for=__toc]{display:block;padding-right:2.4rem;scroll-snap-align:none}[dir=rtl] .md-nav--integrated .md-nav__link[for=__toc]{padding-right:.8rem;padding-left:2.4rem}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width:76.25em){.md-nav{transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon,.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav,.md-nav__toggle:indeterminate~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{display:none}.md-nav__item--section>.md-nav{display:block}.md-nav__item--section>.md-nav>.md-nav__title{display:block;padding:0;pointer-events:none;scroll-snap-align:start}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{float:right;width:.9rem;height:.9rem;transition:transform .25s}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon:after{display:inline-block;width:100%;height:100%;vertical-align:-.1rem;background-color:currentColor;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon,.md-nav__item--nested .md-nav__toggle:indeterminate~.md-nav__link .md-nav__icon{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__list>.md-nav__item--nested,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav>.md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav__item{padding-right:.6rem}.md-nav--lifted .md-nav[data-md-level="1"]{display:block}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:block;margin-bottom:1.25em;border-left:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav>.md-nav__title{display:none}}:root{--md-search-result-icon:url("data:image/svg+xml;charset=utf-8,")}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width:59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms .25s,height 0ms .25s,opacity .25s}[dir=rtl] .md-search__overlay{right:0;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s}}@media screen and (max-width:29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms .3s,left 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:auto}html [dir=rtl] .md-search__inner{right:100%;left:auto;transform:translateX(-5%)}}@media screen and (min-width:60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width .25s cubic-bezier(.1,.7,.1,1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width:60em) and (max-width:76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width:60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem transparent;transition:color .25s,background-color .25s,box-shadow .25s}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color .25s;transition:color .25s}.md-search__input::-moz-placeholder{-moz-transition:color .25s;transition:color .25s}.md-search__input::-ms-input-placeholder{-ms-transition:color .25s;transition:color .25s}.md-search__input::placeholder{transition:color .25s}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}[data-md-toggle=search]:checked~.md-header .md-search__input{box-shadow:0 0 .6rem rgba(0,0,0,.07)}@media screen and (max-width:59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width:60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:hsla(0,0%,100%,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color .25s,opacity .25s}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:auto}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:auto}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(.75);opacity:0;transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:auto;left:.5rem}@media screen and (max-width:59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:auto;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:auto}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width:59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width:60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1), (max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width:60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:0}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;transition:background-color .25s;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more summary{display:block;padding:.75em .8rem;color:var(--md-typeset-a-color);font-size:.64rem;outline:0;cursor:pointer;transition:color .25s,background-color .25s;scroll-snap-align:start}@media screen and (min-width:60em){.md-search-result__more summary{padding-left:2.2rem}[dir=rtl] .md-search-result__more summary{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__more summary:focus,.md-search-result__more summary:hover{color:var(--md-accent-fg-color);background-color:var(--md-accent-fg-color--transparent)}.md-search-result__more summary::-webkit-details-marker,.md-search-result__more summary::marker{display:none}.md-search-result__more summary~*>*{opacity:.65}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width:60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;width:1.2rem;height:1.2rem;margin:.5rem;color:var(--md-default-fg-color--light)}@media screen and (max-width:59.9375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{display:inline-block;width:100%;height:100%;background-color:currentColor;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-search-result__icon{right:0;left:auto}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.6}.md-search-result__teaser{display:-webkit-box;max-height:2rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width:44.9375em){.md-search-result__teaser{max-height:3rem;-webkit-line-clamp:3}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-search-result__teaser{max-height:3rem;-webkit-line-clamp:3}}.md-search-result__teaser mark{text-decoration:underline;background-color:initial}.md-search-result__terms{margin:.5em 0;font-size:.64rem;font-style:italic}.md-search-result mark{color:var(--md-accent-fg-color);background-color:initial}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;flex-shrink:0;align-self:flex-start;width:12.1rem;padding:1.2rem 0}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;display:block;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:auto}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none;overflow:hidden}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width:76.1875em){.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s}[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s}}@-webkit-keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}to{transform:translateY(0);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}to{transform:translateY(0);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity .25s}.md-source:focus,.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:0}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:0;padding-right:2rem;padding-left:0}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done .25s ease-in;animation:md-source__facts--done .25s ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done .4s ease-out;animation:md-source__fact--done .4s ease-out}.md-source__fact:before{margin:0 .1rem;content:"·"}.md-source__fact:first-child:before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background-color .25s}@media print{.md-tabs{display:none}}@media screen and (max-width:76.1875em){.md-tabs{display:none}}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs__list{margin:0 0 0 .2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:0}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;-webkit-backface-visibility:hidden;backface-visibility:hidden;opacity:.7;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link--active,.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:transform 0ms .1s,opacity .1s}:root{--md-admonition-icon--note:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--abstract:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--info:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--tip:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--success:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--question:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--warning:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--failure:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--danger:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--bug:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--example:url("data:image/svg+xml;charset=utf-8,");--md-admonition-icon--quote:url("data:image/svg+xml;charset=utf-8,")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 .025rem .05rem rgba(0,0,0,.05)}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -.6rem 0 -.8rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1);border-left:.2rem solid #448aff}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{margin:0 -.8rem 0 -.6rem;padding:.4rem 2rem .4rem .6rem;border-right:.2rem solid #448aff;border-left:none}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title:before,.md-typeset summary:before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem;left:auto}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:initial;border-radius:initial;box-shadow:none}.md-typeset .admonition-title+.tabbed-set:last-child,.md-typeset summary+.tabbed-set:last-child{margin-top:0}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1);border-color:#448aff}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.abstract,.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.abstract,.md-typeset details.summary,.md-typeset details.tldr{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary{background-color:rgba(0,176,255,.1);border-color:#00b0ff}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before,.md-typeset .summary>.admonition-title:before,.md-typeset .summary>summary:before,.md-typeset .tldr>.admonition-title:before,.md-typeset .tldr>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1);border-color:#00b8d4}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before,.md-typeset .todo>.admonition-title:before,.md-typeset .todo>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .hint>.admonition-title,.md-typeset .hint>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:rgba(0,191,165,.1);border-color:#00bfa5}.md-typeset .hint>.admonition-title:before,.md-typeset .hint>summary:before,.md-typeset .important>.admonition-title:before,.md-typeset .important>summary:before,.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{border-color:#00c853}.md-typeset .check>.admonition-title,.md-typeset .check>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:rgba(0,200,83,.1);border-color:#00c853}.md-typeset .check>.admonition-title:before,.md-typeset .check>summary:before,.md-typeset .done>.admonition-title:before,.md-typeset .done>summary:before,.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{border-color:#64dd17}.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary,.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:rgba(100,221,23,.1);border-color:#64dd17}.md-typeset .faq>.admonition-title:before,.md-typeset .faq>summary:before,.md-typeset .help>.admonition-title:before,.md-typeset .help>summary:before,.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{border-color:#ff9100}.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary,.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:rgba(255,145,0,.1);border-color:#ff9100}.md-typeset .attention>.admonition-title:before,.md-typeset .attention>summary:before,.md-typeset .caution>.admonition-title:before,.md-typeset .caution>summary:before,.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{border-color:#ff5252}.md-typeset .fail>.admonition-title,.md-typeset .fail>summary,.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary{background-color:rgba(255,82,82,.1);border-color:#ff5252}.md-typeset .fail>.admonition-title:before,.md-typeset .fail>summary:before,.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before,.md-typeset .missing>.admonition-title:before,.md-typeset .missing>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1);border-color:#ff1744}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before,.md-typeset .error>.admonition-title:before,.md-typeset .error>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1);border-color:#f50057}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1);border-color:#651fff}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .cite>.admonition-title,.md-typeset .cite>summary,.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:hsla(0,0%,62%,.1);border-color:#9e9e9e}.md-typeset .cite>.admonition-title:before,.md-typeset .cite>summary:before,.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:root{--md-footnotes-icon:url("data:image/svg+xml;charset=utf-8,")}.md-typeset [id^="fnref:"]:target{scroll-margin-top:0;margin-top:-3.4rem;padding-top:3.4rem}.md-typeset [id^="fn:"]:target{scroll-margin-top:0;margin-top:-3.45rem;padding-top:3.45rem}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li>:first-child{margin-top:0}.md-typeset .footnote-backref{display:inline-block;color:var(--md-typeset-a-color);font-size:0;vertical-align:text-bottom;transform:translateX(.25rem);opacity:0;transition:color .25s,transform .25s .25s,opacity 125ms .25s}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);transform:translateX(0);opacity:1}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;color:var(--md-default-fg-color--lighter);opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:0}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{scroll-margin-top:0}.md-typeset h1:target:before,.md-typeset h2:target:before,.md-typeset h3:target:before{display:block;margin-top:-3.4rem;padding-top:3.4rem;content:""}.md-typeset h4:target{scroll-margin-top:0}.md-typeset h4:target:before{display:block;margin-top:-3.45rem;padding-top:3.45rem;content:""}.md-typeset h5:target,.md-typeset h6:target{scroll-margin-top:0}.md-typeset h5:target:before,.md-typeset h6:target:before{display:block;margin-top:-3.6rem;padding-top:3.6rem;content:""}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.9375em){.md-typeset div.arithmatex{margin:0 -.8rem}}.md-typeset div.arithmatex>*{width:-webkit-min-content;width:-moz-min-content;width:min-content;margin:1em auto!important;padding:0 .8rem;touch-action:auto}.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url("data:image/svg+xml;charset=utf-8,")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0;box-shadow:none}.md-typeset details:not([open])>summary{border-radius:.1rem}.md-typeset details:after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-left-radius:.1rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2.2rem .4rem 1.8rem}.md-typeset summary:not(.focus-visible){outline:none;-webkit-tap-highlight-color:transparent}.md-typeset summary:after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transform:rotate(0deg);transition:transform .25s;content:""}[dir=rtl] .md-typeset summary:after{right:auto;left:.4rem;transform:rotate(180deg)}.md-typeset summary::-webkit-details-marker,.md-typeset summary::marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{margin:0 -.125em;padding:0 .125em;border-radius:.1rem}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:var(--md-code-hl-color)}.highlight [data-linenos]:before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--light);background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.highlighttable{display:flow-root;overflow:hidden}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable .linenos{padding:.7720588235em 0 .7720588235em 1.1764705882em;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .code{flex:1;overflow:hidden}.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width:44.9375em){.md-typeset>.highlight{margin:1em -.8rem}.md-typeset>.highlight .hll{margin:0 -.8rem;padding:0 .8rem}.md-typeset>.highlight code{border-radius:0}.md-typeset>.highlighttable{margin:1em -.8rem;border-radius:0}.md-typeset>.highlighttable .hll{margin:0 -.8rem;padding:0 .8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{position:relative;margin:0;color:inherit;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.md-typeset .keys span{padding:0 .2em;color:var(--md-default-fg-color--light)}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{padding-right:.4em;content:"⎇"}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{padding-right:.4em;content:"⌘"}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{padding-right:.4em;content:"⌃"}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{padding-right:.4em;content:"◆"}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{padding-right:.4em;content:"⌥"}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{padding-right:.4em;content:"⇧"}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{padding-right:.4em;content:"❖"}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{padding-right:.4em;content:"⊞"}.md-typeset .keys .key-arrow-down:before{padding-right:.4em;content:"↓"}.md-typeset .keys .key-arrow-left:before{padding-right:.4em;content:"←"}.md-typeset .keys .key-arrow-right:before{padding-right:.4em;content:"→"}.md-typeset .keys .key-arrow-up:before{padding-right:.4em;content:"↑"}.md-typeset .keys .key-backspace:before{padding-right:.4em;content:"⌫"}.md-typeset .keys .key-backtab:before{padding-right:.4em;content:"⇤"}.md-typeset .keys .key-caps-lock:before{padding-right:.4em;content:"⇪"}.md-typeset .keys .key-clear:before{padding-right:.4em;content:"⌧"}.md-typeset .keys .key-context-menu:before{padding-right:.4em;content:"☰"}.md-typeset .keys .key-delete:before{padding-right:.4em;content:"⌦"}.md-typeset .keys .key-eject:before{padding-right:.4em;content:"⏏"}.md-typeset .keys .key-end:before{padding-right:.4em;content:"⤓"}.md-typeset .keys .key-escape:before{padding-right:.4em;content:"⎋"}.md-typeset .keys .key-home:before{padding-right:.4em;content:"⤒"}.md-typeset .keys .key-insert:before{padding-right:.4em;content:"⎀"}.md-typeset .keys .key-page-down:before{padding-right:.4em;content:"⇟"}.md-typeset .keys .key-page-up:before{padding-right:.4em;content:"⇞"}.md-typeset .keys .key-print-screen:before{padding-right:.4em;content:"⎙"}.md-typeset .keys .key-tab:after{padding-left:.4em;content:"⇥"}.md-typeset .keys .key-num-enter:after{padding-left:.4em;content:"⌤"}.md-typeset .keys .key-enter:after{padding-left:.4em;content:"⏎"}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}@media print{.md-typeset .tabbed-content{display:block;order:0}}.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child,.md-typeset .tabbed-content>pre:only-child{margin:0}.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code,.md-typeset .tabbed-content>pre:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{position:absolute;width:0;height:0;opacity:0}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>input:focus+label{outline-style:auto}.md-typeset .tabbed-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.9375em 1.25em .78125em;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color .25s}.md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon:url("data:image/svg+xml;charset=utf-8,");--md-tasklist-icon--checked:url("data:image/svg+xml;charset=utf-8,")}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:auto}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}.md-typeset .task-list-indicator:before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em;left:auto}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)} +/*# sourceMappingURL=main.a361390f.min.css.map */ \ No newline at end of file diff --git a/material/assets/stylesheets/main.a361390f.min.css.map b/material/assets/stylesheets/main.a361390f.min.css.map new file mode 100644 index 000000000..4244dfe69 --- /dev/null +++ b/material/assets/stylesheets/main.a361390f.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["src/assets/stylesheets/main/layout/_source.scss","src/assets/stylesheets/main.scss","src/assets/stylesheets/main/_reset.scss","src/assets/stylesheets/main/_colors.scss","src/assets/stylesheets/main/_icons.scss","src/assets/stylesheets/main/_typeset.scss","src/assets/stylesheets/utilities/_break.scss","node_modules/material-shadows/material-shadows.scss","src/assets/stylesheets/main/layout/_base.scss","src/assets/stylesheets/main/layout/_announce.scss","src/assets/stylesheets/main/layout/_clipboard.scss","src/assets/stylesheets/main/layout/_content.scss","src/assets/stylesheets/main/layout/_dialog.scss","src/assets/stylesheets/main/layout/_form.scss","src/assets/stylesheets/main/layout/_header.scss","src/assets/stylesheets/main/layout/_footer.scss","src/assets/stylesheets/main/layout/_nav.scss","src/assets/stylesheets/main/layout/_search.scss","src/assets/stylesheets/main/layout/_sidebar.scss","src/assets/stylesheets/main/layout/_tabs.scss","src/assets/stylesheets/main/extensions/markdown/_admonition.scss","node_modules/material-design-color/material-color.scss","src/assets/stylesheets/main/extensions/markdown/_footnotes.scss","src/assets/stylesheets/main/extensions/markdown/_toc.scss","src/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","src/assets/stylesheets/main/extensions/pymdownx/_critic.scss","src/assets/stylesheets/main/extensions/pymdownx/_details.scss","src/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","src/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","src/assets/stylesheets/main/extensions/pymdownx/_keys.scss","src/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss"],"names":[],"mappings":"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","file":"src/assets/stylesheets/main.scss","sourcesContent":["////\n/// Copyright (c) 2016-2021 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// Keyframes\n// ----------------------------------------------------------------------------\n\n// Show repository facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show repository fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Repository information\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Repository information on focus/hover\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Repository icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Adjust spacing if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Repository facts\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Repository fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","@charset \"UTF-8\";\nhtml {\n box-sizing: border-box;\n text-size-adjust: none;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\nbody {\n margin: 0;\n}\n\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\na {\n color: inherit;\n text-decoration: none;\n}\n\nhr {\n display: block;\n box-sizing: content-box;\n height: 0.05rem;\n padding: 0;\n overflow: visible;\n border: 0;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n line-height: 1em;\n}\n\nimg {\n border-style: none;\n}\n\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\ntd,\nth {\n font-weight: 400;\n vertical-align: top;\n}\n\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\ninput {\n border: 0;\n outline: none;\n}\n\n:root {\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n --md-primary-fg-color: hsla(231, 48%, 48%, 1);\n --md-primary-fg-color--light: hsla(231, 44%, 56%, 1);\n --md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-accent-fg-color: hsla(231, 99%, 66%, 1);\n --md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n:root > * {\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-hl-color: hsla(60, 100%, 50%, 0.5);\n --md-code-hl-number-color: hsla(0, 67%, 50%, 1);\n --md-code-hl-special-color: hsla(340, 83%, 47%, 1);\n --md-code-hl-function-color: hsla(291, 45%, 50%, 1);\n --md-code-hl-constant-color: hsla(250, 63%, 60%, 1);\n --md-code-hl-keyword-color: hsla(219, 54%, 51%, 1);\n --md-code-hl-string-color: hsla(150, 63%, 30%, 1);\n --md-code-hl-name-color: var(--md-code-fg-color);\n --md-code-hl-operator-color: var(--md-default-fg-color--light);\n --md-code-hl-punctuation-color: var(--md-default-fg-color--light);\n --md-code-hl-comment-color: var(--md-default-fg-color--light);\n --md-code-hl-generic-color: var(--md-default-fg-color--light);\n --md-code-hl-variable-color: var(--md-default-fg-color--light);\n --md-typeset-color: var(--md-default-fg-color);\n --md-typeset-a-color: var(--md-primary-fg-color);\n --md-typeset-mark-color: hsla(60, 100%, 50%, 0.5);\n --md-typeset-del-color: hsla(6, 90%, 60%, 0.15);\n --md-typeset-ins-color: hsla(150, 90%, 44%, 0.15);\n --md-typeset-kbd-color: hsla(0, 0%, 98%, 1);\n --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);\n --md-typeset-kbd-border-color: hsla(0, 0%, 72%, 1);\n --md-admonition-fg-color: var(--md-default-fg-color);\n --md-admonition-bg-color: var(--md-default-bg-color);\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n}\n\n.md-icon svg {\n display: block;\n width: 1.2rem;\n height: 1.2rem;\n fill: currentColor;\n}\n\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nbody,\ninput {\n color: var(--md-typeset-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family: var(--md-text-font-family, _), -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\ncode,\npre,\nkbd {\n color: var(--md-typeset-color);\n font-feature-settings: \"kern\";\n font-family: var(--md-code-font-family, _), SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n:root {\n --md-typeset-table--ascending: svg-load(\"material/arrow-down.svg\");\n --md-typeset-table--descending: svg-load(\"material/arrow-up.svg\");\n}\n\n.md-typeset {\n font-size: 0.8rem;\n line-height: 1.6;\n color-adjust: exact;\n}\n@media print {\n .md-typeset {\n font-size: 0.68rem;\n }\n}\n.md-typeset p,\n.md-typeset ul,\n.md-typeset ol,\n.md-typeset dl,\n.md-typeset blockquote {\n margin: 1em 0;\n}\n.md-typeset h1 {\n margin: 0 0 1.25em;\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: 2em;\n line-height: 1.3;\n letter-spacing: -0.01em;\n}\n.md-typeset h2 {\n margin: 1.6em 0 0.64em;\n font-weight: 300;\n font-size: 1.5625em;\n line-height: 1.4;\n letter-spacing: -0.01em;\n}\n.md-typeset h3 {\n margin: 1.6em 0 0.8em;\n font-weight: 400;\n font-size: 1.25em;\n line-height: 1.5;\n letter-spacing: -0.01em;\n}\n.md-typeset h2 + h3 {\n margin-top: 0.8em;\n}\n.md-typeset h4 {\n margin: 1em 0;\n font-weight: 700;\n letter-spacing: -0.01em;\n}\n.md-typeset h5,\n.md-typeset h6 {\n margin: 1.25em 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: 0.8em;\n letter-spacing: -0.01em;\n}\n.md-typeset h5 {\n text-transform: uppercase;\n}\n.md-typeset hr {\n margin: 1.5em 0;\n border-bottom: 0.05rem solid var(--md-default-fg-color--lightest);\n}\n.md-typeset a {\n color: var(--md-typeset-a-color);\n word-break: break-word;\n}\n.md-typeset a, .md-typeset a::before {\n transition: color 125ms;\n}\n.md-typeset a:focus, .md-typeset a:hover {\n color: var(--md-accent-fg-color);\n}\n.md-typeset code,\n.md-typeset pre,\n.md-typeset kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n}\n@media print {\n .md-typeset code,\n.md-typeset pre,\n.md-typeset kbd {\n white-space: pre-wrap;\n }\n}\n.md-typeset code {\n padding: 0 0.2941176471em;\n font-size: 0.85em;\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: 0.1rem;\n box-decoration-break: clone;\n}\n.md-typeset code:not(.focus-visible) {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n.md-typeset h1 code,\n.md-typeset h2 code,\n.md-typeset h3 code,\n.md-typeset h4 code,\n.md-typeset h5 code,\n.md-typeset h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n}\n.md-typeset a > code {\n color: currentColor;\n}\n.md-typeset pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n}\n.md-typeset pre > code {\n display: block;\n margin: 0;\n padding: 0.7720588235em 1.1764705882em;\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n}\n.md-typeset pre > code:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n}\n.md-typeset pre > code::-webkit-scrollbar {\n width: 0.2rem;\n height: 0.2rem;\n}\n.md-typeset pre > code::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n}\n.md-typeset pre > code::-webkit-scrollbar-thumb:hover {\n background-color: var(--md-accent-fg-color);\n}\n@media screen and (max-width: 44.9375em) {\n .md-typeset > pre {\n margin: 1em -0.8rem;\n }\n .md-typeset > pre code {\n border-radius: 0;\n }\n}\n.md-typeset kbd {\n display: inline-block;\n padding: 0 0.6666666667em;\n color: var(--md-default-fg-color);\n font-size: 0.75em;\n vertical-align: text-top;\n word-break: break-word;\n background-color: var(--md-typeset-kbd-color);\n border-radius: 0.1rem;\n box-shadow: 0 0.1rem 0 0.05rem var(--md-typeset-kbd-border-color), 0 0.1rem 0 var(--md-typeset-kbd-border-color), 0 -0.1rem 0.2rem var(--md-typeset-kbd-accent-color) inset;\n}\n.md-typeset mark {\n color: inherit;\n word-break: break-word;\n background-color: var(--md-typeset-mark-color);\n box-decoration-break: clone;\n}\n.md-typeset abbr {\n text-decoration: none;\n border-bottom: 0.05rem dotted var(--md-default-fg-color--light);\n cursor: help;\n}\n@media (hover: none) {\n .md-typeset abbr {\n position: relative;\n }\n .md-typeset abbr[title]:focus::after, .md-typeset abbr[title]:hover::after {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);\n position: absolute;\n left: 0;\n display: inline-block;\n width: auto;\n min-width: max-content;\n max-width: 80%;\n margin-top: 2em;\n padding: 0.2rem 0.3rem;\n color: var(--md-default-bg-color);\n font-size: 0.7rem;\n background-color: var(--md-default-fg-color);\n border-radius: 0.1rem;\n content: attr(title);\n }\n}\n.md-typeset small {\n opacity: 0.75;\n}\n.md-typeset sup,\n.md-typeset sub {\n margin-left: 0.078125em;\n}\n[dir=rtl] .md-typeset sup,\n[dir=rtl] .md-typeset sub {\n margin-right: 0.078125em;\n margin-left: initial;\n}\n.md-typeset blockquote {\n padding-left: 0.6rem;\n color: var(--md-default-fg-color--light);\n border-left: 0.2rem solid var(--md-default-fg-color--lighter);\n}\n[dir=rtl] .md-typeset blockquote {\n padding-right: 0.6rem;\n padding-left: initial;\n border-right: 0.2rem solid var(--md-default-fg-color--lighter);\n border-left: initial;\n}\n.md-typeset ul {\n list-style-type: disc;\n}\n.md-typeset ul,\n.md-typeset ol {\n margin-left: 0.625em;\n padding: 0;\n}\n[dir=rtl] .md-typeset ul,\n[dir=rtl] .md-typeset ol {\n margin-right: 0.625em;\n margin-left: initial;\n}\n.md-typeset ul ol,\n.md-typeset ol ol {\n list-style-type: lower-alpha;\n}\n.md-typeset ul ol ol,\n.md-typeset ol ol ol {\n list-style-type: lower-roman;\n}\n.md-typeset ul li,\n.md-typeset ol li {\n margin-bottom: 0.5em;\n margin-left: 1.25em;\n}\n[dir=rtl] .md-typeset ul li,\n[dir=rtl] .md-typeset ol li {\n margin-right: 1.25em;\n margin-left: initial;\n}\n.md-typeset ul li p,\n.md-typeset ul li blockquote,\n.md-typeset ol li p,\n.md-typeset ol li blockquote {\n margin: 0.5em 0;\n}\n.md-typeset ul li:last-child,\n.md-typeset ol li:last-child {\n margin-bottom: 0;\n}\n.md-typeset ul li ul,\n.md-typeset ul li ol,\n.md-typeset ol li ul,\n.md-typeset ol li ol {\n margin: 0.5em 0 0.5em 0.625em;\n}\n[dir=rtl] .md-typeset ul li ul,\n[dir=rtl] .md-typeset ul li ol,\n[dir=rtl] .md-typeset ol li ul,\n[dir=rtl] .md-typeset ol li ol {\n margin-right: 0.625em;\n margin-left: initial;\n}\n.md-typeset dd {\n margin: 1em 0 1.5em 1.875em;\n}\n[dir=rtl] .md-typeset dd {\n margin-right: 1.875em;\n margin-left: initial;\n}\n.md-typeset img,\n.md-typeset svg {\n max-width: 100%;\n height: auto;\n}\n.md-typeset img[align=left],\n.md-typeset svg[align=left] {\n margin: 1em;\n margin-left: 0;\n}\n.md-typeset img[align=right],\n.md-typeset svg[align=right] {\n margin: 1em;\n margin-right: 0;\n}\n.md-typeset img[align]:only-child,\n.md-typeset svg[align]:only-child {\n margin-top: 0;\n}\n.md-typeset figure {\n width: fit-content;\n max-width: 100%;\n margin: 0 auto;\n text-align: center;\n}\n.md-typeset figure img {\n display: block;\n}\n.md-typeset figcaption {\n max-width: 24rem;\n margin: 1em auto 2em;\n font-style: italic;\n}\n.md-typeset iframe {\n max-width: 100%;\n}\n.md-typeset table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: 0.64rem;\n background-color: var(--md-default-bg-color);\n border-radius: 0.1rem;\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.05rem rgba(0, 0, 0, 0.1);\n touch-action: auto;\n}\n@media print {\n .md-typeset table:not([class]) {\n display: table;\n }\n}\n.md-typeset table:not([class]) + * {\n margin-top: 1.5em;\n}\n.md-typeset table:not([class]) th > *:first-child,\n.md-typeset table:not([class]) td > *:first-child {\n margin-top: 0;\n}\n.md-typeset table:not([class]) th > *:last-child,\n.md-typeset table:not([class]) td > *:last-child {\n margin-bottom: 0;\n}\n.md-typeset table:not([class]) th:not([align]),\n.md-typeset table:not([class]) td:not([align]) {\n text-align: left;\n}\n[dir=rtl] .md-typeset table:not([class]) th:not([align]),\n[dir=rtl] .md-typeset table:not([class]) td:not([align]) {\n text-align: right;\n}\n.md-typeset table:not([class]) th {\n min-width: 5rem;\n padding: 0.9375em 1.25em;\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n}\n.md-typeset table:not([class]) th a {\n color: inherit;\n}\n.md-typeset table:not([class]) td {\n padding: 0.9375em 1.25em;\n vertical-align: top;\n border-top: 0.05rem solid var(--md-default-fg-color--lightest);\n}\n.md-typeset table:not([class]) tr {\n transition: background-color 125ms;\n}\n.md-typeset table:not([class]) tr:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 0.05rem 0 var(--md-default-bg-color) inset;\n}\n.md-typeset table:not([class]) tr:first-child td {\n border-top: 0;\n}\n.md-typeset table:not([class]) a {\n word-break: normal;\n}\n.md-typeset table th[role=columnheader] {\n cursor: pointer;\n}\n.md-typeset table th[role=columnheader]::after {\n display: inline-block;\n width: 1.2em;\n height: 1.2em;\n margin-left: 0.5em;\n vertical-align: sub;\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n}\n.md-typeset table th[role=columnheader][aria-sort=ascending]::after {\n background-color: currentColor;\n mask-image: var(--md-typeset-table--ascending);\n}\n.md-typeset table th[role=columnheader][aria-sort=descending]::after {\n background-color: currentColor;\n mask-image: var(--md-typeset-table--descending);\n}\n.md-typeset__scrollwrap {\n margin: 1em -0.8rem;\n overflow-x: auto;\n touch-action: auto;\n}\n.md-typeset__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 0.8rem;\n}\n@media print {\n .md-typeset__table {\n display: block;\n }\n}\nhtml .md-typeset__table table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n}\n\nhtml {\n height: 100%;\n overflow-x: hidden;\n font-size: 125%;\n}\n@media screen and (min-width: 100em) {\n html {\n font-size: 137.5%;\n }\n}\n@media screen and (min-width: 125em) {\n html {\n font-size: 150%;\n }\n}\n\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n font-size: 0.5rem;\n background-color: var(--md-default-bg-color);\n}\n@media print {\n body {\n display: block;\n }\n}\n@media screen and (max-width: 59.9375em) {\n body[data-md-state=lock] {\n position: fixed;\n }\n}\n\n.md-grid {\n max-width: 61rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n@media print {\n .md-container {\n display: block;\n }\n}\n\n.md-main {\n flex-grow: 1;\n}\n.md-main__inner {\n display: flex;\n height: 100%;\n margin-top: 1.5rem;\n}\n\n.md-ellipsis {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.md-toggle {\n display: none;\n}\n\n.md-skip {\n position: fixed;\n z-index: -1;\n margin: 0.5rem;\n padding: 0.3rem 0.5rem;\n color: var(--md-default-bg-color);\n font-size: 0.64rem;\n background-color: var(--md-default-fg-color);\n border-radius: 0.1rem;\n transform: translateY(0.4rem);\n opacity: 0;\n}\n.md-skip:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 175ms 75ms;\n}\n\n@page {\n margin: 25mm;\n}\n.md-announce {\n overflow: auto;\n background-color: var(--md-footer-bg-color);\n}\n@media print {\n .md-announce {\n display: none;\n }\n}\n.md-announce__inner {\n margin: 0.6rem auto;\n padding: 0 0.8rem;\n color: var(--md-footer-fg-color);\n font-size: 0.7rem;\n}\n\n:root {\n --md-clipboard-icon: svg-load(\"material/content-copy.svg\");\n}\n\n.md-clipboard {\n position: absolute;\n top: 0.5em;\n right: 0.5em;\n z-index: 1;\n width: 1.5em;\n height: 1.5em;\n color: var(--md-default-fg-color--lightest);\n border-radius: 0.1rem;\n cursor: pointer;\n transition: color 250ms;\n}\n@media print {\n .md-clipboard {\n display: none;\n }\n}\n.md-clipboard:not(.focus-visible) {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n:hover > .md-clipboard {\n color: var(--md-default-fg-color--light);\n}\n.md-clipboard:focus, .md-clipboard:hover {\n color: var(--md-accent-fg-color);\n}\n.md-clipboard::after {\n display: block;\n width: 1.125em;\n height: 1.125em;\n margin: 0 auto;\n background-color: currentColor;\n mask-image: var(--md-clipboard-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n}\n.md-clipboard--inline {\n cursor: pointer;\n}\n.md-clipboard--inline code {\n transition: color 250ms, background-color 250ms;\n}\n.md-clipboard--inline:focus code, .md-clipboard--inline:hover code {\n color: var(--md-accent-fg-color);\n background-color: var(--md-accent-fg-color--transparent);\n}\n\n.md-content {\n flex-grow: 1;\n overflow: hidden;\n scroll-padding-top: 51.2rem;\n}\n.md-content__inner {\n margin: 0 0.8rem 1.2rem;\n padding-top: 0.6rem;\n}\n@media screen and (min-width: 76.25em) {\n .md-sidebar--primary:not([hidden]) ~ .md-content > .md-content__inner {\n margin-left: 1.2rem;\n }\n [dir=rtl] .md-sidebar--primary:not([hidden]) ~ .md-content > .md-content__inner {\n margin-right: 1.2rem;\n margin-left: 0.8rem;\n }\n .md-sidebar--secondary:not([hidden]) ~ .md-content > .md-content__inner {\n margin-right: 1.2rem;\n }\n [dir=rtl] .md-sidebar--secondary:not([hidden]) ~ .md-content > .md-content__inner {\n margin-right: 0.8rem;\n margin-left: 1.2rem;\n }\n}\n.md-content__inner::before {\n display: block;\n height: 0.4rem;\n content: \"\";\n}\n.md-content__inner > :last-child {\n margin-bottom: 0;\n}\n.md-content__button {\n float: right;\n margin: 0.4rem 0;\n margin-left: 0.4rem;\n padding: 0;\n}\n@media print {\n .md-content__button {\n display: none;\n }\n}\n[dir=rtl] .md-content__button {\n float: left;\n margin-right: 0.4rem;\n margin-left: initial;\n}\n[dir=rtl] .md-content__button svg {\n transform: scaleX(-1);\n}\n.md-typeset .md-content__button {\n color: var(--md-default-fg-color--lighter);\n}\n.md-content__button svg {\n display: inline;\n vertical-align: top;\n}\n\n.md-dialog {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);\n position: fixed;\n right: 0.8rem;\n bottom: 0.8rem;\n left: initial;\n z-index: 2;\n min-width: 11.1rem;\n padding: 0.4rem 0.6rem;\n background-color: var(--md-default-fg-color);\n border-radius: 0.1rem;\n transform: translateY(100%);\n opacity: 0;\n transition: transform 0ms 400ms, opacity 400ms;\n pointer-events: none;\n}\n@media print {\n .md-dialog {\n display: none;\n }\n}\n[dir=rtl] .md-dialog {\n right: initial;\n left: 0.8rem;\n}\n.md-dialog[data-md-state=open] {\n transform: translateY(0);\n opacity: 1;\n transition: transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1), opacity 400ms;\n pointer-events: initial;\n}\n.md-dialog__inner {\n color: var(--md-default-bg-color);\n font-size: 0.7rem;\n}\n\n.md-typeset .md-button {\n display: inline-block;\n padding: 0.625em 2em;\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: 0.1rem solid currentColor;\n border-radius: 0.1rem;\n transition: color 125ms, background-color 125ms, border-color 125ms;\n}\n.md-typeset .md-button--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n}\n.md-typeset .md-button:focus, .md-typeset .md-button:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n}\n.md-typeset .md-input {\n height: 1.8rem;\n padding: 0 0.6rem;\n font-size: 0.8rem;\n border-radius: 0.1rem;\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1);\n transition: box-shadow 250ms;\n}\n.md-typeset .md-input:focus, .md-typeset .md-input:hover {\n box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15);\n}\n.md-typeset .md-input--stretch {\n width: 100%;\n}\n\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0), 0 0.2rem 0.4rem rgba(0, 0, 0, 0);\n transition: color 250ms, background-color 250ms;\n}\n@media print {\n .md-header {\n display: none;\n }\n}\n.md-header[data-md-state=shadow] {\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);\n transition: transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1), color 250ms, background-color 250ms, box-shadow 250ms;\n}\n.md-header[data-md-state=hidden] {\n transform: translateY(-100%);\n transition: transform 250ms cubic-bezier(0.8, 0, 0.6, 1), color 250ms, background-color 250ms, box-shadow 250ms;\n}\n\n.md-header-nav {\n display: flex;\n align-items: center;\n padding: 0 0.2rem;\n}\n.md-header-nav__button {\n position: relative;\n z-index: 1;\n display: inline-block;\n margin: 0.2rem;\n padding: 0.4rem;\n color: currentColor;\n vertical-align: middle;\n cursor: pointer;\n transition: opacity 250ms;\n}\n.md-header-nav__button:focus, .md-header-nav__button:hover {\n opacity: 0.7;\n}\n.md-header-nav__button:not(.focus-visible) {\n outline: none;\n}\n.md-header-nav__button.md-logo {\n margin: 0.2rem;\n padding: 0.4rem;\n}\n@media screen and (max-width: 76.1875em) {\n .md-header-nav__button.md-logo {\n display: none;\n }\n}\n.md-header-nav__button.md-logo img,\n.md-header-nav__button.md-logo svg {\n display: block;\n width: 1.2rem;\n height: 1.2rem;\n fill: currentColor;\n}\n@media screen and (min-width: 60em) {\n .md-header-nav__button[for=__search] {\n display: none;\n }\n}\n.no-js .md-header-nav__button[for=__search] {\n display: none;\n}\n[dir=rtl] .md-header-nav__button[for=__search] svg {\n transform: scaleX(-1);\n}\n@media screen and (min-width: 76.25em) {\n .md-header-nav__button[for=__drawer] {\n display: none;\n }\n}\n.md-header-nav__topic {\n position: absolute;\n display: flex;\n max-width: 100%;\n transition: transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms;\n}\n.md-header-nav__topic + .md-header-nav__topic {\n z-index: -1;\n transform: translateX(1.25rem);\n opacity: 0;\n transition: transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1), opacity 150ms;\n pointer-events: none;\n}\n[dir=rtl] .md-header-nav__topic + .md-header-nav__topic {\n transform: translateX(-1.25rem);\n}\n.md-header-nav__title {\n flex-grow: 1;\n height: 2.4rem;\n margin-right: 0.4rem;\n margin-left: 1rem;\n font-size: 0.9rem;\n line-height: 2.4rem;\n}\n.md-header-nav__title[data-md-state=active] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(-1.25rem);\n opacity: 0;\n transition: transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1), opacity 150ms;\n pointer-events: none;\n}\n[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic {\n transform: translateX(1.25rem);\n}\n.md-header-nav__title[data-md-state=active] .md-header-nav__topic + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition: transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms;\n pointer-events: initial;\n}\n.md-header-nav__title > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n}\n.md-header-nav__source {\n display: none;\n}\n@media screen and (min-width: 60em) {\n .md-header-nav__source {\n display: block;\n width: 11.7rem;\n max-width: 11.7rem;\n margin-left: 1rem;\n }\n [dir=rtl] .md-header-nav__source {\n margin-right: 1rem;\n margin-left: initial;\n }\n}\n@media screen and (min-width: 76.25em) {\n .md-header-nav__source {\n margin-left: 1.4rem;\n }\n [dir=rtl] .md-header-nav__source {\n margin-right: 1.4rem;\n }\n}\n\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n}\n@media print {\n .md-footer {\n display: none;\n }\n}\n\n.md-footer-nav__inner {\n padding: 0.2rem;\n overflow: auto;\n}\n.md-footer-nav__link {\n display: flex;\n padding-top: 1.4rem;\n padding-bottom: 0.4rem;\n transition: opacity 250ms;\n}\n@media screen and (min-width: 45em) {\n .md-footer-nav__link {\n width: 50%;\n }\n}\n.md-footer-nav__link:focus, .md-footer-nav__link:hover {\n opacity: 0.7;\n}\n.md-footer-nav__link--prev {\n float: left;\n}\n@media screen and (max-width: 44.9375em) {\n .md-footer-nav__link--prev {\n width: 25%;\n }\n .md-footer-nav__link--prev .md-footer-nav__title {\n display: none;\n }\n}\n[dir=rtl] .md-footer-nav__link--prev {\n float: right;\n}\n[dir=rtl] .md-footer-nav__link--prev svg {\n transform: scaleX(-1);\n}\n.md-footer-nav__link--next {\n float: right;\n text-align: right;\n}\n@media screen and (max-width: 44.9375em) {\n .md-footer-nav__link--next {\n width: 75%;\n }\n}\n[dir=rtl] .md-footer-nav__link--next {\n float: left;\n text-align: left;\n}\n[dir=rtl] .md-footer-nav__link--next svg {\n transform: scaleX(-1);\n}\n.md-footer-nav__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - 2.4rem);\n padding: 0 1rem;\n font-size: 0.9rem;\n line-height: 2.4rem;\n}\n.md-footer-nav__button {\n margin: 0.2rem;\n padding: 0.4rem;\n}\n.md-footer-nav__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: -1rem;\n padding: 0 1rem;\n font-size: 0.64rem;\n opacity: 0.7;\n}\n\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n}\n.md-footer-meta__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: 0.2rem;\n}\nhtml .md-footer-meta.md-typeset a {\n color: var(--md-footer-fg-color--light);\n}\nhtml .md-footer-meta.md-typeset a:focus, html .md-footer-meta.md-typeset a:hover {\n color: var(--md-footer-fg-color);\n}\n\n.md-footer-copyright {\n width: 100%;\n margin: auto 0.6rem;\n padding: 0.4rem 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: 0.64rem;\n}\n@media screen and (min-width: 45em) {\n .md-footer-copyright {\n width: auto;\n }\n}\n.md-footer-copyright__highlight {\n color: var(--md-footer-fg-color--light);\n}\n\n.md-footer-social {\n margin: 0 0.4rem;\n padding: 0.2rem 0 0.6rem;\n}\n@media screen and (min-width: 45em) {\n .md-footer-social {\n padding: 0.6rem 0;\n }\n}\n.md-footer-social__link {\n display: inline-block;\n width: 1.6rem;\n height: 1.6rem;\n text-align: center;\n}\n.md-footer-social__link::before {\n line-height: 1.9;\n}\n.md-footer-social__link svg {\n max-height: 0.8rem;\n vertical-align: -25%;\n fill: currentColor;\n}\n\n:root {\n --md-nav-icon--prev: svg-load(\"material/arrow-left.svg\");\n --md-nav-icon--next: svg-load(\"material/chevron-right.svg\");\n --md-toc-icon: svg-load(\"material/table-of-contents.svg\");\n}\n\n.md-nav {\n font-size: 0.7rem;\n line-height: 1.3;\n}\n.md-nav__title {\n display: block;\n padding: 0 0.6rem;\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n}\n.md-nav__title .md-nav__button {\n display: none;\n}\n.md-nav__title .md-nav__button img {\n width: auto;\n height: 100%;\n}\n.md-nav__title .md-nav__button.md-logo img,\n.md-nav__title .md-nav__button.md-logo svg {\n display: block;\n width: 2.4rem;\n height: 2.4rem;\n fill: currentColor;\n}\n.md-nav__list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.md-nav__item {\n padding: 0 0.6rem;\n}\n.md-nav__item .md-nav__item {\n padding-right: 0;\n}\n[dir=rtl] .md-nav__item .md-nav__item {\n padding-right: 0.6rem;\n padding-left: 0;\n}\n.md-nav__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n}\n.md-nav__link[data-md-state=blur] {\n color: var(--md-default-fg-color--light);\n}\n.md-nav__item .md-nav__link--active {\n color: var(--md-typeset-a-color);\n}\n.md-nav__item--nested > .md-nav__link {\n color: inherit;\n}\n.md-nav__link:focus, .md-nav__link:hover {\n color: var(--md-accent-fg-color);\n}\n.md-nav--primary .md-nav__link[for=__toc] {\n display: none;\n}\n.md-nav--primary .md-nav__link[for=__toc] .md-icon::after {\n display: block;\n width: 100%;\n height: 100%;\n mask-image: var(--md-toc-icon);\n background-color: currentColor;\n}\n.md-nav--primary .md-nav__link[for=__toc] ~ .md-nav {\n display: none;\n}\n.md-nav__source {\n display: none;\n}\n@media screen and (max-width: 76.1875em) {\n .md-nav--primary, .md-nav--primary .md-nav {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--md-default-bg-color);\n }\n .md-nav--primary .md-nav__title,\n.md-nav--primary .md-nav__item {\n font-size: 0.8rem;\n line-height: 1.5;\n }\n .md-nav--primary .md-nav__title {\n position: relative;\n height: 5.6rem;\n padding: 3rem 0.8rem 0.2rem;\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: 2.4rem;\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n }\n .md-nav--primary .md-nav__title .md-nav__icon {\n position: absolute;\n top: 0.4rem;\n left: 0.4rem;\n display: block;\n width: 1.2rem;\n height: 1.2rem;\n margin: 0.2rem;\n }\n [dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon {\n right: 0.4rem;\n left: initial;\n }\n .md-nav--primary .md-nav__title .md-nav__icon::after {\n display: block;\n width: 100%;\n height: 100%;\n background-color: currentColor;\n mask-image: var(--md-nav-icon--prev);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n .md-nav--primary .md-nav__title ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow: 0 0.05rem 0 var(--md-default-fg-color--lightest) inset;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n }\n .md-nav--primary .md-nav__title ~ .md-nav__list > :first-child {\n border-top: 0;\n }\n .md-nav--primary .md-nav__title[for=__drawer] {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n }\n .md-nav--primary .md-nav__title .md-logo {\n position: absolute;\n top: 0.2rem;\n left: 0.2rem;\n display: block;\n margin: 0.2rem;\n padding: 0.4rem;\n }\n [dir=rtl] .md-nav--primary .md-nav__title .md-logo {\n right: 0.2rem;\n left: initial;\n }\n .md-nav--primary .md-nav__list {\n flex: 1;\n }\n .md-nav--primary .md-nav__item {\n padding: 0;\n border-top: 0.05rem solid var(--md-default-fg-color--lightest);\n }\n .md-nav--primary .md-nav__item--nested > .md-nav__link {\n padding-right: 2.4rem;\n }\n [dir=rtl] .md-nav--primary .md-nav__item--nested > .md-nav__link {\n padding-right: 0.8rem;\n padding-left: 2.4rem;\n }\n .md-nav--primary .md-nav__item--active > .md-nav__link {\n color: var(--md-typeset-a-color);\n }\n .md-nav--primary .md-nav__item--active > .md-nav__link:focus, .md-nav--primary .md-nav__item--active > .md-nav__link:hover {\n color: var(--md-accent-fg-color);\n }\n .md-nav--primary .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: 0.6rem 0.8rem;\n }\n .md-nav--primary .md-nav__link .md-nav__icon {\n position: absolute;\n top: 50%;\n right: 0.6rem;\n width: 1.2rem;\n height: 1.2rem;\n margin-top: -0.6rem;\n color: inherit;\n font-size: 1.2rem;\n }\n [dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon {\n right: initial;\n left: 0.6rem;\n }\n .md-nav--primary .md-nav__link .md-nav__icon::after {\n display: block;\n width: 100%;\n height: 100%;\n background-color: currentColor;\n mask-image: var(--md-nav-icon--next);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n [dir=rtl] .md-nav--primary .md-nav__icon::after {\n transform: scale(-1);\n }\n .md-nav--primary .md-nav--secondary .md-nav__link {\n position: static;\n }\n .md-nav--primary .md-nav--secondary .md-nav {\n position: static;\n background-color: transparent;\n }\n .md-nav--primary .md-nav--secondary .md-nav .md-nav__link {\n padding-left: 1.4rem;\n }\n [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link {\n padding-right: 1.4rem;\n padding-left: initial;\n }\n .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link {\n padding-left: 2rem;\n }\n [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link {\n padding-right: 2rem;\n padding-left: initial;\n }\n .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: 2.6rem;\n }\n [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link {\n padding-right: 2.6rem;\n padding-left: initial;\n }\n .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: 3.2rem;\n }\n [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link {\n padding-right: 3.2rem;\n padding-left: initial;\n }\n .md-nav--secondary {\n background-color: transparent;\n }\n .md-nav__toggle ~ .md-nav {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition: transform 250ms cubic-bezier(0.8, 0, 0.6, 1), opacity 125ms 50ms;\n }\n [dir=rtl] .md-nav__toggle ~ .md-nav {\n transform: translateX(-100%);\n }\n .md-nav__toggle:checked ~ .md-nav {\n transform: translateX(0);\n opacity: 1;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 125ms 125ms;\n }\n .md-nav__toggle:checked ~ .md-nav > .md-nav__list {\n backface-visibility: hidden;\n }\n}\n@media screen and (max-width: 59.9375em) {\n .md-nav--primary .md-nav__link[for=__toc] {\n display: block;\n padding-right: 2.4rem;\n }\n [dir=rtl] .md-nav--primary .md-nav__link[for=__toc] {\n padding-right: 0.8rem;\n padding-left: 2.4rem;\n }\n .md-nav--primary .md-nav__link[for=__toc] .md-icon::after {\n content: \"\";\n }\n .md-nav--primary .md-nav__link[for=__toc] + .md-nav__link {\n display: none;\n }\n .md-nav--primary .md-nav__link[for=__toc] ~ .md-nav {\n display: flex;\n }\n .md-nav__source {\n display: block;\n padding: 0 0.2rem;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n}\n@media screen and (min-width: 60em) and (max-width: 76.1875em) {\n .md-nav--integrated .md-nav__link[for=__toc] {\n display: block;\n padding-right: 2.4rem;\n scroll-snap-align: initial;\n }\n [dir=rtl] .md-nav--integrated .md-nav__link[for=__toc] {\n padding-right: 0.8rem;\n padding-left: 2.4rem;\n }\n .md-nav--integrated .md-nav__link[for=__toc] .md-icon::after {\n content: \"\";\n }\n .md-nav--integrated .md-nav__link[for=__toc] + .md-nav__link {\n display: none;\n }\n .md-nav--integrated .md-nav__link[for=__toc] ~ .md-nav {\n display: flex;\n }\n}\n@media screen and (min-width: 60em) {\n .md-nav--secondary .md-nav__title[for=__toc] {\n scroll-snap-align: start;\n }\n .md-nav--secondary .md-nav__title .md-nav__icon {\n display: none;\n }\n}\n@media screen and (min-width: 76.25em) {\n .md-nav {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n }\n .md-nav--primary .md-nav__title[for=__drawer] {\n scroll-snap-align: start;\n }\n .md-nav--primary .md-nav__title .md-nav__icon {\n display: none;\n }\n .md-nav__toggle ~ .md-nav {\n display: none;\n }\n .md-nav__toggle:checked ~ .md-nav, .md-nav__toggle:indeterminate ~ .md-nav {\n display: block;\n }\n .md-nav__item--nested > .md-nav > .md-nav__title {\n display: none;\n }\n .md-nav__item--section {\n display: block;\n margin: 1.25em 0;\n }\n .md-nav__item--section:last-child {\n margin-bottom: 0;\n }\n .md-nav__item--section > .md-nav__link {\n display: none;\n }\n .md-nav__item--section > .md-nav {\n display: block;\n }\n .md-nav__item--section > .md-nav > .md-nav__title {\n display: block;\n padding: 0;\n pointer-events: none;\n scroll-snap-align: start;\n }\n .md-nav__item--section > .md-nav > .md-nav__list > .md-nav__item {\n padding: 0;\n }\n .md-nav__icon {\n float: right;\n width: 0.9rem;\n height: 0.9rem;\n transition: transform 250ms;\n }\n [dir=rtl] .md-nav__icon {\n float: left;\n transform: rotate(180deg);\n }\n .md-nav__icon::after {\n display: inline-block;\n width: 100%;\n height: 100%;\n vertical-align: -0.1rem;\n background-color: currentColor;\n mask-image: var(--md-nav-icon--next);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link .md-nav__icon, .md-nav__item--nested .md-nav__toggle:indeterminate ~ .md-nav__link .md-nav__icon {\n transform: rotate(90deg);\n }\n .md-nav--lifted > .md-nav__list > .md-nav__item--nested,\n.md-nav--lifted > .md-nav__title {\n display: none;\n }\n .md-nav--lifted > .md-nav__list > .md-nav__item {\n display: none;\n }\n .md-nav--lifted > .md-nav__list > .md-nav__item--active {\n display: block;\n padding: 0;\n }\n .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav__link {\n display: none;\n }\n .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav > .md-nav__title {\n display: block;\n padding: 0 0.6rem;\n pointer-events: none;\n scroll-snap-align: start;\n }\n .md-nav--lifted > .md-nav__list > .md-nav__item > .md-nav__item {\n padding-right: 0.6rem;\n }\n .md-nav--lifted .md-nav[data-md-level=\"1\"] {\n display: block;\n }\n .md-nav--integrated .md-nav__link[for=__toc] ~ .md-nav {\n display: block;\n margin-bottom: 1.25em;\n border-left: 0.05rem solid var(--md-primary-fg-color);\n }\n .md-nav--integrated .md-nav__link[for=__toc] ~ .md-nav > .md-nav__title {\n display: none;\n }\n}\n\n:root {\n --md-search-result-icon: svg-load(\"material/file-search-outline.svg\");\n}\n\n.md-search {\n position: relative;\n}\n@media screen and (min-width: 60em) {\n .md-search {\n padding: 0.2rem 0;\n }\n}\n.no-js .md-search {\n display: none;\n}\n.md-search__overlay {\n z-index: 1;\n opacity: 0;\n}\n@media screen and (max-width: 59.9375em) {\n .md-search__overlay {\n position: absolute;\n top: 0.2rem;\n left: -2.2rem;\n width: 2rem;\n height: 2rem;\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: 1rem;\n transform-origin: center;\n transition: transform 300ms 100ms, opacity 200ms 200ms;\n pointer-events: none;\n }\n [dir=rtl] .md-search__overlay {\n right: -2.2rem;\n left: initial;\n }\n [data-md-toggle=search]:checked ~ .md-header .md-search__overlay {\n opacity: 1;\n transition: transform 400ms, opacity 100ms;\n }\n}\n@media screen and (min-width: 60em) {\n .md-search__overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.54);\n cursor: pointer;\n transition: width 0ms 250ms, height 0ms 250ms, opacity 250ms;\n }\n [dir=rtl] .md-search__overlay {\n right: 0;\n left: initial;\n }\n [data-md-toggle=search]:checked ~ .md-header .md-search__overlay {\n width: 100%;\n height: 200vh;\n opacity: 1;\n transition: width 0ms, height 0ms, opacity 250ms;\n }\n}\n@media screen and (max-width: 29.9375em) {\n [data-md-toggle=search]:checked ~ .md-header .md-search__overlay {\n transform: scale(45);\n }\n}\n@media screen and (min-width: 30em) and (max-width: 44.9375em) {\n [data-md-toggle=search]:checked ~ .md-header .md-search__overlay {\n transform: scale(60);\n }\n}\n@media screen and (min-width: 45em) and (max-width: 59.9375em) {\n [data-md-toggle=search]:checked ~ .md-header .md-search__overlay {\n transform: scale(75);\n }\n}\n.md-search__inner {\n backface-visibility: hidden;\n}\n@media screen and (max-width: 59.9375em) {\n .md-search__inner {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition: right 0ms 300ms, left 0ms 300ms, transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms 150ms;\n }\n [data-md-toggle=search]:checked ~ .md-header .md-search__inner {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition: right 0ms 0ms, left 0ms 0ms, transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms 150ms;\n }\n [dir=rtl] [data-md-toggle=search]:checked ~ .md-header .md-search__inner {\n right: 0;\n left: initial;\n }\n html [dir=rtl] .md-search__inner {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n}\n@media screen and (min-width: 60em) {\n .md-search__inner {\n position: relative;\n float: right;\n width: 11.7rem;\n padding: 0.1rem 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n }\n [dir=rtl] .md-search__inner {\n float: left;\n }\n}\n@media screen and (min-width: 60em) and (max-width: 76.1875em) {\n [data-md-toggle=search]:checked ~ .md-header .md-search__inner {\n width: 23.4rem;\n }\n}\n@media screen and (min-width: 76.25em) {\n [data-md-toggle=search]:checked ~ .md-header .md-search__inner {\n width: 34.4rem;\n }\n}\n.md-search__form {\n position: relative;\n}\n@media screen and (min-width: 60em) {\n .md-search__form {\n border-radius: 0.1rem;\n }\n}\n.md-search__input {\n position: relative;\n z-index: 2;\n padding: 0 2.2rem 0 3.6rem;\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n box-shadow: 0 0 0.6rem transparent;\n transition: color 250ms, background-color 250ms, box-shadow 250ms;\n}\n[dir=rtl] .md-search__input {\n padding: 0 3.6rem 0 2.2rem;\n}\n.md-search__input::placeholder {\n transition: color 250ms;\n}\n.md-search__input ~ .md-search__icon, .md-search__input::placeholder {\n color: var(--md-default-fg-color--light);\n}\n.md-search__input::-ms-clear {\n display: none;\n}\n[data-md-toggle=search]:checked ~ .md-header .md-search__input {\n box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07);\n}\n@media screen and (max-width: 59.9375em) {\n .md-search__input {\n width: 100%;\n height: 2.4rem;\n font-size: 0.9rem;\n }\n}\n@media screen and (min-width: 60em) {\n .md-search__input {\n width: 100%;\n height: 1.8rem;\n padding-left: 2.2rem;\n color: inherit;\n font-size: 0.8rem;\n background-color: rgba(0, 0, 0, 0.26);\n border-radius: 0.1rem;\n }\n [dir=rtl] .md-search__input {\n padding-right: 2.2rem;\n }\n .md-search__input + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n .md-search__input::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n .md-search__input:hover {\n background-color: rgba(255, 255, 255, 0.12);\n }\n [data-md-toggle=search]:checked ~ .md-header .md-search__input {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: 0.1rem 0.1rem 0 0;\n }\n [data-md-toggle=search]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle=search]:checked ~ .md-header .md-search__input::placeholder {\n color: var(--md-default-fg-color--light);\n }\n}\n.md-search__icon {\n position: absolute;\n z-index: 2;\n width: 1.2rem;\n height: 1.2rem;\n cursor: pointer;\n transition: color 250ms, opacity 250ms;\n}\n.md-search__icon:hover {\n opacity: 0.7;\n}\n.md-search__icon[for=__search] {\n top: 0.3rem;\n left: 0.5rem;\n}\n[dir=rtl] .md-search__icon[for=__search] {\n right: 0.5rem;\n left: initial;\n}\n[dir=rtl] .md-search__icon[for=__search] svg {\n transform: scaleX(-1);\n}\n@media screen and (max-width: 59.9375em) {\n .md-search__icon[for=__search] {\n top: 0.6rem;\n left: 0.8rem;\n }\n [dir=rtl] .md-search__icon[for=__search] {\n right: 0.8rem;\n left: initial;\n }\n .md-search__icon[for=__search] svg:first-child {\n display: none;\n }\n}\n@media screen and (min-width: 60em) {\n .md-search__icon[for=__search] {\n pointer-events: none;\n }\n .md-search__icon[for=__search] svg:last-child {\n display: none;\n }\n}\n.md-search__icon[type=reset] {\n top: 0.3rem;\n right: 0.5rem;\n transform: scale(0.75);\n opacity: 0;\n transition: transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms;\n pointer-events: none;\n}\n[dir=rtl] .md-search__icon[type=reset] {\n right: initial;\n left: 0.5rem;\n}\n@media screen and (max-width: 59.9375em) {\n .md-search__icon[type=reset] {\n top: 0.6rem;\n right: 0.8rem;\n }\n [dir=rtl] .md-search__icon[type=reset] {\n right: initial;\n left: 0.8rem;\n }\n}\n[data-md-toggle=search]:checked ~ .md-header .md-search__input:valid ~ .md-search__icon[type=reset] {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n}\n[data-md-toggle=search]:checked ~ .md-header .md-search__input:valid ~ .md-search__icon[type=reset]:hover {\n opacity: 0.7;\n}\n.md-search__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 0.1rem 0.1rem;\n}\n@media screen and (max-width: 59.9375em) {\n .md-search__output {\n top: 2.4rem;\n bottom: 0;\n }\n}\n@media screen and (min-width: 60em) {\n .md-search__output {\n top: 1.9rem;\n opacity: 0;\n transition: opacity 400ms;\n }\n [data-md-toggle=search]:checked ~ .md-header .md-search__output {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.4);\n opacity: 1;\n }\n}\n.md-search__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n backface-visibility: hidden;\n touch-action: pan-y;\n}\n@media (max-resolution: 1dppx) {\n .md-search__scrollwrap {\n transform: translateZ(0);\n }\n}\n@media screen and (min-width: 60em) and (max-width: 76.1875em) {\n .md-search__scrollwrap {\n width: 23.4rem;\n }\n}\n@media screen and (min-width: 76.25em) {\n .md-search__scrollwrap {\n width: 34.4rem;\n }\n}\n@media screen and (min-width: 60em) {\n .md-search__scrollwrap {\n max-height: 0;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n }\n [data-md-toggle=search]:checked ~ .md-header .md-search__scrollwrap {\n max-height: 75vh;\n }\n .md-search__scrollwrap:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n .md-search__scrollwrap::-webkit-scrollbar {\n width: 0.2rem;\n height: 0.2rem;\n }\n .md-search__scrollwrap::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n }\n .md-search__scrollwrap::-webkit-scrollbar-thumb:hover {\n background-color: var(--md-accent-fg-color);\n }\n}\n\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n}\n.md-search-result__meta {\n padding: 0 0.8rem;\n color: var(--md-default-fg-color--light);\n font-size: 0.64rem;\n line-height: 1.8rem;\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n}\n@media screen and (min-width: 60em) {\n .md-search-result__meta {\n padding-left: 2.2rem;\n }\n [dir=rtl] .md-search-result__meta {\n padding-right: 2.2rem;\n padding-left: initial;\n }\n}\n.md-search-result__list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.md-search-result__item {\n box-shadow: 0 -0.05rem 0 var(--md-default-fg-color--lightest);\n}\n.md-search-result__item:first-child {\n box-shadow: none;\n}\n.md-search-result__link {\n display: block;\n outline: none;\n transition: background-color 250ms;\n scroll-snap-align: start;\n}\n.md-search-result__link:focus, .md-search-result__link:hover {\n background-color: var(--md-accent-fg-color--transparent);\n}\n.md-search-result__link:last-child p:last-child {\n margin-bottom: 0.6rem;\n}\n.md-search-result__more summary {\n display: block;\n padding: 0.75em 0.8rem;\n color: var(--md-typeset-a-color);\n font-size: 0.64rem;\n outline: 0;\n cursor: pointer;\n transition: color 250ms, background-color 250ms;\n scroll-snap-align: start;\n}\n@media screen and (min-width: 60em) {\n .md-search-result__more summary {\n padding-left: 2.2rem;\n }\n [dir=rtl] .md-search-result__more summary {\n padding-right: 2.2rem;\n padding-left: 0.8rem;\n }\n}\n.md-search-result__more summary:focus, .md-search-result__more summary:hover {\n color: var(--md-accent-fg-color);\n background-color: var(--md-accent-fg-color--transparent);\n}\n.md-search-result__more summary::marker, .md-search-result__more summary::-webkit-details-marker {\n display: none;\n}\n.md-search-result__more summary ~ * > * {\n opacity: 0.65;\n}\n.md-search-result__article {\n position: relative;\n padding: 0 0.8rem;\n overflow: hidden;\n}\n@media screen and (min-width: 60em) {\n .md-search-result__article {\n padding-left: 2.2rem;\n }\n [dir=rtl] .md-search-result__article {\n padding-right: 2.2rem;\n padding-left: 0.8rem;\n }\n}\n.md-search-result__article--document .md-search-result__title {\n margin: 0.55rem 0;\n font-weight: 400;\n font-size: 0.8rem;\n line-height: 1.4;\n}\n.md-search-result__icon {\n position: absolute;\n left: 0;\n width: 1.2rem;\n height: 1.2rem;\n margin: 0.5rem;\n color: var(--md-default-fg-color--light);\n}\n@media screen and (max-width: 59.9375em) {\n .md-search-result__icon {\n display: none;\n }\n}\n.md-search-result__icon::after {\n display: inline-block;\n width: 100%;\n height: 100%;\n background-color: currentColor;\n mask-image: var(--md-search-result-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n}\n[dir=rtl] .md-search-result__icon {\n right: 0;\n left: initial;\n}\n[dir=rtl] .md-search-result__icon::after {\n transform: scaleX(-1);\n}\n.md-search-result__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: 0.64rem;\n line-height: 1.6;\n}\n.md-search-result__teaser {\n display: -webkit-box;\n max-height: 2rem;\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: 0.64rem;\n line-height: 1.6;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n@media screen and (max-width: 44.9375em) {\n .md-search-result__teaser {\n max-height: 3rem;\n -webkit-line-clamp: 3;\n }\n}\n@media screen and (min-width: 60em) and (max-width: 76.1875em) {\n .md-search-result__teaser {\n max-height: 3rem;\n -webkit-line-clamp: 3;\n }\n}\n.md-search-result__teaser mark {\n text-decoration: underline;\n background-color: transparent;\n}\n.md-search-result__terms {\n margin: 0.5em 0;\n font-size: 0.64rem;\n font-style: italic;\n}\n.md-search-result mark {\n color: var(--md-accent-fg-color);\n background-color: transparent;\n}\n\n.md-sidebar {\n position: sticky;\n top: 2.4rem;\n flex-shrink: 0;\n align-self: flex-start;\n width: 12.1rem;\n padding: 1.2rem 0;\n}\n@media print {\n .md-sidebar {\n display: none;\n }\n}\n@media screen and (max-width: 76.1875em) {\n .md-sidebar--primary {\n position: fixed;\n top: 0;\n left: -12.1rem;\n z-index: 3;\n display: block;\n width: 12.1rem;\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms;\n }\n [dir=rtl] .md-sidebar--primary {\n right: -12.1rem;\n left: initial;\n }\n [data-md-toggle=drawer]:checked ~ .md-container .md-sidebar--primary {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.4);\n transform: translateX(12.1rem);\n }\n [dir=rtl] [data-md-toggle=drawer]:checked ~ .md-container .md-sidebar--primary {\n transform: translateX(-12.1rem);\n }\n .md-sidebar--primary .md-sidebar__scrollwrap {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n overflow: hidden;\n }\n}\n@media screen and (min-width: 76.25em) {\n .md-sidebar {\n height: 0;\n }\n .no-js .md-sidebar {\n height: auto;\n }\n}\n.md-sidebar--secondary {\n display: none;\n order: 2;\n}\n@media screen and (min-width: 60em) {\n .md-sidebar--secondary {\n height: 0;\n }\n .no-js .md-sidebar--secondary {\n height: auto;\n }\n .md-sidebar--secondary:not([hidden]) {\n display: block;\n }\n .md-sidebar--secondary .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n}\n.md-sidebar__scrollwrap {\n margin: 0 0.2rem;\n overflow-y: auto;\n backface-visibility: hidden;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n}\n.md-sidebar__scrollwrap:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n}\n.md-sidebar__scrollwrap::-webkit-scrollbar {\n width: 0.2rem;\n height: 0.2rem;\n}\n.md-sidebar__scrollwrap::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n}\n.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover {\n background-color: var(--md-accent-fg-color);\n}\n\n@media screen and (max-width: 76.1875em) {\n .md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.54);\n opacity: 0;\n transition: width 0ms 250ms, height 0ms 250ms, opacity 250ms;\n }\n [data-md-toggle=drawer]:checked ~ .md-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition: width 0ms, height 0ms, opacity 250ms;\n }\n}\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n 100% {\n height: 0.65rem;\n }\n}\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n.md-source {\n display: block;\n font-size: 0.65rem;\n line-height: 1.2;\n white-space: nowrap;\n backface-visibility: hidden;\n transition: opacity 250ms;\n}\n.md-source:focus, .md-source:hover {\n opacity: 0.7;\n}\n.md-source__icon {\n display: inline-block;\n width: 2.4rem;\n height: 2.4rem;\n vertical-align: middle;\n}\n.md-source__icon svg {\n margin-top: 0.6rem;\n margin-left: 0.6rem;\n}\n[dir=rtl] .md-source__icon svg {\n margin-right: 0.6rem;\n margin-left: initial;\n}\n.md-source__icon + .md-source__repository {\n margin-left: -2rem;\n padding-left: 2rem;\n}\n[dir=rtl] .md-source__icon + .md-source__repository {\n margin-right: -2rem;\n margin-left: initial;\n padding-right: 2rem;\n padding-left: initial;\n}\n.md-source__repository {\n display: inline-block;\n max-width: calc(100% - 1.2rem);\n margin-left: 0.6rem;\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n}\n.md-source__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: 0.55rem;\n list-style-type: none;\n opacity: 0.75;\n}\n[data-md-state=done] .md-source__facts {\n animation: md-source__facts--done 250ms ease-in;\n}\n.md-source__fact {\n float: left;\n}\n[dir=rtl] .md-source__fact {\n float: right;\n}\n[data-md-state=done] .md-source__fact {\n animation: md-source__fact--done 400ms ease-out;\n}\n.md-source__fact::before {\n margin: 0 0.1rem;\n content: \"·\";\n}\n.md-source__fact:first-child::before {\n display: none;\n}\n\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background-color 250ms;\n}\n@media print {\n .md-tabs {\n display: none;\n }\n}\n@media screen and (max-width: 76.1875em) {\n .md-tabs {\n display: none;\n }\n}\n.md-tabs[data-md-state=hidden] {\n pointer-events: none;\n}\n.md-tabs__list {\n margin: 0;\n margin-left: 0.2rem;\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n}\n[dir=rtl] .md-tabs__list {\n margin-right: 0.2rem;\n margin-left: initial;\n}\n.md-tabs__item {\n display: inline-block;\n height: 2.4rem;\n padding-right: 0.6rem;\n padding-left: 0.6rem;\n}\n.md-tabs__link {\n display: block;\n margin-top: 0.8rem;\n font-size: 0.7rem;\n backface-visibility: hidden;\n opacity: 0.7;\n transition: transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 250ms;\n}\n.md-tabs__link--active, .md-tabs__link:focus, .md-tabs__link:hover {\n color: inherit;\n opacity: 1;\n}\n.md-tabs__item:nth-child(2) .md-tabs__link {\n transition-delay: 20ms;\n}\n.md-tabs__item:nth-child(3) .md-tabs__link {\n transition-delay: 40ms;\n}\n.md-tabs__item:nth-child(4) .md-tabs__link {\n transition-delay: 60ms;\n}\n.md-tabs__item:nth-child(5) .md-tabs__link {\n transition-delay: 80ms;\n}\n.md-tabs__item:nth-child(6) .md-tabs__link {\n transition-delay: 100ms;\n}\n.md-tabs__item:nth-child(7) .md-tabs__link {\n transition-delay: 120ms;\n}\n.md-tabs__item:nth-child(8) .md-tabs__link {\n transition-delay: 140ms;\n}\n.md-tabs__item:nth-child(9) .md-tabs__link {\n transition-delay: 160ms;\n}\n.md-tabs__item:nth-child(10) .md-tabs__link {\n transition-delay: 180ms;\n}\n.md-tabs__item:nth-child(11) .md-tabs__link {\n transition-delay: 200ms;\n}\n.md-tabs__item:nth-child(12) .md-tabs__link {\n transition-delay: 220ms;\n}\n.md-tabs__item:nth-child(13) .md-tabs__link {\n transition-delay: 240ms;\n}\n.md-tabs__item:nth-child(14) .md-tabs__link {\n transition-delay: 260ms;\n}\n.md-tabs__item:nth-child(15) .md-tabs__link {\n transition-delay: 280ms;\n}\n.md-tabs__item:nth-child(16) .md-tabs__link {\n transition-delay: 300ms;\n}\n.md-tabs[data-md-state=hidden] .md-tabs__link {\n transform: translateY(50%);\n opacity: 0;\n transition: transform 0ms 100ms, opacity 100ms;\n}\n\n:root {\n --md-admonition-icon--note:\n svg-load(\"material/pencil.svg\");\n --md-admonition-icon--abstract:\n svg-load(\"material/text-subject.svg\");\n --md-admonition-icon--info:\n svg-load(\"material/information.svg\");\n --md-admonition-icon--tip:\n svg-load(\"material/fire.svg\");\n --md-admonition-icon--success:\n svg-load(\"material/check-circle.svg\");\n --md-admonition-icon--question:\n svg-load(\"material/help-circle.svg\");\n --md-admonition-icon--warning:\n svg-load(\"material/alert.svg\");\n --md-admonition-icon--failure:\n svg-load(\"material/close-circle.svg\");\n --md-admonition-icon--danger:\n svg-load(\"material/flash-circle.svg\");\n --md-admonition-icon--bug:\n svg-load(\"material/bug.svg\");\n --md-admonition-icon--example:\n svg-load(\"material/format-list-numbered.svg\");\n --md-admonition-icon--quote:\n svg-load(\"material/format-quote-close.svg\");\n}\n\n.md-typeset .admonition, .md-typeset details {\n margin: 1.5625em 0;\n padding: 0 0.6rem;\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: 0.64rem;\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: 0.2rem solid #448aff;\n border-radius: 0.1rem;\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.05);\n}\n@media print {\n .md-typeset .admonition, .md-typeset details {\n box-shadow: none;\n }\n}\n[dir=rtl] .md-typeset .admonition, [dir=rtl] .md-typeset details {\n border-right: 0.2rem solid #448aff;\n border-left: none;\n}\n.md-typeset .admonition .admonition, .md-typeset details .admonition, .md-typeset .admonition details, .md-typeset details details {\n margin: 1em 0;\n}\n.md-typeset .admonition .md-typeset__scrollwrap, .md-typeset details .md-typeset__scrollwrap {\n margin: 1em -0.6rem;\n}\n.md-typeset .admonition .md-typeset__table, .md-typeset details .md-typeset__table {\n padding: 0 0.6rem;\n}\n.md-typeset .admonition > .tabbed-set:only-child, .md-typeset details > .tabbed-set:only-child {\n margin-top: 0;\n}\nhtml .md-typeset .admonition > :last-child, html .md-typeset details > :last-child {\n margin-bottom: 0.6rem;\n}\n.md-typeset .admonition-title, .md-typeset summary {\n position: relative;\n margin: 0 -0.6rem 0 -0.8rem;\n padding: 0.4rem 0.6rem 0.4rem 2rem;\n font-weight: 700;\n background-color: rgba(68, 138, 255, 0.1);\n border-left: 0.2rem solid #448aff;\n}\n[dir=rtl] .md-typeset .admonition-title, [dir=rtl] .md-typeset summary {\n margin: 0 -0.8rem 0 -0.6rem;\n padding: 0.4rem 2rem 0.4rem 0.6rem;\n border-right: 0.2rem solid #448aff;\n border-left: none;\n}\nhtml .md-typeset .admonition-title:last-child, html .md-typeset summary:last-child {\n margin-bottom: 0;\n}\n.md-typeset .admonition-title::before, .md-typeset summary::before {\n position: absolute;\n left: 0.6rem;\n width: 1rem;\n height: 1rem;\n background-color: #448aff;\n mask-image: var(--md-admonition-icon--note);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n}\n[dir=rtl] .md-typeset .admonition-title::before, [dir=rtl] .md-typeset summary::before {\n right: 0.6rem;\n left: initial;\n}\n.md-typeset .admonition-title code, .md-typeset summary code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n}\n.md-typeset .admonition-title + .tabbed-set:last-child, .md-typeset summary + .tabbed-set:last-child {\n margin-top: 0;\n}\n\n.md-typeset .admonition.note, .md-typeset details.note {\n border-color: #448aff;\n}\n\n.md-typeset .note > .admonition-title, .md-typeset .note > summary {\n background-color: rgba(68, 138, 255, 0.1);\n border-color: #448aff;\n}\n.md-typeset .note > .admonition-title::before, .md-typeset .note > summary::before {\n background-color: #448aff;\n mask-image: var(--md-admonition-icon--note);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.abstract, .md-typeset details.abstract, .md-typeset .admonition.tldr, .md-typeset details.tldr, .md-typeset .admonition.summary, .md-typeset details.summary {\n border-color: #00b0ff;\n}\n\n.md-typeset .abstract > .admonition-title, .md-typeset .abstract > summary, .md-typeset .tldr > .admonition-title, .md-typeset .tldr > summary, .md-typeset .summary > .admonition-title, .md-typeset .summary > summary {\n background-color: rgba(0, 176, 255, 0.1);\n border-color: #00b0ff;\n}\n.md-typeset .abstract > .admonition-title::before, .md-typeset .abstract > summary::before, .md-typeset .tldr > .admonition-title::before, .md-typeset .tldr > summary::before, .md-typeset .summary > .admonition-title::before, .md-typeset .summary > summary::before {\n background-color: #00b0ff;\n mask-image: var(--md-admonition-icon--abstract);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.info, .md-typeset details.info, .md-typeset .admonition.todo, .md-typeset details.todo {\n border-color: #00b8d4;\n}\n\n.md-typeset .info > .admonition-title, .md-typeset .info > summary, .md-typeset .todo > .admonition-title, .md-typeset .todo > summary {\n background-color: rgba(0, 184, 212, 0.1);\n border-color: #00b8d4;\n}\n.md-typeset .info > .admonition-title::before, .md-typeset .info > summary::before, .md-typeset .todo > .admonition-title::before, .md-typeset .todo > summary::before {\n background-color: #00b8d4;\n mask-image: var(--md-admonition-icon--info);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.tip, .md-typeset details.tip, .md-typeset .admonition.important, .md-typeset details.important, .md-typeset .admonition.hint, .md-typeset details.hint {\n border-color: #00bfa5;\n}\n\n.md-typeset .tip > .admonition-title, .md-typeset .tip > summary, .md-typeset .important > .admonition-title, .md-typeset .important > summary, .md-typeset .hint > .admonition-title, .md-typeset .hint > summary {\n background-color: rgba(0, 191, 165, 0.1);\n border-color: #00bfa5;\n}\n.md-typeset .tip > .admonition-title::before, .md-typeset .tip > summary::before, .md-typeset .important > .admonition-title::before, .md-typeset .important > summary::before, .md-typeset .hint > .admonition-title::before, .md-typeset .hint > summary::before {\n background-color: #00bfa5;\n mask-image: var(--md-admonition-icon--tip);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.success, .md-typeset details.success, .md-typeset .admonition.done, .md-typeset details.done, .md-typeset .admonition.check, .md-typeset details.check {\n border-color: #00c853;\n}\n\n.md-typeset .success > .admonition-title, .md-typeset .success > summary, .md-typeset .done > .admonition-title, .md-typeset .done > summary, .md-typeset .check > .admonition-title, .md-typeset .check > summary {\n background-color: rgba(0, 200, 83, 0.1);\n border-color: #00c853;\n}\n.md-typeset .success > .admonition-title::before, .md-typeset .success > summary::before, .md-typeset .done > .admonition-title::before, .md-typeset .done > summary::before, .md-typeset .check > .admonition-title::before, .md-typeset .check > summary::before {\n background-color: #00c853;\n mask-image: var(--md-admonition-icon--success);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.question, .md-typeset details.question, .md-typeset .admonition.faq, .md-typeset details.faq, .md-typeset .admonition.help, .md-typeset details.help {\n border-color: #64dd17;\n}\n\n.md-typeset .question > .admonition-title, .md-typeset .question > summary, .md-typeset .faq > .admonition-title, .md-typeset .faq > summary, .md-typeset .help > .admonition-title, .md-typeset .help > summary {\n background-color: rgba(100, 221, 23, 0.1);\n border-color: #64dd17;\n}\n.md-typeset .question > .admonition-title::before, .md-typeset .question > summary::before, .md-typeset .faq > .admonition-title::before, .md-typeset .faq > summary::before, .md-typeset .help > .admonition-title::before, .md-typeset .help > summary::before {\n background-color: #64dd17;\n mask-image: var(--md-admonition-icon--question);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.warning, .md-typeset details.warning, .md-typeset .admonition.attention, .md-typeset details.attention, .md-typeset .admonition.caution, .md-typeset details.caution {\n border-color: #ff9100;\n}\n\n.md-typeset .warning > .admonition-title, .md-typeset .warning > summary, .md-typeset .attention > .admonition-title, .md-typeset .attention > summary, .md-typeset .caution > .admonition-title, .md-typeset .caution > summary {\n background-color: rgba(255, 145, 0, 0.1);\n border-color: #ff9100;\n}\n.md-typeset .warning > .admonition-title::before, .md-typeset .warning > summary::before, .md-typeset .attention > .admonition-title::before, .md-typeset .attention > summary::before, .md-typeset .caution > .admonition-title::before, .md-typeset .caution > summary::before {\n background-color: #ff9100;\n mask-image: var(--md-admonition-icon--warning);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.failure, .md-typeset details.failure, .md-typeset .admonition.missing, .md-typeset details.missing, .md-typeset .admonition.fail, .md-typeset details.fail {\n border-color: #ff5252;\n}\n\n.md-typeset .failure > .admonition-title, .md-typeset .failure > summary, .md-typeset .missing > .admonition-title, .md-typeset .missing > summary, .md-typeset .fail > .admonition-title, .md-typeset .fail > summary {\n background-color: rgba(255, 82, 82, 0.1);\n border-color: #ff5252;\n}\n.md-typeset .failure > .admonition-title::before, .md-typeset .failure > summary::before, .md-typeset .missing > .admonition-title::before, .md-typeset .missing > summary::before, .md-typeset .fail > .admonition-title::before, .md-typeset .fail > summary::before {\n background-color: #ff5252;\n mask-image: var(--md-admonition-icon--failure);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.danger, .md-typeset details.danger, .md-typeset .admonition.error, .md-typeset details.error {\n border-color: #ff1744;\n}\n\n.md-typeset .danger > .admonition-title, .md-typeset .danger > summary, .md-typeset .error > .admonition-title, .md-typeset .error > summary {\n background-color: rgba(255, 23, 68, 0.1);\n border-color: #ff1744;\n}\n.md-typeset .danger > .admonition-title::before, .md-typeset .danger > summary::before, .md-typeset .error > .admonition-title::before, .md-typeset .error > summary::before {\n background-color: #ff1744;\n mask-image: var(--md-admonition-icon--danger);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.bug, .md-typeset details.bug {\n border-color: #f50057;\n}\n\n.md-typeset .bug > .admonition-title, .md-typeset .bug > summary {\n background-color: rgba(245, 0, 87, 0.1);\n border-color: #f50057;\n}\n.md-typeset .bug > .admonition-title::before, .md-typeset .bug > summary::before {\n background-color: #f50057;\n mask-image: var(--md-admonition-icon--bug);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.example, .md-typeset details.example {\n border-color: #651fff;\n}\n\n.md-typeset .example > .admonition-title, .md-typeset .example > summary {\n background-color: rgba(101, 31, 255, 0.1);\n border-color: #651fff;\n}\n.md-typeset .example > .admonition-title::before, .md-typeset .example > summary::before {\n background-color: #651fff;\n mask-image: var(--md-admonition-icon--example);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n.md-typeset .admonition.quote, .md-typeset details.quote, .md-typeset .admonition.cite, .md-typeset details.cite {\n border-color: #9e9e9e;\n}\n\n.md-typeset .quote > .admonition-title, .md-typeset .quote > summary, .md-typeset .cite > .admonition-title, .md-typeset .cite > summary {\n background-color: rgba(158, 158, 158, 0.1);\n border-color: #9e9e9e;\n}\n.md-typeset .quote > .admonition-title::before, .md-typeset .quote > summary::before, .md-typeset .cite > .admonition-title::before, .md-typeset .cite > summary::before {\n background-color: #9e9e9e;\n mask-image: var(--md-admonition-icon--quote);\n mask-repeat: no-repeat;\n mask-size: contain;\n}\n\n:root {\n --md-footnotes-icon: svg-load(\"material/keyboard-return.svg\");\n}\n\n.md-typeset [id^=\"fnref:\"]:target {\n scroll-margin-top: initial;\n margin-top: -3.4rem;\n padding-top: 3.4rem;\n}\n.md-typeset [id^=\"fn:\"]:target {\n scroll-margin-top: initial;\n margin-top: -3.45rem;\n padding-top: 3.45rem;\n}\n.md-typeset .footnote {\n color: var(--md-default-fg-color--light);\n font-size: 0.64rem;\n}\n.md-typeset .footnote ol {\n margin-left: 0;\n}\n.md-typeset .footnote li {\n transition: color 125ms;\n}\n.md-typeset .footnote li:target {\n color: var(--md-default-fg-color);\n}\n.md-typeset .footnote li:hover .footnote-backref, .md-typeset .footnote li:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n}\n.md-typeset .footnote li > :first-child {\n margin-top: 0;\n}\n.md-typeset .footnote-backref {\n display: inline-block;\n color: var(--md-typeset-a-color);\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(0.25rem);\n opacity: 0;\n transition: color 250ms, transform 250ms 250ms, opacity 125ms 250ms;\n}\n@media print {\n .md-typeset .footnote-backref {\n color: var(--md-typeset-a-color);\n transform: translateX(0);\n opacity: 1;\n }\n}\n[dir=rtl] .md-typeset .footnote-backref {\n transform: translateX(-0.25rem);\n}\n.md-typeset .footnote-backref:hover {\n color: var(--md-accent-fg-color);\n}\n.md-typeset .footnote-backref::before {\n display: inline-block;\n width: 0.8rem;\n height: 0.8rem;\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n}\n[dir=rtl] .md-typeset .footnote-backref::before svg {\n transform: scaleX(-1);\n}\n\n.md-typeset .headerlink {\n display: inline-block;\n margin-left: 0.5rem;\n color: var(--md-default-fg-color--lighter);\n opacity: 0;\n transition: color 250ms, opacity 125ms;\n}\n@media print {\n .md-typeset .headerlink {\n display: none;\n }\n}\n[dir=rtl] .md-typeset .headerlink {\n margin-right: 0.5rem;\n margin-left: initial;\n}\n.md-typeset :hover > .headerlink,\n.md-typeset :target > .headerlink,\n.md-typeset .headerlink:focus {\n opacity: 1;\n transition: color 250ms, opacity 125ms;\n}\n.md-typeset :target > .headerlink,\n.md-typeset .headerlink:focus,\n.md-typeset .headerlink:hover {\n color: var(--md-accent-fg-color);\n}\n.md-typeset :target {\n scroll-margin-top: 3.6rem;\n}\n.md-typeset h1:target,\n.md-typeset h2:target,\n.md-typeset h3:target {\n scroll-margin-top: initial;\n}\n.md-typeset h1:target::before,\n.md-typeset h2:target::before,\n.md-typeset h3:target::before {\n display: block;\n margin-top: -3.4rem;\n padding-top: 3.4rem;\n content: \"\";\n}\n.md-typeset h4:target {\n scroll-margin-top: initial;\n}\n.md-typeset h4:target::before {\n display: block;\n margin-top: -3.45rem;\n padding-top: 3.45rem;\n content: \"\";\n}\n.md-typeset h5:target,\n.md-typeset h6:target {\n scroll-margin-top: initial;\n}\n.md-typeset h5:target::before,\n.md-typeset h6:target::before {\n display: block;\n margin-top: -3.6rem;\n padding-top: 3.6rem;\n content: \"\";\n}\n\n.md-typeset div.arithmatex {\n overflow: auto;\n}\n@media screen and (max-width: 44.9375em) {\n .md-typeset div.arithmatex {\n margin: 0 -0.8rem;\n }\n}\n.md-typeset div.arithmatex > * {\n width: min-content;\n margin: 1em auto !important;\n padding: 0 0.8rem;\n touch-action: auto;\n}\n\n.md-typeset del.critic,\n.md-typeset ins.critic,\n.md-typeset .critic.comment {\n box-decoration-break: clone;\n}\n.md-typeset del.critic {\n background-color: var(--md-typeset-del-color);\n}\n.md-typeset ins.critic {\n background-color: var(--md-typeset-ins-color);\n}\n.md-typeset .critic.comment {\n color: var(--md-code-hl-comment-color);\n}\n.md-typeset .critic.comment::before {\n content: \"/* \";\n}\n.md-typeset .critic.comment::after {\n content: \" */\";\n}\n.md-typeset .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: 0.8rem;\n padding-left: 0.8rem;\n overflow: auto;\n box-shadow: none;\n}\n.md-typeset .critic.block > :first-child {\n margin-top: 0.5em;\n}\n.md-typeset .critic.block > :last-child {\n margin-bottom: 0.5em;\n}\n\n:root {\n --md-details-icon: svg-load(\"material/chevron-right.svg\");\n}\n\n.md-typeset details {\n display: block;\n padding-top: 0;\n overflow: visible;\n}\n.md-typeset details[open] > summary::after {\n transform: rotate(90deg);\n}\n.md-typeset details:not([open]) {\n padding-bottom: 0;\n box-shadow: none;\n}\n.md-typeset details:not([open]) > summary {\n border-radius: 0.1rem;\n}\n.md-typeset details::after {\n display: table;\n content: \"\";\n}\n.md-typeset summary {\n display: block;\n min-height: 1rem;\n padding: 0.4rem 1.8rem 0.4rem 2rem;\n border-top-left-radius: 0.1rem;\n border-top-right-radius: 0.1rem;\n cursor: pointer;\n}\n[dir=rtl] .md-typeset summary {\n padding: 0.4rem 2.2rem 0.4rem 1.8rem;\n}\n.md-typeset summary:not(.focus-visible) {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n.md-typeset summary::after {\n position: absolute;\n top: 0.4rem;\n right: 0.4rem;\n width: 1rem;\n height: 1rem;\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n}\n[dir=rtl] .md-typeset summary::after {\n right: initial;\n left: 0.4rem;\n transform: rotate(180deg);\n}\n.md-typeset summary::marker, .md-typeset summary::-webkit-details-marker {\n display: none;\n}\n\n.md-typeset .emojione,\n.md-typeset .twemoji,\n.md-typeset .gemoji {\n display: inline-block;\n height: 1.125em;\n vertical-align: text-top;\n}\n.md-typeset .emojione svg,\n.md-typeset .twemoji svg,\n.md-typeset .gemoji svg {\n width: 1.125em;\n max-height: 100%;\n fill: currentColor;\n}\n\n.highlight .o,\n.highlight .ow {\n color: var(--md-code-hl-operator-color);\n}\n.highlight .p {\n color: var(--md-code-hl-punctuation-color);\n}\n.highlight .cpf,\n.highlight .l,\n.highlight .s,\n.highlight .sb,\n.highlight .sc,\n.highlight .s2,\n.highlight .si,\n.highlight .s1,\n.highlight .ss {\n color: var(--md-code-hl-string-color);\n}\n.highlight .cp,\n.highlight .se,\n.highlight .sh,\n.highlight .sr,\n.highlight .sx {\n color: var(--md-code-hl-special-color);\n}\n.highlight .m,\n.highlight .mb,\n.highlight .mf,\n.highlight .mh,\n.highlight .mi,\n.highlight .il,\n.highlight .mo {\n color: var(--md-code-hl-number-color);\n}\n.highlight .k,\n.highlight .kd,\n.highlight .kn,\n.highlight .kp,\n.highlight .kr,\n.highlight .kt {\n color: var(--md-code-hl-keyword-color);\n}\n.highlight .kc,\n.highlight .n {\n color: var(--md-code-hl-name-color);\n}\n.highlight .no,\n.highlight .nb,\n.highlight .bp {\n color: var(--md-code-hl-constant-color);\n}\n.highlight .nc,\n.highlight .ne,\n.highlight .nf,\n.highlight .nn {\n color: var(--md-code-hl-function-color);\n}\n.highlight .nd,\n.highlight .ni,\n.highlight .nl,\n.highlight .nt {\n color: var(--md-code-hl-keyword-color);\n}\n.highlight .c,\n.highlight .cm,\n.highlight .c1,\n.highlight .ch,\n.highlight .cs,\n.highlight .sd {\n color: var(--md-code-hl-comment-color);\n}\n.highlight .na,\n.highlight .nv,\n.highlight .vc,\n.highlight .vg,\n.highlight .vi {\n color: var(--md-code-hl-variable-color);\n}\n.highlight .ge,\n.highlight .gr,\n.highlight .gh,\n.highlight .go,\n.highlight .gp,\n.highlight .gs,\n.highlight .gu,\n.highlight .gt {\n color: var(--md-code-hl-generic-color);\n}\n.highlight .gd,\n.highlight .gi {\n margin: 0 -0.125em;\n padding: 0 0.125em;\n border-radius: 0.1rem;\n}\n.highlight .gd {\n background-color: var(--md-typeset-del-color);\n}\n.highlight .gi {\n background-color: var(--md-typeset-ins-color);\n}\n.highlight .hll {\n display: block;\n margin: 0 -1.1764705882em;\n padding: 0 1.1764705882em;\n background-color: var(--md-code-hl-color);\n}\n.highlight [data-linenos]::before {\n position: sticky;\n left: -1.1764705882em;\n float: left;\n margin-right: 1.1764705882em;\n margin-left: -1.1764705882em;\n padding-left: 1.1764705882em;\n color: var(--md-default-fg-color--light);\n background-color: var(--md-code-bg-color);\n box-shadow: -0.05rem 0 var(--md-default-fg-color--lightest) inset;\n content: attr(data-linenos);\n user-select: none;\n}\n\n.highlighttable {\n display: flow-root;\n overflow: hidden;\n}\n.highlighttable tbody,\n.highlighttable td {\n display: block;\n padding: 0;\n}\n.highlighttable tr {\n display: flex;\n}\n.highlighttable pre {\n margin: 0;\n}\n.highlighttable .linenos {\n padding: 0.7720588235em 1.1764705882em;\n padding-right: 0;\n font-size: 0.85em;\n background-color: var(--md-code-bg-color);\n user-select: none;\n}\n.highlighttable .linenodiv {\n padding-right: 0.5882352941em;\n box-shadow: -0.05rem 0 var(--md-default-fg-color--lightest) inset;\n}\n.highlighttable .linenodiv pre {\n color: var(--md-default-fg-color--light);\n text-align: right;\n}\n.highlighttable .code {\n flex: 1;\n overflow: hidden;\n}\n\n.md-typeset .highlighttable {\n margin: 1em 0;\n direction: ltr;\n border-radius: 0.1rem;\n}\n.md-typeset .highlighttable code {\n border-radius: 0;\n}\n@media screen and (max-width: 44.9375em) {\n .md-typeset > .highlight {\n margin: 1em -0.8rem;\n }\n .md-typeset > .highlight .hll {\n margin: 0 -0.8rem;\n padding: 0 0.8rem;\n }\n .md-typeset > .highlight code {\n border-radius: 0;\n }\n .md-typeset > .highlighttable {\n margin: 1em -0.8rem;\n border-radius: 0;\n }\n .md-typeset > .highlighttable .hll {\n margin: 0 -0.8rem;\n padding: 0 0.8rem;\n }\n}\n\n.md-typeset .keys kbd::before,\n.md-typeset .keys kbd::after {\n position: relative;\n margin: 0;\n color: inherit;\n -moz-osx-font-smoothing: initial;\n -webkit-font-smoothing: initial;\n}\n.md-typeset .keys span {\n padding: 0 0.2em;\n color: var(--md-default-fg-color--light);\n}\n.md-typeset .keys .key-alt::before {\n padding-right: 0.4em;\n content: \"⎇\";\n}\n.md-typeset .keys .key-left-alt::before {\n padding-right: 0.4em;\n content: \"⎇\";\n}\n.md-typeset .keys .key-right-alt::before {\n padding-right: 0.4em;\n content: \"⎇\";\n}\n.md-typeset .keys .key-command::before {\n padding-right: 0.4em;\n content: \"⌘\";\n}\n.md-typeset .keys .key-left-command::before {\n padding-right: 0.4em;\n content: \"⌘\";\n}\n.md-typeset .keys .key-right-command::before {\n padding-right: 0.4em;\n content: \"⌘\";\n}\n.md-typeset .keys .key-control::before {\n padding-right: 0.4em;\n content: \"⌃\";\n}\n.md-typeset .keys .key-left-control::before {\n padding-right: 0.4em;\n content: \"⌃\";\n}\n.md-typeset .keys .key-right-control::before {\n padding-right: 0.4em;\n content: \"⌃\";\n}\n.md-typeset .keys .key-meta::before {\n padding-right: 0.4em;\n content: \"◆\";\n}\n.md-typeset .keys .key-left-meta::before {\n padding-right: 0.4em;\n content: \"◆\";\n}\n.md-typeset .keys .key-right-meta::before {\n padding-right: 0.4em;\n content: \"◆\";\n}\n.md-typeset .keys .key-option::before {\n padding-right: 0.4em;\n content: \"⌥\";\n}\n.md-typeset .keys .key-left-option::before {\n padding-right: 0.4em;\n content: \"⌥\";\n}\n.md-typeset .keys .key-right-option::before {\n padding-right: 0.4em;\n content: \"⌥\";\n}\n.md-typeset .keys .key-shift::before {\n padding-right: 0.4em;\n content: \"⇧\";\n}\n.md-typeset .keys .key-left-shift::before {\n padding-right: 0.4em;\n content: \"⇧\";\n}\n.md-typeset .keys .key-right-shift::before {\n padding-right: 0.4em;\n content: \"⇧\";\n}\n.md-typeset .keys .key-super::before {\n padding-right: 0.4em;\n content: \"❖\";\n}\n.md-typeset .keys .key-left-super::before {\n padding-right: 0.4em;\n content: \"❖\";\n}\n.md-typeset .keys .key-right-super::before {\n padding-right: 0.4em;\n content: \"❖\";\n}\n.md-typeset .keys .key-windows::before {\n padding-right: 0.4em;\n content: \"⊞\";\n}\n.md-typeset .keys .key-left-windows::before {\n padding-right: 0.4em;\n content: \"⊞\";\n}\n.md-typeset .keys .key-right-windows::before {\n padding-right: 0.4em;\n content: \"⊞\";\n}\n.md-typeset .keys .key-arrow-down::before {\n padding-right: 0.4em;\n content: \"↓\";\n}\n.md-typeset .keys .key-arrow-left::before {\n padding-right: 0.4em;\n content: \"←\";\n}\n.md-typeset .keys .key-arrow-right::before {\n padding-right: 0.4em;\n content: \"→\";\n}\n.md-typeset .keys .key-arrow-up::before {\n padding-right: 0.4em;\n content: \"↑\";\n}\n.md-typeset .keys .key-backspace::before {\n padding-right: 0.4em;\n content: \"⌫\";\n}\n.md-typeset .keys .key-backtab::before {\n padding-right: 0.4em;\n content: \"⇤\";\n}\n.md-typeset .keys .key-caps-lock::before {\n padding-right: 0.4em;\n content: \"⇪\";\n}\n.md-typeset .keys .key-clear::before {\n padding-right: 0.4em;\n content: \"⌧\";\n}\n.md-typeset .keys .key-context-menu::before {\n padding-right: 0.4em;\n content: \"☰\";\n}\n.md-typeset .keys .key-delete::before {\n padding-right: 0.4em;\n content: \"⌦\";\n}\n.md-typeset .keys .key-eject::before {\n padding-right: 0.4em;\n content: \"⏏\";\n}\n.md-typeset .keys .key-end::before {\n padding-right: 0.4em;\n content: \"⤓\";\n}\n.md-typeset .keys .key-escape::before {\n padding-right: 0.4em;\n content: \"⎋\";\n}\n.md-typeset .keys .key-home::before {\n padding-right: 0.4em;\n content: \"⤒\";\n}\n.md-typeset .keys .key-insert::before {\n padding-right: 0.4em;\n content: \"⎀\";\n}\n.md-typeset .keys .key-page-down::before {\n padding-right: 0.4em;\n content: \"⇟\";\n}\n.md-typeset .keys .key-page-up::before {\n padding-right: 0.4em;\n content: \"⇞\";\n}\n.md-typeset .keys .key-print-screen::before {\n padding-right: 0.4em;\n content: \"⎙\";\n}\n.md-typeset .keys .key-tab::after {\n padding-left: 0.4em;\n content: \"⇥\";\n}\n.md-typeset .keys .key-num-enter::after {\n padding-left: 0.4em;\n content: \"⌤\";\n}\n.md-typeset .keys .key-enter::after {\n padding-left: 0.4em;\n content: \"⏎\";\n}\n\n.md-typeset .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 -0.05rem var(--md-default-fg-color--lightest);\n}\n@media print {\n .md-typeset .tabbed-content {\n display: block;\n order: initial;\n }\n}\n.md-typeset .tabbed-content > pre:only-child,\n.md-typeset .tabbed-content > .highlight:only-child pre,\n.md-typeset .tabbed-content > .highlighttable:only-child {\n margin: 0;\n}\n.md-typeset .tabbed-content > pre:only-child > code,\n.md-typeset .tabbed-content > .highlight:only-child pre > code,\n.md-typeset .tabbed-content > .highlighttable:only-child > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.md-typeset .tabbed-content > .tabbed-set {\n margin: 0;\n}\n.md-typeset .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: 0.1rem;\n}\n.md-typeset .tabbed-set > input {\n position: absolute;\n width: 0;\n height: 0;\n opacity: 0;\n}\n.md-typeset .tabbed-set > input:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n}\n.md-typeset .tabbed-set > input:checked + label + .tabbed-content {\n display: block;\n}\n.md-typeset .tabbed-set > input:focus + label {\n outline-style: auto;\n}\n.md-typeset .tabbed-set > input:not(.focus-visible) + label {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n.md-typeset .tabbed-set > label {\n z-index: 1;\n width: auto;\n padding: 0.9375em 1.25em 0.78125em;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: 0.64rem;\n border-bottom: 0.1rem solid transparent;\n cursor: pointer;\n transition: color 250ms;\n}\n.md-typeset .tabbed-set > label:hover {\n color: var(--md-accent-fg-color);\n}\n\n:root {\n --md-tasklist-icon:\n svg-load(\"octicons/check-circle-fill-24.svg\");\n --md-tasklist-icon--checked:\n svg-load(\"octicons/check-circle-fill-24.svg\");\n}\n\n.md-typeset .task-list-item {\n position: relative;\n list-style-type: none;\n}\n.md-typeset .task-list-item [type=checkbox] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n}\n[dir=rtl] .md-typeset .task-list-item [type=checkbox] {\n right: -2em;\n left: initial;\n}\n.md-typeset .task-list-control [type=checkbox] {\n z-index: -1;\n opacity: 0;\n}\n.md-typeset .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: -1.5em;\n width: 1.25em;\n height: 1.25em;\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n}\n[dir=rtl] .md-typeset .task-list-indicator::before {\n right: -1.5em;\n left: initial;\n}\n.md-typeset [type=checkbox]:checked + .task-list-indicator::before {\n background-color: #00e676;\n mask-image: var(--md-tasklist-icon--checked);\n}\n\n/*# sourceMappingURL=main.css.map */","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model and prevent adjustments of font size after\n// orientation changes in IE and iOS\nhtml {\n box-sizing: border-box;\n text-size-adjust: none;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize horizontal separator styles\nhr {\n display: block;\n box-sizing: content-box;\n height: px2rem(1px);\n padding: 0;\n overflow: visible;\n border: 0;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n line-height: 1em;\n}\n\n// Remove border on image\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: 400;\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: none;\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-400)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n\n // Code highlighting color shades\n --md-code-hl-color: hsla(#{hex2hsl($clr-yellow-a200)}, 0.5);\n --md-code-hl-number-color: hsla(0, 67%, 50%, 1);\n --md-code-hl-special-color: hsla(340, 83%, 47%, 1);\n --md-code-hl-function-color: hsla(291, 45%, 50%, 1);\n --md-code-hl-constant-color: hsla(250, 63%, 60%, 1);\n --md-code-hl-keyword-color: hsla(219, 54%, 51%, 1);\n --md-code-hl-string-color: hsla(150, 63%, 30%, 1);\n --md-code-hl-name-color: var(--md-code-fg-color);\n --md-code-hl-operator-color: var(--md-default-fg-color--light);\n --md-code-hl-punctuation-color: var(--md-default-fg-color--light);\n --md-code-hl-comment-color: var(--md-default-fg-color--light);\n --md-code-hl-generic-color: var(--md-default-fg-color--light);\n --md-code-hl-variable-color: var(--md-default-fg-color--light);\n\n // Typeset color shades\n --md-typeset-color: var(--md-default-fg-color);\n --md-typeset-a-color: var(--md-primary-fg-color);\n\n // Typeset `mark` color shades\n --md-typeset-mark-color: hsla(#{hex2hsl($clr-yellow-a200)}, 0.5);\n\n // Typeset `del` and `ins` color shades\n --md-typeset-del-color: hsla(6, 90%, 60%, 0.15);\n --md-typeset-ins-color: hsla(150, 90%, 44%, 0.15);\n\n // Typeset `kbd` color shades\n --md-typeset-kbd-color: hsla(0, 0%, 98%, 1);\n --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);\n --md-typeset-kbd-border-color: hsla(0, 0%, 72%, 1);\n\n // Admonition color shades\n --md-admonition-fg-color: var(--md-default-fg-color);\n --md-admonition-bg-color: var(--md-default-bg-color);\n\n // Footer color shades\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Define default fonts\nbody,\ninput {\n color: var(--md-typeset-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family:\n var(--md-text-font-family, _),\n -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Define proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-typeset-color);\n font-feature-settings: \"kern\";\n font-family:\n var(--md-code-font-family, _),\n SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-typeset-table--ascending: svg-load(\"material/arrow-down.svg\");\n --md-typeset-table--descending: svg-load(\"material/arrow-up.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. admonitions) render correctly.\n.md-typeset {\n font-size: px2rem(16px);\n line-height: 1.6;\n color-adjust: exact;\n\n // [print]: We'll use a smaller `font-size` for printing, so code examples\n // don't break too early, and `16px` looks too big anyway.\n @media print {\n font-size: px2rem(13.6px);\n }\n\n // Default spacing\n p,\n ul,\n ol,\n dl,\n blockquote {\n margin: 1em 0;\n }\n\n // Headline on level 1\n h1 {\n margin: 0 0 px2em(40px, 32px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: px2em(32px);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // Headline on level 2\n h2 {\n margin: px2em(40px, 25px) 0 px2em(16px, 25px);\n font-weight: 300;\n font-size: px2em(25px);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // Headline on level 3\n h3 {\n margin: px2em(32px, 20px) 0 px2em(16px, 20px);\n font-weight: 400;\n font-size: px2em(20px);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // Headline on level 3 following level 2\n h2 + h3 {\n margin-top: px2em(16px, 20px);\n }\n\n // Headline on level 4\n h4 {\n margin: px2em(16px) 0;\n font-weight: 700;\n letter-spacing: -0.01em;\n }\n\n // Headline on level 5-6\n h5,\n h6 {\n margin: px2em(16px, 12.8px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: px2em(12.8px);\n letter-spacing: -0.01em;\n }\n\n // Headline on level 5\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separator\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Text link\n a {\n color: var(--md-typeset-a-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Text link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code block\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // [print]: Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code block\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n\n // Hide outline for pointer devices\n &:not(.focus-visible) {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n }\n }\n\n // Code block in headline\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted content\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Code block\n > code {\n display: block;\n margin: 0;\n padding: px2em(10.5px, 13.6px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Code block on hover\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Align with body copy\n @include break-to-device(mobile) {\n\n // Unformatted text\n > pre {\n margin: 1em px2rem(-16px);\n\n // Code block\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keyboard key\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n color: var(--md-default-fg-color);\n font-size: px2em(12px);\n vertical-align: text-top;\n word-break: break-word;\n background-color: var(--md-typeset-kbd-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-typeset-kbd-border-color),\n 0 px2rem(2px) 0 var(--md-typeset-kbd-border-color),\n 0 px2rem(-2px) px2rem(4px) var(--md-typeset-kbd-accent-color) inset;\n }\n\n // Text highlighting marker\n mark {\n color: inherit;\n word-break: break-word;\n background-color: var(--md-typeset-mark-color);\n box-decoration-break: clone;\n }\n\n // Abbreviation\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n\n // Show tooltip for touch devices\n @media (hover: none) {\n position: relative;\n\n // Tooltip\n &[title]:focus::after,\n &[title]:hover::after {\n @include z-depth(2);\n\n position: absolute;\n left: 0;\n display: inline-block;\n width: auto;\n min-width: max-content;\n max-width: 80%;\n margin-top: 2em;\n padding: px2rem(4px) px2rem(6px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n content: attr(title);\n }\n }\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered list\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered list\n ul,\n ol {\n margin-left: px2em(10px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px);\n margin-left: initial;\n }\n\n // Nested ordered list\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List element\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px);\n margin-left: initial;\n }\n\n // Adjust spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Adjust spacing on last child\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested list\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition list\n dd {\n margin: 1em 0 1.5em px2em(30px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px);\n margin-left: initial;\n }\n }\n\n // Image or icon\n img,\n svg {\n max-width: 100%;\n height: auto;\n\n // Adjust spacing when left-aligned\n &[align=\"left\"] {\n margin: 1em;\n margin-left: 0;\n }\n\n // Adjust spacing when right-aligned\n &[align=\"right\"] {\n margin: 1em;\n margin-right: 0;\n }\n\n // Adjust spacing when sole children\n &[align]:only-child {\n margin-top: 0;\n }\n }\n\n // Figure\n figure {\n width: fit-content;\n max-width: 100%;\n margin: 0 auto;\n text-align: center;\n\n // Figure images\n img {\n display: block;\n }\n }\n\n // Figure caption\n figcaption {\n max-width: px2rem(480px);\n margin: 1em auto 2em;\n font-style: italic;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data table\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: px2rem(12.8px);\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // [print]: Reset display mode so table header wraps when printing\n @media print {\n display: table;\n }\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n + * {\n margin-top: 1.5em;\n }\n\n // Elements in table heading and cell\n th > *,\n td > * {\n\n // Adjust spacing on first child\n &:first-child {\n margin-top: 0;\n }\n\n // Adjust spacing on last child\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Table heading and cell\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table heading\n th {\n min-width: px2rem(100px);\n padding: px2em(12px, 12.8px) px2em(16px, 12.8px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cell\n td {\n padding: px2em(12px, 12.8px) px2em(16px, 12.8px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table row\n tr {\n transition: background-color 125ms;\n\n // Table row on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Hide border on first table row\n &:first-child td {\n border-top: 0;\n }\n }\n\n // Text link in table\n a {\n word-break: normal;\n }\n }\n\n // Sortable table\n table th[role=\"columnheader\"] {\n cursor: pointer;\n\n // Sort icon\n &::after {\n display: inline-block;\n width: 1.2em;\n height: 1.2em;\n margin-left: 0.5em;\n vertical-align: sub;\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n // Sort ascending\n &[aria-sort=\"ascending\"]::after {\n background-color: currentColor;\n mask-image: var(--md-typeset-table--ascending);\n }\n\n // Sort descending\n &[aria-sort=\"descending\"]::after {\n background-color: currentColor;\n mask-image: var(--md-typeset-table--descending);\n }\n }\n\n // Data table scroll wrapper\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // [print]: Reset display mode so table header wraps when printing\n @media print {\n display: block;\n }\n\n // Data table\n html & table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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 {\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) {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n\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\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\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base `font-size`\nhtml {\n height: 100%;\n overflow-x: hidden;\n // Hack: normally, we would set the base `font-size` to `62.5%`, so we can\n // base all calculations on `10px`, but Chromium and Chrome define a minimal\n // `font-size` of `12px` if the system language is set to Chinese. For this\n // reason we just double the `font-size` and set it to `20px`.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base `font-size` to `11px`\n @include break-from-device(screen medium) {\n font-size: 137.5%;\n }\n\n // [screen large +]: Set base `font-size` to `12px`\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container - flexbox is used, so the footer will always be\n// aligned to the bottom of the viewport\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset `font-size` to `10px`, so the spacing for all inline elements\n // is correct again. Otherwise the spacing would be based on `20px`.\n font-size: px2rem(10px);\n background-color: var(--md-default-bg-color);\n\n // [print]: Omit flexbox layout due to a Firefox bug (https://mzl.la/39DgR3m)\n @media print {\n display: block;\n }\n\n // Body in locked state\n &[data-md-state=\"lock\"] {\n\n // [tablet portrait -]: Omit scroll bubbling\n @include break-to-device(tablet portrait) {\n position: fixed;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Grid container - this class is applied to wrapper elements within the\n// header, content area and footer, and makes sure that their width is limited\n// to `1220px`, and they are rendered centered if the screen is larger.\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Main container\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // [print]: Omit flexbox layout due to a Firefox bug (https://mzl.la/39DgR3m)\n @media print {\n display: block;\n }\n}\n\n// Main area - stretch to remaining space of container\n.md-main {\n flex-grow: 1;\n\n // Main area wrapper\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Add ellipsis in case of overflowing text\n.md-ellipsis {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle - this class is applied to the checkbox elements, which are used to\n// implement the CSS-only drawer and navigation, as well as the search\n.md-toggle {\n display: none;\n}\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative `z-index`, the skip link will force the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: px2rem(12.8px);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Announcement bar\n.md-announce {\n overflow: auto;\n background-color: var(--md-footer-bg-color);\n\n // [print]: Hide announcement bar\n @media print {\n display: none;\n }\n\n // Announcement wrapper\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-footer-fg-color);\n font-size: px2rem(14px);\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-clipboard-icon: svg-load(\"material/content-copy.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Button to copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2em(8px);\n right: px2em(8px);\n z-index: 1;\n width: px2em(24px);\n height: px2em(24px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 250ms;\n\n // [print]: Hide button\n @media print {\n display: none;\n }\n\n // Hide outline for pointer devices\n &:not(.focus-visible) {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n }\n\n // Darken color on code block hover\n :hover > & {\n color: var(--md-default-fg-color--light);\n }\n\n // Button on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n // Button icon - the width and height are defined in `em`, so the size is\n // automatically adjusted for nested code blocks (e.g. in admonitions)\n &::after {\n display: block;\n width: px2em(18px);\n height: px2em(18px);\n margin: 0 auto;\n background-color: currentColor;\n mask-image: var(--md-clipboard-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n // Inline button\n &--inline {\n cursor: pointer;\n\n // Code block\n code {\n transition:\n color 250ms,\n background-color 250ms;\n }\n\n // Code block on focus/hover\n &:focus code,\n &:hover code {\n color: var(--md-accent-fg-color);\n background-color: var(--md-accent-fg-color--transparent);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Content area\n.md-content {\n flex-grow: 1;\n // Hack: we must use `overflow: hidden`, so the content area is capped by\n // the dimensions of its parent. Otherwise, long code blocks might lead to\n // a wider content area which will break everything. This, however, induces\n // margin collapse, which will break scroll margins. Adding a large enough\n // scroll padding seems to do the trick, at least in Chrome and Firefox.\n overflow: hidden;\n scroll-padding-top: px2rem(1024px);\n\n // Content wrapper\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Adjust spacing between content area and sidebars\n @include break-from-device(screen) {\n\n // Sidebar with navigation is visible\n .md-sidebar--primary:not([hidden]) ~ .md-content > & {\n margin-left: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(24px);\n margin-left: px2rem(16px);\n }\n }\n\n // Sidebar with table of contents is visible\n .md-sidebar--secondary:not([hidden]) ~ .md-content > & {\n margin-right: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(16px);\n margin-left: px2rem(24px);\n }\n }\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Adjust spacing on last child\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button inside of the content area - these buttons are meant for actions on\n // a document-level, i.e. linking to related source code files, printing etc.\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // [print]: Hide buttons\n @media print {\n display: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Adjust default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align with body copy located next to icon\n svg {\n display: inline;\n vertical-align: top;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Dialog\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n pointer-events: none;\n\n // [print]: Hide dialog\n @media print {\n display: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Dialog in open state\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n pointer-events: initial;\n }\n\n // Dialog wrapper\n &__inner {\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Form button\n .md-button {\n display: inline-block;\n padding: px2em(10px) px2em(32px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Button on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n\n // Form input\n .md-input {\n height: px2rem(36px);\n padding: 0 px2rem(12px);\n font-size: px2rem(16px);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.1),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.1);\n transition: box-shadow 250ms;\n\n // Input on focus/hover\n &:focus,\n &:hover {\n box-shadow:\n 0 px2rem(8px) px2rem(20px) hsla(0, 0%, 0%, 0.15),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.15);\n }\n\n // Stretch to full width\n &--stretch {\n width: 100%;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Header - by default, the header will be sticky and stay always on top of the\n// viewport. If this behavior is not desired, just set `position: static`.\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // [print]: Hide header\n @media print {\n display: none;\n }\n\n // Header in shadow state, i.e. shadow is visible\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Header in hidden state, i.e. moved out of sight\n &[data-md-state=\"hidden\"] {\n transform: translateY(-100%);\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n}\n\n// Header navigation - if the header exceeds the default height of `48px`, i.e.\n// by adding a bigger logo, the items are aligned at the center\n.md-header-nav {\n display: flex;\n align-items: center;\n padding: 0 px2rem(4px);\n\n // Header navigation button\n &__button {\n position: relative;\n z-index: 1;\n display: inline-block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n color: currentColor;\n vertical-align: middle;\n cursor: pointer;\n transition: opacity 250ms;\n\n // Button on focus/hover\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Hide outline for pointer devices\n &:not(.focus-visible) {\n outline: none;\n }\n\n // Button with logo, pointing to `config.site_url`\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // [tablet -]: Hide button\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Button for search\n &[for=\"__search\"] {\n\n // [tablet landscape +]: Hide button\n @include break-from-device(tablet landscape) {\n display: none;\n }\n\n // [no-js]: Hide button\n .no-js & {\n display: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n\n // Button for drawer\n &[for=\"__drawer\"] {\n\n // [screen +]: Hide button\n @include break-from-device(screen) {\n display: none;\n }\n }\n }\n\n // Header navigation topic\n &__topic {\n position: absolute;\n display: flex;\n max-width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Second header topic - title of the current page\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n }\n\n // Header navigation title\n &__title {\n flex-grow: 1;\n height: px2rem(48px);\n margin-right: px2rem(8px);\n margin-left: px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Header title in active state, i.e. page title is visible\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Second header topic - title of the current page\n + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Add ellipsis in case of overflowing text\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository information container\n &__source {\n display: none;\n\n // [tablet landscape +]: Show repository information\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Adjust spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // [print]: Hide footer\n @media print {\n display: none;\n }\n}\n\n// Footer navigation\n.md-footer-nav {\n\n // Footer navigation wrapper\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Footer link to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Adjust width to 50/50\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Footer link on focus/hover\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Footer link to previous page\n &--prev {\n float: left;\n\n // [mobile -]: Adjust width to 25/75 and hide title\n @include break-to-device(mobile) {\n width: 25%;\n\n // Hide footer navigation title\n .md-footer-nav__title {\n display: none;\n }\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n\n // Footer link to next page\n &--next {\n float: right;\n text-align: right;\n\n // [mobile -]: Adjust width to 25/75\n @include break-to-device(mobile) {\n width: 75%;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Footer navigation title\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Footer navigation link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Footer navigation link direction (i.e. prev and next)\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: px2rem(12.8px);\n opacity: 0.7;\n }\n}\n\n// Footer metadata\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Footer metadata wrapper\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Lighten color for non-hovered text links\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Text link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Footer copyright metadata\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: px2rem(12.8px);\n\n // [tablet portrait +]: Show copyright and social links in one line\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Footer copyright highlight - this is the upper part of the copyright and\n // theme information, which will include a darker color than the theme link\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Footer social metadata\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show copyright and social links in one line\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Footer social link\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Fill icon with current color\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-nav-icon--prev: svg-load(\"material/arrow-left.svg\");\n --md-nav-icon--next: svg-load(\"material/chevron-right.svg\");\n --md-toc-icon: svg-load(\"material/table-of-contents.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Navigation\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // Navigation title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Navigaton button\n .md-nav__button {\n display: none;\n\n // Stretch images based on height, as it's the smaller dimension\n img {\n width: auto;\n height: 100%;\n }\n\n // Button with logo, pointing to `config.site_url`\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n fill: currentColor;\n }\n }\n }\n }\n\n // Navigation list\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // Navigation item\n &__item {\n padding: 0 px2rem(12px);\n\n // Navigation item on level 2\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n }\n }\n\n // Navigation link\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Link in blurred state\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--light);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-typeset-a-color);\n }\n\n // Navigation link in nested list\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Navigation link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n // Navigation link to table of contents\n .md-nav--primary &[for=\"__toc\"] {\n display: none;\n\n // Table of contents icon\n .md-icon::after {\n display: block;\n width: 100%;\n height: 100%;\n mask-image: var(--md-toc-icon);\n background-color: currentColor;\n }\n\n // Hide table of contents\n ~ .md-nav {\n display: none;\n }\n }\n }\n\n // Repository information container\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n\n // Primary and nested navigation\n &--primary,\n &--primary & {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--md-default-bg-color);\n }\n\n // Primary navigation\n &--primary {\n\n // Navigation title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // Navigation title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Navigation icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n\n // Navigation icon in link to previous level\n &::after {\n display: block;\n width: 100%;\n height: 100%;\n background-color: currentColor;\n mask-image: var(--md-nav-icon--prev);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n }\n\n // Navigation list\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n 0 px2rem(1px) 0 var(--md-default-fg-color--lightest) inset;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Omit border on first child\n > :first-child {\n border-top: 0;\n }\n }\n\n // Top-level navigation title\n &[for=\"__drawer\"] {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n }\n\n // Button with logo, pointing to `config.site_url`\n .md-logo {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(4px);\n left: initial;\n }\n }\n }\n\n // Navigation list\n .md-nav__list {\n flex: 1;\n }\n\n // Navigation item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Navigation link in nested navigation\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Navigation link in active navigation\n &--active > .md-nav__link {\n color: var(--md-typeset-a-color);\n\n // Navigation link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Navigation link\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Navigation icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n width: px2rem(24px);\n height: px2rem(24px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n\n // Navigation icon in link to next level\n &::after {\n display: block;\n width: 100%;\n height: 100%;\n background-color: currentColor;\n mask-image: var(--md-nav-icon--next);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n }\n }\n\n // Flip icon vertically\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] &::after {\n transform: scale(-1);\n }\n }\n\n // Table of contents contained in primary navigation\n .md-nav--secondary {\n\n // Navigation link - omit unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Navigation on level 2-6\n .md-nav {\n position: static;\n background-color: transparent;\n\n // Navigation link on level 3\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // Navigation link on level 4\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // Navigation link on level 5\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // Navigation link on level 6\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Table of contents\n &--secondary {\n background-color: transparent;\n }\n\n // Toggle for nested navigation\n &__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Show nested navigation when toggle is active\n &__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Navigation list\n > .md-nav__list {\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Layered navigation with table of contents\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents\n &--primary &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Show table of contents icon\n .md-icon::after {\n content: \"\";\n }\n\n // Hide navigation link to current page\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n ~ .md-nav {\n display: flex;\n }\n }\n\n // Repository information container\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape]: Layered navigation with table of contents\n @include break-at-device(tablet landscape) {\n\n // Show link to integrated table of contents\n &--integrated &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n scroll-snap-align: initial;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Show table of contents icon\n .md-icon::after {\n content: \"\";\n }\n\n // Hide navigation link to current page\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n ~ .md-nav {\n display: flex;\n }\n }\n }\n\n // [tablet landscape +]: Tree-like table of contents\n @include break-from-device(tablet landscape) {\n\n // Navigation title\n &--secondary &__title {\n\n // Adjust snapping behavior\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide navigation icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // Navigation title\n &--primary &__title {\n\n // Adjust snapping behavior\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide navigation icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide toggle for nested navigation\n &__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation when toggle is active or indeterminate\n &__toggle:checked ~ &,\n &__toggle:indeterminate ~ & {\n display: block;\n }\n\n // Hide navigation title in nested navigation\n &__item--nested > & > &__title {\n display: none;\n }\n\n // Navigation section\n &__item--section {\n display: block;\n margin: 1.25em 0;\n\n // Adjust spacing on last child\n &:last-child {\n margin-bottom: 0;\n }\n\n // Hide navigation link, as sections are always expanded\n > .md-nav__link {\n display: none;\n }\n\n // Navigation\n > .md-nav {\n display: block;\n\n // Navigation title\n > .md-nav__title {\n display: block;\n padding: 0;\n pointer-events: none;\n scroll-snap-align: start;\n }\n\n // Adjust spacing on next level item\n > .md-nav__list > .md-nav__item {\n padding: 0;\n }\n }\n }\n\n // Navigation icon\n &__icon {\n float: right;\n width: px2rem(18px);\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Navigation icon content\n &::after {\n display: inline-block;\n width: 100%;\n height: 100%;\n vertical-align: px2rem(-2px);\n background-color: currentColor;\n mask-image: var(--md-nav-icon--next);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n // Navigation icon - rotate icon when toggle is active or indeterminate\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link &,\n .md-nav__item--nested .md-nav__toggle:indeterminate ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n\n // Modifier for when navigation tabs are rendered\n &--lifted {\n\n // Hide nested items on level 1 and site title\n > .md-nav__list > .md-nav__item--nested,\n > .md-nav__title {\n display: none;\n }\n\n // Hide level 1 items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Active parent navigation item\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n\n // Show title and adjust spacing\n > .md-nav > .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n }\n }\n\n // Adjust spacing for navigation item on level 2\n > .md-nav__item {\n padding-right: px2rem(12px);\n }\n }\n\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n .md-nav[data-md-level=\"1\"] {\n display: block;\n }\n }\n\n // Modifier for when table of contents is rendered in primary navigation\n &--integrated &__link[for=\"__toc\"] ~ .md-nav {\n display: block;\n margin-bottom: 1.25em;\n border-left: px2rem(1px) solid var(--md-primary-fg-color);\n\n // Hide navigation title\n > .md-nav__title {\n display: none;\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-search-result-icon: svg-load(\"material/file-search-outline.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Search\n.md-search {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // [no-js]: Hide search\n .no-js & {\n display: none;\n }\n\n // Search overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Show overlay when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Show overlay when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n width: 100%;\n // Hack: when the header is translated upon scrolling, a new layer is\n // induced, which means that the height will now refer to the height of\n // the header, albeit positioning is fixed. This should be mitigated\n // in all cases when setting the height to 2x the viewport.\n height: 200vh;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n }\n\n // Search wrapper\n &__inner {\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n\n // [tablet landscape]: Omit overlaying header title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match width of content area\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n box-shadow: 0 0 px2rem(12px) transparent;\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Search placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Search icon and placeholder\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n box-shadow: 0 0 px2rem(12px) hsla(0, 0%, 0%, 0.07);\n }\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: px2rem(16px);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Search icon\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Search placeholder\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Search input on hover\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Adjust appearance when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Search icon and placeholder\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Search icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Search icon on hover\n &:hover {\n opacity: 0.7;\n }\n\n // Search focus button\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the back arrow\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Search reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button when search is active and input non-empty\n [data-md-toggle=\"search\"]:checked ~ .md-header\n .md-search__input:valid ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Search focus icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Search modal\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show output when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Search scroll wrapper\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n // Hack: Chrome 88+ has weird overscroll behavior. Overall, scroll snapping\n // seems to be something that is not ready for prime time on some browsers.\n // scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set fixed width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set fixed width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Show scroll wrapper when search is active\n [data-md-toggle=\"search\"]:checked ~ .md-header & {\n max-height: 75vh;\n }\n\n // Search scroll wrapper on hover\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search result metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: px2rem(12.8px);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Adjust spacing\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // Search result list\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // Search result item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Omit border on first child\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Search result link\n &__link {\n display: block;\n outline: none;\n transition: background-color 250ms;\n scroll-snap-align: start;\n\n // Search result link on focus/hover\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n }\n\n // Adjust spacing on last child of last link\n &:last-child p:last-child {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Search result more link\n &__more summary {\n display: block;\n padding: px2em(12px) px2rem(16px);\n color: var(--md-typeset-a-color);\n font-size: px2rem(12.8px);\n outline: 0;\n cursor: pointer;\n transition:\n color 250ms,\n background-color 250ms;\n scroll-snap-align: start;\n\n // [tablet landscape +]: Adjust spacing\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Search result more link on focus/hover\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n background-color: var(--md-accent-fg-color--transparent);\n }\n\n // Hide native details marker\n &::marker,\n &::-webkit-details-marker {\n display: none;\n }\n\n // Adjust transparency of less relevant results\n ~ * > * {\n opacity: 0.65;\n }\n }\n\n // Search result article\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Adjust spacing\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Search result article document\n &--document {\n\n // Search result title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: px2rem(16px);\n line-height: 1.4;\n }\n }\n }\n\n // Search result icon\n &__icon {\n position: absolute;\n left: 0;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(10px);\n color: var(--md-default-fg-color--light);\n\n // [tablet portrait -]: Hide icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n\n // Search result icon content\n &::after {\n display: inline-block;\n width: 100%;\n height: 100%;\n background-color: currentColor;\n mask-image: var(--md-search-result-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n &::after {\n transform: scaleX(-1);\n }\n }\n }\n\n // Search result title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: px2rem(12.8px);\n line-height: 1.6;\n }\n\n // Search result teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(40px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: px2rem(12.8px);\n line-height: 1.6;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Adjust number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(60px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Adjust number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(60px);\n -webkit-line-clamp: 3;\n }\n\n // Search term highlighting\n mark {\n text-decoration: underline;\n background-color: transparent;\n }\n }\n\n // Search result terms\n &__terms {\n margin: 0.5em 0;\n font-size: px2rem(12.8px);\n font-style: italic;\n }\n\n // Search term highlighting\n mark {\n color: var(--md-accent-fg-color);\n background-color: transparent;\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n flex-shrink: 0;\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n\n // [print]: Hide sidebar\n @media print {\n display: none;\n }\n\n // [tablet -]: Show navigation as drawer\n @include break-to-device(tablet) {\n\n // Primary sidebar with navigation\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n display: block;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Show sidebar when drawer is active\n [data-md-toggle=\"drawer\"]:checked ~ .md-container & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Stretch scroll wrapper for primary sidebar\n .md-sidebar__scrollwrap {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n overflow: hidden;\n }\n }\n }\n\n // [screen +]: Show navigation as sidebar\n @include break-from-device(screen) {\n height: 0;\n\n // [no-js]: Switch to native sticky behavior\n .no-js & {\n height: auto;\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents as sidebar\n @include break-from-device(tablet landscape) {\n height: 0;\n\n // [no-js]: Switch to native sticky behavior\n .no-js & {\n height: auto;\n }\n\n // Sidebar is visible\n &:not([hidden]) {\n display: block;\n }\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Sidebar scroll wrapper\n &__scrollwrap {\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we disable scroll snapping until this is resolved (#1667).\n // scroll-snap-type: y mandatory;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Sidebar scroll wrapper on hover\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n\n// [tablet -]: Show overlay on active drawer\n@include break-to-device(tablet) {\n\n // Sidebar overlay\n .md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Show overlay when drawer is active\n [data-md-toggle=\"drawer\"]:checked ~ & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Navigation tabs\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background-color 250ms;\n\n // [print]: Hide tabs\n @media print {\n display: none;\n }\n\n // [tablet -]: Hide tabs\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Tabs in hidden state, i.e. when scrolling down\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n }\n\n // Navigation tabs list\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // Navigation tabs item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Navigation tabs link - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n // Hack: save a repaint when tabs are appearing on scrolling up\n backface-visibility: hidden;\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Active link and link on focus/hover\n &--active,\n &:focus,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs[data-md-state=\"hidden\"] & {\n transform: translateY(50%);\n opacity: 0;\n transition:\n transform 0ms 100ms,\n opacity 100ms;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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/// Admonition flavours\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n --md-admonition-icon--#{nth($names, 1)}:\n svg-load(\"material/#{nth($props, 1)}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition\n .admonition {\n margin: px2em(20px, 12.8px) 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: px2rem(12.8px);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.05);\n\n // [print]: Omit shadow as it may lead to rendering errors\n @media print {\n box-shadow: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Adjust spacing for nested admonitions\n .admonition {\n margin: 1em 0;\n }\n\n // Adjust spacing for contained table wrappers\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Adjust spacing for contained tables\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n\n // Adjust spacing for single-child tabbed block container\n > .tabbed-set:only-child {\n margin-top: 0;\n }\n\n // Adjust spacing on last child\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px) 0 px2rem(-16px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n border-left: px2rem(4px) solid $clr-blue-a200;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin: 0 px2rem(-16px) 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Adjust spacing for title-only admonitions\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Admonition icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Omit background on inline code blocks, as they don't go well with the\n // pastelly tones applied to admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n\n // Adjust spacing on last tabbed block container child - if the tabbed\n // block container is the sole child, it looks better to omit the margin\n + .tabbed-set:last-child {\n margin-top: 0;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Admonition flavour\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Admonition flavour title\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n border-color: $tint;\n\n // Admonition icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n mask-repeat: no-repeat;\n mask-size: contain;\n }\n }\n\n // Define synonyms for flavours\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// Name: UI Color Palette\n// Description: The color palette of material design.\n// Version: 2.3.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-color\n//\n// twitter: @mrmlnc\n//\n// ==========================================================================\n\n\n//\n// List of base colors\n//\n\n// $clr-red\n// $clr-pink\n// $clr-purple\n// $clr-deep-purple\n// $clr-indigo\n// $clr-blue\n// $clr-light-blue\n// $clr-cyan\n// $clr-teal\n// $clr-green\n// $clr-light-green\n// $clr-lime\n// $clr-yellow\n// $clr-amber\n// $clr-orange\n// $clr-deep-orange\n// $clr-brown\n// $clr-grey\n// $clr-blue-grey\n// $clr-black\n// $clr-white\n\n\n//\n// Red\n//\n\n$clr-red-list: (\n \"base\": #f44336,\n \"50\": #ffebee,\n \"100\": #ffcdd2,\n \"200\": #ef9a9a,\n \"300\": #e57373,\n \"400\": #ef5350,\n \"500\": #f44336,\n \"600\": #e53935,\n \"700\": #d32f2f,\n \"800\": #c62828,\n \"900\": #b71c1c,\n \"a100\": #ff8a80,\n \"a200\": #ff5252,\n \"a400\": #ff1744,\n \"a700\": #d50000\n);\n\n$clr-red: map-get($clr-red-list, \"base\");\n\n$clr-red-50: map-get($clr-red-list, \"50\");\n$clr-red-100: map-get($clr-red-list, \"100\");\n$clr-red-200: map-get($clr-red-list, \"200\");\n$clr-red-300: map-get($clr-red-list, \"300\");\n$clr-red-400: map-get($clr-red-list, \"400\");\n$clr-red-500: map-get($clr-red-list, \"500\");\n$clr-red-600: map-get($clr-red-list, \"600\");\n$clr-red-700: map-get($clr-red-list, \"700\");\n$clr-red-800: map-get($clr-red-list, \"800\");\n$clr-red-900: map-get($clr-red-list, \"900\");\n$clr-red-a100: map-get($clr-red-list, \"a100\");\n$clr-red-a200: map-get($clr-red-list, \"a200\");\n$clr-red-a400: map-get($clr-red-list, \"a400\");\n$clr-red-a700: map-get($clr-red-list, \"a700\");\n\n\n//\n// Pink\n//\n\n$clr-pink-list: (\n \"base\": #e91e63,\n \"50\": #fce4ec,\n \"100\": #f8bbd0,\n \"200\": #f48fb1,\n \"300\": #f06292,\n \"400\": #ec407a,\n \"500\": #e91e63,\n \"600\": #d81b60,\n \"700\": #c2185b,\n \"800\": #ad1457,\n \"900\": #880e4f,\n \"a100\": #ff80ab,\n \"a200\": #ff4081,\n \"a400\": #f50057,\n \"a700\": #c51162\n);\n\n$clr-pink: map-get($clr-pink-list, \"base\");\n\n$clr-pink-50: map-get($clr-pink-list, \"50\");\n$clr-pink-100: map-get($clr-pink-list, \"100\");\n$clr-pink-200: map-get($clr-pink-list, \"200\");\n$clr-pink-300: map-get($clr-pink-list, \"300\");\n$clr-pink-400: map-get($clr-pink-list, \"400\");\n$clr-pink-500: map-get($clr-pink-list, \"500\");\n$clr-pink-600: map-get($clr-pink-list, \"600\");\n$clr-pink-700: map-get($clr-pink-list, \"700\");\n$clr-pink-800: map-get($clr-pink-list, \"800\");\n$clr-pink-900: map-get($clr-pink-list, \"900\");\n$clr-pink-a100: map-get($clr-pink-list, \"a100\");\n$clr-pink-a200: map-get($clr-pink-list, \"a200\");\n$clr-pink-a400: map-get($clr-pink-list, \"a400\");\n$clr-pink-a700: map-get($clr-pink-list, \"a700\");\n\n\n//\n// Purple\n//\n\n$clr-purple-list: (\n \"base\": #9c27b0,\n \"50\": #f3e5f5,\n \"100\": #e1bee7,\n \"200\": #ce93d8,\n \"300\": #ba68c8,\n \"400\": #ab47bc,\n \"500\": #9c27b0,\n \"600\": #8e24aa,\n \"700\": #7b1fa2,\n \"800\": #6a1b9a,\n \"900\": #4a148c,\n \"a100\": #ea80fc,\n \"a200\": #e040fb,\n \"a400\": #d500f9,\n \"a700\": #aa00ff\n);\n\n$clr-purple: map-get($clr-purple-list, \"base\");\n\n$clr-purple-50: map-get($clr-purple-list, \"50\");\n$clr-purple-100: map-get($clr-purple-list, \"100\");\n$clr-purple-200: map-get($clr-purple-list, \"200\");\n$clr-purple-300: map-get($clr-purple-list, \"300\");\n$clr-purple-400: map-get($clr-purple-list, \"400\");\n$clr-purple-500: map-get($clr-purple-list, \"500\");\n$clr-purple-600: map-get($clr-purple-list, \"600\");\n$clr-purple-700: map-get($clr-purple-list, \"700\");\n$clr-purple-800: map-get($clr-purple-list, \"800\");\n$clr-purple-900: map-get($clr-purple-list, \"900\");\n$clr-purple-a100: map-get($clr-purple-list, \"a100\");\n$clr-purple-a200: map-get($clr-purple-list, \"a200\");\n$clr-purple-a400: map-get($clr-purple-list, \"a400\");\n$clr-purple-a700: map-get($clr-purple-list, \"a700\");\n\n\n//\n// Deep purple\n//\n\n$clr-deep-purple-list: (\n \"base\": #673ab7,\n \"50\": #ede7f6,\n \"100\": #d1c4e9,\n \"200\": #b39ddb,\n \"300\": #9575cd,\n \"400\": #7e57c2,\n \"500\": #673ab7,\n \"600\": #5e35b1,\n \"700\": #512da8,\n \"800\": #4527a0,\n \"900\": #311b92,\n \"a100\": #b388ff,\n \"a200\": #7c4dff,\n \"a400\": #651fff,\n \"a700\": #6200ea\n);\n\n$clr-deep-purple: map-get($clr-deep-purple-list, \"base\");\n\n$clr-deep-purple-50: map-get($clr-deep-purple-list, \"50\");\n$clr-deep-purple-100: map-get($clr-deep-purple-list, \"100\");\n$clr-deep-purple-200: map-get($clr-deep-purple-list, \"200\");\n$clr-deep-purple-300: map-get($clr-deep-purple-list, \"300\");\n$clr-deep-purple-400: map-get($clr-deep-purple-list, \"400\");\n$clr-deep-purple-500: map-get($clr-deep-purple-list, \"500\");\n$clr-deep-purple-600: map-get($clr-deep-purple-list, \"600\");\n$clr-deep-purple-700: map-get($clr-deep-purple-list, \"700\");\n$clr-deep-purple-800: map-get($clr-deep-purple-list, \"800\");\n$clr-deep-purple-900: map-get($clr-deep-purple-list, \"900\");\n$clr-deep-purple-a100: map-get($clr-deep-purple-list, \"a100\");\n$clr-deep-purple-a200: map-get($clr-deep-purple-list, \"a200\");\n$clr-deep-purple-a400: map-get($clr-deep-purple-list, \"a400\");\n$clr-deep-purple-a700: map-get($clr-deep-purple-list, \"a700\");\n\n\n//\n// Indigo\n//\n\n$clr-indigo-list: (\n \"base\": #3f51b5,\n \"50\": #e8eaf6,\n \"100\": #c5cae9,\n \"200\": #9fa8da,\n \"300\": #7986cb,\n \"400\": #5c6bc0,\n \"500\": #3f51b5,\n \"600\": #3949ab,\n \"700\": #303f9f,\n \"800\": #283593,\n \"900\": #1a237e,\n \"a100\": #8c9eff,\n \"a200\": #536dfe,\n \"a400\": #3d5afe,\n \"a700\": #304ffe\n);\n\n$clr-indigo: map-get($clr-indigo-list, \"base\");\n\n$clr-indigo-50: map-get($clr-indigo-list, \"50\");\n$clr-indigo-100: map-get($clr-indigo-list, \"100\");\n$clr-indigo-200: map-get($clr-indigo-list, \"200\");\n$clr-indigo-300: map-get($clr-indigo-list, \"300\");\n$clr-indigo-400: map-get($clr-indigo-list, \"400\");\n$clr-indigo-500: map-get($clr-indigo-list, \"500\");\n$clr-indigo-600: map-get($clr-indigo-list, \"600\");\n$clr-indigo-700: map-get($clr-indigo-list, \"700\");\n$clr-indigo-800: map-get($clr-indigo-list, \"800\");\n$clr-indigo-900: map-get($clr-indigo-list, \"900\");\n$clr-indigo-a100: map-get($clr-indigo-list, \"a100\");\n$clr-indigo-a200: map-get($clr-indigo-list, \"a200\");\n$clr-indigo-a400: map-get($clr-indigo-list, \"a400\");\n$clr-indigo-a700: map-get($clr-indigo-list, \"a700\");\n\n\n//\n// Blue\n//\n\n$clr-blue-list: (\n \"base\": #2196f3,\n \"50\": #e3f2fd,\n \"100\": #bbdefb,\n \"200\": #90caf9,\n \"300\": #64b5f6,\n \"400\": #42a5f5,\n \"500\": #2196f3,\n \"600\": #1e88e5,\n \"700\": #1976d2,\n \"800\": #1565c0,\n \"900\": #0d47a1,\n \"a100\": #82b1ff,\n \"a200\": #448aff,\n \"a400\": #2979ff,\n \"a700\": #2962ff\n);\n\n$clr-blue: map-get($clr-blue-list, \"base\");\n\n$clr-blue-50: map-get($clr-blue-list, \"50\");\n$clr-blue-100: map-get($clr-blue-list, \"100\");\n$clr-blue-200: map-get($clr-blue-list, \"200\");\n$clr-blue-300: map-get($clr-blue-list, \"300\");\n$clr-blue-400: map-get($clr-blue-list, \"400\");\n$clr-blue-500: map-get($clr-blue-list, \"500\");\n$clr-blue-600: map-get($clr-blue-list, \"600\");\n$clr-blue-700: map-get($clr-blue-list, \"700\");\n$clr-blue-800: map-get($clr-blue-list, \"800\");\n$clr-blue-900: map-get($clr-blue-list, \"900\");\n$clr-blue-a100: map-get($clr-blue-list, \"a100\");\n$clr-blue-a200: map-get($clr-blue-list, \"a200\");\n$clr-blue-a400: map-get($clr-blue-list, \"a400\");\n$clr-blue-a700: map-get($clr-blue-list, \"a700\");\n\n\n//\n// Light Blue\n//\n\n$clr-light-blue-list: (\n \"base\": #03a9f4,\n \"50\": #e1f5fe,\n \"100\": #b3e5fc,\n \"200\": #81d4fa,\n \"300\": #4fc3f7,\n \"400\": #29b6f6,\n \"500\": #03a9f4,\n \"600\": #039be5,\n \"700\": #0288d1,\n \"800\": #0277bd,\n \"900\": #01579b,\n \"a100\": #80d8ff,\n \"a200\": #40c4ff,\n \"a400\": #00b0ff,\n \"a700\": #0091ea\n);\n\n$clr-light-blue: map-get($clr-light-blue-list, \"base\");\n\n$clr-light-blue-50: map-get($clr-light-blue-list, \"50\");\n$clr-light-blue-100: map-get($clr-light-blue-list, \"100\");\n$clr-light-blue-200: map-get($clr-light-blue-list, \"200\");\n$clr-light-blue-300: map-get($clr-light-blue-list, \"300\");\n$clr-light-blue-400: map-get($clr-light-blue-list, \"400\");\n$clr-light-blue-500: map-get($clr-light-blue-list, \"500\");\n$clr-light-blue-600: map-get($clr-light-blue-list, \"600\");\n$clr-light-blue-700: map-get($clr-light-blue-list, \"700\");\n$clr-light-blue-800: map-get($clr-light-blue-list, \"800\");\n$clr-light-blue-900: map-get($clr-light-blue-list, \"900\");\n$clr-light-blue-a100: map-get($clr-light-blue-list, \"a100\");\n$clr-light-blue-a200: map-get($clr-light-blue-list, \"a200\");\n$clr-light-blue-a400: map-get($clr-light-blue-list, \"a400\");\n$clr-light-blue-a700: map-get($clr-light-blue-list, \"a700\");\n\n\n//\n// Cyan\n//\n\n$clr-cyan-list: (\n \"base\": #00bcd4,\n \"50\": #e0f7fa,\n \"100\": #b2ebf2,\n \"200\": #80deea,\n \"300\": #4dd0e1,\n \"400\": #26c6da,\n \"500\": #00bcd4,\n \"600\": #00acc1,\n \"700\": #0097a7,\n \"800\": #00838f,\n \"900\": #006064,\n \"a100\": #84ffff,\n \"a200\": #18ffff,\n \"a400\": #00e5ff,\n \"a700\": #00b8d4\n);\n\n$clr-cyan: map-get($clr-cyan-list, \"base\");\n\n$clr-cyan-50: map-get($clr-cyan-list, \"50\");\n$clr-cyan-100: map-get($clr-cyan-list, \"100\");\n$clr-cyan-200: map-get($clr-cyan-list, \"200\");\n$clr-cyan-300: map-get($clr-cyan-list, \"300\");\n$clr-cyan-400: map-get($clr-cyan-list, \"400\");\n$clr-cyan-500: map-get($clr-cyan-list, \"500\");\n$clr-cyan-600: map-get($clr-cyan-list, \"600\");\n$clr-cyan-700: map-get($clr-cyan-list, \"700\");\n$clr-cyan-800: map-get($clr-cyan-list, \"800\");\n$clr-cyan-900: map-get($clr-cyan-list, \"900\");\n$clr-cyan-a100: map-get($clr-cyan-list, \"a100\");\n$clr-cyan-a200: map-get($clr-cyan-list, \"a200\");\n$clr-cyan-a400: map-get($clr-cyan-list, \"a400\");\n$clr-cyan-a700: map-get($clr-cyan-list, \"a700\");\n\n\n//\n// Teal\n//\n\n$clr-teal-list: (\n \"base\": #009688,\n \"50\": #e0f2f1,\n \"100\": #b2dfdb,\n \"200\": #80cbc4,\n \"300\": #4db6ac,\n \"400\": #26a69a,\n \"500\": #009688,\n \"600\": #00897b,\n \"700\": #00796b,\n \"800\": #00695c,\n \"900\": #004d40,\n \"a100\": #a7ffeb,\n \"a200\": #64ffda,\n \"a400\": #1de9b6,\n \"a700\": #00bfa5\n);\n\n$clr-teal: map-get($clr-teal-list, \"base\");\n\n$clr-teal-50: map-get($clr-teal-list, \"50\");\n$clr-teal-100: map-get($clr-teal-list, \"100\");\n$clr-teal-200: map-get($clr-teal-list, \"200\");\n$clr-teal-300: map-get($clr-teal-list, \"300\");\n$clr-teal-400: map-get($clr-teal-list, \"400\");\n$clr-teal-500: map-get($clr-teal-list, \"500\");\n$clr-teal-600: map-get($clr-teal-list, \"600\");\n$clr-teal-700: map-get($clr-teal-list, \"700\");\n$clr-teal-800: map-get($clr-teal-list, \"800\");\n$clr-teal-900: map-get($clr-teal-list, \"900\");\n$clr-teal-a100: map-get($clr-teal-list, \"a100\");\n$clr-teal-a200: map-get($clr-teal-list, \"a200\");\n$clr-teal-a400: map-get($clr-teal-list, \"a400\");\n$clr-teal-a700: map-get($clr-teal-list, \"a700\");\n\n\n//\n// Green\n//\n\n$clr-green-list: (\n \"base\": #4caf50,\n \"50\": #e8f5e9,\n \"100\": #c8e6c9,\n \"200\": #a5d6a7,\n \"300\": #81c784,\n \"400\": #66bb6a,\n \"500\": #4caf50,\n \"600\": #43a047,\n \"700\": #388e3c,\n \"800\": #2e7d32,\n \"900\": #1b5e20,\n \"a100\": #b9f6ca,\n \"a200\": #69f0ae,\n \"a400\": #00e676,\n \"a700\": #00c853\n);\n\n$clr-green: map-get($clr-green-list, \"base\");\n\n$clr-green-50: map-get($clr-green-list, \"50\");\n$clr-green-100: map-get($clr-green-list, \"100\");\n$clr-green-200: map-get($clr-green-list, \"200\");\n$clr-green-300: map-get($clr-green-list, \"300\");\n$clr-green-400: map-get($clr-green-list, \"400\");\n$clr-green-500: map-get($clr-green-list, \"500\");\n$clr-green-600: map-get($clr-green-list, \"600\");\n$clr-green-700: map-get($clr-green-list, \"700\");\n$clr-green-800: map-get($clr-green-list, \"800\");\n$clr-green-900: map-get($clr-green-list, \"900\");\n$clr-green-a100: map-get($clr-green-list, \"a100\");\n$clr-green-a200: map-get($clr-green-list, \"a200\");\n$clr-green-a400: map-get($clr-green-list, \"a400\");\n$clr-green-a700: map-get($clr-green-list, \"a700\");\n\n\n//\n// Light green\n//\n\n$clr-light-green-list: (\n \"base\": #8bc34a,\n \"50\": #f1f8e9,\n \"100\": #dcedc8,\n \"200\": #c5e1a5,\n \"300\": #aed581,\n \"400\": #9ccc65,\n \"500\": #8bc34a,\n \"600\": #7cb342,\n \"700\": #689f38,\n \"800\": #558b2f,\n \"900\": #33691e,\n \"a100\": #ccff90,\n \"a200\": #b2ff59,\n \"a400\": #76ff03,\n \"a700\": #64dd17\n);\n\n$clr-light-green: map-get($clr-light-green-list, \"base\");\n\n$clr-light-green-50: map-get($clr-light-green-list, \"50\");\n$clr-light-green-100: map-get($clr-light-green-list, \"100\");\n$clr-light-green-200: map-get($clr-light-green-list, \"200\");\n$clr-light-green-300: map-get($clr-light-green-list, \"300\");\n$clr-light-green-400: map-get($clr-light-green-list, \"400\");\n$clr-light-green-500: map-get($clr-light-green-list, \"500\");\n$clr-light-green-600: map-get($clr-light-green-list, \"600\");\n$clr-light-green-700: map-get($clr-light-green-list, \"700\");\n$clr-light-green-800: map-get($clr-light-green-list, \"800\");\n$clr-light-green-900: map-get($clr-light-green-list, \"900\");\n$clr-light-green-a100: map-get($clr-light-green-list, \"a100\");\n$clr-light-green-a200: map-get($clr-light-green-list, \"a200\");\n$clr-light-green-a400: map-get($clr-light-green-list, \"a400\");\n$clr-light-green-a700: map-get($clr-light-green-list, \"a700\");\n\n\n//\n// Lime\n//\n\n$clr-lime-list: (\n \"base\": #cddc39,\n \"50\": #f9fbe7,\n \"100\": #f0f4c3,\n \"200\": #e6ee9c,\n \"300\": #dce775,\n \"400\": #d4e157,\n \"500\": #cddc39,\n \"600\": #c0ca33,\n \"700\": #afb42b,\n \"800\": #9e9d24,\n \"900\": #827717,\n \"a100\": #f4ff81,\n \"a200\": #eeff41,\n \"a400\": #c6ff00,\n \"a700\": #aeea00\n);\n\n$clr-lime: map-get($clr-lime-list, \"base\");\n\n$clr-lime-50: map-get($clr-lime-list, \"50\");\n$clr-lime-100: map-get($clr-lime-list, \"100\");\n$clr-lime-200: map-get($clr-lime-list, \"200\");\n$clr-lime-300: map-get($clr-lime-list, \"300\");\n$clr-lime-400: map-get($clr-lime-list, \"400\");\n$clr-lime-500: map-get($clr-lime-list, \"500\");\n$clr-lime-600: map-get($clr-lime-list, \"600\");\n$clr-lime-700: map-get($clr-lime-list, \"700\");\n$clr-lime-800: map-get($clr-lime-list, \"800\");\n$clr-lime-900: map-get($clr-lime-list, \"900\");\n$clr-lime-a100: map-get($clr-lime-list, \"a100\");\n$clr-lime-a200: map-get($clr-lime-list, \"a200\");\n$clr-lime-a400: map-get($clr-lime-list, \"a400\");\n$clr-lime-a700: map-get($clr-lime-list, \"a700\");\n\n\n//\n// Yellow\n//\n\n$clr-yellow-list: (\n \"base\": #ffeb3b,\n \"50\": #fffde7,\n \"100\": #fff9c4,\n \"200\": #fff59d,\n \"300\": #fff176,\n \"400\": #ffee58,\n \"500\": #ffeb3b,\n \"600\": #fdd835,\n \"700\": #fbc02d,\n \"800\": #f9a825,\n \"900\": #f57f17,\n \"a100\": #ffff8d,\n \"a200\": #ffff00,\n \"a400\": #ffea00,\n \"a700\": #ffd600\n);\n\n$clr-yellow: map-get($clr-yellow-list, \"base\");\n\n$clr-yellow-50: map-get($clr-yellow-list, \"50\");\n$clr-yellow-100: map-get($clr-yellow-list, \"100\");\n$clr-yellow-200: map-get($clr-yellow-list, \"200\");\n$clr-yellow-300: map-get($clr-yellow-list, \"300\");\n$clr-yellow-400: map-get($clr-yellow-list, \"400\");\n$clr-yellow-500: map-get($clr-yellow-list, \"500\");\n$clr-yellow-600: map-get($clr-yellow-list, \"600\");\n$clr-yellow-700: map-get($clr-yellow-list, \"700\");\n$clr-yellow-800: map-get($clr-yellow-list, \"800\");\n$clr-yellow-900: map-get($clr-yellow-list, \"900\");\n$clr-yellow-a100: map-get($clr-yellow-list, \"a100\");\n$clr-yellow-a200: map-get($clr-yellow-list, \"a200\");\n$clr-yellow-a400: map-get($clr-yellow-list, \"a400\");\n$clr-yellow-a700: map-get($clr-yellow-list, \"a700\");\n\n\n//\n// amber\n//\n\n$clr-amber-list: (\n \"base\": #ffc107,\n \"50\": #fff8e1,\n \"100\": #ffecb3,\n \"200\": #ffe082,\n \"300\": #ffd54f,\n \"400\": #ffca28,\n \"500\": #ffc107,\n \"600\": #ffb300,\n \"700\": #ffa000,\n \"800\": #ff8f00,\n \"900\": #ff6f00,\n \"a100\": #ffe57f,\n \"a200\": #ffd740,\n \"a400\": #ffc400,\n \"a700\": #ffab00\n);\n\n$clr-amber: map-get($clr-amber-list, \"base\");\n\n$clr-amber-50: map-get($clr-amber-list, \"50\");\n$clr-amber-100: map-get($clr-amber-list, \"100\");\n$clr-amber-200: map-get($clr-amber-list, \"200\");\n$clr-amber-300: map-get($clr-amber-list, \"300\");\n$clr-amber-400: map-get($clr-amber-list, \"400\");\n$clr-amber-500: map-get($clr-amber-list, \"500\");\n$clr-amber-600: map-get($clr-amber-list, \"600\");\n$clr-amber-700: map-get($clr-amber-list, \"700\");\n$clr-amber-800: map-get($clr-amber-list, \"800\");\n$clr-amber-900: map-get($clr-amber-list, \"900\");\n$clr-amber-a100: map-get($clr-amber-list, \"a100\");\n$clr-amber-a200: map-get($clr-amber-list, \"a200\");\n$clr-amber-a400: map-get($clr-amber-list, \"a400\");\n$clr-amber-a700: map-get($clr-amber-list, \"a700\");\n\n\n//\n// Orange\n//\n\n$clr-orange-list: (\n \"base\": #ff9800,\n \"50\": #fff3e0,\n \"100\": #ffe0b2,\n \"200\": #ffcc80,\n \"300\": #ffb74d,\n \"400\": #ffa726,\n \"500\": #ff9800,\n \"600\": #fb8c00,\n \"700\": #f57c00,\n \"800\": #ef6c00,\n \"900\": #e65100,\n \"a100\": #ffd180,\n \"a200\": #ffab40,\n \"a400\": #ff9100,\n \"a700\": #ff6d00\n);\n\n$clr-orange: map-get($clr-orange-list, \"base\");\n\n$clr-orange-50: map-get($clr-orange-list, \"50\");\n$clr-orange-100: map-get($clr-orange-list, \"100\");\n$clr-orange-200: map-get($clr-orange-list, \"200\");\n$clr-orange-300: map-get($clr-orange-list, \"300\");\n$clr-orange-400: map-get($clr-orange-list, \"400\");\n$clr-orange-500: map-get($clr-orange-list, \"500\");\n$clr-orange-600: map-get($clr-orange-list, \"600\");\n$clr-orange-700: map-get($clr-orange-list, \"700\");\n$clr-orange-800: map-get($clr-orange-list, \"800\");\n$clr-orange-900: map-get($clr-orange-list, \"900\");\n$clr-orange-a100: map-get($clr-orange-list, \"a100\");\n$clr-orange-a200: map-get($clr-orange-list, \"a200\");\n$clr-orange-a400: map-get($clr-orange-list, \"a400\");\n$clr-orange-a700: map-get($clr-orange-list, \"a700\");\n\n\n//\n// Deep orange\n//\n\n$clr-deep-orange-list: (\n \"base\": #ff5722,\n \"50\": #fbe9e7,\n \"100\": #ffccbc,\n \"200\": #ffab91,\n \"300\": #ff8a65,\n \"400\": #ff7043,\n \"500\": #ff5722,\n \"600\": #f4511e,\n \"700\": #e64a19,\n \"800\": #d84315,\n \"900\": #bf360c,\n \"a100\": #ff9e80,\n \"a200\": #ff6e40,\n \"a400\": #ff3d00,\n \"a700\": #dd2c00\n);\n\n$clr-deep-orange: map-get($clr-deep-orange-list, \"base\");\n\n$clr-deep-orange-50: map-get($clr-deep-orange-list, \"50\");\n$clr-deep-orange-100: map-get($clr-deep-orange-list, \"100\");\n$clr-deep-orange-200: map-get($clr-deep-orange-list, \"200\");\n$clr-deep-orange-300: map-get($clr-deep-orange-list, \"300\");\n$clr-deep-orange-400: map-get($clr-deep-orange-list, \"400\");\n$clr-deep-orange-500: map-get($clr-deep-orange-list, \"500\");\n$clr-deep-orange-600: map-get($clr-deep-orange-list, \"600\");\n$clr-deep-orange-700: map-get($clr-deep-orange-list, \"700\");\n$clr-deep-orange-800: map-get($clr-deep-orange-list, \"800\");\n$clr-deep-orange-900: map-get($clr-deep-orange-list, \"900\");\n$clr-deep-orange-a100: map-get($clr-deep-orange-list, \"a100\");\n$clr-deep-orange-a200: map-get($clr-deep-orange-list, \"a200\");\n$clr-deep-orange-a400: map-get($clr-deep-orange-list, \"a400\");\n$clr-deep-orange-a700: map-get($clr-deep-orange-list, \"a700\");\n\n\n//\n// Brown\n//\n\n$clr-brown-list: (\n \"base\": #795548,\n \"50\": #efebe9,\n \"100\": #d7ccc8,\n \"200\": #bcaaa4,\n \"300\": #a1887f,\n \"400\": #8d6e63,\n \"500\": #795548,\n \"600\": #6d4c41,\n \"700\": #5d4037,\n \"800\": #4e342e,\n \"900\": #3e2723,\n);\n\n$clr-brown: map-get($clr-brown-list, \"base\");\n\n$clr-brown-50: map-get($clr-brown-list, \"50\");\n$clr-brown-100: map-get($clr-brown-list, \"100\");\n$clr-brown-200: map-get($clr-brown-list, \"200\");\n$clr-brown-300: map-get($clr-brown-list, \"300\");\n$clr-brown-400: map-get($clr-brown-list, \"400\");\n$clr-brown-500: map-get($clr-brown-list, \"500\");\n$clr-brown-600: map-get($clr-brown-list, \"600\");\n$clr-brown-700: map-get($clr-brown-list, \"700\");\n$clr-brown-800: map-get($clr-brown-list, \"800\");\n$clr-brown-900: map-get($clr-brown-list, \"900\");\n\n\n//\n// Grey\n//\n\n$clr-grey-list: (\n \"base\": #9e9e9e,\n \"50\": #fafafa,\n \"100\": #f5f5f5,\n \"200\": #eeeeee,\n \"300\": #e0e0e0,\n \"400\": #bdbdbd,\n \"500\": #9e9e9e,\n \"600\": #757575,\n \"700\": #616161,\n \"800\": #424242,\n \"900\": #212121,\n);\n\n$clr-grey: map-get($clr-grey-list, \"base\");\n\n$clr-grey-50: map-get($clr-grey-list, \"50\");\n$clr-grey-100: map-get($clr-grey-list, \"100\");\n$clr-grey-200: map-get($clr-grey-list, \"200\");\n$clr-grey-300: map-get($clr-grey-list, \"300\");\n$clr-grey-400: map-get($clr-grey-list, \"400\");\n$clr-grey-500: map-get($clr-grey-list, \"500\");\n$clr-grey-600: map-get($clr-grey-list, \"600\");\n$clr-grey-700: map-get($clr-grey-list, \"700\");\n$clr-grey-800: map-get($clr-grey-list, \"800\");\n$clr-grey-900: map-get($clr-grey-list, \"900\");\n\n\n//\n// Blue grey\n//\n\n$clr-blue-grey-list: (\n \"base\": #607d8b,\n \"50\": #eceff1,\n \"100\": #cfd8dc,\n \"200\": #b0bec5,\n \"300\": #90a4ae,\n \"400\": #78909c,\n \"500\": #607d8b,\n \"600\": #546e7a,\n \"700\": #455a64,\n \"800\": #37474f,\n \"900\": #263238,\n);\n\n$clr-blue-grey: map-get($clr-blue-grey-list, \"base\");\n\n$clr-blue-grey-50: map-get($clr-blue-grey-list, \"50\");\n$clr-blue-grey-100: map-get($clr-blue-grey-list, \"100\");\n$clr-blue-grey-200: map-get($clr-blue-grey-list, \"200\");\n$clr-blue-grey-300: map-get($clr-blue-grey-list, \"300\");\n$clr-blue-grey-400: map-get($clr-blue-grey-list, \"400\");\n$clr-blue-grey-500: map-get($clr-blue-grey-list, \"500\");\n$clr-blue-grey-600: map-get($clr-blue-grey-list, \"600\");\n$clr-blue-grey-700: map-get($clr-blue-grey-list, \"700\");\n$clr-blue-grey-800: map-get($clr-blue-grey-list, \"800\");\n$clr-blue-grey-900: map-get($clr-blue-grey-list, \"900\");\n\n\n//\n// Black\n//\n\n$clr-black-list: (\n \"base\": #000\n);\n\n$clr-black: map-get($clr-black-list, \"base\");\n\n\n//\n// White\n//\n\n$clr-white-list: (\n \"base\": #fff\n);\n\n$clr-white: map-get($clr-white-list, \"base\");\n\n\n//\n// List for all Colors for looping\n//\n\n$clr-list-all: (\n \"red\": $clr-red-list,\n \"pink\": $clr-pink-list,\n \"purple\": $clr-purple-list,\n \"deep-purple\": $clr-deep-purple-list,\n \"indigo\": $clr-indigo-list,\n \"blue\": $clr-blue-list,\n \"light-blue\": $clr-light-blue-list,\n \"cyan\": $clr-cyan-list,\n \"teal\": $clr-teal-list,\n \"green\": $clr-green-list,\n \"light-green\": $clr-light-green-list,\n \"lime\": $clr-lime-list,\n \"yellow\": $clr-yellow-list,\n \"amber\": $clr-amber-list,\n \"orange\": $clr-orange-list,\n \"deep-orange\": $clr-deep-orange-list,\n \"brown\": $clr-brown-list,\n \"grey\": $clr-grey-list,\n \"blue-grey\": $clr-blue-grey-list,\n \"black\": $clr-black-list,\n \"white\": $clr-white-list\n);\n\n\n//\n// Typography\n//\n\n$clr-ui-display-4: $clr-grey-600;\n$clr-ui-display-3: $clr-grey-600;\n$clr-ui-display-2: $clr-grey-600;\n$clr-ui-display-1: $clr-grey-600;\n$clr-ui-headline: $clr-grey-900;\n$clr-ui-title: $clr-grey-900;\n$clr-ui-subhead-1: $clr-grey-900;\n$clr-ui-body-2: $clr-grey-900;\n$clr-ui-body-1: $clr-grey-900;\n$clr-ui-caption: $clr-grey-600;\n$clr-ui-menu: $clr-grey-900;\n$clr-ui-button: $clr-grey-900;\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"material/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Footnote reference\n [id^=\"fnref:\"]:target {\n scroll-margin-top: initial;\n margin-top: -1 * px2rem(48px + 24px - 4px);\n padding-top: px2rem(48px + 24px - 4px);\n }\n\n // Footnote\n [id^=\"fn:\"]:target {\n scroll-margin-top: initial;\n margin-top: -1 * px2rem(48px + 24px - 3px);\n padding-top: px2rem(48px + 24px - 3px);\n }\n\n // Footnote container\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: px2rem(12.8px);\n\n // Footnote list - omit left indentation\n ol {\n margin-left: 0;\n }\n\n // Footnote list item\n li {\n transition: color 125ms;\n\n // Darken color on target\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Show backreferences on footnote hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Adjust spacing on first child\n > :first-child {\n margin-top: 0;\n }\n }\n }\n\n // Footnote backreference\n .footnote-backref {\n display: inline-block;\n color: var(--md-typeset-a-color);\n // Hack: omit Unicode arrow for replacement with icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // [print]: Show footnote backreferences\n @media print {\n color: var(--md-typeset-a-color);\n transform: translateX(0);\n opacity: 1;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Adjust color on hover\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n // Footnote backreference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Headerlink\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n color: var(--md-default-fg-color--lighter);\n opacity: 0;\n transition:\n color 250ms,\n opacity 125ms;\n\n // [print]: Hide headerlinks\n @media print {\n display: none;\n }\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n }\n\n // Show headerlinks on parent hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n opacity: 1;\n transition:\n color 250ms,\n opacity 125ms;\n }\n\n // Adjust color on parent target or focus/hover\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // Adjust scroll offset for all elements with `id` attributes - general scroll\n // margin offset for anything that can be targeted. Browser support is pretty\n // decent by now, but Edge <79 and Safari (iOS and macOS) still don't support\n // it properly, so we settle with a cross-browser anchor correction solution.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Adjust scroll offset for headlines of level 1-3\n h1:target,\n h2:target,\n h3:target {\n scroll-margin-top: initial;\n\n // Anchor correction hack\n &::before {\n display: block;\n margin-top: -1 * px2rem(48px + 24px - 4px);\n padding-top: px2rem(48px + 24px - 4px);\n content: \"\";\n }\n }\n\n // Adjust scroll offset for headlines of level 4\n h4:target {\n scroll-margin-top: initial;\n\n // Anchor correction hack\n &::before {\n display: block;\n margin-top: -1 * px2rem(48px + 24px - 3px);\n padding-top: px2rem(48px + 24px - 3px);\n content: \"\";\n }\n }\n\n // Adjust scroll offset for headlines of level 5-6\n h5:target,\n h6:target {\n scroll-margin-top: initial;\n\n // Anchor correction hack\n &::before {\n display: block;\n margin-top: -1 * px2rem(48px + 24px);\n padding-top: px2rem(48px + 24px);\n content: \"\";\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Arithmatex container\n div.arithmatex {\n overflow: auto;\n\n // [mobile -]: Align with body copy\n @include break-to-device(mobile) {\n margin: 0 px2rem(-16px);\n }\n\n // Arithmatex content\n > * {\n width: min-content;\n // stylelint-disable-next-line declaration-no-important\n margin: 1em auto !important;\n padding: 0 px2rem(16px);\n touch-action: auto;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Deletion, addition or comment\n del.critic,\n ins.critic,\n .critic.comment {\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: var(--md-typeset-del-color);\n }\n\n // Addition\n ins.critic {\n background-color: var(--md-typeset-ins-color);\n }\n\n // Comment\n .critic.comment {\n color: var(--md-code-hl-comment-color);\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Critic block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Adjust spacing on first child\n > :first-child {\n margin-top: 0.5em;\n }\n\n // Adjust spacing on last child\n > :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-details-icon: svg-load(\"material/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n // Details title icon - rotate icon on transition to open state\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Adjust spacing for details in closed state\n &:not([open]) {\n padding-bottom: 0;\n box-shadow: none;\n\n // Hack: we cannot set `overflow: hidden` on the `details` element (which\n // is why we set it to `overflow: visible`, as the outline would not be\n // visible when focusing. Therefore, we must set the border radius on the\n // summary explicitly.\n > summary {\n border-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-left-radius: px2rem(2px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(44px) px2rem(8px) px2rem(36px);\n }\n\n // Hide outline for pointer devices\n &:not(.focus-visible) {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n\n // Hide native details marker\n &::marker,\n &::-webkit-details-marker {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Emoji and icon container\n .emojione,\n .twemoji,\n .gemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon - inlined via mkdocs-material-extensions\n svg {\n width: px2em(18px);\n max-height: 100%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Code block\n.highlight {\n .o, // Operator\n .ow { // Operator, word\n color: var(--md-code-hl-operator-color);\n }\n\n .p { // Punctuation\n color: var(--md-code-hl-punctuation-color);\n }\n\n .cpf, // Comment, preprocessor file\n .l, // Literal\n .s, // Literal, string\n .sb, // Literal, string backticks\n .sc, // Literal, string char\n .s2, // Literal, string double\n .si, // Literal, string interpol\n .s1, // Literal, string single\n .ss { // Literal, string symbol\n color: var(--md-code-hl-string-color);\n }\n\n .cp, // Comment, pre-processor\n .se, // Literal, string escape\n .sh, // Literal, string heredoc\n .sr, // Literal, string regex\n .sx { // Literal, string other\n color: var(--md-code-hl-special-color);\n }\n\n .m, // Number\n .mb, // Number, binary\n .mf, // Number, float\n .mh, // Number, hex\n .mi, // Number, integer\n .il, // Number, integer long\n .mo { // Number, octal\n color: var(--md-code-hl-number-color);\n }\n\n .k, // Keyword,\n .kd, // Keyword, declaration\n .kn, // Keyword, namespace\n .kp, // Keyword, pseudo\n .kr, // Keyword, reserved\n .kt { // Keyword, type\n color: var(--md-code-hl-keyword-color);\n }\n\n .kc, // Keyword, constant\n .n { // Name\n color: var(--md-code-hl-name-color);\n }\n\n .no, // Name, constant\n .nb, // Name, builtin\n .bp { // Name, builtin pseudo\n color: var(--md-code-hl-constant-color);\n }\n\n .nc, // Name, class\n .ne, // Name, exception\n .nf, // Name, function\n .nn { // Name, namespace\n color: var(--md-code-hl-function-color);\n }\n\n .nd, // Name, decorator\n .ni, // Name, entity\n .nl, // Name, label\n .nt { // Name, tag\n color: var(--md-code-hl-keyword-color);\n }\n\n .c, // Comment\n .cm, // Comment, multiline\n .c1, // Comment, single\n .ch, // Comment, shebang\n .cs, // Comment, special\n .sd { // Literal, string doc\n color: var(--md-code-hl-comment-color);\n }\n\n .na, // Name, attribute\n .nv, // Variable,\n .vc, // Variable, class\n .vg, // Variable, global\n .vi { // Variable, instance\n color: var(--md-code-hl-variable-color);\n }\n\n .ge, // Generic, emph\n .gr, // Generic, error\n .gh, // Generic, heading\n .go, // Generic, output\n .gp, // Generic, prompt\n .gs, // Generic, strong\n .gu, // Generic, subheading\n .gt { // Generic, traceback\n color: var(--md-code-hl-generic-color);\n }\n\n .gd, // Diff, delete\n .gi { // Diff, insert\n margin: 0 px2em(-2px);\n padding: 0 px2em(2px);\n border-radius: px2rem(2px);\n }\n\n .gd { // Diff, delete\n background-color: var(--md-typeset-del-color);\n }\n\n .gi { // Diff, insert\n background-color: var(--md-typeset-ins-color);\n }\n\n // Highlighted line\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: var(--md-code-hl-color);\n }\n\n // Code block line numbers (inline)\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--light);\n background-color: var(--md-code-bg-color);\n box-shadow: px2rem(-1px) 0 var(--md-default-fg-color--lightest) inset;\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Code block with line numbers\n.highlighttable {\n display: flow-root;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to omit the margin\n // because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Code block line numbers - disable user selection, so code can be easily\n // copied without accidentally also copying the line numbers\n .linenos {\n padding: px2em(10.5px, 13.6px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Code block line numbers container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: px2rem(-1px) 0 var(--md-default-fg-color--lightest) inset;\n\n // Adjust colors and alignment\n pre {\n color: var(--md-default-fg-color--light);\n text-align: right;\n }\n }\n\n // Code block container - stretch to remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Code block with line numbers\n .highlighttable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Omit rounded borders on contained code block\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Align with body copy\n @include break-to-device(mobile) {\n\n // Top-level code block\n > .highlight {\n margin: 1em px2rem(-16px);\n\n // Highlighted line\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Omit rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Top-level code block with line numbers\n > .highlighttable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Highlighted line\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Keyboard key\n .keys {\n\n // Keyboard key icon\n kbd::before,\n kbd::after {\n position: relative;\n margin: 0;\n color: inherit;\n -moz-osx-font-smoothing: initial;\n -webkit-font-smoothing: initial;\n }\n\n // Surrounding text\n span {\n padding: 0 px2em(3.2px);\n color: var(--md-default-fg-color--light);\n }\n\n // Define keyboard keys with left icon\n @each $name, $code in (\n\n // Modifiers\n \"alt\": \"\\2387\",\n \"left-alt\": \"\\2387\",\n \"right-alt\": \"\\2387\",\n \"command\": \"\\2318\",\n \"left-command\": \"\\2318\",\n \"right-command\": \"\\2318\",\n \"control\": \"\\2303\",\n \"left-control\": \"\\2303\",\n \"right-control\": \"\\2303\",\n \"meta\": \"\\25C6\",\n \"left-meta\": \"\\25C6\",\n \"right-meta\": \"\\25C6\",\n \"option\": \"\\2325\",\n \"left-option\": \"\\2325\",\n \"right-option\": \"\\2325\",\n \"shift\": \"\\21E7\",\n \"left-shift\": \"\\21E7\",\n \"right-shift\": \"\\21E7\",\n \"super\": \"\\2756\",\n \"left-super\": \"\\2756\",\n \"right-super\": \"\\2756\",\n \"windows\": \"\\229E\",\n \"left-windows\": \"\\229E\",\n \"right-windows\": \"\\229E\",\n\n // Other keys\n \"arrow-down\": \"\\2193\",\n \"arrow-left\": \"\\2190\",\n \"arrow-right\": \"\\2192\",\n \"arrow-up\": \"\\2191\",\n \"backspace\": \"\\232B\",\n \"backtab\": \"\\21E4\",\n \"caps-lock\": \"\\21EA\",\n \"clear\": \"\\2327\",\n \"context-menu\": \"\\2630\",\n \"delete\": \"\\2326\",\n \"eject\": \"\\23CF\",\n \"end\": \"\\2913\",\n \"escape\": \"\\238B\",\n \"home\": \"\\2912\",\n \"insert\": \"\\2380\",\n \"page-down\": \"\\21DF\",\n \"page-up\": \"\\21DE\",\n \"print-screen\": \"\\2399\"\n ) {\n .key-#{$name} {\n &::before {\n padding-right: px2em(6.4px);\n content: $code;\n }\n }\n }\n\n // Define keyboard keys with right icon\n @each $name, $code in (\n \"tab\": \"\\21E5\",\n \"num-enter\": \"\\2324\",\n \"enter\": \"\\23CE\"\n ) {\n .key-#{$name} {\n &::after {\n padding-left: px2em(6.4px);\n content: $code;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // [print]: Show all tabs (even hidden ones) when printing\n @media print {\n display: block;\n order: initial;\n }\n\n // Code block is the only child of a tab - remove margin and mirror\n // previous (now deprecated) SuperFences code block grouping behavior\n > pre:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Omit rounded borders\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Adjust spacing for nested tab\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Tab radio button - the Tabbed extension will generate radio buttons with\n // labels, so tabs can be triggered without the necessity for JavaScript.\n // This is pretty cool, as it has great accessibility out-of-the box, so\n // we just hide the radio button and toggle the label color for indication.\n > input {\n position: absolute;\n width: 0;\n height: 0;\n opacity: 0;\n\n // Tab label for checked radio button\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n + .tabbed-content {\n display: block;\n }\n }\n\n // Tab label on focus\n &:focus + label {\n outline-style: auto;\n }\n\n // Hide outline for pointer devices\n &:not(.focus-visible) + label {\n outline: none;\n -webkit-tap-highlight-color: transparent;\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2em(12px, 12.8px) 1.25em px2em(10px, 12.8px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: px2rem(12.8px);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Tab label on hover\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n --md-tasklist-icon:\n svg-load(\"octicons/check-circle-fill-24.svg\");\n --md-tasklist-icon--checked:\n svg-load(\"octicons/check-circle-fill-24.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Tasklist item\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Hide native checkbox, when custom classes are enabled\n .task-list-control [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n\n // Tasklist indicator in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Tasklist indicator in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n}\n"]} \ No newline at end of file diff --git a/material/assets/stylesheets/main.css b/material/assets/stylesheets/main.css deleted file mode 100644 index ab0da1e90..000000000 --- a/material/assets/stylesheets/main.css +++ /dev/null @@ -1,3600 +0,0 @@ -@charset "UTF-8"; -html { - box-sizing: border-box; - -webkit-text-size-adjust: none; - -moz-text-size-adjust: none; - -ms-text-size-adjust: none; - text-size-adjust: none; -} - -*, -*::before, -*::after { - box-sizing: inherit; -} - -body { - margin: 0; -} - -a, -button, -label, -input { - -webkit-tap-highlight-color: transparent; -} - -a { - color: inherit; - text-decoration: none; -} - -hr { - display: block; - box-sizing: content-box; - height: 0.05rem; - padding: 0; - overflow: visible; - border: 0; -} - -small { - font-size: 80%; -} - -sub, -sup { - line-height: 1em; -} - -img { - border-style: none; -} - -table { - border-collapse: separate; - border-spacing: 0; -} - -td, -th { - font-weight: 400; - vertical-align: top; -} - -button { - margin: 0; - padding: 0; - font-size: inherit; - background: transparent; - border: 0; -} - -input { - border: 0; - outline: none; -} - -:root { - --md-default-fg-color: hsla(0, 0%, 0%, 0.87); - --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54); - --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32); - --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07); - --md-default-bg-color: hsla(0, 0%, 100%, 1); - --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7); - --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3); - --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12); - --md-primary-fg-color: hsla(231, 48%, 48%, 1); - --md-primary-fg-color--light: hsla(231, 44%, 56%, 1); - --md-primary-fg-color--dark: hsla(232, 54%, 41%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); - --md-accent-fg-color: hsla(231, 99%, 66%, 1); - --md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} -:root > * { - --md-code-fg-color: hsla(200, 18%, 26%, 1); - --md-code-bg-color: hsla(0, 0%, 96%, 1); - --md-code-hl-color: hsla(60, 100%, 50%, 0.5); - --md-code-hl-number-color: hsla(0, 67%, 50%, 1); - --md-code-hl-special-color: hsla(340, 83%, 47%, 1); - --md-code-hl-function-color: hsla(291, 45%, 50%, 1); - --md-code-hl-constant-color: hsla(250, 63%, 60%, 1); - --md-code-hl-keyword-color: hsla(219, 54%, 51%, 1); - --md-code-hl-string-color: hsla(150, 63%, 30%, 1); - --md-code-hl-name-color: var(--md-code-fg-color); - --md-code-hl-operator-color: var(--md-default-fg-color--light); - --md-code-hl-punctuation-color: var(--md-default-fg-color--light); - --md-code-hl-comment-color: var(--md-default-fg-color--light); - --md-code-hl-generic-color: var(--md-default-fg-color--light); - --md-code-hl-variable-color: var(--md-default-fg-color--light); - --md-typeset-color: var(--md-default-fg-color); - --md-typeset-a-color: var(--md-primary-fg-color); - --md-typeset-mark-color: hsla(60, 100%, 50%, 0.5); - --md-typeset-del-color: hsla(6, 90%, 60%, 0.15); - --md-typeset-ins-color: hsla(150, 90%, 44%, 0.15); - --md-typeset-kbd-color: hsla(0, 0%, 98%, 1); - --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1); - --md-typeset-kbd-border-color: hsla(0, 0%, 72%, 1); - --md-admonition-fg-color: var(--md-default-fg-color); - --md-admonition-bg-color: var(--md-default-bg-color); - --md-footer-fg-color: hsla(0, 0%, 100%, 1); - --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7); - --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3); - --md-footer-bg-color: hsla(0, 0%, 0%, 0.87); - --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32); -} - -.md-icon svg { - display: block; - width: 1.2rem; - height: 1.2rem; - fill: currentColor; -} - -body { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -body, -input { - color: var(--md-typeset-color); - font-feature-settings: "kern", "liga"; - font-family: var(--md-text-font-family) -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif; -} - -code, -pre, -kbd { - color: var(--md-typeset-color); - font-feature-settings: "kern"; - font-family: var(--md-code-font-family) SFMono-Regular, Consolas, Menlo, monospace; -} - -:root { - --md-typeset-table--ascending: url("data:image/svg+xml;charset=utf-8,"); - --md-typeset-table--descending: url("data:image/svg+xml;charset=utf-8,"); -} - -.md-typeset { - font-size: 0.8rem; - line-height: 1.6; - -webkit-print-color-adjust: exact; - color-adjust: exact; -} -@media print { - .md-typeset { - font-size: 0.68rem; - } -} -.md-typeset p, -.md-typeset ul, -.md-typeset ol, -.md-typeset dl, -.md-typeset blockquote { - margin: 1em 0; -} -.md-typeset h1 { - margin: 0 0 1.25em; - color: var(--md-default-fg-color--light); - font-weight: 300; - font-size: 2em; - line-height: 1.3; - letter-spacing: -0.01em; -} -.md-typeset h2 { - margin: 1.6em 0 0.64em; - font-weight: 300; - font-size: 1.5625em; - line-height: 1.4; - letter-spacing: -0.01em; -} -.md-typeset h3 { - margin: 1.6em 0 0.8em; - font-weight: 400; - font-size: 1.25em; - line-height: 1.5; - letter-spacing: -0.01em; -} -.md-typeset h2 + h3 { - margin-top: 0.8em; -} -.md-typeset h4 { - margin: 1em 0; - font-weight: 700; - letter-spacing: -0.01em; -} -.md-typeset h5, -.md-typeset h6 { - margin: 1.25em 0; - color: var(--md-default-fg-color--light); - font-weight: 700; - font-size: 0.8em; - letter-spacing: -0.01em; -} -.md-typeset h5 { - text-transform: uppercase; -} -.md-typeset hr { - margin: 1.5em 0; - border-bottom: 0.05rem solid var(--md-default-fg-color--lightest); -} -.md-typeset a { - color: var(--md-typeset-a-color); - word-break: break-word; -} -.md-typeset a, .md-typeset a::before { - transition: color 125ms; -} -.md-typeset a:focus, .md-typeset a:hover { - color: var(--md-accent-fg-color); -} -.md-typeset code, -.md-typeset pre, -.md-typeset kbd { - color: var(--md-code-fg-color); - direction: ltr; -} -@media print { - .md-typeset code, -.md-typeset pre, -.md-typeset kbd { - white-space: pre-wrap; - } -} -.md-typeset code { - padding: 0 0.2941176471em; - font-size: 0.85em; - word-break: break-word; - background-color: var(--md-code-bg-color); - border-radius: 0.1rem; - -webkit-box-decoration-break: clone; - box-decoration-break: clone; -} -.md-typeset code:not(.focus-visible) { - outline: none; - -webkit-tap-highlight-color: transparent; -} -.md-typeset h1 code, -.md-typeset h2 code, -.md-typeset h3 code, -.md-typeset h4 code, -.md-typeset h5 code, -.md-typeset h6 code { - margin: initial; - padding: initial; - background-color: transparent; - box-shadow: none; -} -.md-typeset a > code { - color: currentColor; -} -.md-typeset pre { - position: relative; - margin: 1em 0; - line-height: 1.4; -} -.md-typeset pre > code { - display: block; - margin: 0; - padding: 0.7720588235em 1.1764705882em; - overflow: auto; - word-break: normal; - box-shadow: none; - -webkit-box-decoration-break: slice; - box-decoration-break: slice; - touch-action: auto; - scrollbar-width: thin; - scrollbar-color: var(--md-default-fg-color--lighter) transparent; -} -.md-typeset pre > code:hover { - scrollbar-color: var(--md-accent-fg-color) transparent; -} -.md-typeset pre > code::-webkit-scrollbar { - width: 0.2rem; - height: 0.2rem; -} -.md-typeset pre > code::-webkit-scrollbar-thumb { - background-color: var(--md-default-fg-color--lighter); -} -.md-typeset pre > code::-webkit-scrollbar-thumb:hover { - background-color: var(--md-accent-fg-color); -} -@media screen and (max-width: 44.9375em) { - .md-typeset > pre { - margin: 1em -0.8rem; - } - .md-typeset > pre code { - border-radius: 0; - } -} -.md-typeset kbd { - display: inline-block; - padding: 0 0.6666666667em; - color: var(--md-default-fg-color); - font-size: 0.75em; - vertical-align: text-top; - word-break: break-word; - background-color: var(--md-typeset-kbd-color); - border-radius: 0.1rem; - box-shadow: 0 0.1rem 0 0.05rem var(--md-typeset-kbd-border-color), 0 0.1rem 0 var(--md-typeset-kbd-border-color), 0 -0.1rem 0.2rem var(--md-typeset-kbd-accent-color) inset; -} -.md-typeset mark { - color: inherit; - word-break: break-word; - background-color: var(--md-typeset-mark-color); - -webkit-box-decoration-break: clone; - box-decoration-break: clone; -} -.md-typeset abbr { - text-decoration: none; - border-bottom: 0.05rem dotted var(--md-default-fg-color--light); - cursor: help; -} -@media (hover: none) { - .md-typeset abbr { - position: relative; - } - .md-typeset abbr[title]:focus::after, .md-typeset abbr[title]:hover::after { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); - position: absolute; - left: 0; - display: inline-block; - width: auto; - min-width: -webkit-max-content; - min-width: -moz-max-content; - min-width: max-content; - max-width: 80%; - margin-top: 2em; - padding: 0.2rem 0.3rem; - color: var(--md-default-bg-color); - font-size: 0.7rem; - background-color: var(--md-default-fg-color); - border-radius: 0.1rem; - content: attr(title); - } -} -.md-typeset small { - opacity: 0.75; -} -.md-typeset sup, -.md-typeset sub { - margin-left: 0.078125em; -} -[dir=rtl] .md-typeset sup, -[dir=rtl] .md-typeset sub { - margin-right: 0.078125em; - margin-left: initial; -} -.md-typeset blockquote { - padding-left: 0.6rem; - color: var(--md-default-fg-color--light); - border-left: 0.2rem solid var(--md-default-fg-color--lighter); -} -[dir=rtl] .md-typeset blockquote { - padding-right: 0.6rem; - padding-left: initial; - border-right: 0.2rem solid var(--md-default-fg-color--lighter); - border-left: initial; -} -.md-typeset ul { - list-style-type: disc; -} -.md-typeset ul, -.md-typeset ol { - margin-left: 0.625em; - padding: 0; -} -[dir=rtl] .md-typeset ul, -[dir=rtl] .md-typeset ol { - margin-right: 0.625em; - margin-left: initial; -} -.md-typeset ul ol, -.md-typeset ol ol { - list-style-type: lower-alpha; -} -.md-typeset ul ol ol, -.md-typeset ol ol ol { - list-style-type: lower-roman; -} -.md-typeset ul li, -.md-typeset ol li { - margin-bottom: 0.5em; - margin-left: 1.25em; -} -[dir=rtl] .md-typeset ul li, -[dir=rtl] .md-typeset ol li { - margin-right: 1.25em; - margin-left: initial; -} -.md-typeset ul li p, -.md-typeset ul li blockquote, -.md-typeset ol li p, -.md-typeset ol li blockquote { - margin: 0.5em 0; -} -.md-typeset ul li:last-child, -.md-typeset ol li:last-child { - margin-bottom: 0; -} -.md-typeset ul li ul, -.md-typeset ul li ol, -.md-typeset ol li ul, -.md-typeset ol li ol { - margin: 0.5em 0 0.5em 0.625em; -} -[dir=rtl] .md-typeset ul li ul, -[dir=rtl] .md-typeset ul li ol, -[dir=rtl] .md-typeset ol li ul, -[dir=rtl] .md-typeset ol li ol { - margin-right: 0.625em; - margin-left: initial; -} -.md-typeset dd { - margin: 1em 0 1.5em 1.875em; -} -[dir=rtl] .md-typeset dd { - margin-right: 1.875em; - margin-left: initial; -} -.md-typeset img, -.md-typeset svg { - max-width: 100%; - height: auto; -} -.md-typeset img[align=left], -.md-typeset svg[align=left] { - margin: 1em; - margin-left: 0; -} -.md-typeset img[align=right], -.md-typeset svg[align=right] { - margin: 1em; - margin-right: 0; -} -.md-typeset img[align]:only-child, -.md-typeset svg[align]:only-child { - margin-top: 0; -} -.md-typeset figure { - width: -webkit-fit-content; - width: -moz-fit-content; - width: fit-content; - max-width: 100%; - margin: 0 auto; - text-align: center; -} -.md-typeset figure img { - display: block; -} -.md-typeset figcaption { - max-width: 24rem; - margin: 1em auto 2em; - font-style: italic; -} -.md-typeset iframe { - max-width: 100%; -} -.md-typeset table:not([class]) { - display: inline-block; - max-width: 100%; - overflow: auto; - font-size: 0.64rem; - background-color: var(--md-default-bg-color); - border-radius: 0.1rem; - box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.05rem rgba(0, 0, 0, 0.1); - touch-action: auto; -} -@media print { - .md-typeset table:not([class]) { - display: table; - } -} -.md-typeset table:not([class]) + * { - margin-top: 1.5em; -} -.md-typeset table:not([class]) th > *:first-child, -.md-typeset table:not([class]) td > *:first-child { - margin-top: 0; -} -.md-typeset table:not([class]) th > *:last-child, -.md-typeset table:not([class]) td > *:last-child { - margin-bottom: 0; -} -.md-typeset table:not([class]) th:not([align]), -.md-typeset table:not([class]) td:not([align]) { - text-align: left; -} -[dir=rtl] .md-typeset table:not([class]) th:not([align]), -[dir=rtl] .md-typeset table:not([class]) td:not([align]) { - text-align: right; -} -.md-typeset table:not([class]) th { - min-width: 5rem; - padding: 0.9375em 1.25em; - color: var(--md-default-bg-color); - vertical-align: top; - background-color: var(--md-default-fg-color--light); -} -.md-typeset table:not([class]) th a { - color: inherit; -} -.md-typeset table:not([class]) td { - padding: 0.9375em 1.25em; - vertical-align: top; - border-top: 0.05rem solid var(--md-default-fg-color--lightest); -} -.md-typeset table:not([class]) tr { - transition: background-color 125ms; -} -.md-typeset table:not([class]) tr:hover { - background-color: rgba(0, 0, 0, 0.035); - box-shadow: 0 0.05rem 0 var(--md-default-bg-color) inset; -} -.md-typeset table:not([class]) tr:first-child td { - border-top: 0; -} -.md-typeset table:not([class]) a { - word-break: normal; -} -.md-typeset table th[role=columnheader] { - cursor: pointer; -} -.md-typeset table th[role=columnheader]::after { - display: inline-block; - width: 1.2em; - height: 1.2em; - margin-left: 0.5em; - vertical-align: sub; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - content: ""; -} -.md-typeset table th[role=columnheader][aria-sort=ascending]::after { - background-color: currentColor; - -webkit-mask-image: var(--md-typeset-table--ascending); - mask-image: var(--md-typeset-table--ascending); -} -.md-typeset table th[role=columnheader][aria-sort=descending]::after { - background-color: currentColor; - -webkit-mask-image: var(--md-typeset-table--descending); - mask-image: var(--md-typeset-table--descending); -} -.md-typeset__scrollwrap { - margin: 1em -0.8rem; - overflow-x: auto; - touch-action: auto; -} -.md-typeset__table { - display: inline-block; - margin-bottom: 0.5em; - padding: 0 0.8rem; -} -@media print { - .md-typeset__table { - display: block; - } -} -html .md-typeset__table table { - display: table; - width: 100%; - margin: 0; - overflow: hidden; -} - -html { - height: 100%; - overflow-x: hidden; - font-size: 125%; -} -@media screen and (min-width: 100em) { - html { - font-size: 137.5%; - } -} -@media screen and (min-width: 125em) { - html { - font-size: 150%; - } -} - -body { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - min-height: 100%; - font-size: 0.5rem; - background-color: var(--md-default-bg-color); -} -@media print { - body { - display: block; - } -} -@media screen and (max-width: 59.9375em) { - body[data-md-state=lock] { - position: fixed; - } -} - -.md-grid { - max-width: 61rem; - margin-right: auto; - margin-left: auto; -} - -.md-container { - display: flex; - flex-direction: column; - flex-grow: 1; -} -@media print { - .md-container { - display: block; - } -} - -.md-main { - flex-grow: 1; -} -.md-main__inner { - display: flex; - height: 100%; - margin-top: 1.5rem; -} - -.md-ellipsis { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} - -.md-toggle { - display: none; -} - -.md-skip { - position: fixed; - z-index: -1; - margin: 0.5rem; - padding: 0.3rem 0.5rem; - color: var(--md-default-bg-color); - font-size: 0.64rem; - background-color: var(--md-default-fg-color); - border-radius: 0.1rem; - transform: translateY(0.4rem); - opacity: 0; -} -.md-skip:focus { - z-index: 10; - transform: translateY(0); - opacity: 1; - transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 175ms 75ms; -} - -@page { - margin: 25mm; -} -.md-announce { - overflow: auto; - background-color: var(--md-footer-bg-color); -} -@media print { - .md-announce { - display: none; - } -} -.md-announce__inner { - margin: 0.6rem auto; - padding: 0 0.8rem; - color: var(--md-footer-fg-color); - font-size: 0.7rem; -} - -:root { - --md-clipboard-icon: url("data:image/svg+xml;charset=utf-8,"); -} - -.md-clipboard { - position: absolute; - top: 0.5em; - right: 0.5em; - z-index: 1; - width: 1.5em; - height: 1.5em; - color: var(--md-default-fg-color--lightest); - border-radius: 0.1rem; - cursor: pointer; - transition: color 250ms; -} -@media print { - .md-clipboard { - display: none; - } -} -.md-clipboard:not(.focus-visible) { - outline: none; - -webkit-tap-highlight-color: transparent; -} -:hover > .md-clipboard { - color: var(--md-default-fg-color--light); -} -.md-clipboard:focus, .md-clipboard:hover { - color: var(--md-accent-fg-color); -} -.md-clipboard::after { - display: block; - width: 1.125em; - height: 1.125em; - margin: 0 auto; - background-color: currentColor; - -webkit-mask-image: var(--md-clipboard-icon); - mask-image: var(--md-clipboard-icon); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - content: ""; -} -.md-clipboard--inline { - cursor: pointer; -} -.md-clipboard--inline code { - transition: color 250ms, background-color 250ms; -} -.md-clipboard--inline:focus code, .md-clipboard--inline:hover code { - color: var(--md-accent-fg-color); - background-color: var(--md-accent-fg-color--transparent); -} - -.md-content { - flex-grow: 1; - overflow: hidden; - scroll-padding-top: 51.2rem; -} -.md-content__inner { - margin: 0 0.8rem 1.2rem; - padding-top: 0.6rem; -} -@media screen and (min-width: 76.25em) { - .md-sidebar--primary:not([hidden]) ~ .md-content > .md-content__inner { - margin-left: 1.2rem; - } - [dir=rtl] .md-sidebar--primary:not([hidden]) ~ .md-content > .md-content__inner { - margin-right: 1.2rem; - margin-left: 0.8rem; - } - .md-sidebar--secondary:not([hidden]) ~ .md-content > .md-content__inner { - margin-right: 1.2rem; - } - [dir=rtl] .md-sidebar--secondary:not([hidden]) ~ .md-content > .md-content__inner { - margin-right: 0.8rem; - margin-left: 1.2rem; - } -} -.md-content__inner::before { - display: block; - height: 0.4rem; - content: ""; -} -.md-content__inner > :last-child { - margin-bottom: 0; -} -.md-content__button { - float: right; - margin: 0.4rem 0; - margin-left: 0.4rem; - padding: 0; -} -@media print { - .md-content__button { - display: none; - } -} -[dir=rtl] .md-content__button { - float: left; - margin-right: 0.4rem; - margin-left: initial; -} -[dir=rtl] .md-content__button svg { - transform: scaleX(-1); -} -.md-typeset .md-content__button { - color: var(--md-default-fg-color--lighter); -} -.md-content__button svg { - display: inline; - vertical-align: top; -} - -.md-dialog { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); - position: fixed; - right: 0.8rem; - bottom: 0.8rem; - left: initial; - z-index: 2; - min-width: 11.1rem; - padding: 0.4rem 0.6rem; - background-color: var(--md-default-fg-color); - border-radius: 0.1rem; - transform: translateY(100%); - opacity: 0; - transition: transform 0ms 400ms, opacity 400ms; - pointer-events: none; -} -@media print { - .md-dialog { - display: none; - } -} -[dir=rtl] .md-dialog { - right: initial; - left: 0.8rem; -} -.md-dialog[data-md-state=open] { - transform: translateY(0); - opacity: 1; - transition: transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1), opacity 400ms; - pointer-events: initial; -} -.md-dialog__inner { - color: var(--md-default-bg-color); - font-size: 0.7rem; -} - -.md-typeset .md-button { - display: inline-block; - padding: 0.625em 2em; - color: var(--md-primary-fg-color); - font-weight: 700; - border: 0.1rem solid currentColor; - border-radius: 0.1rem; - transition: color 125ms, background-color 125ms, border-color 125ms; -} -.md-typeset .md-button--primary { - color: var(--md-primary-bg-color); - background-color: var(--md-primary-fg-color); - border-color: var(--md-primary-fg-color); -} -.md-typeset .md-button:focus, .md-typeset .md-button:hover { - color: var(--md-accent-bg-color); - background-color: var(--md-accent-fg-color); - border-color: var(--md-accent-fg-color); -} -.md-typeset .md-input { - height: 1.8rem; - padding: 0 0.6rem; - font-size: 0.8rem; - border-radius: 0.1rem; - box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1); - transition: box-shadow 250ms; -} -.md-typeset .md-input:focus, .md-typeset .md-input:hover { - box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15); -} -.md-typeset .md-input--stretch { - width: 100%; -} - -.md-header { - position: -webkit-sticky; - position: sticky; - top: 0; - right: 0; - left: 0; - z-index: 2; - color: var(--md-primary-bg-color); - background-color: var(--md-primary-fg-color); - box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0), 0 0.2rem 0.4rem rgba(0, 0, 0, 0); - transition: color 250ms, background-color 250ms; -} -@media print { - .md-header { - display: none; - } -} -.md-header[data-md-state=shadow] { - box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2); - transition: transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1), color 250ms, background-color 250ms, box-shadow 250ms; -} -.md-header[data-md-state=hidden] { - transform: translateY(-100%); - transition: transform 250ms cubic-bezier(0.8, 0, 0.6, 1), color 250ms, background-color 250ms, box-shadow 250ms; -} - -.md-header-nav { - display: flex; - align-items: center; - padding: 0 0.2rem; -} -.md-header-nav__button { - position: relative; - z-index: 1; - display: inline-block; - margin: 0.2rem; - padding: 0.4rem; - color: currentColor; - vertical-align: middle; - cursor: pointer; - transition: opacity 250ms; -} -.md-header-nav__button:focus, .md-header-nav__button:hover { - opacity: 0.7; -} -.md-header-nav__button:not(.focus-visible) { - outline: none; -} -.md-header-nav__button.md-logo { - margin: 0.2rem; - padding: 0.4rem; -} -@media screen and (max-width: 76.1875em) { - .md-header-nav__button.md-logo { - display: none; - } -} -.md-header-nav__button.md-logo img, -.md-header-nav__button.md-logo svg { - display: block; - width: 1.2rem; - height: 1.2rem; - fill: currentColor; -} -@media screen and (min-width: 60em) { - .md-header-nav__button[for=__search] { - display: none; - } -} -.no-js .md-header-nav__button[for=__search] { - display: none; -} -[dir=rtl] .md-header-nav__button[for=__search] svg { - transform: scaleX(-1); -} -@media screen and (min-width: 76.25em) { - .md-header-nav__button[for=__drawer] { - display: none; - } -} -.md-header-nav__topic { - position: absolute; - display: flex; - max-width: 100%; - transition: transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms; -} -.md-header-nav__topic + .md-header-nav__topic { - z-index: -1; - transform: translateX(1.25rem); - opacity: 0; - transition: transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1), opacity 150ms; - pointer-events: none; -} -[dir=rtl] .md-header-nav__topic + .md-header-nav__topic { - transform: translateX(-1.25rem); -} -.md-header-nav__title { - flex-grow: 1; - height: 2.4rem; - margin-right: 0.4rem; - margin-left: 1rem; - font-size: 0.9rem; - line-height: 2.4rem; -} -.md-header-nav__title[data-md-state=active] .md-header-nav__topic { - z-index: -1; - transform: translateX(-1.25rem); - opacity: 0; - transition: transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1), opacity 150ms; - pointer-events: none; -} -[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic { - transform: translateX(1.25rem); -} -.md-header-nav__title[data-md-state=active] .md-header-nav__topic + .md-header-nav__topic { - z-index: 0; - transform: translateX(0); - opacity: 1; - transition: transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms; - pointer-events: initial; -} -.md-header-nav__title > .md-header-nav__ellipsis { - position: relative; - width: 100%; - height: 100%; -} -.md-header-nav__source { - display: none; -} -@media screen and (min-width: 60em) { - .md-header-nav__source { - display: block; - width: 11.7rem; - max-width: 11.7rem; - margin-left: 1rem; - } - [dir=rtl] .md-header-nav__source { - margin-right: 1rem; - margin-left: initial; - } -} -@media screen and (min-width: 76.25em) { - .md-header-nav__source { - margin-left: 1.4rem; - } - [dir=rtl] .md-header-nav__source { - margin-right: 1.4rem; - } -} - -.md-footer { - color: var(--md-footer-fg-color); - background-color: var(--md-footer-bg-color); -} -@media print { - .md-footer { - display: none; - } -} - -.md-footer-nav__inner { - padding: 0.2rem; - overflow: auto; -} -.md-footer-nav__link { - display: flex; - padding-top: 1.4rem; - padding-bottom: 0.4rem; - transition: opacity 250ms; -} -@media screen and (min-width: 45em) { - .md-footer-nav__link { - width: 50%; - } -} -.md-footer-nav__link:focus, .md-footer-nav__link:hover { - opacity: 0.7; -} -.md-footer-nav__link--prev { - float: left; -} -@media screen and (max-width: 44.9375em) { - .md-footer-nav__link--prev { - width: 25%; - } - .md-footer-nav__link--prev .md-footer-nav__title { - display: none; - } -} -[dir=rtl] .md-footer-nav__link--prev { - float: right; -} -[dir=rtl] .md-footer-nav__link--prev svg { - transform: scaleX(-1); -} -.md-footer-nav__link--next { - float: right; - text-align: right; -} -@media screen and (max-width: 44.9375em) { - .md-footer-nav__link--next { - width: 75%; - } -} -[dir=rtl] .md-footer-nav__link--next { - float: left; - text-align: left; -} -[dir=rtl] .md-footer-nav__link--next svg { - transform: scaleX(-1); -} -.md-footer-nav__title { - position: relative; - flex-grow: 1; - max-width: calc(100% - 2.4rem); - padding: 0 1rem; - font-size: 0.9rem; - line-height: 2.4rem; -} -.md-footer-nav__button { - margin: 0.2rem; - padding: 0.4rem; -} -.md-footer-nav__direction { - position: absolute; - right: 0; - left: 0; - margin-top: -1rem; - padding: 0 1rem; - font-size: 0.64rem; - opacity: 0.7; -} - -.md-footer-meta { - background-color: var(--md-footer-bg-color--dark); -} -.md-footer-meta__inner { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - padding: 0.2rem; -} -html .md-footer-meta.md-typeset a { - color: var(--md-footer-fg-color--light); -} -html .md-footer-meta.md-typeset a:focus, html .md-footer-meta.md-typeset a:hover { - color: var(--md-footer-fg-color); -} - -.md-footer-copyright { - width: 100%; - margin: auto 0.6rem; - padding: 0.4rem 0; - color: var(--md-footer-fg-color--lighter); - font-size: 0.64rem; -} -@media screen and (min-width: 45em) { - .md-footer-copyright { - width: auto; - } -} -.md-footer-copyright__highlight { - color: var(--md-footer-fg-color--light); -} - -.md-footer-social { - margin: 0 0.4rem; - padding: 0.2rem 0 0.6rem; -} -@media screen and (min-width: 45em) { - .md-footer-social { - padding: 0.6rem 0; - } -} -.md-footer-social__link { - display: inline-block; - width: 1.6rem; - height: 1.6rem; - text-align: center; -} -.md-footer-social__link::before { - line-height: 1.9; -} -.md-footer-social__link svg { - max-height: 0.8rem; - vertical-align: -25%; - fill: currentColor; -} - -:root { - --md-nav-icon--prev: url("data:image/svg+xml;charset=utf-8,"); - --md-nav-icon--next: url("data:image/svg+xml;charset=utf-8,"); - --md-toc-icon: url("data:image/svg+xml;charset=utf-8,"); -} - -.md-nav { - font-size: 0.7rem; - line-height: 1.3; -} -.md-nav__title { - display: block; - padding: 0 0.6rem; - overflow: hidden; - font-weight: 700; - text-overflow: ellipsis; -} -.md-nav__title .md-nav__button { - display: none; -} -.md-nav__title .md-nav__button img { - width: auto; - height: 100%; -} -.md-nav__title .md-nav__button.md-logo img, -.md-nav__title .md-nav__button.md-logo svg { - display: block; - width: 2.4rem; - height: 2.4rem; - fill: currentColor; -} -.md-nav__list { - margin: 0; - padding: 0; - list-style: none; -} -.md-nav__item { - padding: 0 0.6rem; -} -.md-nav__item .md-nav__item { - padding-right: 0; -} -[dir=rtl] .md-nav__item .md-nav__item { - padding-right: 0.6rem; - padding-left: 0; -} -.md-nav__link { - display: block; - margin-top: 0.625em; - overflow: hidden; - text-overflow: ellipsis; - cursor: pointer; - transition: color 125ms; - scroll-snap-align: start; -} -.md-nav__link[data-md-state=blur] { - color: var(--md-default-fg-color--light); -} -.md-nav__item .md-nav__link--active { - color: var(--md-typeset-a-color); -} -.md-nav__item--nested > .md-nav__link { - color: inherit; -} -.md-nav__link:focus, .md-nav__link:hover { - color: var(--md-accent-fg-color); -} -.md-nav--primary .md-nav__link[for=__toc] { - display: none; -} -.md-nav--primary .md-nav__link[for=__toc] .md-icon::after { - display: block; - width: 100%; - height: 100%; - -webkit-mask-image: var(--md-toc-icon); - mask-image: var(--md-toc-icon); - background-color: currentColor; -} -.md-nav--primary .md-nav__link[for=__toc] ~ .md-nav { - display: none; -} -.md-nav__source { - display: none; -} -@media screen and (max-width: 76.1875em) { - .md-nav--primary, .md-nav--primary .md-nav { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - display: flex; - flex-direction: column; - height: 100%; - background-color: var(--md-default-bg-color); - } - .md-nav--primary .md-nav__title, -.md-nav--primary .md-nav__item { - font-size: 0.8rem; - line-height: 1.5; - } - .md-nav--primary .md-nav__title { - position: relative; - height: 5.6rem; - padding: 3rem 0.8rem 0.2rem; - color: var(--md-default-fg-color--light); - font-weight: 400; - line-height: 2.4rem; - white-space: nowrap; - background-color: var(--md-default-fg-color--lightest); - cursor: pointer; - } - .md-nav--primary .md-nav__title .md-nav__icon { - position: absolute; - top: 0.4rem; - left: 0.4rem; - display: block; - width: 1.2rem; - height: 1.2rem; - margin: 0.2rem; - } - [dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon { - right: 0.4rem; - left: initial; - } - .md-nav--primary .md-nav__title .md-nav__icon::after { - display: block; - width: 100%; - height: 100%; - background-color: currentColor; - -webkit-mask-image: var(--md-nav-icon--prev); - mask-image: var(--md-nav-icon--prev); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - content: ""; - } - .md-nav--primary .md-nav__title ~ .md-nav__list { - overflow-y: auto; - background-color: var(--md-default-bg-color); - box-shadow: 0 0.05rem 0 var(--md-default-fg-color--lightest) inset; - -webkit-scroll-snap-type: y mandatory; - -ms-scroll-snap-type: y mandatory; - scroll-snap-type: y mandatory; - touch-action: pan-y; - } - .md-nav--primary .md-nav__title ~ .md-nav__list > :first-child { - border-top: 0; - } - .md-nav--primary .md-nav__title[for=__drawer] { - color: var(--md-primary-bg-color); - background-color: var(--md-primary-fg-color); - } - .md-nav--primary .md-nav__title .md-logo { - position: absolute; - top: 0.2rem; - left: 0.2rem; - display: block; - margin: 0.2rem; - padding: 0.4rem; - } - [dir=rtl] .md-nav--primary .md-nav__title .md-logo { - right: 0.2rem; - left: initial; - } - .md-nav--primary .md-nav__list { - flex: 1; - } - .md-nav--primary .md-nav__item { - padding: 0; - border-top: 0.05rem solid var(--md-default-fg-color--lightest); - } - .md-nav--primary .md-nav__item--nested > .md-nav__link { - padding-right: 2.4rem; - } - [dir=rtl] .md-nav--primary .md-nav__item--nested > .md-nav__link { - padding-right: 0.8rem; - padding-left: 2.4rem; - } - .md-nav--primary .md-nav__item--active > .md-nav__link { - color: var(--md-typeset-a-color); - } - .md-nav--primary .md-nav__item--active > .md-nav__link:focus, .md-nav--primary .md-nav__item--active > .md-nav__link:hover { - color: var(--md-accent-fg-color); - } - .md-nav--primary .md-nav__link { - position: relative; - margin-top: 0; - padding: 0.6rem 0.8rem; - } - .md-nav--primary .md-nav__link .md-nav__icon { - position: absolute; - top: 50%; - right: 0.6rem; - width: 1.2rem; - height: 1.2rem; - margin-top: -0.6rem; - color: inherit; - font-size: 1.2rem; - } - [dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon { - right: initial; - left: 0.6rem; - } - .md-nav--primary .md-nav__link .md-nav__icon::after { - display: block; - width: 100%; - height: 100%; - background-color: currentColor; - -webkit-mask-image: var(--md-nav-icon--next); - mask-image: var(--md-nav-icon--next); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - content: ""; - } - [dir=rtl] .md-nav--primary .md-nav__icon::after { - transform: scale(-1); - } - .md-nav--primary .md-nav--secondary .md-nav__link { - position: static; - } - .md-nav--primary .md-nav--secondary .md-nav { - position: static; - background-color: transparent; - } - .md-nav--primary .md-nav--secondary .md-nav .md-nav__link { - padding-left: 1.4rem; - } - [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link { - padding-right: 1.4rem; - padding-left: initial; - } - .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link { - padding-left: 2rem; - } - [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link { - padding-right: 2rem; - padding-left: initial; - } - .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link { - padding-left: 2.6rem; - } - [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link { - padding-right: 2.6rem; - padding-left: initial; - } - .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link { - padding-left: 3.2rem; - } - [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link { - padding-right: 3.2rem; - padding-left: initial; - } - .md-nav--secondary { - background-color: transparent; - } - .md-nav__toggle ~ .md-nav { - display: flex; - transform: translateX(100%); - opacity: 0; - transition: transform 250ms cubic-bezier(0.8, 0, 0.6, 1), opacity 125ms 50ms; - } - [dir=rtl] .md-nav__toggle ~ .md-nav { - transform: translateX(-100%); - } - .md-nav__toggle:checked ~ .md-nav { - transform: translateX(0); - opacity: 1; - transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 125ms 125ms; - } - .md-nav__toggle:checked ~ .md-nav > .md-nav__list { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - } -} -@media screen and (max-width: 59.9375em) { - .md-nav--primary .md-nav__link[for=__toc] { - display: block; - padding-right: 2.4rem; - } - [dir=rtl] .md-nav--primary .md-nav__link[for=__toc] { - padding-right: 0.8rem; - padding-left: 2.4rem; - } - .md-nav--primary .md-nav__link[for=__toc] .md-icon::after { - content: ""; - } - .md-nav--primary .md-nav__link[for=__toc] + .md-nav__link { - display: none; - } - .md-nav--primary .md-nav__link[for=__toc] ~ .md-nav { - display: flex; - } - .md-nav__source { - display: block; - padding: 0 0.2rem; - color: var(--md-primary-bg-color); - background-color: var(--md-primary-fg-color--dark); - } -} -@media screen and (min-width: 60em) and (max-width: 76.1875em) { - .md-nav--integrated .md-nav__link[for=__toc] { - display: block; - padding-right: 2.4rem; - scroll-snap-align: initial; - } - [dir=rtl] .md-nav--integrated .md-nav__link[for=__toc] { - padding-right: 0.8rem; - padding-left: 2.4rem; - } - .md-nav--integrated .md-nav__link[for=__toc] .md-icon::after { - content: ""; - } - .md-nav--integrated .md-nav__link[for=__toc] + .md-nav__link { - display: none; - } - .md-nav--integrated .md-nav__link[for=__toc] ~ .md-nav { - display: flex; - } -} -@media screen and (min-width: 60em) { - .md-nav--secondary .md-nav__title[for=__toc] { - scroll-snap-align: start; - } - .md-nav--secondary .md-nav__title .md-nav__icon { - display: none; - } -} -@media screen and (min-width: 76.25em) { - .md-nav { - transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1); - } - .md-nav--primary .md-nav__title[for=__drawer] { - scroll-snap-align: start; - } - .md-nav--primary .md-nav__title .md-nav__icon { - display: none; - } - .md-nav__toggle ~ .md-nav { - display: none; - } - .md-nav__toggle:checked ~ .md-nav, .md-nav__toggle:indeterminate ~ .md-nav { - display: block; - } - .md-nav__item--nested > .md-nav > .md-nav__title { - display: none; - } - .md-nav__item--section { - display: block; - margin: 1.25em 0; - } - .md-nav__item--section:last-child { - margin-bottom: 0; - } - .md-nav__item--section > .md-nav__link { - display: none; - } - .md-nav__item--section > .md-nav { - display: block; - } - .md-nav__item--section > .md-nav > .md-nav__title { - display: block; - padding: 0; - pointer-events: none; - scroll-snap-align: start; - } - .md-nav__item--section > .md-nav > .md-nav__list > .md-nav__item { - padding: 0; - } - .md-nav__icon { - float: right; - width: 0.9rem; - height: 0.9rem; - transition: transform 250ms; - } - [dir=rtl] .md-nav__icon { - float: left; - transform: rotate(180deg); - } - .md-nav__icon::after { - display: inline-block; - width: 100%; - height: 100%; - vertical-align: -0.1rem; - background-color: currentColor; - -webkit-mask-image: var(--md-nav-icon--next); - mask-image: var(--md-nav-icon--next); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - content: ""; - } - .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link .md-nav__icon, .md-nav__item--nested .md-nav__toggle:indeterminate ~ .md-nav__link .md-nav__icon { - transform: rotate(90deg); - } - .md-nav--lifted > .md-nav__list > .md-nav__item--nested, -.md-nav--lifted > .md-nav__title { - display: none; - } - .md-nav--lifted > .md-nav__list > .md-nav__item { - display: none; - } - .md-nav--lifted > .md-nav__list > .md-nav__item--active { - display: block; - padding: 0; - } - .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav__link { - display: none; - } - .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav > .md-nav__title { - display: block; - padding: 0 0.6rem; - pointer-events: none; - scroll-snap-align: start; - } - .md-nav--lifted > .md-nav__list > .md-nav__item > .md-nav__item { - padding-right: 0.6rem; - } - .md-nav--lifted .md-nav[data-md-level="1"] { - display: block; - } - .md-nav--integrated .md-nav__link[for=__toc] ~ .md-nav { - display: block; - margin-bottom: 1.25em; - border-left: 0.05rem solid var(--md-primary-fg-color); - } - .md-nav--integrated .md-nav__link[for=__toc] ~ .md-nav > .md-nav__title { - display: none; - } -} - -:root { - --md-search-result-icon: url("data:image/svg+xml;charset=utf-8,"); -} - -.md-search { - position: relative; -} -@media screen and (min-width: 60em) { - .md-search { - padding: 0.2rem 0; - } -} -.no-js .md-search { - display: none; -} -.md-search__overlay { - z-index: 1; - opacity: 0; -} -@media screen and (max-width: 59.9375em) { - .md-search__overlay { - position: absolute; - top: 0.2rem; - left: -2.2rem; - width: 2rem; - height: 2rem; - overflow: hidden; - background-color: var(--md-default-bg-color); - border-radius: 1rem; - transform-origin: center; - transition: transform 300ms 100ms, opacity 200ms 200ms; - pointer-events: none; - } - [dir=rtl] .md-search__overlay { - right: -2.2rem; - left: initial; - } - [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { - opacity: 1; - transition: transform 400ms, opacity 100ms; - } -} -@media screen and (min-width: 60em) { - .md-search__overlay { - position: fixed; - top: 0; - left: 0; - width: 0; - height: 0; - background-color: rgba(0, 0, 0, 0.54); - cursor: pointer; - transition: width 0ms 250ms, height 0ms 250ms, opacity 250ms; - } - [dir=rtl] .md-search__overlay { - right: 0; - left: initial; - } - [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { - width: 100%; - height: 200vh; - opacity: 1; - transition: width 0ms, height 0ms, opacity 250ms; - } -} -@media screen and (max-width: 29.9375em) { - [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { - transform: scale(45); - } -} -@media screen and (min-width: 30em) and (max-width: 44.9375em) { - [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { - transform: scale(60); - } -} -@media screen and (min-width: 45em) and (max-width: 59.9375em) { - [data-md-toggle=search]:checked ~ .md-header .md-search__overlay { - transform: scale(75); - } -} -.md-search__inner { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -@media screen and (max-width: 59.9375em) { - .md-search__inner { - position: fixed; - top: 0; - left: 100%; - z-index: 2; - width: 100%; - height: 100%; - transform: translateX(5%); - opacity: 0; - transition: right 0ms 300ms, left 0ms 300ms, transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms 150ms; - } - [data-md-toggle=search]:checked ~ .md-header .md-search__inner { - left: 0; - transform: translateX(0); - opacity: 1; - transition: right 0ms 0ms, left 0ms 0ms, transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms 150ms; - } - [dir=rtl] [data-md-toggle=search]:checked ~ .md-header .md-search__inner { - right: 0; - left: initial; - } - html [dir=rtl] .md-search__inner { - right: 100%; - left: initial; - transform: translateX(-5%); - } -} -@media screen and (min-width: 60em) { - .md-search__inner { - position: relative; - float: right; - width: 11.7rem; - padding: 0.1rem 0; - transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1); - } - [dir=rtl] .md-search__inner { - float: left; - } -} -@media screen and (min-width: 60em) and (max-width: 76.1875em) { - [data-md-toggle=search]:checked ~ .md-header .md-search__inner { - width: 23.4rem; - } -} -@media screen and (min-width: 76.25em) { - [data-md-toggle=search]:checked ~ .md-header .md-search__inner { - width: 34.4rem; - } -} -.md-search__form { - position: relative; -} -@media screen and (min-width: 60em) { - .md-search__form { - border-radius: 0.1rem; - } -} -.md-search__input { - position: relative; - z-index: 2; - padding: 0 2.2rem 0 3.6rem; - text-overflow: ellipsis; - background-color: var(--md-default-bg-color); - box-shadow: 0 0 0.6rem transparent; - transition: color 250ms, background-color 250ms, box-shadow 250ms; -} -[dir=rtl] .md-search__input { - padding: 0 3.6rem 0 2.2rem; -} -.md-search__input::-webkit-input-placeholder { - -webkit-transition: color 250ms; - transition: color 250ms; -} -.md-search__input::-moz-placeholder { - -moz-transition: color 250ms; - transition: color 250ms; -} -.md-search__input::-ms-input-placeholder { - -ms-transition: color 250ms; - transition: color 250ms; -} -.md-search__input::placeholder { - transition: color 250ms; -} -.md-search__input::-webkit-input-placeholder { - color: var(--md-default-fg-color--light); -} -.md-search__input::-moz-placeholder { - color: var(--md-default-fg-color--light); -} -.md-search__input::-ms-input-placeholder { - color: var(--md-default-fg-color--light); -} -.md-search__input ~ .md-search__icon, .md-search__input::placeholder { - color: var(--md-default-fg-color--light); -} -.md-search__input::-ms-clear { - display: none; -} -[data-md-toggle=search]:checked ~ .md-header .md-search__input { - box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07); -} -@media screen and (max-width: 59.9375em) { - .md-search__input { - width: 100%; - height: 2.4rem; - font-size: 0.9rem; - } -} -@media screen and (min-width: 60em) { - .md-search__input { - width: 100%; - height: 1.8rem; - padding-left: 2.2rem; - color: inherit; - font-size: 0.8rem; - background-color: rgba(0, 0, 0, 0.26); - border-radius: 0.1rem; - } - [dir=rtl] .md-search__input { - padding-right: 2.2rem; - } - .md-search__input + .md-search__icon { - color: var(--md-primary-bg-color); - } - .md-search__input::-webkit-input-placeholder { - color: var(--md-primary-bg-color--light); - } - .md-search__input::-moz-placeholder { - color: var(--md-primary-bg-color--light); - } - .md-search__input::-ms-input-placeholder { - color: var(--md-primary-bg-color--light); - } - .md-search__input::placeholder { - color: var(--md-primary-bg-color--light); - } - .md-search__input:hover { - background-color: rgba(255, 255, 255, 0.12); - } - [data-md-toggle=search]:checked ~ .md-header .md-search__input { - color: var(--md-default-fg-color); - text-overflow: clip; - background-color: var(--md-default-bg-color); - border-radius: 0.1rem 0.1rem 0 0; - } - [data-md-toggle=search]:checked ~ .md-header .md-search__input::-webkit-input-placeholder { - color: var(--md-default-fg-color--light); - } - [data-md-toggle=search]:checked ~ .md-header .md-search__input::-moz-placeholder { - color: var(--md-default-fg-color--light); - } - [data-md-toggle=search]:checked ~ .md-header .md-search__input::-ms-input-placeholder { - color: var(--md-default-fg-color--light); - } - [data-md-toggle=search]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle=search]:checked ~ .md-header .md-search__input::placeholder { - color: var(--md-default-fg-color--light); - } -} -.md-search__icon { - position: absolute; - z-index: 2; - width: 1.2rem; - height: 1.2rem; - cursor: pointer; - transition: color 250ms, opacity 250ms; -} -.md-search__icon:hover { - opacity: 0.7; -} -.md-search__icon[for=__search] { - top: 0.3rem; - left: 0.5rem; -} -[dir=rtl] .md-search__icon[for=__search] { - right: 0.5rem; - left: initial; -} -[dir=rtl] .md-search__icon[for=__search] svg { - transform: scaleX(-1); -} -@media screen and (max-width: 59.9375em) { - .md-search__icon[for=__search] { - top: 0.6rem; - left: 0.8rem; - } - [dir=rtl] .md-search__icon[for=__search] { - right: 0.8rem; - left: initial; - } - .md-search__icon[for=__search] svg:first-child { - display: none; - } -} -@media screen and (min-width: 60em) { - .md-search__icon[for=__search] { - pointer-events: none; - } - .md-search__icon[for=__search] svg:last-child { - display: none; - } -} -.md-search__icon[type=reset] { - top: 0.3rem; - right: 0.5rem; - transform: scale(0.75); - opacity: 0; - transition: transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 150ms; - pointer-events: none; -} -[dir=rtl] .md-search__icon[type=reset] { - right: initial; - left: 0.5rem; -} -@media screen and (max-width: 59.9375em) { - .md-search__icon[type=reset] { - top: 0.6rem; - right: 0.8rem; - } - [dir=rtl] .md-search__icon[type=reset] { - right: initial; - left: 0.8rem; - } -} -[data-md-toggle=search]:checked ~ .md-header .md-search__input:valid ~ .md-search__icon[type=reset] { - transform: scale(1); - opacity: 1; - pointer-events: initial; -} -[data-md-toggle=search]:checked ~ .md-header .md-search__input:valid ~ .md-search__icon[type=reset]:hover { - opacity: 0.7; -} -.md-search__output { - position: absolute; - z-index: 1; - width: 100%; - overflow: hidden; - border-radius: 0 0 0.1rem 0.1rem; -} -@media screen and (max-width: 59.9375em) { - .md-search__output { - top: 2.4rem; - bottom: 0; - } -} -@media screen and (min-width: 60em) { - .md-search__output { - top: 1.9rem; - opacity: 0; - transition: opacity 400ms; - } - [data-md-toggle=search]:checked ~ .md-header .md-search__output { - box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.4); - opacity: 1; - } -} -.md-search__scrollwrap { - height: 100%; - overflow-y: auto; - background-color: var(--md-default-bg-color); - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - touch-action: pan-y; -} -@media (-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx) { - .md-search__scrollwrap { - transform: translateZ(0); - } -} -@media screen and (min-width: 60em) and (max-width: 76.1875em) { - .md-search__scrollwrap { - width: 23.4rem; - } -} -@media screen and (min-width: 76.25em) { - .md-search__scrollwrap { - width: 34.4rem; - } -} -@media screen and (min-width: 60em) { - .md-search__scrollwrap { - max-height: 0; - scrollbar-width: thin; - scrollbar-color: var(--md-default-fg-color--lighter) transparent; - } - [data-md-toggle=search]:checked ~ .md-header .md-search__scrollwrap { - max-height: 75vh; - } - .md-search__scrollwrap:hover { - scrollbar-color: var(--md-accent-fg-color) transparent; - } - .md-search__scrollwrap::-webkit-scrollbar { - width: 0.2rem; - height: 0.2rem; - } - .md-search__scrollwrap::-webkit-scrollbar-thumb { - background-color: var(--md-default-fg-color--lighter); - } - .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: var(--md-accent-fg-color); - } -} - -.md-search-result { - color: var(--md-default-fg-color); - word-break: break-word; -} -.md-search-result__meta { - padding: 0 0.8rem; - color: var(--md-default-fg-color--light); - font-size: 0.64rem; - line-height: 1.8rem; - background-color: var(--md-default-fg-color--lightest); - scroll-snap-align: start; -} -@media screen and (min-width: 60em) { - .md-search-result__meta { - padding-left: 2.2rem; - } - [dir=rtl] .md-search-result__meta { - padding-right: 2.2rem; - padding-left: initial; - } -} -.md-search-result__list { - margin: 0; - padding: 0; - list-style: none; -} -.md-search-result__item { - box-shadow: 0 -0.05rem 0 var(--md-default-fg-color--lightest); -} -.md-search-result__item:first-child { - box-shadow: none; -} -.md-search-result__link { - display: block; - outline: none; - transition: background-color 250ms; - scroll-snap-align: start; -} -.md-search-result__link:focus, .md-search-result__link:hover { - background-color: var(--md-accent-fg-color--transparent); -} -.md-search-result__link:last-child p:last-child { - margin-bottom: 0.6rem; -} -.md-search-result__more summary { - display: block; - padding: 0.75em 0.8rem; - color: var(--md-typeset-a-color); - font-size: 0.64rem; - outline: 0; - cursor: pointer; - transition: color 250ms, background-color 250ms; - scroll-snap-align: start; -} -@media screen and (min-width: 60em) { - .md-search-result__more summary { - padding-left: 2.2rem; - } - [dir=rtl] .md-search-result__more summary { - padding-right: 2.2rem; - padding-left: 0.8rem; - } -} -.md-search-result__more summary:focus, .md-search-result__more summary:hover { - color: var(--md-accent-fg-color); - background-color: var(--md-accent-fg-color--transparent); -} -.md-search-result__more summary::marker, .md-search-result__more summary::-webkit-details-marker { - display: none; -} -.md-search-result__more summary ~ * > * { - opacity: 0.65; -} -.md-search-result__article { - position: relative; - padding: 0 0.8rem; - overflow: hidden; -} -@media screen and (min-width: 60em) { - .md-search-result__article { - padding-left: 2.2rem; - } - [dir=rtl] .md-search-result__article { - padding-right: 2.2rem; - padding-left: 0.8rem; - } -} -.md-search-result__article--document .md-search-result__title { - margin: 0.55rem 0; - font-weight: 400; - font-size: 0.8rem; - line-height: 1.4; -} -.md-search-result__icon { - position: absolute; - left: 0; - width: 1.2rem; - height: 1.2rem; - margin: 0.5rem; - color: var(--md-default-fg-color--light); -} -@media screen and (max-width: 59.9375em) { - .md-search-result__icon { - display: none; - } -} -.md-search-result__icon::after { - display: inline-block; - width: 100%; - height: 100%; - background-color: currentColor; - -webkit-mask-image: var(--md-search-result-icon); - mask-image: var(--md-search-result-icon); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - content: ""; -} -[dir=rtl] .md-search-result__icon { - right: 0; - left: initial; -} -[dir=rtl] .md-search-result__icon::after { - transform: scaleX(-1); -} -.md-search-result__title { - margin: 0.5em 0; - font-weight: 700; - font-size: 0.64rem; - line-height: 1.6; -} -.md-search-result__teaser { - display: -webkit-box; - max-height: 2rem; - margin: 0.5em 0; - overflow: hidden; - color: var(--md-default-fg-color--light); - font-size: 0.64rem; - line-height: 1.6; - text-overflow: ellipsis; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; -} -@media screen and (max-width: 44.9375em) { - .md-search-result__teaser { - max-height: 3rem; - -webkit-line-clamp: 3; - } -} -@media screen and (min-width: 60em) and (max-width: 76.1875em) { - .md-search-result__teaser { - max-height: 3rem; - -webkit-line-clamp: 3; - } -} -.md-search-result__teaser mark { - text-decoration: underline; - background-color: transparent; -} -.md-search-result__terms { - margin: 0.5em 0; - font-size: 0.64rem; - font-style: italic; -} -.md-search-result mark { - color: var(--md-accent-fg-color); - background-color: transparent; -} - -.md-sidebar { - position: -webkit-sticky; - position: sticky; - top: 2.4rem; - flex-shrink: 0; - align-self: flex-start; - width: 12.1rem; - padding: 1.2rem 0; -} -@media print { - .md-sidebar { - display: none; - } -} -@media screen and (max-width: 76.1875em) { - .md-sidebar--primary { - position: fixed; - top: 0; - left: -12.1rem; - z-index: 3; - display: block; - width: 12.1rem; - height: 100%; - background-color: var(--md-default-bg-color); - transform: translateX(0); - transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms; - } - [dir=rtl] .md-sidebar--primary { - right: -12.1rem; - left: initial; - } - [data-md-toggle=drawer]:checked ~ .md-container .md-sidebar--primary { - box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.4); - transform: translateX(12.1rem); - } - [dir=rtl] [data-md-toggle=drawer]:checked ~ .md-container .md-sidebar--primary { - transform: translateX(-12.1rem); - } - .md-sidebar--primary .md-sidebar__scrollwrap { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - margin: 0; - -webkit-scroll-snap-type: none; - -ms-scroll-snap-type: none; - scroll-snap-type: none; - overflow: hidden; - } -} -@media screen and (min-width: 76.25em) { - .md-sidebar { - height: 0; - } - .no-js .md-sidebar { - height: auto; - } -} -.md-sidebar--secondary { - display: none; - order: 2; -} -@media screen and (min-width: 60em) { - .md-sidebar--secondary { - height: 0; - } - .no-js .md-sidebar--secondary { - height: auto; - } - .md-sidebar--secondary:not([hidden]) { - display: block; - } - .md-sidebar--secondary .md-sidebar__scrollwrap { - touch-action: pan-y; - } -} -.md-sidebar__scrollwrap { - margin: 0 0.2rem; - overflow-y: auto; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - scrollbar-width: thin; - scrollbar-color: var(--md-default-fg-color--lighter) transparent; -} -.md-sidebar__scrollwrap:hover { - scrollbar-color: var(--md-accent-fg-color) transparent; -} -.md-sidebar__scrollwrap::-webkit-scrollbar { - width: 0.2rem; - height: 0.2rem; -} -.md-sidebar__scrollwrap::-webkit-scrollbar-thumb { - background-color: var(--md-default-fg-color--lighter); -} -.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: var(--md-accent-fg-color); -} - -@media screen and (max-width: 76.1875em) { - .md-overlay { - position: fixed; - top: 0; - z-index: 3; - width: 0; - height: 0; - background-color: rgba(0, 0, 0, 0.54); - opacity: 0; - transition: width 0ms 250ms, height 0ms 250ms, opacity 250ms; - } - [data-md-toggle=drawer]:checked ~ .md-overlay { - width: 100%; - height: 100%; - opacity: 1; - transition: width 0ms, height 0ms, opacity 250ms; - } -} -@-webkit-keyframes md-source__facts--done { - 0% { - height: 0; - } - 100% { - height: 0.65rem; - } -} -@keyframes md-source__facts--done { - 0% { - height: 0; - } - 100% { - height: 0.65rem; - } -} -@-webkit-keyframes md-source__fact--done { - 0% { - transform: translateY(100%); - opacity: 0; - } - 50% { - opacity: 0; - } - 100% { - transform: translateY(0%); - opacity: 1; - } -} -@keyframes md-source__fact--done { - 0% { - transform: translateY(100%); - opacity: 0; - } - 50% { - opacity: 0; - } - 100% { - transform: translateY(0%); - opacity: 1; - } -} -.md-source { - display: block; - font-size: 0.65rem; - line-height: 1.2; - white-space: nowrap; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - transition: opacity 250ms; -} -.md-source:focus, .md-source:hover { - opacity: 0.7; -} -.md-source__icon { - display: inline-block; - width: 2.4rem; - height: 2.4rem; - vertical-align: middle; -} -.md-source__icon svg { - margin-top: 0.6rem; - margin-left: 0.6rem; -} -[dir=rtl] .md-source__icon svg { - margin-right: 0.6rem; - margin-left: initial; -} -.md-source__icon + .md-source__repository { - margin-left: -2rem; - padding-left: 2rem; -} -[dir=rtl] .md-source__icon + .md-source__repository { - margin-right: -2rem; - margin-left: initial; - padding-right: 2rem; - padding-left: initial; -} -.md-source__repository { - display: inline-block; - max-width: calc(100% - 1.2rem); - margin-left: 0.6rem; - overflow: hidden; - font-weight: 700; - text-overflow: ellipsis; - vertical-align: middle; -} -.md-source__facts { - margin: 0; - padding: 0; - overflow: hidden; - font-weight: 700; - font-size: 0.55rem; - list-style-type: none; - opacity: 0.75; -} -[data-md-state=done] .md-source__facts { - -webkit-animation: md-source__facts--done 250ms ease-in; - animation: md-source__facts--done 250ms ease-in; -} -.md-source__fact { - float: left; -} -[dir=rtl] .md-source__fact { - float: right; -} -[data-md-state=done] .md-source__fact { - -webkit-animation: md-source__fact--done 400ms ease-out; - animation: md-source__fact--done 400ms ease-out; -} -.md-source__fact::before { - margin: 0 0.1rem; - content: "·"; -} -.md-source__fact:first-child::before { - display: none; -} - -.md-tabs { - width: 100%; - overflow: auto; - color: var(--md-primary-bg-color); - background-color: var(--md-primary-fg-color); - transition: background-color 250ms; -} -@media print { - .md-tabs { - display: none; - } -} -@media screen and (max-width: 76.1875em) { - .md-tabs { - display: none; - } -} -.md-tabs[data-md-state=hidden] { - pointer-events: none; -} -.md-tabs__list { - margin: 0; - margin-left: 0.2rem; - padding: 0; - white-space: nowrap; - list-style: none; - contain: content; -} -[dir=rtl] .md-tabs__list { - margin-right: 0.2rem; - margin-left: initial; -} -.md-tabs__item { - display: inline-block; - height: 2.4rem; - padding-right: 0.6rem; - padding-left: 0.6rem; -} -.md-tabs__link { - display: block; - margin-top: 0.8rem; - font-size: 0.7rem; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - opacity: 0.7; - transition: transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1), opacity 250ms; -} -.md-tabs__link--active, .md-tabs__link:focus, .md-tabs__link:hover { - color: inherit; - opacity: 1; -} -.md-tabs__item:nth-child(2) .md-tabs__link { - transition-delay: 20ms; -} -.md-tabs__item:nth-child(3) .md-tabs__link { - transition-delay: 40ms; -} -.md-tabs__item:nth-child(4) .md-tabs__link { - transition-delay: 60ms; -} -.md-tabs__item:nth-child(5) .md-tabs__link { - transition-delay: 80ms; -} -.md-tabs__item:nth-child(6) .md-tabs__link { - transition-delay: 100ms; -} -.md-tabs__item:nth-child(7) .md-tabs__link { - transition-delay: 120ms; -} -.md-tabs__item:nth-child(8) .md-tabs__link { - transition-delay: 140ms; -} -.md-tabs__item:nth-child(9) .md-tabs__link { - transition-delay: 160ms; -} -.md-tabs__item:nth-child(10) .md-tabs__link { - transition-delay: 180ms; -} -.md-tabs__item:nth-child(11) .md-tabs__link { - transition-delay: 200ms; -} -.md-tabs__item:nth-child(12) .md-tabs__link { - transition-delay: 220ms; -} -.md-tabs__item:nth-child(13) .md-tabs__link { - transition-delay: 240ms; -} -.md-tabs__item:nth-child(14) .md-tabs__link { - transition-delay: 260ms; -} -.md-tabs__item:nth-child(15) .md-tabs__link { - transition-delay: 280ms; -} -.md-tabs__item:nth-child(16) .md-tabs__link { - transition-delay: 300ms; -} -.md-tabs[data-md-state=hidden] .md-tabs__link { - transform: translateY(50%); - opacity: 0; - transition: transform 0ms 100ms, opacity 100ms; -} - -:root { - --md-admonition-icon--note: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--abstract: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--info: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--tip: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--success: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--question: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--warning: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--failure: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--danger: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--bug: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--example: - url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--quote: - url("data:image/svg+xml;charset=utf-8,"); -} - -.md-typeset .admonition, .md-typeset details { - margin: 1.5625em 0; - padding: 0 0.6rem; - overflow: hidden; - color: var(--md-admonition-fg-color); - font-size: 0.64rem; - page-break-inside: avoid; - background-color: var(--md-admonition-bg-color); - border-left: 0.2rem solid #448aff; - border-radius: 0.1rem; - box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.05); -} -@media print { - .md-typeset .admonition, .md-typeset details { - box-shadow: none; - } -} -[dir=rtl] .md-typeset .admonition, [dir=rtl] .md-typeset details { - border-right: 0.2rem solid #448aff; - border-left: none; -} -.md-typeset .admonition .admonition, .md-typeset details .admonition, .md-typeset .admonition details, .md-typeset details details { - margin: 1em 0; -} -.md-typeset .admonition .md-typeset__scrollwrap, .md-typeset details .md-typeset__scrollwrap { - margin: 1em -0.6rem; -} -.md-typeset .admonition .md-typeset__table, .md-typeset details .md-typeset__table { - padding: 0 0.6rem; -} -.md-typeset .admonition > .tabbed-set:only-child, .md-typeset details > .tabbed-set:only-child { - margin-top: 0; -} -html .md-typeset .admonition > :last-child, html .md-typeset details > :last-child { - margin-bottom: 0.6rem; -} -.md-typeset .admonition-title, .md-typeset summary { - position: relative; - margin: 0 -0.6rem 0 -0.8rem; - padding: 0.4rem 0.6rem 0.4rem 2rem; - font-weight: 700; - background-color: rgba(68, 138, 255, 0.1); - border-left: 0.2rem solid #448aff; -} -[dir=rtl] .md-typeset .admonition-title, [dir=rtl] .md-typeset summary { - margin: 0 -0.8rem 0 -0.6rem; - padding: 0.4rem 2rem 0.4rem 0.6rem; - border-right: 0.2rem solid #448aff; - border-left: none; -} -html .md-typeset .admonition-title:last-child, html .md-typeset summary:last-child { - margin-bottom: 0; -} -.md-typeset .admonition-title::before, .md-typeset summary::before { - position: absolute; - left: 0.6rem; - width: 1rem; - height: 1rem; - background-color: #448aff; - -webkit-mask-image: var(--md-admonition-icon--note); - mask-image: var(--md-admonition-icon--note); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - content: ""; -} -[dir=rtl] .md-typeset .admonition-title::before, [dir=rtl] .md-typeset summary::before { - right: 0.6rem; - left: initial; -} -.md-typeset .admonition-title code, .md-typeset summary code { - margin: initial; - padding: initial; - color: currentColor; - background-color: transparent; - border-radius: initial; - box-shadow: none; -} -.md-typeset .admonition-title + .tabbed-set:last-child, .md-typeset summary + .tabbed-set:last-child { - margin-top: 0; -} - -.md-typeset .admonition.note, .md-typeset details.note { - border-color: #448aff; -} - -.md-typeset .note > .admonition-title, .md-typeset .note > summary { - background-color: rgba(68, 138, 255, 0.1); - border-color: #448aff; -} -.md-typeset .note > .admonition-title::before, .md-typeset .note > summary::before { - background-color: #448aff; - -webkit-mask-image: var(--md-admonition-icon--note); - mask-image: var(--md-admonition-icon--note); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.abstract, .md-typeset details.abstract, .md-typeset .admonition.tldr, .md-typeset details.tldr, .md-typeset .admonition.summary, .md-typeset details.summary { - border-color: #00b0ff; -} - -.md-typeset .abstract > .admonition-title, .md-typeset .abstract > summary, .md-typeset .tldr > .admonition-title, .md-typeset .tldr > summary, .md-typeset .summary > .admonition-title, .md-typeset .summary > summary { - background-color: rgba(0, 176, 255, 0.1); - border-color: #00b0ff; -} -.md-typeset .abstract > .admonition-title::before, .md-typeset .abstract > summary::before, .md-typeset .tldr > .admonition-title::before, .md-typeset .tldr > summary::before, .md-typeset .summary > .admonition-title::before, .md-typeset .summary > summary::before { - background-color: #00b0ff; - -webkit-mask-image: var(--md-admonition-icon--abstract); - mask-image: var(--md-admonition-icon--abstract); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.info, .md-typeset details.info, .md-typeset .admonition.todo, .md-typeset details.todo { - border-color: #00b8d4; -} - -.md-typeset .info > .admonition-title, .md-typeset .info > summary, .md-typeset .todo > .admonition-title, .md-typeset .todo > summary { - background-color: rgba(0, 184, 212, 0.1); - border-color: #00b8d4; -} -.md-typeset .info > .admonition-title::before, .md-typeset .info > summary::before, .md-typeset .todo > .admonition-title::before, .md-typeset .todo > summary::before { - background-color: #00b8d4; - -webkit-mask-image: var(--md-admonition-icon--info); - mask-image: var(--md-admonition-icon--info); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.tip, .md-typeset details.tip, .md-typeset .admonition.important, .md-typeset details.important, .md-typeset .admonition.hint, .md-typeset details.hint { - border-color: #00bfa5; -} - -.md-typeset .tip > .admonition-title, .md-typeset .tip > summary, .md-typeset .important > .admonition-title, .md-typeset .important > summary, .md-typeset .hint > .admonition-title, .md-typeset .hint > summary { - background-color: rgba(0, 191, 165, 0.1); - border-color: #00bfa5; -} -.md-typeset .tip > .admonition-title::before, .md-typeset .tip > summary::before, .md-typeset .important > .admonition-title::before, .md-typeset .important > summary::before, .md-typeset .hint > .admonition-title::before, .md-typeset .hint > summary::before { - background-color: #00bfa5; - -webkit-mask-image: var(--md-admonition-icon--tip); - mask-image: var(--md-admonition-icon--tip); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.success, .md-typeset details.success, .md-typeset .admonition.done, .md-typeset details.done, .md-typeset .admonition.check, .md-typeset details.check { - border-color: #00c853; -} - -.md-typeset .success > .admonition-title, .md-typeset .success > summary, .md-typeset .done > .admonition-title, .md-typeset .done > summary, .md-typeset .check > .admonition-title, .md-typeset .check > summary { - background-color: rgba(0, 200, 83, 0.1); - border-color: #00c853; -} -.md-typeset .success > .admonition-title::before, .md-typeset .success > summary::before, .md-typeset .done > .admonition-title::before, .md-typeset .done > summary::before, .md-typeset .check > .admonition-title::before, .md-typeset .check > summary::before { - background-color: #00c853; - -webkit-mask-image: var(--md-admonition-icon--success); - mask-image: var(--md-admonition-icon--success); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.question, .md-typeset details.question, .md-typeset .admonition.faq, .md-typeset details.faq, .md-typeset .admonition.help, .md-typeset details.help { - border-color: #64dd17; -} - -.md-typeset .question > .admonition-title, .md-typeset .question > summary, .md-typeset .faq > .admonition-title, .md-typeset .faq > summary, .md-typeset .help > .admonition-title, .md-typeset .help > summary { - background-color: rgba(100, 221, 23, 0.1); - border-color: #64dd17; -} -.md-typeset .question > .admonition-title::before, .md-typeset .question > summary::before, .md-typeset .faq > .admonition-title::before, .md-typeset .faq > summary::before, .md-typeset .help > .admonition-title::before, .md-typeset .help > summary::before { - background-color: #64dd17; - -webkit-mask-image: var(--md-admonition-icon--question); - mask-image: var(--md-admonition-icon--question); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.warning, .md-typeset details.warning, .md-typeset .admonition.attention, .md-typeset details.attention, .md-typeset .admonition.caution, .md-typeset details.caution { - border-color: #ff9100; -} - -.md-typeset .warning > .admonition-title, .md-typeset .warning > summary, .md-typeset .attention > .admonition-title, .md-typeset .attention > summary, .md-typeset .caution > .admonition-title, .md-typeset .caution > summary { - background-color: rgba(255, 145, 0, 0.1); - border-color: #ff9100; -} -.md-typeset .warning > .admonition-title::before, .md-typeset .warning > summary::before, .md-typeset .attention > .admonition-title::before, .md-typeset .attention > summary::before, .md-typeset .caution > .admonition-title::before, .md-typeset .caution > summary::before { - background-color: #ff9100; - -webkit-mask-image: var(--md-admonition-icon--warning); - mask-image: var(--md-admonition-icon--warning); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.failure, .md-typeset details.failure, .md-typeset .admonition.missing, .md-typeset details.missing, .md-typeset .admonition.fail, .md-typeset details.fail { - border-color: #ff5252; -} - -.md-typeset .failure > .admonition-title, .md-typeset .failure > summary, .md-typeset .missing > .admonition-title, .md-typeset .missing > summary, .md-typeset .fail > .admonition-title, .md-typeset .fail > summary { - background-color: rgba(255, 82, 82, 0.1); - border-color: #ff5252; -} -.md-typeset .failure > .admonition-title::before, .md-typeset .failure > summary::before, .md-typeset .missing > .admonition-title::before, .md-typeset .missing > summary::before, .md-typeset .fail > .admonition-title::before, .md-typeset .fail > summary::before { - background-color: #ff5252; - -webkit-mask-image: var(--md-admonition-icon--failure); - mask-image: var(--md-admonition-icon--failure); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.danger, .md-typeset details.danger, .md-typeset .admonition.error, .md-typeset details.error { - border-color: #ff1744; -} - -.md-typeset .danger > .admonition-title, .md-typeset .danger > summary, .md-typeset .error > .admonition-title, .md-typeset .error > summary { - background-color: rgba(255, 23, 68, 0.1); - border-color: #ff1744; -} -.md-typeset .danger > .admonition-title::before, .md-typeset .danger > summary::before, .md-typeset .error > .admonition-title::before, .md-typeset .error > summary::before { - background-color: #ff1744; - -webkit-mask-image: var(--md-admonition-icon--danger); - mask-image: var(--md-admonition-icon--danger); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.bug, .md-typeset details.bug { - border-color: #f50057; -} - -.md-typeset .bug > .admonition-title, .md-typeset .bug > summary { - background-color: rgba(245, 0, 87, 0.1); - border-color: #f50057; -} -.md-typeset .bug > .admonition-title::before, .md-typeset .bug > summary::before { - background-color: #f50057; - -webkit-mask-image: var(--md-admonition-icon--bug); - mask-image: var(--md-admonition-icon--bug); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.example, .md-typeset details.example { - border-color: #651fff; -} - -.md-typeset .example > .admonition-title, .md-typeset .example > summary { - background-color: rgba(101, 31, 255, 0.1); - border-color: #651fff; -} -.md-typeset .example > .admonition-title::before, .md-typeset .example > summary::before { - background-color: #651fff; - -webkit-mask-image: var(--md-admonition-icon--example); - mask-image: var(--md-admonition-icon--example); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -.md-typeset .admonition.quote, .md-typeset details.quote, .md-typeset .admonition.cite, .md-typeset details.cite { - border-color: #9e9e9e; -} - -.md-typeset .quote > .admonition-title, .md-typeset .quote > summary, .md-typeset .cite > .admonition-title, .md-typeset .cite > summary { - background-color: rgba(158, 158, 158, 0.1); - border-color: #9e9e9e; -} -.md-typeset .quote > .admonition-title::before, .md-typeset .quote > summary::before, .md-typeset .cite > .admonition-title::before, .md-typeset .cite > summary::before { - background-color: #9e9e9e; - -webkit-mask-image: var(--md-admonition-icon--quote); - mask-image: var(--md-admonition-icon--quote); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; -} - -:root { - --md-footnotes-icon: url("data:image/svg+xml;charset=utf-8,"); -} - -.md-typeset [id^="fnref:"]:target { - scroll-margin-top: initial; - margin-top: -3.4rem; - padding-top: 3.4rem; -} -.md-typeset [id^="fn:"]:target { - scroll-margin-top: initial; - margin-top: -3.45rem; - padding-top: 3.45rem; -} -.md-typeset .footnote { - color: var(--md-default-fg-color--light); - font-size: 0.64rem; -} -.md-typeset .footnote ol { - margin-left: 0; -} -.md-typeset .footnote li { - transition: color 125ms; -} -.md-typeset .footnote li:target { - color: var(--md-default-fg-color); -} -.md-typeset .footnote li:hover .footnote-backref, .md-typeset .footnote li:target .footnote-backref { - transform: translateX(0); - opacity: 1; -} -.md-typeset .footnote li > :first-child { - margin-top: 0; -} -.md-typeset .footnote-backref { - display: inline-block; - color: var(--md-typeset-a-color); - font-size: 0; - vertical-align: text-bottom; - transform: translateX(0.25rem); - opacity: 0; - transition: color 250ms, transform 250ms 250ms, opacity 125ms 250ms; -} -@media print { - .md-typeset .footnote-backref { - color: var(--md-typeset-a-color); - transform: translateX(0); - opacity: 1; - } -} -[dir=rtl] .md-typeset .footnote-backref { - transform: translateX(-0.25rem); -} -.md-typeset .footnote-backref:hover { - color: var(--md-accent-fg-color); -} -.md-typeset .footnote-backref::before { - display: inline-block; - width: 0.8rem; - height: 0.8rem; - background-color: currentColor; - -webkit-mask-image: var(--md-footnotes-icon); - mask-image: var(--md-footnotes-icon); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - content: ""; -} -[dir=rtl] .md-typeset .footnote-backref::before svg { - transform: scaleX(-1); -} - -.md-typeset .headerlink { - display: inline-block; - margin-left: 0.5rem; - color: var(--md-default-fg-color--lighter); - opacity: 0; - transition: color 250ms, opacity 125ms; -} -@media print { - .md-typeset .headerlink { - display: none; - } -} -[dir=rtl] .md-typeset .headerlink { - margin-right: 0.5rem; - margin-left: initial; -} -.md-typeset :hover > .headerlink, -.md-typeset :target > .headerlink, -.md-typeset .headerlink:focus { - opacity: 1; - transition: color 250ms, opacity 125ms; -} -.md-typeset :target > .headerlink, -.md-typeset .headerlink:focus, -.md-typeset .headerlink:hover { - color: var(--md-accent-fg-color); -} -.md-typeset :target { - scroll-margin-top: 3.6rem; -} -.md-typeset h1:target, -.md-typeset h2:target, -.md-typeset h3:target { - scroll-margin-top: initial; -} -.md-typeset h1:target::before, -.md-typeset h2:target::before, -.md-typeset h3:target::before { - display: block; - margin-top: -3.4rem; - padding-top: 3.4rem; - content: ""; -} -.md-typeset h4:target { - scroll-margin-top: initial; -} -.md-typeset h4:target::before { - display: block; - margin-top: -3.45rem; - padding-top: 3.45rem; - content: ""; -} -.md-typeset h5:target, -.md-typeset h6:target { - scroll-margin-top: initial; -} -.md-typeset h5:target::before, -.md-typeset h6:target::before { - display: block; - margin-top: -3.6rem; - padding-top: 3.6rem; - content: ""; -} - -.md-typeset div.arithmatex { - overflow: auto; -} -@media screen and (max-width: 44.9375em) { - .md-typeset div.arithmatex { - margin: 0 -0.8rem; - } -} -.md-typeset div.arithmatex > * { - width: -webkit-min-content; - width: -moz-min-content; - width: min-content; - margin: 1em auto !important; - padding: 0 0.8rem; - touch-action: auto; -} - -.md-typeset del.critic, -.md-typeset ins.critic, -.md-typeset .critic.comment { - -webkit-box-decoration-break: clone; - box-decoration-break: clone; -} -.md-typeset del.critic { - background-color: var(--md-typeset-del-color); -} -.md-typeset ins.critic { - background-color: var(--md-typeset-ins-color); -} -.md-typeset .critic.comment { - color: var(--md-code-hl-comment-color); -} -.md-typeset .critic.comment::before { - content: "/* "; -} -.md-typeset .critic.comment::after { - content: " */"; -} -.md-typeset .critic.block { - display: block; - margin: 1em 0; - padding-right: 0.8rem; - padding-left: 0.8rem; - overflow: auto; - box-shadow: none; -} -.md-typeset .critic.block > :first-child { - margin-top: 0.5em; -} -.md-typeset .critic.block > :last-child { - margin-bottom: 0.5em; -} - -:root { - --md-details-icon: url("data:image/svg+xml;charset=utf-8,"); -} - -.md-typeset details { - display: block; - padding-top: 0; - overflow: visible; -} -.md-typeset details[open] > summary::after { - transform: rotate(90deg); -} -.md-typeset details:not([open]) { - padding-bottom: 0; - box-shadow: none; -} -.md-typeset details:not([open]) > summary { - border-radius: 0.1rem; -} -.md-typeset details::after { - display: table; - content: ""; -} -.md-typeset summary { - display: block; - min-height: 1rem; - padding: 0.4rem 1.8rem 0.4rem 2rem; - border-top-left-radius: 0.1rem; - border-top-right-radius: 0.1rem; - cursor: pointer; -} -[dir=rtl] .md-typeset summary { - padding: 0.4rem 2.2rem 0.4rem 1.8rem; -} -.md-typeset summary:not(.focus-visible) { - outline: none; - -webkit-tap-highlight-color: transparent; -} -.md-typeset summary::after { - position: absolute; - top: 0.4rem; - right: 0.4rem; - width: 1rem; - height: 1rem; - background-color: currentColor; - -webkit-mask-image: var(--md-details-icon); - mask-image: var(--md-details-icon); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - transform: rotate(0deg); - transition: transform 250ms; - content: ""; -} -[dir=rtl] .md-typeset summary::after { - right: initial; - left: 0.4rem; - transform: rotate(180deg); -} -.md-typeset summary::marker, .md-typeset summary::-webkit-details-marker { - display: none; -} - -.md-typeset .emojione, -.md-typeset .twemoji, -.md-typeset .gemoji { - display: inline-block; - height: 1.125em; - vertical-align: text-top; -} -.md-typeset .emojione svg, -.md-typeset .twemoji svg, -.md-typeset .gemoji svg { - width: 1.125em; - max-height: 100%; - fill: currentColor; -} - -.highlight .o, -.highlight .ow { - color: var(--md-code-hl-operator-color); -} -.highlight .p { - color: var(--md-code-hl-punctuation-color); -} -.highlight .cpf, -.highlight .l, -.highlight .s, -.highlight .sb, -.highlight .sc, -.highlight .s2, -.highlight .si, -.highlight .s1, -.highlight .ss { - color: var(--md-code-hl-string-color); -} -.highlight .cp, -.highlight .se, -.highlight .sh, -.highlight .sr, -.highlight .sx { - color: var(--md-code-hl-special-color); -} -.highlight .m, -.highlight .mb, -.highlight .mf, -.highlight .mh, -.highlight .mi, -.highlight .il, -.highlight .mo { - color: var(--md-code-hl-number-color); -} -.highlight .k, -.highlight .kd, -.highlight .kn, -.highlight .kp, -.highlight .kr, -.highlight .kt { - color: var(--md-code-hl-keyword-color); -} -.highlight .kc, -.highlight .n { - color: var(--md-code-hl-name-color); -} -.highlight .no, -.highlight .nb, -.highlight .bp { - color: var(--md-code-hl-constant-color); -} -.highlight .nc, -.highlight .ne, -.highlight .nf, -.highlight .nn { - color: var(--md-code-hl-function-color); -} -.highlight .nd, -.highlight .ni, -.highlight .nl, -.highlight .nt { - color: var(--md-code-hl-keyword-color); -} -.highlight .c, -.highlight .cm, -.highlight .c1, -.highlight .ch, -.highlight .cs, -.highlight .sd { - color: var(--md-code-hl-comment-color); -} -.highlight .na, -.highlight .nv, -.highlight .vc, -.highlight .vg, -.highlight .vi { - color: var(--md-code-hl-variable-color); -} -.highlight .ge, -.highlight .gr, -.highlight .gh, -.highlight .go, -.highlight .gp, -.highlight .gs, -.highlight .gu, -.highlight .gt { - color: var(--md-code-hl-generic-color); -} -.highlight .gd, -.highlight .gi { - margin: 0 -0.125em; - padding: 0 0.125em; - border-radius: 0.1rem; -} -.highlight .gd { - background-color: var(--md-typeset-del-color); -} -.highlight .gi { - background-color: var(--md-typeset-ins-color); -} -.highlight .hll { - display: block; - margin: 0 -1.1764705882em; - padding: 0 1.1764705882em; - background-color: var(--md-code-hl-color); -} -.highlight [data-linenos]::before { - position: -webkit-sticky; - position: sticky; - left: -1.1764705882em; - float: left; - margin-right: 1.1764705882em; - margin-left: -1.1764705882em; - padding-left: 1.1764705882em; - color: var(--md-default-fg-color--light); - background-color: var(--md-code-bg-color); - box-shadow: -0.05rem 0 var(--md-default-fg-color--lightest) inset; - content: attr(data-linenos); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.highlighttable { - display: flow-root; - overflow: hidden; -} -.highlighttable tbody, -.highlighttable td { - display: block; - padding: 0; -} -.highlighttable tr { - display: flex; -} -.highlighttable pre { - margin: 0; -} -.highlighttable .linenos { - padding: 0.7720588235em 1.1764705882em; - padding-right: 0; - font-size: 0.85em; - background-color: var(--md-code-bg-color); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.highlighttable .linenodiv { - padding-right: 0.5882352941em; - box-shadow: -0.05rem 0 var(--md-default-fg-color--lightest) inset; -} -.highlighttable .linenodiv pre { - color: var(--md-default-fg-color--light); - text-align: right; -} -.highlighttable .code { - flex: 1; - overflow: hidden; -} - -.md-typeset .highlighttable { - margin: 1em 0; - direction: ltr; - border-radius: 0.1rem; -} -.md-typeset .highlighttable code { - border-radius: 0; -} -@media screen and (max-width: 44.9375em) { - .md-typeset > .highlight { - margin: 1em -0.8rem; - } - .md-typeset > .highlight .hll { - margin: 0 -0.8rem; - padding: 0 0.8rem; - } - .md-typeset > .highlight code { - border-radius: 0; - } - .md-typeset > .highlighttable { - margin: 1em -0.8rem; - border-radius: 0; - } - .md-typeset > .highlighttable .hll { - margin: 0 -0.8rem; - padding: 0 0.8rem; - } -} - -.md-typeset .keys kbd::before, -.md-typeset .keys kbd::after { - position: relative; - margin: 0; - color: inherit; - -moz-osx-font-smoothing: initial; - -webkit-font-smoothing: initial; -} -.md-typeset .keys span { - padding: 0 0.2em; - color: var(--md-default-fg-color--light); -} -.md-typeset .keys .key-alt::before { - padding-right: 0.4em; - content: "⎇"; -} -.md-typeset .keys .key-left-alt::before { - padding-right: 0.4em; - content: "⎇"; -} -.md-typeset .keys .key-right-alt::before { - padding-right: 0.4em; - content: "⎇"; -} -.md-typeset .keys .key-command::before { - padding-right: 0.4em; - content: "⌘"; -} -.md-typeset .keys .key-left-command::before { - padding-right: 0.4em; - content: "⌘"; -} -.md-typeset .keys .key-right-command::before { - padding-right: 0.4em; - content: "⌘"; -} -.md-typeset .keys .key-control::before { - padding-right: 0.4em; - content: "⌃"; -} -.md-typeset .keys .key-left-control::before { - padding-right: 0.4em; - content: "⌃"; -} -.md-typeset .keys .key-right-control::before { - padding-right: 0.4em; - content: "⌃"; -} -.md-typeset .keys .key-meta::before { - padding-right: 0.4em; - content: "◆"; -} -.md-typeset .keys .key-left-meta::before { - padding-right: 0.4em; - content: "◆"; -} -.md-typeset .keys .key-right-meta::before { - padding-right: 0.4em; - content: "◆"; -} -.md-typeset .keys .key-option::before { - padding-right: 0.4em; - content: "⌥"; -} -.md-typeset .keys .key-left-option::before { - padding-right: 0.4em; - content: "⌥"; -} -.md-typeset .keys .key-right-option::before { - padding-right: 0.4em; - content: "⌥"; -} -.md-typeset .keys .key-shift::before { - padding-right: 0.4em; - content: "⇧"; -} -.md-typeset .keys .key-left-shift::before { - padding-right: 0.4em; - content: "⇧"; -} -.md-typeset .keys .key-right-shift::before { - padding-right: 0.4em; - content: "⇧"; -} -.md-typeset .keys .key-super::before { - padding-right: 0.4em; - content: "❖"; -} -.md-typeset .keys .key-left-super::before { - padding-right: 0.4em; - content: "❖"; -} -.md-typeset .keys .key-right-super::before { - padding-right: 0.4em; - content: "❖"; -} -.md-typeset .keys .key-windows::before { - padding-right: 0.4em; - content: "⊞"; -} -.md-typeset .keys .key-left-windows::before { - padding-right: 0.4em; - content: "⊞"; -} -.md-typeset .keys .key-right-windows::before { - padding-right: 0.4em; - content: "⊞"; -} -.md-typeset .keys .key-arrow-down::before { - padding-right: 0.4em; - content: "↓"; -} -.md-typeset .keys .key-arrow-left::before { - padding-right: 0.4em; - content: "←"; -} -.md-typeset .keys .key-arrow-right::before { - padding-right: 0.4em; - content: "→"; -} -.md-typeset .keys .key-arrow-up::before { - padding-right: 0.4em; - content: "↑"; -} -.md-typeset .keys .key-backspace::before { - padding-right: 0.4em; - content: "⌫"; -} -.md-typeset .keys .key-backtab::before { - padding-right: 0.4em; - content: "⇤"; -} -.md-typeset .keys .key-caps-lock::before { - padding-right: 0.4em; - content: "⇪"; -} -.md-typeset .keys .key-clear::before { - padding-right: 0.4em; - content: "⌧"; -} -.md-typeset .keys .key-context-menu::before { - padding-right: 0.4em; - content: "☰"; -} -.md-typeset .keys .key-delete::before { - padding-right: 0.4em; - content: "⌦"; -} -.md-typeset .keys .key-eject::before { - padding-right: 0.4em; - content: "⏏"; -} -.md-typeset .keys .key-end::before { - padding-right: 0.4em; - content: "⤓"; -} -.md-typeset .keys .key-escape::before { - padding-right: 0.4em; - content: "⎋"; -} -.md-typeset .keys .key-home::before { - padding-right: 0.4em; - content: "⤒"; -} -.md-typeset .keys .key-insert::before { - padding-right: 0.4em; - content: "⎀"; -} -.md-typeset .keys .key-page-down::before { - padding-right: 0.4em; - content: "⇟"; -} -.md-typeset .keys .key-page-up::before { - padding-right: 0.4em; - content: "⇞"; -} -.md-typeset .keys .key-print-screen::before { - padding-right: 0.4em; - content: "⎙"; -} -.md-typeset .keys .key-tab::after { - padding-left: 0.4em; - content: "⇥"; -} -.md-typeset .keys .key-num-enter::after { - padding-left: 0.4em; - content: "⌤"; -} -.md-typeset .keys .key-enter::after { - padding-left: 0.4em; - content: "⏎"; -} - -.md-typeset .tabbed-content { - display: none; - order: 99; - width: 100%; - box-shadow: 0 -0.05rem var(--md-default-fg-color--lightest); -} -@media print { - .md-typeset .tabbed-content { - display: block; - order: initial; - } -} -.md-typeset .tabbed-content > pre:only-child, -.md-typeset .tabbed-content > .highlight:only-child pre, -.md-typeset .tabbed-content > .highlighttable:only-child { - margin: 0; -} -.md-typeset .tabbed-content > pre:only-child > code, -.md-typeset .tabbed-content > .highlight:only-child pre > code, -.md-typeset .tabbed-content > .highlighttable:only-child > code { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.md-typeset .tabbed-content > .tabbed-set { - margin: 0; -} -.md-typeset .tabbed-set { - position: relative; - display: flex; - flex-wrap: wrap; - margin: 1em 0; - border-radius: 0.1rem; -} -.md-typeset .tabbed-set > input { - position: absolute; - width: 0; - height: 0; - opacity: 0; -} -.md-typeset .tabbed-set > input:checked + label { - color: var(--md-accent-fg-color); - border-color: var(--md-accent-fg-color); -} -.md-typeset .tabbed-set > input:checked + label + .tabbed-content { - display: block; -} -.md-typeset .tabbed-set > input:focus + label { - outline-style: auto; -} -.md-typeset .tabbed-set > input:not(.focus-visible) + label { - outline: none; - -webkit-tap-highlight-color: transparent; -} -.md-typeset .tabbed-set > label { - z-index: 1; - width: auto; - padding: 0.9375em 1.25em 0.78125em; - color: var(--md-default-fg-color--light); - font-weight: 700; - font-size: 0.64rem; - border-bottom: 0.1rem solid transparent; - cursor: pointer; - transition: color 250ms; -} -.md-typeset .tabbed-set > label:hover { - color: var(--md-accent-fg-color); -} - -:root { - --md-tasklist-icon: - url("data:image/svg+xml;charset=utf-8,"); - --md-tasklist-icon--checked: - url("data:image/svg+xml;charset=utf-8,"); -} - -.md-typeset .task-list-item { - position: relative; - list-style-type: none; -} -.md-typeset .task-list-item [type=checkbox] { - position: absolute; - top: 0.45em; - left: -2em; -} -[dir=rtl] .md-typeset .task-list-item [type=checkbox] { - right: -2em; - left: initial; -} -.md-typeset .task-list-control [type=checkbox] { - z-index: -1; - opacity: 0; -} -.md-typeset .task-list-indicator::before { - position: absolute; - top: 0.15em; - left: -1.5em; - width: 1.25em; - height: 1.25em; - background-color: var(--md-default-fg-color--lightest); - -webkit-mask-image: var(--md-tasklist-icon); - mask-image: var(--md-tasklist-icon); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-size: contain; - mask-size: contain; - content: ""; -} -[dir=rtl] .md-typeset .task-list-indicator::before { - right: -1.5em; - left: initial; -} -.md-typeset [type=checkbox]:checked + .task-list-indicator::before { - background-color: #00e676; - -webkit-mask-image: var(--md-tasklist-icon--checked); - mask-image: var(--md-tasklist-icon--checked); -} -/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/material/assets/stylesheets/main.css.map b/material/assets/stylesheets/main.css.map deleted file mode 100644 index 5fd8757f9..000000000 --- a/material/assets/stylesheets/main.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/assets/stylesheets/main.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/_reset.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/_colors.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/_icons.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/_typeset.scss","../../../src/assets/stylesheets/src/assets/stylesheets/utilities/_break.scss","../../../src/assets/stylesheets/node_modules/material-shadows/material-shadows.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_base.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_announce.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_clipboard.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_content.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_dialog.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_form.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_header.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_footer.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_nav.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_search.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_sidebar.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_source.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/layout/_tabs.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/markdown/_admonition.scss","../../../src/assets/stylesheets/node_modules/material-design-color/material-color.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/markdown/_footnotes.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/markdown/_toc.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_critic.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_details.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_keys.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","../../../src/assets/stylesheets/src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss"],"names":[],"mappings":"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","file":"main.css"} \ No newline at end of file diff --git a/material/assets/stylesheets/palette.7fa14f5b.min.css b/material/assets/stylesheets/palette.7fa14f5b.min.css new file mode 100644 index 000000000..1d46bb42f --- /dev/null +++ b/material/assets/stylesheets/palette.7fa14f5b.min.css @@ -0,0 +1,2 @@ +[data-md-color-accent=red]{--md-accent-fg-color:#ff1a47;--md-accent-fg-color--transparent:rgba(255,26,71,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=pink]{--md-accent-fg-color:#f50056;--md-accent-fg-color--transparent:rgba(245,0,86,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=purple]{--md-accent-fg-color:#df41fb;--md-accent-fg-color--transparent:rgba(223,65,251,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=deep-purple]{--md-accent-fg-color:#7c4dff;--md-accent-fg-color--transparent:rgba(124,77,255,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=indigo]{--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:rgba(83,108,254,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=blue]{--md-accent-fg-color:#4287ff;--md-accent-fg-color--transparent:rgba(66,136,255,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=light-blue]{--md-accent-fg-color:#0091eb;--md-accent-fg-color--transparent:rgba(0,145,235,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=cyan]{--md-accent-fg-color:#00bad6;--md-accent-fg-color--transparent:rgba(0,186,214,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=teal]{--md-accent-fg-color:#00bda4;--md-accent-fg-color--transparent:rgba(0,189,164,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=green]{--md-accent-fg-color:#00c753;--md-accent-fg-color--transparent:rgba(0,199,83,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=light-green]{--md-accent-fg-color:#63de17;--md-accent-fg-color--transparent:rgba(99,222,23,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=lime]{--md-accent-fg-color:#b0eb00;--md-accent-fg-color--transparent:rgba(176,235,0,0.1);--md-accent-bg-color:rgba(0,0,0,0.87);--md-accent-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-accent=yellow]{--md-accent-fg-color:#ffd500;--md-accent-fg-color--transparent:rgba(255,213,0,0.1);--md-accent-bg-color:rgba(0,0,0,0.87);--md-accent-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-accent=amber]{--md-accent-fg-color:#fa0;--md-accent-fg-color--transparent:rgba(255,170,0,0.1);--md-accent-bg-color:rgba(0,0,0,0.87);--md-accent-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-accent=orange]{--md-accent-fg-color:#ff9100;--md-accent-fg-color--transparent:rgba(255,145,0,0.1);--md-accent-bg-color:rgba(0,0,0,0.87);--md-accent-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-accent=deep-orange]{--md-accent-fg-color:#ff6e42;--md-accent-fg-color--transparent:rgba(255,110,66,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=red]{--md-primary-fg-color:#ef5552;--md-primary-fg-color--light:#e57171;--md-primary-fg-color--dark:#e53734;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=pink]{--md-primary-fg-color:#e92063;--md-primary-fg-color--light:#ec417a;--md-primary-fg-color--dark:#c3185d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=purple]{--md-primary-fg-color:#ab47bd;--md-primary-fg-color--light:#bb69c9;--md-primary-fg-color--dark:#8c24a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=deep-purple]{--md-primary-fg-color:#7e56c2;--md-primary-fg-color--light:#9574cd;--md-primary-fg-color--dark:#673ab6;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=indigo]{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=blue]{--md-primary-fg-color:#2094f3;--md-primary-fg-color--light:#42a5f5;--md-primary-fg-color--dark:#1975d2;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=light-blue]{--md-primary-fg-color:#02a6f2;--md-primary-fg-color--light:#28b5f6;--md-primary-fg-color--dark:#0287cf;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=cyan]{--md-primary-fg-color:#00bdd6;--md-primary-fg-color--light:#25c5da;--md-primary-fg-color--dark:#0097a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=teal]{--md-primary-fg-color:#009485;--md-primary-fg-color--light:#26a699;--md-primary-fg-color--dark:#007a6c;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=green]{--md-primary-fg-color:#4cae4f;--md-primary-fg-color--light:#68bb6c;--md-primary-fg-color--dark:#398e3d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=light-green]{--md-primary-fg-color:#8bc34b;--md-primary-fg-color--light:#9ccc66;--md-primary-fg-color--dark:#689f38;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=lime]{--md-primary-fg-color:#cbdc38;--md-primary-fg-color--light:#d3e156;--md-primary-fg-color--dark:#b0b52c;--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-primary=yellow]{--md-primary-fg-color:#ffec3d;--md-primary-fg-color--light:#ffee57;--md-primary-fg-color--dark:#fbc02d;--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-primary=amber]{--md-primary-fg-color:#ffc105;--md-primary-fg-color--light:#ffc929;--md-primary-fg-color--dark:#ffa200;--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-primary=orange]{--md-primary-fg-color:#ffa724;--md-primary-fg-color--light:#ffa724;--md-primary-fg-color--dark:#fa8900;--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-primary=deep-orange]{--md-primary-fg-color:#ff6e42;--md-primary-fg-color--light:#ff8a66;--md-primary-fg-color--dark:#f4511f;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=brown]{--md-primary-fg-color:#795649;--md-primary-fg-color--light:#8d6e62;--md-primary-fg-color--dark:#5d4037;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=grey]{--md-primary-fg-color:#757575;--md-primary-fg-color--light:#9e9e9e;--md-primary-fg-color--dark:#616161;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=blue-grey]{--md-primary-fg-color:#546d78;--md-primary-fg-color--light:#607c8a;--md-primary-fg-color--dark:#455a63;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=white]{--md-primary-fg-color:#fff;--md-primary-fg-color--light:hsla(0,0%,100%,0.7);--md-primary-fg-color--dark:rgba(0,0,0,0.07);--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54);--md-typeset-a-color:#4051b5}@media screen and (min-width:60em){[data-md-color-primary=white] .md-search__input{background-color:rgba(0,0,0,.07)}[data-md-color-primary=white] .md-search__input+.md-search__icon{color:rgba(0,0,0,.87)}[data-md-color-primary=white] .md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input::placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input:hover{background-color:rgba(0,0,0,.32)}}@media screen and (min-width:76.25em){[data-md-color-primary=white] .md-tabs{border-bottom:.05rem solid rgba(0,0,0,.07)}}[data-md-color-primary=black]{--md-primary-fg-color:#000;--md-primary-fg-color--light:rgba(0,0,0,0.54);--md-primary-fg-color--dark:#000;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7);--md-typeset-a-color:#4051b5}[data-md-color-primary=black] .md-header{background-color:#000}@media screen and (max-width:59.9375em){[data-md-color-primary=black] .md-nav__source{background-color:rgba(0,0,0,.87)}}@media screen and (min-width:60em){[data-md-color-primary=black] .md-search__input{background-color:hsla(0,0%,100%,.12)}[data-md-color-primary=black] .md-search__input:hover{background-color:hsla(0,0%,100%,.3)}}@media screen and (max-width:76.1875em){html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer]{background-color:#000}}@media screen and (min-width:76.25em){[data-md-color-primary=black] .md-tabs{background-color:#000}}@media screen{[data-md-color-scheme=slate]{--md-hue:232;--md-default-fg-color:hsla(var(--md-hue),75%,95%,1);--md-default-fg-color--light:hsla(var(--md-hue),75%,90%,0.62);--md-default-fg-color--lighter:hsla(var(--md-hue),75%,90%,0.32);--md-default-fg-color--lightest:hsla(var(--md-hue),75%,90%,0.12);--md-default-bg-color:hsla(var(--md-hue),15%,21%,1);--md-default-bg-color--light:hsla(var(--md-hue),15%,21%,0.54);--md-default-bg-color--lighter:hsla(var(--md-hue),15%,21%,0.26);--md-default-bg-color--lightest:hsla(var(--md-hue),15%,21%,0.07);--md-code-fg-color:hsla(var(--md-hue),18%,86%,1);--md-code-bg-color:hsla(var(--md-hue),15%,15%,1);--md-code-hl-color:rgba(66,136,255,0.15);--md-code-hl-number-color:#e6695b;--md-code-hl-special-color:#f06090;--md-code-hl-function-color:#c973d9;--md-code-hl-constant-color:#9383e2;--md-code-hl-keyword-color:#6791e0;--md-code-hl-string-color:#2fb170;--md-typeset-a-color:var(--md-primary-fg-color--light);--md-typeset-mark-color:rgba(66,136,255,0.3);--md-typeset-kbd-color:hsla(var(--md-hue),15%,94%,0.12);--md-typeset-kbd-accent-color:hsla(var(--md-hue),15%,94%,0.2);--md-typeset-kbd-border-color:hsla(var(--md-hue),15%,14%,1);--md-admonition-bg-color:hsla(var(--md-hue),0%,100%,0.025);--md-footer-bg-color:hsla(var(--md-hue),15%,12%,0.87);--md-footer-bg-color--dark:hsla(var(--md-hue),15%,10%,1)}[data-md-color-scheme=slate][data-md-color-primary=black],[data-md-color-scheme=slate][data-md-color-primary=white]{--md-typeset-a-color:#5d6cc0}} +/*# sourceMappingURL=palette.7fa14f5b.min.css.map */ \ No newline at end of file diff --git a/material/assets/stylesheets/palette.7fa14f5b.min.css.map b/material/assets/stylesheets/palette.7fa14f5b.min.css.map new file mode 100644 index 000000000..27cccdbc2 --- /dev/null +++ b/material/assets/stylesheets/palette.7fa14f5b.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["src/assets/stylesheets/palette/_accent.scss","src/assets/stylesheets/palette.scss","src/assets/stylesheets/palette/_primary.scss","src/assets/stylesheets/utilities/_break.scss","src/assets/stylesheets/palette/_scheme.scss"],"names":[],"mappings":"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","file":"src/assets/stylesheets/palette.scss","sourcesContent":["////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n@each $name, $color in (\n \"red\": $clr-red-a400,\n \"pink\": $clr-pink-a400,\n \"purple\": $clr-purple-a200,\n \"deep-purple\": $clr-deep-purple-a200,\n \"indigo\": $clr-indigo-a200,\n \"blue\": $clr-blue-a200,\n \"light-blue\": $clr-light-blue-a700,\n \"cyan\": $clr-cyan-a700,\n \"teal\": $clr-teal-a700,\n \"green\": $clr-green-a700,\n \"light-green\": $clr-light-green-a700,\n \"lime\": $clr-lime-a700,\n \"yellow\": $clr-yellow-a700,\n \"amber\": $clr-amber-a700,\n \"orange\": $clr-orange-a400,\n \"deep-orange\": $clr-deep-orange-a200\n) {\n\n // Color palette\n [data-md-color-accent=\"#{$name}\"] {\n --md-accent-fg-color: hsla(#{hex2hsl($color)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($color)}, 0.1);\n\n // Inverted text for lighter shades\n @if index(\"lime\" \"yellow\" \"amber\" \"orange\", $name) {\n --md-accent-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);\n } @else {\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n }\n }\n}\n","[data-md-color-accent=red] {\n --md-accent-fg-color: hsla(348, 100%, 55%, 1);\n --md-accent-fg-color--transparent: hsla(348, 100%, 55%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=pink] {\n --md-accent-fg-color: hsla(339, 100%, 48%, 1);\n --md-accent-fg-color--transparent: hsla(339, 100%, 48%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=purple] {\n --md-accent-fg-color: hsla(291, 96%, 62%, 1);\n --md-accent-fg-color--transparent: hsla(291, 96%, 62%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=deep-purple] {\n --md-accent-fg-color: hsla(256, 100%, 65%, 1);\n --md-accent-fg-color--transparent: hsla(256, 100%, 65%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=indigo] {\n --md-accent-fg-color: hsla(231, 99%, 66%, 1);\n --md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=blue] {\n --md-accent-fg-color: hsla(218, 100%, 63%, 1);\n --md-accent-fg-color--transparent: hsla(218, 100%, 63%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=light-blue] {\n --md-accent-fg-color: hsla(203, 100%, 46%, 1);\n --md-accent-fg-color--transparent: hsla(203, 100%, 46%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=cyan] {\n --md-accent-fg-color: hsla(188, 100%, 42%, 1);\n --md-accent-fg-color--transparent: hsla(188, 100%, 42%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=teal] {\n --md-accent-fg-color: hsla(172, 100%, 37%, 1);\n --md-accent-fg-color--transparent: hsla(172, 100%, 37%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=green] {\n --md-accent-fg-color: hsla(145, 100%, 39%, 1);\n --md-accent-fg-color--transparent: hsla(145, 100%, 39%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=light-green] {\n --md-accent-fg-color: hsla(97, 81%, 48%, 1);\n --md-accent-fg-color--transparent: hsla(97, 81%, 48%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-accent=lime] {\n --md-accent-fg-color: hsla(75, 100%, 46%, 1);\n --md-accent-fg-color--transparent: hsla(75, 100%, 46%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);\n}\n\n[data-md-color-accent=yellow] {\n --md-accent-fg-color: hsla(50, 100%, 50%, 1);\n --md-accent-fg-color--transparent: hsla(50, 100%, 50%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);\n}\n\n[data-md-color-accent=amber] {\n --md-accent-fg-color: hsla(40, 100%, 50%, 1);\n --md-accent-fg-color--transparent: hsla(40, 100%, 50%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);\n}\n\n[data-md-color-accent=orange] {\n --md-accent-fg-color: hsla(34, 100%, 50%, 1);\n --md-accent-fg-color--transparent: hsla(34, 100%, 50%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);\n}\n\n[data-md-color-accent=deep-orange] {\n --md-accent-fg-color: hsla(14, 100%, 63%, 1);\n --md-accent-fg-color--transparent: hsla(14, 100%, 63%, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=red] {\n --md-primary-fg-color: hsla(1, 83%, 63%, 1);\n --md-primary-fg-color--light: hsla(0, 69%, 67%, 1);\n --md-primary-fg-color--dark: hsla(1, 77%, 55%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=pink] {\n --md-primary-fg-color: hsla(340, 82%, 52%, 1);\n --md-primary-fg-color--light: hsla(340, 82%, 59%, 1);\n --md-primary-fg-color--dark: hsla(336, 78%, 43%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=purple] {\n --md-primary-fg-color: hsla(291, 47%, 51%, 1);\n --md-primary-fg-color--light: hsla(291, 47%, 60%, 1);\n --md-primary-fg-color--dark: hsla(287, 65%, 40%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=deep-purple] {\n --md-primary-fg-color: hsla(262, 47%, 55%, 1);\n --md-primary-fg-color--light: hsla(262, 47%, 63%, 1);\n --md-primary-fg-color--dark: hsla(262, 52%, 47%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=indigo] {\n --md-primary-fg-color: hsla(231, 48%, 48%, 1);\n --md-primary-fg-color--light: hsla(231, 44%, 56%, 1);\n --md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=blue] {\n --md-primary-fg-color: hsla(207, 90%, 54%, 1);\n --md-primary-fg-color--light: hsla(207, 90%, 61%, 1);\n --md-primary-fg-color--dark: hsla(210, 79%, 46%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=light-blue] {\n --md-primary-fg-color: hsla(199, 98%, 48%, 1);\n --md-primary-fg-color--light: hsla(199, 92%, 56%, 1);\n --md-primary-fg-color--dark: hsla(201, 98%, 41%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=cyan] {\n --md-primary-fg-color: hsla(187, 100%, 42%, 1);\n --md-primary-fg-color--light: hsla(187, 71%, 50%, 1);\n --md-primary-fg-color--dark: hsla(186, 100%, 33%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=teal] {\n --md-primary-fg-color: hsla(174, 100%, 29%, 1);\n --md-primary-fg-color--light: hsla(174, 63%, 40%, 1);\n --md-primary-fg-color--dark: hsla(173, 100%, 24%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=green] {\n --md-primary-fg-color: hsla(122, 39%, 49%, 1);\n --md-primary-fg-color--light: hsla(123, 38%, 57%, 1);\n --md-primary-fg-color--dark: hsla(123, 43%, 39%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=light-green] {\n --md-primary-fg-color: hsla(88, 50%, 53%, 1);\n --md-primary-fg-color--light: hsla(88, 50%, 60%, 1);\n --md-primary-fg-color--dark: hsla(92, 48%, 42%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=lime] {\n --md-primary-fg-color: hsla(66, 70%, 54%, 1);\n --md-primary-fg-color--light: hsla(66, 70%, 61%, 1);\n --md-primary-fg-color--dark: hsla(62, 61%, 44%, 1);\n --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);\n}\n\n[data-md-color-primary=yellow] {\n --md-primary-fg-color: hsla(54, 100%, 62%, 1);\n --md-primary-fg-color--light: hsla(54, 100%, 67%, 1);\n --md-primary-fg-color--dark: hsla(43, 96%, 58%, 1);\n --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);\n}\n\n[data-md-color-primary=amber] {\n --md-primary-fg-color: hsla(45, 100%, 51%, 1);\n --md-primary-fg-color--light: hsla(45, 100%, 58%, 1);\n --md-primary-fg-color--dark: hsla(38, 100%, 50%, 1);\n --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);\n}\n\n[data-md-color-primary=orange] {\n --md-primary-fg-color: hsla(36, 100%, 57%, 1);\n --md-primary-fg-color--light: hsla(36, 100%, 57%, 1);\n --md-primary-fg-color--dark: hsla(33, 100%, 49%, 1);\n --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);\n}\n\n[data-md-color-primary=deep-orange] {\n --md-primary-fg-color: hsla(14, 100%, 63%, 1);\n --md-primary-fg-color--light: hsla(14, 100%, 70%, 1);\n --md-primary-fg-color--dark: hsla(14, 91%, 54%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=brown] {\n --md-primary-fg-color: hsla(16, 25%, 38%, 1);\n --md-primary-fg-color--light: hsla(16, 18%, 47%, 1);\n --md-primary-fg-color--dark: hsla(14, 26%, 29%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=grey] {\n --md-primary-fg-color: hsla(0, 0%, 46%, 1);\n --md-primary-fg-color--light: hsla(0, 0%, 62%, 1);\n --md-primary-fg-color--dark: hsla(0, 0%, 38%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=blue-grey] {\n --md-primary-fg-color: hsla(199, 18%, 40%, 1);\n --md-primary-fg-color--light: hsla(200, 18%, 46%, 1);\n --md-primary-fg-color--dark: hsla(199, 18%, 33%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n}\n\n[data-md-color-primary=white] {\n --md-primary-fg-color: hsla(0, 0%, 100%, 1);\n --md-primary-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-primary-fg-color--dark: hsla(0, 0%, 0%, 0.07);\n --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-typeset-a-color: hsla(231, 48%, 48%, 1);\n}\n@media screen and (min-width: 60em) {\n [data-md-color-primary=white] .md-search__input {\n background-color: rgba(0, 0, 0, 0.07);\n }\n [data-md-color-primary=white] .md-search__input + .md-search__icon {\n color: rgba(0, 0, 0, 0.87);\n }\n [data-md-color-primary=white] .md-search__input::placeholder {\n color: rgba(0, 0, 0, 0.54);\n }\n [data-md-color-primary=white] .md-search__input:hover {\n background-color: rgba(0, 0, 0, 0.32);\n }\n}\n@media screen and (min-width: 76.25em) {\n [data-md-color-primary=white] .md-tabs {\n border-bottom: 0.05rem solid rgba(0, 0, 0, 0.07);\n }\n}\n\n[data-md-color-primary=black] {\n --md-primary-fg-color: hsla(0, 0%, 0%, 1);\n --md-primary-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-primary-fg-color--dark: hsla(0, 0%, 0%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-typeset-a-color: hsla(231, 48%, 48%, 1);\n}\n[data-md-color-primary=black] .md-header {\n background-color: black;\n}\n@media screen and (max-width: 59.9375em) {\n [data-md-color-primary=black] .md-nav__source {\n background-color: rgba(0, 0, 0, 0.87);\n }\n}\n@media screen and (min-width: 60em) {\n [data-md-color-primary=black] .md-search__input {\n background-color: rgba(255, 255, 255, 0.12);\n }\n [data-md-color-primary=black] .md-search__input:hover {\n background-color: rgba(255, 255, 255, 0.3);\n }\n}\n@media screen and (max-width: 76.1875em) {\n html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer] {\n background-color: black;\n }\n}\n@media screen and (min-width: 76.25em) {\n [data-md-color-primary=black] .md-tabs {\n background-color: black;\n }\n}\n\n@media screen {\n [data-md-color-scheme=slate] {\n --md-hue: 232;\n --md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1);\n --md-default-fg-color--light: hsla(var(--md-hue), 75%, 90%, 0.62);\n --md-default-fg-color--lighter: hsla(var(--md-hue), 75%, 90%, 0.32);\n --md-default-fg-color--lightest: hsla(var(--md-hue), 75%, 90%, 0.12);\n --md-default-bg-color: hsla(var(--md-hue), 15%, 21%, 1);\n --md-default-bg-color--light: hsla(var(--md-hue), 15%, 21%, 0.54);\n --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 21%, 0.26);\n --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 21%, 0.07);\n --md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 1);\n --md-code-bg-color: hsla(var(--md-hue), 15%, 15%, 1);\n --md-code-hl-color: hsla(218, 100%, 63%, 0.15);\n --md-code-hl-number-color: hsla(6, 74%, 63%, 1);\n --md-code-hl-special-color: hsla(340, 83%, 66%, 1);\n --md-code-hl-function-color: hsla(291, 57%, 65%, 1);\n --md-code-hl-constant-color: hsla(250, 62%, 70%, 1);\n --md-code-hl-keyword-color: hsla(219, 66%, 64%, 1);\n --md-code-hl-string-color: hsla(150, 58%, 44%, 1);\n --md-typeset-a-color: var(--md-primary-fg-color--light);\n --md-typeset-mark-color: hsla(218, 100%, 63%, 0.3);\n --md-typeset-kbd-color: hsla(var(--md-hue), 15%, 94%, 0.12);\n --md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 94%, 0.2);\n --md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1);\n --md-admonition-bg-color: hsla(var(--md-hue), 0%, 100%, 0.025);\n --md-footer-bg-color: hsla(var(--md-hue), 15%, 12%, 0.87);\n --md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 10%, 1);\n }\n [data-md-color-scheme=slate][data-md-color-primary=black], [data-md-color-scheme=slate][data-md-color-primary=white] {\n --md-typeset-a-color: hsla(231, 44%, 56%, 1);\n }\n}\n\n/*# sourceMappingURL=palette.css.map */","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n@each $name, $colors in (\n \"red\": $clr-red-400 $clr-red-300 $clr-red-600,\n \"pink\": $clr-pink-500 $clr-pink-400 $clr-pink-700,\n \"purple\": $clr-purple-400 $clr-purple-300 $clr-purple-600,\n \"deep-purple\": $clr-deep-purple-400 $clr-deep-purple-300 $clr-deep-purple-500,\n \"indigo\": $clr-indigo-500 $clr-indigo-400 $clr-indigo-700,\n \"blue\": $clr-blue-500 $clr-blue-400 $clr-blue-700,\n \"light-blue\": $clr-light-blue-500 $clr-light-blue-400 $clr-light-blue-700,\n \"cyan\": $clr-cyan-500 $clr-cyan-400 $clr-cyan-700,\n \"teal\": $clr-teal-500 $clr-teal-400 $clr-teal-700,\n \"green\": $clr-green-500 $clr-green-400 $clr-green-700,\n \"light-green\": $clr-light-green-500 $clr-light-green-400 $clr-light-green-700,\n \"lime\": $clr-lime-500 $clr-lime-400 $clr-lime-700,\n \"yellow\": $clr-yellow-500 $clr-yellow-400 $clr-yellow-700,\n \"amber\": $clr-amber-500 $clr-amber-400 $clr-amber-700,\n \"orange\": $clr-orange-400 $clr-orange-400 $clr-orange-600,\n \"deep-orange\": $clr-deep-orange-400 $clr-deep-orange-300 $clr-deep-orange-600,\n \"brown\": $clr-brown-500 $clr-brown-400 $clr-brown-700,\n \"grey\": $clr-grey-600 $clr-grey-500 $clr-grey-700,\n \"blue-grey\": $clr-blue-grey-600 $clr-blue-grey-500 $clr-blue-grey-700\n) {\n\n // Color palette\n [data-md-color-primary=\"#{$name}\"] {\n --md-primary-fg-color: hsla(#{hex2hsl(nth($colors, 1))}, 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\n // Inverted text for lighter shades\n @if index(\"lime\" \"yellow\" \"amber\" \"orange\", $name) {\n --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);\n } @else {\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: white\n// ----------------------------------------------------------------------------\n\n// Color palette\n[data-md-color-primary=\"white\"] {\n --md-primary-fg-color: hsla(0, 0%, 100%, 1);\n --md-primary-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-primary-fg-color--dark: hsla(0, 0%, 0%, 0.07);\n --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);\n\n // Typeset color shades\n --md-typeset-a-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n\n // [tablet portrait +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n\n // Search input\n .md-search__input {\n background-color: hsla(0, 0%, 0%, 0.07);\n\n // Search icon color\n + .md-search__icon {\n color: hsla(0, 0%, 0%, 0.87);\n }\n\n // Placeholder color\n &::placeholder {\n color: hsla(0, 0%, 0%, 0.54);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 0%, 0.32);\n }\n }\n }\n\n // [screen +]: Add bottom border for tabs\n @include break-from-device(screen) {\n\n // Navigation tabs\n .md-tabs {\n border-bottom: px2rem(1px) solid hsla(0, 0%, 0%, 0.07);\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: black\n// ----------------------------------------------------------------------------\n\n// Color palette\n[data-md-color-primary=\"black\"] {\n --md-primary-fg-color: hsla(0, 0%, 0%, 1);\n --md-primary-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-primary-fg-color--dark: hsla(0, 0%, 0%, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Text color shades\n --md-typeset-a-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n\n // Header\n .md-header {\n background-color: hsla(0, 0%, 0%, 1);\n }\n\n // [tablet portrait -]: Layered navigation\n @include break-to-device(tablet portrait) {\n\n // Repository information container\n .md-nav__source {\n background-color: hsla(0, 0%, 0%, 0.87);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n\n // Search input\n .md-search__input {\n background-color: hsla(0, 0%, 100%, 0.12);\n\n // Search form on hover\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.3);\n }\n }\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n\n // Site title in main navigation\n html & .md-nav--primary .md-nav__title[for=\"__drawer\"] {\n background-color: hsla(0, 0%, 0%, 1);\n }\n }\n\n // [screen +]: Set background color for tabs\n @include break-from-device(screen) {\n\n // Navigation tabs\n .md-tabs {\n background-color: hsla(0, 0%, 0%, 1);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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 {\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) {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n\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\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\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Only use dark mode on screens\n@media screen {\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] {\n\n // Slate's hue in the range [0,360] - change this variable to alter the tone\n // of the theme, e.g. to make it more redish or greenish. This is a slate-\n // specific variable, but the same approach may be adapted to custom themes.\n --md-hue: 232;\n\n // Default color shades\n --md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1);\n --md-default-fg-color--light: hsla(var(--md-hue), 75%, 90%, 0.62);\n --md-default-fg-color--lighter: hsla(var(--md-hue), 75%, 90%, 0.32);\n --md-default-fg-color--lightest: hsla(var(--md-hue), 75%, 90%, 0.12);\n --md-default-bg-color: hsla(var(--md-hue), 15%, 21%, 1);\n --md-default-bg-color--light: hsla(var(--md-hue), 15%, 21%, 0.54);\n --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 21%, 0.26);\n --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 21%, 0.07);\n\n // Code color shades\n --md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 1);\n --md-code-bg-color: hsla(var(--md-hue), 15%, 15%, 1);\n\n // Code highlighting color shades\n --md-code-hl-color: hsla(#{hex2hsl($clr-blue-a200)}, 0.15);\n --md-code-hl-number-color: hsla(6, 74%, 63%, 1);\n --md-code-hl-special-color: hsla(340, 83%, 66%, 1);\n --md-code-hl-function-color: hsla(291, 57%, 65%, 1);\n --md-code-hl-constant-color: hsla(250, 62%, 70%, 1);\n --md-code-hl-keyword-color: hsla(219, 66%, 64%, 1);\n --md-code-hl-string-color: hsla(150, 58%, 44%, 1);\n\n // Typeset color shades\n --md-typeset-a-color: var(--md-primary-fg-color--light);\n\n // Typeset `mark` color shades\n --md-typeset-mark-color: hsla(#{hex2hsl($clr-blue-a200)}, 0.3);\n\n // Typeset `kbd` color shades\n --md-typeset-kbd-color: hsla(var(--md-hue), 15%, 94%, 0.12);\n --md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 94%, 0.2);\n --md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1);\n\n // Admonition color shades\n --md-admonition-bg-color: hsla(var(--md-hue), 0%, 100%, 0.025);\n\n // Footer color shades\n --md-footer-bg-color: hsla(var(--md-hue), 15%, 12%, 0.87);\n --md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 10%, 1);\n\n // Black and white primary colors\n &[data-md-color-primary=\"black\"],\n &[data-md-color-primary=\"white\"] {\n\n // Typeset color shades\n --md-typeset-a-color: hsla(#{hex2hsl($clr-indigo-400)}, 1);\n }\n }\n}\n"]} \ No newline at end of file diff --git a/material/assets/stylesheets/palette.css b/material/assets/stylesheets/palette.css deleted file mode 100644 index 173042cac..000000000 --- a/material/assets/stylesheets/palette.css +++ /dev/null @@ -1,370 +0,0 @@ -[data-md-color-accent=red] { - --md-accent-fg-color: hsla(348, 100%, 55%, 1); - --md-accent-fg-color--transparent: hsla(348, 100%, 55%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=pink] { - --md-accent-fg-color: hsla(339, 100%, 48%, 1); - --md-accent-fg-color--transparent: hsla(339, 100%, 48%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=purple] { - --md-accent-fg-color: hsla(291, 96%, 62%, 1); - --md-accent-fg-color--transparent: hsla(291, 96%, 62%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=deep-purple] { - --md-accent-fg-color: hsla(256, 100%, 65%, 1); - --md-accent-fg-color--transparent: hsla(256, 100%, 65%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=indigo] { - --md-accent-fg-color: hsla(231, 99%, 66%, 1); - --md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=blue] { - --md-accent-fg-color: hsla(218, 100%, 63%, 1); - --md-accent-fg-color--transparent: hsla(218, 100%, 63%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=light-blue] { - --md-accent-fg-color: hsla(203, 100%, 46%, 1); - --md-accent-fg-color--transparent: hsla(203, 100%, 46%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=cyan] { - --md-accent-fg-color: hsla(188, 100%, 42%, 1); - --md-accent-fg-color--transparent: hsla(188, 100%, 42%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=teal] { - --md-accent-fg-color: hsla(172, 100%, 37%, 1); - --md-accent-fg-color--transparent: hsla(172, 100%, 37%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=green] { - --md-accent-fg-color: hsla(145, 100%, 39%, 1); - --md-accent-fg-color--transparent: hsla(145, 100%, 39%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=light-green] { - --md-accent-fg-color: hsla(97, 81%, 48%, 1); - --md-accent-fg-color--transparent: hsla(97, 81%, 48%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-accent=lime] { - --md-accent-fg-color: hsla(75, 100%, 46%, 1); - --md-accent-fg-color--transparent: hsla(75, 100%, 46%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 0%, 0.87); - --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54); -} - -[data-md-color-accent=yellow] { - --md-accent-fg-color: hsla(50, 100%, 50%, 1); - --md-accent-fg-color--transparent: hsla(50, 100%, 50%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 0%, 0.87); - --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54); -} - -[data-md-color-accent=amber] { - --md-accent-fg-color: hsla(40, 100%, 50%, 1); - --md-accent-fg-color--transparent: hsla(40, 100%, 50%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 0%, 0.87); - --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54); -} - -[data-md-color-accent=orange] { - --md-accent-fg-color: hsla(34, 100%, 50%, 1); - --md-accent-fg-color--transparent: hsla(34, 100%, 50%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 0%, 0.87); - --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54); -} - -[data-md-color-accent=deep-orange] { - --md-accent-fg-color: hsla(14, 100%, 63%, 1); - --md-accent-fg-color--transparent: hsla(14, 100%, 63%, 0.1); - --md-accent-bg-color: hsla(0, 0%, 100%, 1); - --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=red] { - --md-primary-fg-color: hsla(1, 83%, 63%, 1); - --md-primary-fg-color--light: hsla(0, 69%, 67%, 1); - --md-primary-fg-color--dark: hsla(1, 77%, 55%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=pink] { - --md-primary-fg-color: hsla(340, 82%, 52%, 1); - --md-primary-fg-color--light: hsla(340, 82%, 59%, 1); - --md-primary-fg-color--dark: hsla(336, 78%, 43%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=purple] { - --md-primary-fg-color: hsla(291, 47%, 51%, 1); - --md-primary-fg-color--light: hsla(291, 47%, 60%, 1); - --md-primary-fg-color--dark: hsla(287, 65%, 40%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=deep-purple] { - --md-primary-fg-color: hsla(262, 47%, 55%, 1); - --md-primary-fg-color--light: hsla(262, 47%, 63%, 1); - --md-primary-fg-color--dark: hsla(262, 52%, 47%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=indigo] { - --md-primary-fg-color: hsla(231, 48%, 48%, 1); - --md-primary-fg-color--light: hsla(231, 44%, 56%, 1); - --md-primary-fg-color--dark: hsla(232, 54%, 41%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=blue] { - --md-primary-fg-color: hsla(207, 90%, 54%, 1); - --md-primary-fg-color--light: hsla(207, 90%, 61%, 1); - --md-primary-fg-color--dark: hsla(210, 79%, 46%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=light-blue] { - --md-primary-fg-color: hsla(199, 98%, 48%, 1); - --md-primary-fg-color--light: hsla(199, 92%, 56%, 1); - --md-primary-fg-color--dark: hsla(201, 98%, 41%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=cyan] { - --md-primary-fg-color: hsla(187, 100%, 42%, 1); - --md-primary-fg-color--light: hsla(187, 71%, 50%, 1); - --md-primary-fg-color--dark: hsla(186, 100%, 33%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=teal] { - --md-primary-fg-color: hsla(174, 100%, 29%, 1); - --md-primary-fg-color--light: hsla(174, 63%, 40%, 1); - --md-primary-fg-color--dark: hsla(173, 100%, 24%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=green] { - --md-primary-fg-color: hsla(122, 39%, 49%, 1); - --md-primary-fg-color--light: hsla(123, 38%, 57%, 1); - --md-primary-fg-color--dark: hsla(123, 43%, 39%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=light-green] { - --md-primary-fg-color: hsla(88, 50%, 53%, 1); - --md-primary-fg-color--light: hsla(88, 50%, 60%, 1); - --md-primary-fg-color--dark: hsla(92, 48%, 42%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=lime] { - --md-primary-fg-color: hsla(66, 70%, 54%, 1); - --md-primary-fg-color--light: hsla(66, 70%, 61%, 1); - --md-primary-fg-color--dark: hsla(62, 61%, 44%, 1); - --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); - --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); -} - -[data-md-color-primary=yellow] { - --md-primary-fg-color: hsla(54, 100%, 62%, 1); - --md-primary-fg-color--light: hsla(54, 100%, 67%, 1); - --md-primary-fg-color--dark: hsla(43, 96%, 58%, 1); - --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); - --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); -} - -[data-md-color-primary=amber] { - --md-primary-fg-color: hsla(45, 100%, 51%, 1); - --md-primary-fg-color--light: hsla(45, 100%, 58%, 1); - --md-primary-fg-color--dark: hsla(38, 100%, 50%, 1); - --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); - --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); -} - -[data-md-color-primary=orange] { - --md-primary-fg-color: hsla(36, 100%, 57%, 1); - --md-primary-fg-color--light: hsla(36, 100%, 57%, 1); - --md-primary-fg-color--dark: hsla(33, 100%, 49%, 1); - --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); - --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); -} - -[data-md-color-primary=deep-orange] { - --md-primary-fg-color: hsla(14, 100%, 63%, 1); - --md-primary-fg-color--light: hsla(14, 100%, 70%, 1); - --md-primary-fg-color--dark: hsla(14, 91%, 54%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=brown] { - --md-primary-fg-color: hsla(16, 25%, 38%, 1); - --md-primary-fg-color--light: hsla(16, 18%, 47%, 1); - --md-primary-fg-color--dark: hsla(14, 26%, 29%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=grey] { - --md-primary-fg-color: hsla(0, 0%, 46%, 1); - --md-primary-fg-color--light: hsla(0, 0%, 62%, 1); - --md-primary-fg-color--dark: hsla(0, 0%, 38%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=blue-grey] { - --md-primary-fg-color: hsla(199, 18%, 40%, 1); - --md-primary-fg-color--light: hsla(200, 18%, 46%, 1); - --md-primary-fg-color--dark: hsla(199, 18%, 33%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); -} - -[data-md-color-primary=white] { - --md-primary-fg-color: hsla(0, 0%, 100%, 1); - --md-primary-fg-color--light: hsla(0, 0%, 100%, 0.7); - --md-primary-fg-color--dark: hsla(0, 0%, 0%, 0.07); - --md-primary-bg-color: hsla(0, 0%, 0%, 0.87); - --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54); - --md-typeset-a-color: hsla(231, 48%, 48%, 1); -} -@media screen and (min-width: 60em) { - [data-md-color-primary=white] .md-search__input { - background-color: rgba(0, 0, 0, 0.07); - } - [data-md-color-primary=white] .md-search__input + .md-search__icon { - color: rgba(0, 0, 0, 0.87); - } - [data-md-color-primary=white] .md-search__input::-webkit-input-placeholder { - color: rgba(0, 0, 0, 0.54); - } - [data-md-color-primary=white] .md-search__input::-moz-placeholder { - color: rgba(0, 0, 0, 0.54); - } - [data-md-color-primary=white] .md-search__input::-ms-input-placeholder { - color: rgba(0, 0, 0, 0.54); - } - [data-md-color-primary=white] .md-search__input::placeholder { - color: rgba(0, 0, 0, 0.54); - } - [data-md-color-primary=white] .md-search__input:hover { - background-color: rgba(0, 0, 0, 0.32); - } -} -@media screen and (min-width: 76.25em) { - [data-md-color-primary=white] .md-tabs { - border-bottom: 0.05rem solid rgba(0, 0, 0, 0.07); - } -} - -[data-md-color-primary=black] { - --md-primary-fg-color: hsla(0, 0%, 0%, 1); - --md-primary-fg-color--light: hsla(0, 0%, 0%, 0.54); - --md-primary-fg-color--dark: hsla(0, 0%, 0%, 1); - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); - --md-typeset-a-color: hsla(231, 48%, 48%, 1); -} -[data-md-color-primary=black] .md-header { - background-color: black; -} -@media screen and (max-width: 59.9375em) { - [data-md-color-primary=black] .md-nav__source { - background-color: rgba(0, 0, 0, 0.87); - } -} -@media screen and (min-width: 60em) { - [data-md-color-primary=black] .md-search__input { - background-color: rgba(255, 255, 255, 0.12); - } - [data-md-color-primary=black] .md-search__input:hover { - background-color: rgba(255, 255, 255, 0.3); - } -} -@media screen and (max-width: 76.1875em) { - html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer] { - background-color: black; - } -} -@media screen and (min-width: 76.25em) { - [data-md-color-primary=black] .md-tabs { - background-color: black; - } -} - -@media screen { - [data-md-color-scheme=slate] { - --md-hue: 232; - --md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1); - --md-default-fg-color--light: hsla(var(--md-hue), 75%, 90%, 0.62); - --md-default-fg-color--lighter: hsla(var(--md-hue), 75%, 90%, 0.32); - --md-default-fg-color--lightest: hsla(var(--md-hue), 75%, 90%, 0.12); - --md-default-bg-color: hsla(var(--md-hue), 15%, 21%, 1); - --md-default-bg-color--light: hsla(var(--md-hue), 15%, 21%, 0.54); - --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 21%, 0.26); - --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 21%, 0.07); - --md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 1); - --md-code-bg-color: hsla(var(--md-hue), 15%, 15%, 1); - --md-code-hl-color: hsla(218, 100%, 63%, 0.15); - --md-code-hl-number-color: hsla(6, 74%, 63%, 1); - --md-code-hl-special-color: hsla(340, 83%, 66%, 1); - --md-code-hl-function-color: hsla(291, 57%, 65%, 1); - --md-code-hl-constant-color: hsla(250, 62%, 70%, 1); - --md-code-hl-keyword-color: hsla(219, 66%, 64%, 1); - --md-code-hl-string-color: hsla(150, 58%, 44%, 1); - --md-typeset-a-color: var(--md-primary-fg-color--light); - --md-typeset-mark-color: hsla(218, 100%, 63%, 0.3); - --md-typeset-kbd-color: hsla(var(--md-hue), 15%, 94%, 0.12); - --md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 94%, 0.2); - --md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1); - --md-admonition-bg-color: hsla(var(--md-hue), 0%, 100%, 0.025); - --md-footer-bg-color: hsla(var(--md-hue), 15%, 12%, 0.87); - --md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 10%, 1); - } - [data-md-color-scheme=slate][data-md-color-primary=black], [data-md-color-scheme=slate][data-md-color-primary=white] { - --md-typeset-a-color: hsla(231, 44%, 56%, 1); - } -} -/*# sourceMappingURL=palette.css.map */ \ No newline at end of file diff --git a/material/assets/stylesheets/palette.css.map b/material/assets/stylesheets/palette.css.map deleted file mode 100644 index 7a3bad4f8..000000000 --- a/material/assets/stylesheets/palette.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/assets/stylesheets/src/assets/stylesheets/palette/_accent.scss","../../../src/assets/stylesheets/palette.scss","../../../src/assets/stylesheets/src/assets/stylesheets/palette/_primary.scss","../../../src/assets/stylesheets/src/assets/stylesheets/utilities/_break.scss","../../../src/assets/stylesheets/src/assets/stylesheets/palette/_scheme.scss"],"names":[],"mappings":"AA8CE;EACE,6CAAA;EACA,4DAAA;EAOE,0CAAA;EACA,mDAAA;ACnDN;;ADyCE;EACE,6CAAA;EACA,4DAAA;EAOE,0CAAA;EACA,mDAAA;AC5CN;;ADkCE;EACE,4CAAA;EACA,2DAAA;EAOE,0CAAA;EACA,mDAAA;ACrCN;;AD2BE;EACE,6CAAA;EACA,4DAAA;EAOE,0CAAA;EACA,mDAAA;AC9BN;;ADoBE;EACE,4CAAA;EACA,2DAAA;EAOE,0CAAA;EACA,mDAAA;ACvBN;;ADaE;EACE,6CAAA;EACA,4DAAA;EAOE,0CAAA;EACA,mDAAA;AChBN;;ADME;EACE,6CAAA;EACA,4DAAA;EAOE,0CAAA;EACA,mDAAA;ACTN;;ADDE;EACE,6CAAA;EACA,4DAAA;EAOE,0CAAA;EACA,mDAAA;ACFN;;ADRE;EACE,6CAAA;EACA,4DAAA;EAOE,0CAAA;EACA,mDAAA;ACKN;;ADfE;EACE,6CAAA;EACA,4DAAA;EAOE,0CAAA;EACA,mDAAA;ACYN;;ADtBE;EACE,2CAAA;EACA,0DAAA;EAOE,0CAAA;EACA,mDAAA;ACmBN;;AD7BE;EACE,4CAAA;EACA,2DAAA;EAIE,2CAAA;EACA,kDAAA;AC6BN;;ADpCE;EACE,4CAAA;EACA,2DAAA;EAIE,2CAAA;EACA,kDAAA;ACoCN;;AD3CE;EACE,4CAAA;EACA,2DAAA;EAIE,2CAAA;EACA,kDAAA;AC2CN;;ADlDE;EACE,4CAAA;EACA,2DAAA;EAIE,2CAAA;EACA,kDAAA;ACkDN;;ADzDE;EACE,4CAAA;EACA,2DAAA;EAOE,0CAAA;EACA,mDAAA;ACsDN;;AC7DE;EACE,2CAAA;EACA,kDAAA;EACA,iDAAA;EAOE,2CAAA;EACA,oDAAA;AD0DN;;ACrEE;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAOE,2CAAA;EACA,oDAAA;ADkEN;;AC7EE;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAOE,2CAAA;EACA,oDAAA;AD0EN;;ACrFE;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAOE,2CAAA;EACA,oDAAA;ADkFN;;AC7FE;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAOE,2CAAA;EACA,oDAAA;AD0FN;;ACrGE;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAOE,2CAAA;EACA,oDAAA;ADkGN;;AC7GE;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAOE,2CAAA;EACA,oDAAA;AD0GN;;ACrHE;EACE,8CAAA;EACA,oDAAA;EACA,oDAAA;EAOE,2CAAA;EACA,oDAAA;ADkHN;;AC7HE;EACE,8CAAA;EACA,oDAAA;EACA,oDAAA;EAOE,2CAAA;EACA,oDAAA;AD0HN;;ACrIE;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAOE,2CAAA;EACA,oDAAA;ADkIN;;AC7IE;EACE,4CAAA;EACA,mDAAA;EACA,kDAAA;EAOE,2CAAA;EACA,oDAAA;AD0IN;;ACrJE;EACE,4CAAA;EACA,mDAAA;EACA,kDAAA;EAIE,4CAAA;EACA,mDAAA;ADqJN;;AC7JE;EACE,6CAAA;EACA,oDAAA;EACA,kDAAA;EAIE,4CAAA;EACA,mDAAA;AD6JN;;ACrKE;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAIE,4CAAA;EACA,mDAAA;ADqKN;;AC7KE;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAIE,4CAAA;EACA,mDAAA;AD6KN;;ACrLE;EACE,6CAAA;EACA,oDAAA;EACA,kDAAA;EAOE,2CAAA;EACA,oDAAA;ADkLN;;AC7LE;EACE,4CAAA;EACA,mDAAA;EACA,kDAAA;EAOE,2CAAA;EACA,oDAAA;AD0LN;;ACrME;EACE,0CAAA;EACA,iDAAA;EACA,gDAAA;EAOE,2CAAA;EACA,oDAAA;ADkMN;;AC7ME;EACE,6CAAA;EACA,oDAAA;EACA,mDAAA;EAOE,2CAAA;EACA,oDAAA;AD0MN;;AChMA;EACE,2CAAA;EACA,oDAAA;EACA,kDAAA;EACA,4CAAA;EACA,mDAAA;EAGA,4CAAA;ADiMF;AElFI;EDzGA;IACE,qCAAA;ED8LJ;EC3LI;IACE,0BAAA;ED6LN;ECzLI;IACE,0BAAA;ED2LN;EC5LI;IACE,0BAAA;ED2LN;EC5LI;IACE,0BAAA;ED2LN;EC5LI;IACE,0BAAA;ED2LN;ECvLI;IACE,qCAAA;EDyLN;AACF;AEhGI;EDjFA;IACE,gDAAA;EDoLJ;AACF;;AC3KA;EACE,yCAAA;EACA,mDAAA;EACA,+CAAA;EACA,2CAAA;EACA,oDAAA;EAGA,4CAAA;AD4KF;ACzKE;EACE,uBAAA;AD2KJ;AE9FI;EDtEA;IACE,qCAAA;EDuKJ;AACF;AEtHI;ED1CA;IACE,2CAAA;EDmKJ;EChKI;IACE,0CAAA;EDkKN;AACF;AE3GI;ED/CA;IACE,uBAAA;ED6JJ;AACF;AEnII;EDnBA;IACE,uBAAA;EDyJJ;AACF;;AG1SA;EAGE;IAKE,aAAA;IAGA,uDAAA;IACA,iEAAA;IACA,mEAAA;IACA,oEAAA;IACA,uDAAA;IACA,iEAAA;IACA,mEAAA;IACA,oEAAA;IAGA,oDAAA;IACA,oDAAA;IAGA,8CAAA;IACA,+CAAA;IACA,kDAAA;IACA,mDAAA;IACA,mDAAA;IACA,kDAAA;IACA,iDAAA;IAGA,uDAAA;IAGA,kDAAA;IAGA,2DAAA;IACA,iEAAA;IACA,+DAAA;IAGA,8DAAA;IAGA,yDAAA;IACA,4DAAA;EHuRF;EGpRE;IAIE,4CAAA;EHmRJ;AACF","file":"palette.css"} \ No newline at end of file diff --git a/material/base.html b/material/base.html index a67bcc8cb..3a1e7627b 100644 --- a/material/base.html +++ b/material/base.html @@ -39,10 +39,10 @@ {% endif %} {% endblock %} {% block styles %} - + {% if config.theme.palette %} {% set palette = config.theme.palette %} - + {% if palette.primary %} {% import "partials/palette.html" as map %} {% set primary = map.primary( @@ -61,7 +61,7 @@ font.text | replace(' ', '+') + ':300,400,400i,700%7C' + font.code | replace(' ', '+') }}&display=fallback"> - + {% endif %} {% endblock %} {% if config.extra.manifest %} @@ -191,7 +191,7 @@ "base": base_url, "features": features, "translations": {}, - "search": "assets/javascripts/worker/search.js" | url, + "search": "assets/javascripts/workers/search.217ffd95.min.js" | url, } -%} {%- set translations = app.translations -%} {%- for key in [ @@ -216,7 +216,7 @@ {% endblock %} {% block scripts %} - + {% for path in config["extra_javascript"] %} {% endfor %} diff --git a/material/overrides/assets/javascripts/bundle.js b/material/overrides/assets/javascripts/bundle.0a1bb8db.min.js similarity index 99% rename from material/overrides/assets/javascripts/bundle.js rename to material/overrides/assets/javascripts/bundle.0a1bb8db.min.js index 9daa9660d..18bac2615 100644 --- a/material/overrides/assets/javascripts/bundle.js +++ b/material/overrides/assets/javascripts/bundle.0a1bb8db.min.js @@ -15,4 +15,5 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -//# sourceMappingURL=bundle.js.map +//# sourceMappingURL=bundle.0a1bb8db.min.js + diff --git a/material/overrides/assets/javascripts/bundle.js.map b/material/overrides/assets/javascripts/bundle.0a1bb8db.min.js.map similarity index 81% rename from material/overrides/assets/javascripts/bundle.js.map rename to material/overrides/assets/javascripts/bundle.0a1bb8db.min.js.map index 7c57cb357..54bc56cd6 100644 --- a/material/overrides/assets/javascripts/bundle.js.map +++ b/material/overrides/assets/javascripts/bundle.0a1bb8db.min.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../../../node_modules/fuzzaldrin-plus/lib/scorer.js", "../../../../node_modules/fuzzaldrin-plus/lib/pathScorer.js", "../../../../node_modules/fuzzaldrin-plus/lib/query.js", "../../../../node_modules/fuzzaldrin-plus/lib/filter.js", "../../../../node_modules/fuzzaldrin-plus/lib/matcher.js", "../../../../node_modules/fuzzaldrin-plus/lib/fuzzaldrin.js", "../../../../node_modules/rxjs/node_modules/tslib/tslib.es6.js", "../../../../node_modules/rxjs/src/internal/util/isFunction.ts", "../../../../node_modules/rxjs/src/internal/util/createErrorClass.ts", "../../../../node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "../../../../node_modules/rxjs/src/internal/util/arrRemove.ts", "../../../../node_modules/rxjs/src/internal/Subscription.ts", "../../../../node_modules/rxjs/src/internal/config.ts", "../../../../node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "../../../../node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "../../../../node_modules/rxjs/src/internal/util/noop.ts", "../../../../node_modules/rxjs/src/internal/NotificationFactories.ts", "../../../../node_modules/rxjs/src/internal/Subscriber.ts", "../../../../node_modules/rxjs/src/internal/symbol/observable.ts", "../../../../node_modules/rxjs/src/internal/util/identity.ts", "../../../../node_modules/rxjs/src/internal/util/pipe.ts", "../../../../node_modules/rxjs/src/internal/Observable.ts", "../../../../node_modules/rxjs/src/internal/util/lift.ts", "../../../../node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "../../../../node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "../../../../node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "../../../../node_modules/rxjs/src/internal/Subject.ts", "../../../../node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "../../../../node_modules/rxjs/src/internal/ReplaySubject.ts", "../../../../node_modules/rxjs/src/internal/scheduler/Action.ts", "../../../../node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "../../../../node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "../../../../node_modules/rxjs/src/internal/Scheduler.ts", "../../../../node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "../../../../node_modules/rxjs/src/internal/scheduler/async.ts", "../../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "../../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "../../../../node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "../../../../node_modules/rxjs/src/internal/observable/empty.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "../../../../node_modules/rxjs/src/internal/util/isArrayLike.ts", "../../../../node_modules/rxjs/src/internal/util/isPromise.ts", "../../../../node_modules/rxjs/src/internal/symbol/iterator.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "../../../../node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "../../../../node_modules/rxjs/src/internal/util/caughtSchedule.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "../../../../node_modules/rxjs/src/internal/util/isInteropObservable.ts", "../../../../node_modules/rxjs/src/internal/util/isIterable.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "../../../../node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "../../../../node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "../../../../node_modules/rxjs/src/internal/scheduled/scheduled.ts", "../../../../node_modules/rxjs/src/internal/observable/from.ts", "../../../../node_modules/rxjs/src/internal/observable/fromArray.ts", "../../../../node_modules/rxjs/src/internal/util/isScheduler.ts", "../../../../node_modules/rxjs/src/internal/util/args.ts", "../../../../node_modules/rxjs/src/internal/observable/of.ts", "../../../../node_modules/rxjs/src/internal/util/isDate.ts", "../../../../node_modules/rxjs/src/internal/operators/map.ts", "../../../../node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "../../../../node_modules/rxjs/src/internal/operators/observeOn.ts", "../../../../node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "../../../../node_modules/rxjs/src/internal/observable/combineLatest.ts", "../../../../node_modules/rxjs/src/internal/operators/mergeInternals.ts", "../../../../node_modules/rxjs/src/internal/operators/mergeMap.ts", "../../../../node_modules/rxjs/src/internal/operators/mergeAll.ts", "../../../../node_modules/rxjs/src/internal/operators/concatAll.ts", "../../../../node_modules/rxjs/src/internal/observable/concat.ts", "../../../../node_modules/rxjs/src/internal/observable/defer.ts", "../../../../node_modules/rxjs/src/internal/observable/fromEvent.ts", "../../../../node_modules/rxjs/src/internal/observable/timer.ts", "../../../../node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "../../../../node_modules/rxjs/src/internal/observable/merge.ts", "../../../../node_modules/rxjs/src/internal/observable/never.ts", "../../../../node_modules/rxjs/src/internal/operators/filter.ts", "../../../../node_modules/rxjs/src/internal/observable/zip.ts", "../../../../node_modules/rxjs/src/internal/operators/bufferCount.ts", "../../../../node_modules/rxjs/src/internal/operators/take.ts", "../../../../node_modules/rxjs/src/internal/operators/ignoreElements.ts", "../../../../node_modules/rxjs/src/internal/operators/mapTo.ts", "../../../../node_modules/rxjs/src/internal/operators/delayWhen.ts", "../../../../node_modules/rxjs/src/internal/operators/delay.ts", "../../../../node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "../../../../node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "../../../../node_modules/rxjs/src/internal/operators/finalize.ts", "../../../../node_modules/rxjs/src/internal/operators/share.ts", "../../../../node_modules/rxjs/src/internal/operators/shareReplay.ts", "../../../../node_modules/rxjs/src/internal/operators/startWith.ts", "../../../../node_modules/rxjs/src/internal/operators/switchMap.ts", "../../../../node_modules/rxjs/src/internal/operators/tap.ts", "../../../../node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "../../../../node_modules/rxjs/src/internal/operators/zipWith.ts", "../../../../src/assets/javascripts/browser/element/_/index.ts", "../../../../src/assets/javascripts/browser/element/focus/index.ts", "../../../../src/assets/javascripts/browser/element/size/index.ts", "../../../../src/assets/javascripts/browser/element/offset/index.ts", "../../../../src/assets/javascripts/browser/toggle/index.ts", "../../../../src/assets/javascripts/browser/location/_/index.ts", "../../../../src/assets/javascripts/browser/request/index.ts", "../../../../src/overrides/assets/javascripts/components/_/index.ts", "../../../../src/assets/javascripts/_/index.ts", "../../../../src/overrides/assets/javascripts/components/icon-search/query/index.ts", "../../../../src/overrides/assets/javascripts/components/icon-search/result/index.ts", "../../../../src/assets/javascripts/utilities/h/index.ts", "../../../../src/assets/javascripts/utilities/string/index.ts", "../../../../src/assets/javascripts/actions/search/result/index.ts", "../../../../src/overrides/assets/javascripts/templates/icon-search/index.tsx", "../../../../src/overrides/assets/javascripts/components/icon-search/_/index.ts", "../../../../src/overrides/assets/javascripts/integrations/analytics/index.ts", "../../../../src/overrides/assets/javascripts/index.ts"], - "sourcesContent": ["(function() {\n var AcronymResult, computeScore, emptyAcronymResult, isAcronymFullWord, isMatch, isSeparator, isWordEnd, isWordStart, miss_coeff, pos_bonus, scoreAcronyms, scoreCharacter, scoreConsecutives, scoreExact, scoreExactMatch, scorePattern, scorePosition, scoreSize, tau_size, wm;\n\n wm = 150;\n\n pos_bonus = 20;\n\n tau_size = 150;\n\n miss_coeff = 0.75;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n return Math.ceil(score);\n };\n\n exports.isMatch = isMatch = function(subject, query_lw, query_up) {\n var i, j, m, n, qj_lw, qj_up, si;\n m = subject.length;\n n = query_lw.length;\n if (!m || n > m) {\n return false;\n }\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw.charCodeAt(j);\n qj_up = query_up.charCodeAt(j);\n while (++i < m) {\n si = subject.charCodeAt(i);\n if (si === qj_lw || si === qj_up) {\n break;\n }\n }\n if (i === m) {\n return false;\n }\n }\n return true;\n };\n\n exports.computeScore = computeScore = function(subject, subject_lw, preparedQuery) {\n var acro, acro_score, align, csc_diag, csc_row, csc_score, csc_should_rebuild, i, j, m, miss_budget, miss_left, n, pos, query, query_lw, record_miss, score, score_diag, score_row, score_up, si_lw, start, sz;\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro = scoreAcronyms(subject, subject_lw, query, query_lw);\n acro_score = acro.score;\n if (acro.count === n) {\n return scoreExact(n, m, acro_score, acro.pos);\n }\n pos = subject_lw.indexOf(query_lw);\n if (pos > -1) {\n return scoreExactMatch(subject, subject_lw, query, query_lw, pos, n, m);\n }\n score_row = new Array(n);\n csc_row = new Array(n);\n sz = scoreSize(n, m);\n miss_budget = Math.ceil(miss_coeff * n) + 5;\n miss_left = miss_budget;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n si_lw = subject_lw[i];\n if (!si_lw.charCodeAt(0) in preparedQuery.charCodes) {\n if (csc_should_rebuild) {\n j = -1;\n while (++j < n) {\n csc_row[j] = 0;\n }\n csc_should_rebuild = false;\n }\n continue;\n }\n score = 0;\n score_diag = 0;\n csc_diag = 0;\n record_miss = true;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_up = score_row[j];\n if (score_up > score) {\n score = score_up;\n }\n csc_score = 0;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n if (align > score) {\n score = align;\n miss_left = miss_budget;\n } else {\n if (record_miss && --miss_left <= 0) {\n return Math.max(score, score_row[n - 1]) * sz;\n }\n record_miss = false;\n }\n }\n score_diag = score_up;\n csc_diag = csc_row[j];\n csc_row[j] = csc_score;\n score_row[j] = score;\n }\n }\n score = score_row[n - 1];\n return score * sz;\n };\n\n exports.isWordStart = isWordStart = function(pos, subject, subject_lw) {\n var curr_s, prev_s;\n if (pos === 0) {\n return true;\n }\n curr_s = subject[pos];\n prev_s = subject[pos - 1];\n return isSeparator(prev_s) || (curr_s !== subject_lw[pos] && prev_s === subject_lw[pos - 1]);\n };\n\n exports.isWordEnd = isWordEnd = function(pos, subject, subject_lw, len) {\n var curr_s, next_s;\n if (pos === len - 1) {\n return true;\n }\n curr_s = subject[pos];\n next_s = subject[pos + 1];\n return isSeparator(next_s) || (curr_s === subject_lw[pos] && next_s !== subject_lw[pos + 1]);\n };\n\n isSeparator = function(c) {\n return c === ' ' || c === '.' || c === '-' || c === '_' || c === '/' || c === '\\\\';\n };\n\n scorePosition = function(pos) {\n var sc;\n if (pos < pos_bonus) {\n sc = pos_bonus - pos;\n return 100 + sc * sc;\n } else {\n return Math.max(100 + pos_bonus - pos, 0);\n }\n };\n\n exports.scoreSize = scoreSize = function(n, m) {\n return tau_size / (tau_size + Math.abs(m - n));\n };\n\n scoreExact = function(n, m, quality, pos) {\n return 2 * n * (wm * quality + scorePosition(pos)) * scoreSize(n, m);\n };\n\n exports.scorePattern = scorePattern = function(count, len, sameCase, start, end) {\n var bonus, sz;\n sz = count;\n bonus = 6;\n if (sameCase === count) {\n bonus += 2;\n }\n if (start) {\n bonus += 3;\n }\n if (end) {\n bonus += 1;\n }\n if (count === len) {\n if (start) {\n if (sameCase === len) {\n sz += 2;\n } else {\n sz += 1;\n }\n }\n if (end) {\n bonus += 1;\n }\n }\n return sameCase + sz * (sz + bonus);\n };\n\n exports.scoreCharacter = scoreCharacter = function(i, j, start, acro_score, csc_score) {\n var posBonus;\n posBonus = scorePosition(i);\n if (start) {\n return posBonus + wm * ((acro_score > csc_score ? acro_score : csc_score) + 10);\n }\n return posBonus + wm * csc_score;\n };\n\n exports.scoreConsecutives = scoreConsecutives = function(subject, subject_lw, query, query_lw, i, j, startOfWord) {\n var k, m, mi, n, nj, sameCase, sz;\n m = subject.length;\n n = query.length;\n mi = m - i;\n nj = n - j;\n k = mi < nj ? mi : nj;\n sameCase = 0;\n sz = 0;\n if (query[j] === subject[i]) {\n sameCase++;\n }\n while (++sz < k && query_lw[++j] === subject_lw[++i]) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n }\n if (sz < k) {\n i--;\n }\n if (sz === 1) {\n return 1 + 2 * sameCase;\n }\n return scorePattern(sz, n, sameCase, startOfWord, isWordEnd(i, subject, subject_lw, m));\n };\n\n exports.scoreExactMatch = scoreExactMatch = function(subject, subject_lw, query, query_lw, pos, n, m) {\n var end, i, pos2, sameCase, start;\n start = isWordStart(pos, subject, subject_lw);\n if (!start) {\n pos2 = subject_lw.indexOf(query_lw, pos + 1);\n if (pos2 > -1) {\n start = isWordStart(pos2, subject, subject_lw);\n if (start) {\n pos = pos2;\n }\n }\n }\n i = -1;\n sameCase = 0;\n while (++i < n) {\n if (query[pos + i] === subject[i]) {\n sameCase++;\n }\n }\n end = isWordEnd(pos + n - 1, subject, subject_lw, m);\n return scoreExact(n, m, scorePattern(n, n, sameCase, start, end), pos);\n };\n\n AcronymResult = (function() {\n function AcronymResult(score, pos, count) {\n this.score = score;\n this.pos = pos;\n this.count = count;\n }\n\n return AcronymResult;\n\n })();\n\n emptyAcronymResult = new AcronymResult(0, 0.1, 0);\n\n exports.scoreAcronyms = scoreAcronyms = function(subject, subject_lw, query, query_lw) {\n var count, fullWord, i, j, m, n, qj_lw, sameCase, score, sepCount, sumPos;\n m = subject.length;\n n = query.length;\n if (!(m > 1 && n > 1)) {\n return emptyAcronymResult;\n }\n count = 0;\n sepCount = 0;\n sumPos = 0;\n sameCase = 0;\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw[j];\n if (isSeparator(qj_lw)) {\n i = subject_lw.indexOf(qj_lw, i + 1);\n if (i > -1) {\n sepCount++;\n continue;\n } else {\n break;\n }\n }\n while (++i < m) {\n if (qj_lw === subject_lw[i] && isWordStart(i, subject, subject_lw)) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n sumPos += i;\n count++;\n break;\n }\n }\n if (i === m) {\n break;\n }\n }\n if (count < 2) {\n return emptyAcronymResult;\n }\n fullWord = count === n ? isAcronymFullWord(subject, subject_lw, query, count) : false;\n score = scorePattern(count, n, sameCase, true, fullWord);\n return new AcronymResult(score, sumPos / count, count + sepCount);\n };\n\n isAcronymFullWord = function(subject, subject_lw, query, nbAcronymInQuery) {\n var count, i, m, n;\n m = subject.length;\n n = query.length;\n count = 0;\n if (m > 12 * n) {\n return false;\n }\n i = -1;\n while (++i < m) {\n if (isWordStart(i, subject, subject_lw) && ++count > nbAcronymInQuery) {\n return false;\n }\n }\n return true;\n };\n\n}).call(this);\n", "(function() {\n var computeScore, countDir, file_coeff, getExtension, getExtensionScore, isMatch, scorePath, scoreSize, tau_depth, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, computeScore = _ref.computeScore, scoreSize = _ref.scoreSize;\n\n tau_depth = 20;\n\n file_coeff = 2.5;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n score = scorePath(string, string_lw, score, options);\n return Math.ceil(score);\n };\n\n scorePath = function(subject, subject_lw, fullPathScore, options) {\n var alpha, basePathScore, basePos, depth, end, extAdjust, fileLength, pathSeparator, preparedQuery, useExtensionBonus;\n if (fullPathScore === 0) {\n return 0;\n }\n preparedQuery = options.preparedQuery, useExtensionBonus = options.useExtensionBonus, pathSeparator = options.pathSeparator;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n fileLength = end - basePos;\n extAdjust = 1.0;\n if (useExtensionBonus) {\n extAdjust += getExtensionScore(subject_lw, preparedQuery.ext, basePos, end, 2);\n fullPathScore *= extAdjust;\n }\n if (basePos === -1) {\n return fullPathScore;\n }\n depth = preparedQuery.depth;\n while (basePos > -1 && depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n }\n basePathScore = basePos === -1 ? fullPathScore : extAdjust * computeScore(subject.slice(basePos + 1, end + 1), subject_lw.slice(basePos + 1, end + 1), preparedQuery);\n alpha = 0.5 * tau_depth / (tau_depth + countDir(subject, end + 1, pathSeparator));\n return alpha * basePathScore + (1 - alpha) * fullPathScore * scoreSize(0, file_coeff * fileLength);\n };\n\n exports.countDir = countDir = function(path, end, pathSeparator) {\n var count, i;\n if (end < 1) {\n return 0;\n }\n count = 0;\n i = -1;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n while (++i < end) {\n if (path[i] === pathSeparator) {\n count++;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n }\n }\n return count;\n };\n\n exports.getExtension = getExtension = function(str) {\n var pos;\n pos = str.lastIndexOf(\".\");\n if (pos < 0) {\n return \"\";\n } else {\n return str.substr(pos + 1);\n }\n };\n\n getExtensionScore = function(candidate, ext, startPos, endPos, maxDepth) {\n var m, matched, n, pos;\n if (!ext.length) {\n return 0;\n }\n pos = candidate.lastIndexOf(\".\", endPos);\n if (!(pos > startPos)) {\n return 0;\n }\n n = ext.length;\n m = endPos - pos;\n if (m < n) {\n n = m;\n m = ext.length;\n }\n pos++;\n matched = -1;\n while (++matched < n) {\n if (candidate[pos + matched] !== ext[matched]) {\n break;\n }\n }\n if (matched === 0 && maxDepth > 0) {\n return 0.9 * getExtensionScore(candidate, ext, startPos, pos - 2, maxDepth - 1);\n }\n return matched / m;\n };\n\n}).call(this);\n", "(function() {\n var Query, coreChars, countDir, getCharCodes, getExtension, opt_char_re, truncatedUpperCase, _ref;\n\n _ref = require(\"./pathScorer\"), countDir = _ref.countDir, getExtension = _ref.getExtension;\n\n module.exports = Query = (function() {\n function Query(query, _arg) {\n var optCharRegEx, pathSeparator, _ref1;\n _ref1 = _arg != null ? _arg : {}, optCharRegEx = _ref1.optCharRegEx, pathSeparator = _ref1.pathSeparator;\n if (!(query && query.length)) {\n return null;\n }\n this.query = query;\n this.query_lw = query.toLowerCase();\n this.core = coreChars(query, optCharRegEx);\n this.core_lw = this.core.toLowerCase();\n this.core_up = truncatedUpperCase(this.core);\n this.depth = countDir(query, query.length, pathSeparator);\n this.ext = getExtension(this.query_lw);\n this.charCodes = getCharCodes(this.query_lw);\n }\n\n return Query;\n\n })();\n\n opt_char_re = /[ _\\-:\\/\\\\]/g;\n\n coreChars = function(query, optCharRegEx) {\n if (optCharRegEx == null) {\n optCharRegEx = opt_char_re;\n }\n return query.replace(optCharRegEx, '');\n };\n\n truncatedUpperCase = function(str) {\n var char, upper, _i, _len;\n upper = \"\";\n for (_i = 0, _len = str.length; _i < _len; _i++) {\n char = str[_i];\n upper += char.toUpperCase()[0];\n }\n return upper;\n };\n\n getCharCodes = function(str) {\n var charCodes, i, len;\n len = str.length;\n i = -1;\n charCodes = [];\n while (++i < len) {\n charCodes[str.charCodeAt(i)] = true;\n }\n return charCodes;\n };\n\n}).call(this);\n", "(function() {\n var Query, pathScorer, pluckCandidates, scorer, sortCandidates;\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n pluckCandidates = function(a) {\n return a.candidate;\n };\n\n sortCandidates = function(a, b) {\n return b.score - a.score;\n };\n\n module.exports = function(candidates, query, options) {\n var bKey, candidate, key, maxInners, maxResults, score, scoreProvider, scoredCandidates, spotLeft, string, usePathScoring, _i, _len;\n scoredCandidates = [];\n key = options.key, maxResults = options.maxResults, maxInners = options.maxInners, usePathScoring = options.usePathScoring;\n spotLeft = (maxInners != null) && maxInners > 0 ? maxInners : candidates.length + 1;\n bKey = key != null;\n scoreProvider = usePathScoring ? pathScorer : scorer;\n for (_i = 0, _len = candidates.length; _i < _len; _i++) {\n candidate = candidates[_i];\n string = bKey ? candidate[key] : candidate;\n if (!string) {\n continue;\n }\n score = scoreProvider.score(string, query, options);\n if (score > 0) {\n scoredCandidates.push({\n candidate: candidate,\n score: score\n });\n if (!--spotLeft) {\n break;\n }\n }\n }\n scoredCandidates.sort(sortCandidates);\n candidates = scoredCandidates.map(pluckCandidates);\n if (maxResults != null) {\n candidates = candidates.slice(0, maxResults);\n }\n return candidates;\n };\n\n}).call(this);\n", "(function() {\n var basenameMatch, computeMatch, isMatch, isWordStart, match, mergeMatches, scoreAcronyms, scoreCharacter, scoreConsecutives, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, isWordStart = _ref.isWordStart, scoreConsecutives = _ref.scoreConsecutives, scoreCharacter = _ref.scoreCharacter, scoreAcronyms = _ref.scoreAcronyms;\n\n exports.match = match = function(string, query, options) {\n var allowErrors, baseMatches, matches, pathSeparator, preparedQuery, string_lw;\n allowErrors = options.allowErrors, preparedQuery = options.preparedQuery, pathSeparator = options.pathSeparator;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return [];\n }\n string_lw = string.toLowerCase();\n matches = computeMatch(string, string_lw, preparedQuery);\n if (matches.length === 0) {\n return matches;\n }\n if (string.indexOf(pathSeparator) > -1) {\n baseMatches = basenameMatch(string, string_lw, preparedQuery, pathSeparator);\n matches = mergeMatches(matches, baseMatches);\n }\n return matches;\n };\n\n exports.wrap = function(string, query, options) {\n var matchIndex, matchPos, matchPositions, output, strPos, tagClass, tagClose, tagOpen, _ref1;\n if ((options.wrap != null)) {\n _ref1 = options.wrap, tagClass = _ref1.tagClass, tagOpen = _ref1.tagOpen, tagClose = _ref1.tagClose;\n }\n if (tagClass == null) {\n tagClass = 'highlight';\n }\n if (tagOpen == null) {\n tagOpen = '';\n }\n if (tagClose == null) {\n tagClose = '';\n }\n if (string === query) {\n return tagOpen + string + tagClose;\n }\n matchPositions = match(string, query, options);\n if (matchPositions.length === 0) {\n return string;\n }\n output = '';\n matchIndex = -1;\n strPos = 0;\n while (++matchIndex < matchPositions.length) {\n matchPos = matchPositions[matchIndex];\n if (matchPos > strPos) {\n output += string.substring(strPos, matchPos);\n strPos = matchPos;\n }\n while (++matchIndex < matchPositions.length) {\n if (matchPositions[matchIndex] === matchPos + 1) {\n matchPos++;\n } else {\n matchIndex--;\n break;\n }\n }\n matchPos++;\n if (matchPos > strPos) {\n output += tagOpen;\n output += string.substring(strPos, matchPos);\n output += tagClose;\n strPos = matchPos;\n }\n }\n if (strPos <= string.length - 1) {\n output += string.substring(strPos);\n }\n return output;\n };\n\n basenameMatch = function(subject, subject_lw, preparedQuery, pathSeparator) {\n var basePos, depth, end;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n if (basePos === -1) {\n return [];\n }\n depth = preparedQuery.depth;\n while (depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n if (basePos === -1) {\n return [];\n }\n }\n basePos++;\n end++;\n return computeMatch(subject.slice(basePos, end), subject_lw.slice(basePos, end), preparedQuery, basePos);\n };\n\n mergeMatches = function(a, b) {\n var ai, bj, i, j, m, n, out;\n m = a.length;\n n = b.length;\n if (n === 0) {\n return a.slice();\n }\n if (m === 0) {\n return b.slice();\n }\n i = -1;\n j = 0;\n bj = b[j];\n out = [];\n while (++i < m) {\n ai = a[i];\n while (bj <= ai && ++j < n) {\n if (bj < ai) {\n out.push(bj);\n }\n bj = b[j];\n }\n out.push(ai);\n }\n while (j < n) {\n out.push(b[j++]);\n }\n return out;\n };\n\n computeMatch = function(subject, subject_lw, preparedQuery, offset) {\n var DIAGONAL, LEFT, STOP, UP, acro_score, align, backtrack, csc_diag, csc_row, csc_score, i, j, m, matches, move, n, pos, query, query_lw, score, score_diag, score_row, score_up, si_lw, start, trace;\n if (offset == null) {\n offset = 0;\n }\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro_score = scoreAcronyms(subject, subject_lw, query, query_lw).score;\n score_row = new Array(n);\n csc_row = new Array(n);\n STOP = 0;\n UP = 1;\n LEFT = 2;\n DIAGONAL = 3;\n trace = new Array(m * n);\n pos = -1;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n score = 0;\n score_up = 0;\n csc_diag = 0;\n si_lw = subject_lw[i];\n j = -1;\n while (++j < n) {\n csc_score = 0;\n align = 0;\n score_diag = score_up;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n }\n score_up = score_row[j];\n csc_diag = csc_row[j];\n if (score > score_up) {\n move = LEFT;\n } else {\n score = score_up;\n move = UP;\n }\n if (align > score) {\n score = align;\n move = DIAGONAL;\n } else {\n csc_score = 0;\n }\n score_row[j] = score;\n csc_row[j] = csc_score;\n trace[++pos] = score > 0 ? move : STOP;\n }\n }\n i = m - 1;\n j = n - 1;\n pos = i * n + j;\n backtrack = true;\n matches = [];\n while (backtrack && i >= 0 && j >= 0) {\n switch (trace[pos]) {\n case UP:\n i--;\n pos -= n;\n break;\n case LEFT:\n j--;\n pos--;\n break;\n case DIAGONAL:\n matches.push(i + offset);\n j--;\n i--;\n pos -= n + 1;\n break;\n default:\n backtrack = false;\n }\n }\n matches.reverse();\n return matches;\n };\n\n}).call(this);\n", "(function() {\n var Query, defaultPathSeparator, filter, matcher, parseOptions, pathScorer, preparedQueryCache, scorer;\n\n filter = require('./filter');\n\n matcher = require('./matcher');\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n preparedQueryCache = null;\n\n defaultPathSeparator = (typeof process !== \"undefined\" && process !== null ? process.platform : void 0) === \"win32\" ? '\\\\' : '/';\n\n module.exports = {\n filter: function(candidates, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((query != null ? query.length : void 0) && (candidates != null ? candidates.length : void 0))) {\n return [];\n }\n options = parseOptions(options, query);\n return filter(candidates, query, options);\n },\n score: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((string != null ? string.length : void 0) && (query != null ? query.length : void 0))) {\n return 0;\n }\n options = parseOptions(options, query);\n if (options.usePathScoring) {\n return pathScorer.score(string, query, options);\n } else {\n return scorer.score(string, query, options);\n }\n },\n match: function(string, query, options) {\n var _i, _ref, _results;\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n if (string === query) {\n return (function() {\n _results = [];\n for (var _i = 0, _ref = string.length; 0 <= _ref ? _i < _ref : _i > _ref; 0 <= _ref ? _i++ : _i--){ _results.push(_i); }\n return _results;\n }).apply(this);\n }\n options = parseOptions(options, query);\n return matcher.match(string, query, options);\n },\n wrap: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n options = parseOptions(options, query);\n return matcher.wrap(string, query, options);\n },\n prepareQuery: function(query, options) {\n if (options == null) {\n options = {};\n }\n options = parseOptions(options, query);\n return options.preparedQuery;\n }\n };\n\n parseOptions = function(options, query) {\n if (options.allowErrors == null) {\n options.allowErrors = false;\n }\n if (options.usePathScoring == null) {\n options.usePathScoring = true;\n }\n if (options.useExtensionBonus == null) {\n options.useExtensionBonus = false;\n }\n if (options.pathSeparator == null) {\n options.pathSeparator = defaultPathSeparator;\n }\n if (options.optCharRegEx == null) {\n options.optCharRegEx = null;\n }\n if (options.wrap == null) {\n options.wrap = null;\n }\n if (options.preparedQuery == null) {\n options.preparedQuery = preparedQueryCache && preparedQueryCache.query === query ? preparedQueryCache : (preparedQueryCache = new Query(query, options));\n }\n return options;\n };\n\n}).call(this);\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve an element matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element or nothing\n */\nexport function getElement(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElement(\n selector: string, node?: ParentNode\n): T | undefined\n\nexport function getElement(\n selector: string, node: ParentNode = document\n): T | undefined {\n return node.querySelector(selector) || undefined\n}\n\n/**\n * Retrieve an element matching a query selector or throw a reference error\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getElementOrThrow(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElementOrThrow(\n selector: string, node?: ParentNode\n): T\n\nexport function getElementOrThrow(\n selector: string, node: ParentNode = document\n): T {\n const el = getElement(selector, node)\n if (typeof el === \"undefined\")\n throw new ReferenceError(\n `Missing element: expected \"${selector}\" to be present`\n )\n return el\n}\n\n/**\n * Retrieve the currently active element\n *\n * @returns Element or nothing\n */\nexport function getActiveElement(): HTMLElement | undefined {\n return document.activeElement instanceof HTMLElement\n ? document.activeElement\n : undefined\n}\n\n/**\n * Retrieve all elements matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getElements(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T][]\n\nexport function getElements(\n selector: string, node?: ParentNode\n): T[]\n\nexport function getElements(\n selector: string, node: ParentNode = document\n): T[] {\n return Array.from(node.querySelectorAll(selector))\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Create an element\n *\n * @template T - Tag name type\n *\n * @param tagName - Tag name\n *\n * @returns Element\n */\nexport function createElement(\n tagName: T\n): HTMLElementTagNameMap[T] {\n return document.createElement(tagName)\n}\n\n/**\n * Replace an element with another element\n *\n * @param source - Source element\n * @param target - Target element\n */\nexport function replaceElement(\n source: HTMLElement, target: Node\n): void {\n source.replaceWith(target)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element focus\n *\n * @param el - Element\n * @param value - Whether the element should be focused\n */\nexport function setElementFocus(\n el: HTMLElement, value = true\n): void {\n if (value)\n el.focus()\n else\n el.blur()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element focus\n *\n * @param el - Element\n *\n * @returns Element focus observable\n */\nexport function watchElementFocus(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"focus\"),\n fromEvent(el, \"blur\")\n )\n .pipe(\n map(({ type }) => type === \"focus\"),\n startWith(el === getActiveElement())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n defer,\n of\n} from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n shareReplay,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementSize {\n width: number /* Element width */\n height: number /* Element height */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Resize observer entry subject\n */\nconst entry$ = new Subject()\n\n/**\n * Resize observer observable\n *\n * This observable will create a `ResizeObserver` on the first subscription\n * and will automatically terminate it when there are no more subscribers.\n * It's quite important to centralize observation in a single `ResizeObserver`,\n * as the performance difference can be quite dramatic, as the link shows.\n *\n * @see https://bit.ly/3iIYfEm - Google Groups on performance\n */\nconst observer$ = defer(() => of(\n new ResizeObserver(entries => {\n for (const entry of entries)\n entry$.next(entry)\n })\n))\n .pipe(\n switchMap(resize => NEVER.pipe(startWith(resize))\n .pipe(\n finalize(() => resize.disconnect())\n )\n ),\n shareReplay(1)\n )\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element size\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementSize(el: HTMLElement): ElementSize {\n return {\n width: el.offsetWidth,\n height: el.offsetHeight\n }\n}\n\n/**\n * Retrieve element content size, i.e. including overflowing content\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementContentSize(el: HTMLElement): ElementSize {\n return {\n width: el.scrollWidth,\n height: el.scrollHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element size\n *\n * This function returns an observable that subscribes to a single internal\n * instance of `ResizeObserver` upon subscription, and emit resize events until\n * termination. Note that this function should not be called with the same\n * element twice, as the first unsubscription will terminate observation.\n *\n * @param el - Element\n *\n * @returns Element size observable\n */\nexport function watchElementSize(\n el: HTMLElement\n): Observable {\n return observer$\n .pipe(\n tap(observer => observer.observe(el)),\n switchMap(observer => entry$\n .pipe(\n filter(({ target }) => target === el),\n finalize(() => observer.unobserve(el)),\n map(({ contentRect }) => ({\n width: contentRect.width,\n height: contentRect.height\n }))\n )\n ),\n startWith(getElementSize(el))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { distinctUntilChanged, map, startWith } from \"rxjs/operators\"\n\nimport { getElementContentSize, getElementSize } from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element offset\n *\n * @param el - Element\n *\n * @returns Element offset\n */\nexport function getElementOffset(el: HTMLElement): ElementOffset {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element offset\n *\n * @param el - Element\n *\n * @returns Element offset observable\n */\nexport function watchElementOffset(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"scroll\"),\n fromEvent(window, \"resize\")\n )\n .pipe(\n map(() => getElementOffset(el)),\n startWith(getElementOffset(el))\n )\n}\n\n/**\n * Watch element threshold\n *\n * This function returns an observable which emits whether the bottom scroll\n * offset of an elements is within a certain threshold.\n *\n * @param el - Element\n * @param threshold - Threshold\n *\n * @returns Element threshold observable\n */\nexport function watchElementThreshold(\n el: HTMLElement, threshold = 16\n): Observable {\n return watchElementOffset(el)\n .pipe(\n map(({ y }) => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return y >= (\n content.height - visible.height - threshold\n )\n }),\n distinctUntilChanged()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getElementOrThrow } from \"../element\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle\n */\nexport type Toggle =\n | \"drawer\" /* Toggle for drawer */\n | \"search\" /* Toggle for search */\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle map\n */\nconst toggles: Record = {\n drawer: getElementOrThrow(\"[data-md-toggle=drawer]\"),\n search: getElementOrThrow(\"[data-md-toggle=search]\")\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the value of a toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value\n */\nexport function getToggle(name: Toggle): boolean {\n return toggles[name].checked\n}\n\n/**\n * Set toggle\n *\n * Simulating a click event seems to be the most cross-browser compatible way\n * of changing the value while also emitting a `change` event. Before, Material\n * used `CustomEvent` to programmatically change the value of a toggle, but this\n * is a much simpler and cleaner solution which doesn't require a polyfill.\n *\n * @param name - Toggle\n * @param value - Toggle value\n */\nexport function setToggle(name: Toggle, value: boolean): void {\n if (toggles[name].checked !== value)\n toggles[name].click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value observable\n */\nexport function watchToggle(name: Toggle): Observable {\n const el = toggles[name]\n return fromEvent(el, \"change\")\n .pipe(\n map(() => el.checked),\n startWith(el.checked)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { BehaviorSubject, Subject } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location\n *\n * This function will return a `URL` object (and not `Location`) in order to\n * normalize typings across the application. Furthermore, locations need to be\n * tracked without setting them and `Location` is a singleton which represents\n * the current location.\n *\n * @returns URL\n */\nexport function getLocation(): URL {\n return new URL(location.href)\n}\n\n/**\n * Set location\n *\n * @param url - URL to change to\n */\nexport function setLocation(url: URL): void {\n location.href = url.href\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location\n *\n * @returns Location subject\n */\nexport function watchLocation(): Subject {\n return new BehaviorSubject(getLocation())\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, from } from \"rxjs\"\nimport {\n filter,\n map,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Response observable\n */\nexport function request(\n url: string, options: RequestInit = { credentials: \"same-origin\" }\n): Observable {\n return from(fetch(url, options))\n .pipe(\n filter(res => res.status === 200),\n )\n}\n\n/**\n * Fetch JSON from the given URL\n *\n * @template T - Data type\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestJSON(\n url: string, options?: RequestInit\n): Observable {\n return request(url, options)\n .pipe(\n switchMap(res => res.json()),\n shareReplay(1)\n )\n}\n\n/**\n * Fetch XML from the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestXML(\n url: string, options?: RequestInit\n): Observable {\n const dom = new DOMParser()\n return request(url, options)\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/xml\")),\n shareReplay(1)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Component\n */\nexport type ComponentType =\n | \"icon-search\" /* Icon search */\n | \"icon-search-query\" /* Icon search input */\n | \"icon-search-result\" /* Icon search results */\n\n/**\n * A component\n *\n * @template T - Component type\n * @template U - Reference type\n */\nexport type Component<\n T extends {} = {},\n U extends HTMLElement = HTMLElement\n> =\n T & {\n ref: U /* Component reference */\n }\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the element for a given component or throw a reference error\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getComponentElement(\n type: ComponentType, node: ParentNode = document\n): T {\n return getElementOrThrow(`[data-mdx-component=${type}]`, node)\n}\n\n/**\n * Retrieve all elements for a given component\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getComponentElements(\n type: ComponentType, node: ParentNode = document\n): T[] {\n return getElements(`[data-mdx-component=${type}]`, node)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getLocation } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Feature flag\n */\nexport type Flag =\n | \"header.autohide\" /* Hide header */\n | \"navigation.expand\" /* Automatic expansion */\n | \"navigation.instant\" /* Instant loading */\n | \"navigation.sections\" /* Sections navigation */\n | \"navigation.tabs\" /* Tabs navigation */\n | \"toc.integrate\" /* Integrated table of contents */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Translation\n */\nexport type Translation =\n | \"clipboard.copy\" /* Copy to clipboard */\n | \"clipboard.copied\" /* Copied to clipboard */\n | \"search.config.lang\" /* Search language */\n | \"search.config.pipeline\" /* Search pipeline */\n | \"search.config.separator\" /* Search separator */\n | \"search.placeholder\" /* Search */\n | \"search.result.placeholder\" /* Type to start searching */\n | \"search.result.none\" /* No matching documents */\n | \"search.result.one\" /* 1 matching document */\n | \"search.result.other\" /* # matching documents */\n | \"search.result.more.one\" /* 1 more on this page */\n | \"search.result.more.other\" /* # more on this page */\n | \"search.result.term.missing\" /* Missing */\n\n/**\n * Translations\n */\nexport type Translations = Record\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Configuration\n */\nexport interface Config {\n base: string /* Base URL */\n features: Flag[] /* Feature flags */\n translations: Translations /* Translations */\n search: string /* Search worker URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration and make base URL absolute\n */\nconst script = getElementOrThrow(\"#__config\")\nconst config: Config = JSON.parse(script.textContent!)\nconfig.base = new URL(config.base, getLocation())\n .toString()\n .replace(/\\/$/, \"\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration\n *\n * @returns Global configuration\n */\nexport function configuration(): Config {\n return config\n}\n\n/**\n * Check whether a feature flag is enabled\n *\n * @param flag - Feature flag\n *\n * @returns Test result\n */\nexport function feature(flag: Flag): boolean {\n return config.features.includes(flag)\n}\n\n/**\n * Retrieve the translation for the given key\n *\n * @param key - Key to be translated\n * @param value - Value to be replaced\n *\n * @returns Translation\n */\nexport function translation(\n key: Translation, value?: string | number\n): string {\n return typeof value !== \"undefined\"\n ? config.translations[key].replace(\"#\", value.toString())\n : config.translations[key]\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, combineLatest, fromEvent, merge } from \"rxjs\"\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport { watchElementFocus } from \"~/browser\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon search query\n */\nexport interface IconSearchQuery {\n value: string /* Query value */\n focus: boolean /* Query focus */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount icon search query\n *\n * @param el - Icon search query element\n *\n * @returns Icon search query component observable\n */\nexport function mountIconSearchQuery(\n el: HTMLInputElement\n): Observable> {\n\n /* Intercept focus and input events */\n const focus$ = watchElementFocus(el)\n const value$ = merge(\n fromEvent(el, \"keyup\"),\n fromEvent(el, \"focus\").pipe(delay(1))\n )\n .pipe(\n map(() => el.value),\n startWith(el.value),\n distinctUntilChanged()\n )\n\n /* Log search on blur */\n focus$\n .pipe(\n filter(active => !active),\n withLatestFrom(value$)\n )\n .subscribe(([, value]) => {\n const path = document.location.pathname\n ga(\"send\", \"pageview\", `${path}?q=[icon]+${value}`)\n })\n\n /* Combine into single observable */\n return combineLatest([value$, focus$])\n .pipe(\n map(([value, focus]) => ({ ref: el, value, focus })),\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { filter as search } from \"fuzzaldrin-plus\"\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n distinctUntilKeyChanged,\n filter,\n finalize,\n map,\n observeOn,\n switchMap,\n tap,\n withLatestFrom,\n zipWith\n} from \"rxjs/operators\"\n\nimport {\n addToSearchResultList,\n resetSearchResultList,\n resetSearchResultMeta,\n setSearchResultMeta\n} from \"~/actions\"\nimport {\n getElementOrThrow,\n watchElementThreshold\n} from \"~/browser\"\n\nimport { Icon, renderIconSearchResult } from \"../../../templates\"\nimport { Component } from \"../../_\"\nimport { IconSearchIndex } from \"../_\"\nimport { IconSearchQuery } from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon search result\n */\nexport interface IconSearchResult {\n data: Icon[] /* Search result data */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n index$: Observable /* Search index observable */\n query$: Observable /* Search query observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n index$: Observable /* Search index observable */\n query$: Observable /* Search query observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch icon search result\n *\n * @param _el - Icon search result element\n * @param options - Options\n *\n * @returns Icon search result observable\n */\nexport function watchIconSearchResult(\n _el: HTMLElement, { index$, query$ }: WatchOptions\n): Observable {\n return combineLatest([\n query$.pipe(distinctUntilKeyChanged(\"value\")),\n index$\n .pipe(\n map(({ icons, emojis }) => [\n ...Object.keys(icons.data),\n ...Object.keys(emojis.data)\n ])\n )\n ])\n .pipe(\n map(([{ value }, data]) => search(data, value)),\n switchMap(shortcodes => index$.pipe(\n map(({ icons, emojis }) => ({\n data: shortcodes.map(shortcode => {\n const category =\n shortcode in icons.data\n ? icons\n : emojis\n return {\n shortcode,\n url: [\n category.base,\n category.data[shortcode]\n ].join(\"\")\n }\n })\n }))\n ))\n )\n}\n\n/**\n * Mount icon search result\n *\n * @param el - Icon search result element\n * @param options - Options\n *\n * @returns Icon search result component observable\n */\nexport function mountIconSearchResult(\n el: HTMLElement, { index$, query$ }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n const boundary$ = watchElementThreshold(el)\n .pipe(\n filter(Boolean)\n )\n\n /* Update search result metadata */\n const meta = getElementOrThrow(\":scope > :first-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(query$)\n )\n .subscribe(([{ data }, { value }]) => {\n if (value)\n setSearchResultMeta(meta, data.length)\n else\n resetSearchResultMeta(meta)\n })\n\n /* Update icon search result list */\n const list = getElementOrThrow(\":scope > :last-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n tap(() => resetSearchResultList(list)),\n switchMap(({ data }) => merge(\n of(...data.slice(0, 10)),\n of(...data.slice(10))\n .pipe(\n bufferCount(10),\n zipWith(boundary$),\n switchMap(([chunk]) => of(...chunk))\n )\n )),\n withLatestFrom(query$)\n )\n .subscribe(([result, { value }]) => {\n addToSearchResultList(list, renderIconSearchResult(result, value))\n })\n\n /* Create and return component */\n return watchIconSearchResult(el, { query$, index$ })\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { JSX as JSXInternal } from \"preact\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * HTML attributes\n */\ntype Attributes =\n & JSXInternal.HTMLAttributes\n & JSXInternal.SVGAttributes\n & Record\n\n/**\n * Child element\n */\ntype Child =\n | HTMLElement\n | Text\n | string\n | number\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Append a child node to an element\n *\n * @param el - Element\n * @param child - Child node(s)\n */\nfunction appendChild(el: HTMLElement, child: Child | Child[]): void {\n\n /* Handle primitive types (including raw HTML) */\n if (typeof child === \"string\" || typeof child === \"number\") {\n el.innerHTML += child.toString()\n\n /* Handle nodes */\n } else if (child instanceof Node) {\n el.appendChild(child)\n\n /* Handle nested children */\n } else if (Array.isArray(child)) {\n for (const node of child)\n appendChild(el, node)\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * JSX factory\n *\n * @param tag - HTML tag\n * @param attributes - HTML attributes\n * @param children - Child elements\n *\n * @returns Element\n */\nexport function h(\n tag: string, attributes: Attributes | null, ...children: Child[]\n): HTMLElement {\n const el = document.createElement(tag)\n\n /* Set attributes, if any */\n if (attributes)\n for (const attr of Object.keys(attributes))\n if (typeof attributes[attr] !== \"boolean\")\n el.setAttribute(attr, attributes[attr])\n else if (attributes[attr])\n el.setAttribute(attr, \"\")\n\n /* Append child nodes */\n for (const child of children)\n appendChild(el, child)\n\n /* Return element */\n return el\n}\n\n/* ----------------------------------------------------------------------------\n * Namespace\n * ------------------------------------------------------------------------- */\n\nexport declare namespace h {\n namespace JSX {\n type Element = HTMLElement\n type IntrinsicElements = JSXInternal.IntrinsicElements\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Truncate a string after the given number of characters\n *\n * This is not a very reasonable approach, since the summaries kind of suck.\n * It would be better to create something more intelligent, highlighting the\n * search occurrences and making a better summary out of it, but this note was\n * written three years ago, so who knows if we'll ever fix it.\n *\n * @param value - Value to be truncated\n * @param n - Number of characters\n *\n * @returns Truncated value\n */\nexport function truncate(value: string, n: number): string {\n let i = n\n if (value.length > i) {\n while (value[i] !== \" \" && --i > 0) { /* keep eating */ }\n return `${value.substring(0, i)}...`\n }\n return value\n}\n\n/**\n * Round a number for display with repository facts\n *\n * This is a reverse-engineered version of GitHub's weird rounding algorithm\n * for stars, forks and all other numbers. While all numbers below `1,000` are\n * returned as-is, bigger numbers are converted to fixed numbers:\n *\n * - `1,049` => `1k`\n * - `1,050` => `1.1k`\n * - `1,949` => `1.9k`\n * - `1,950` => `2k`\n *\n * @param value - Original value\n *\n * @returns Rounded value\n */\nexport function round(value: number): string {\n if (value > 999) {\n const digits = +((value - 950) % 1000 > 99)\n return `${((value + 0.000001) / 1000).toFixed(digits)}k`\n } else {\n return value.toString()\n }\n}\n\n/**\n * Simple hash function\n *\n * @see https://bit.ly/2wsVjJ4 - Original source\n *\n * @param value - Value to be hashed\n *\n * @returns Hash as 32bit integer\n */\nexport function hash(value: string): number {\n let h = 0\n for (let i = 0, len = value.length; i < len; i++) {\n h = ((h << 5) - h) + value.charCodeAt(i)\n h |= 0 // Convert to 32bit integer\n }\n return h\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { round } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set number of search results\n *\n * @param el - Search result metadata element\n * @param value - Number of results\n */\nexport function setSearchResultMeta(\n el: HTMLElement, value: number\n): void {\n switch (value) {\n\n /* No results */\n case 0:\n el.textContent = translation(\"search.result.none\")\n break\n\n /* One result */\n case 1:\n el.textContent = translation(\"search.result.one\")\n break\n\n /* Multiple result */\n default:\n el.textContent = translation(\"search.result.other\", round(value))\n }\n}\n\n/**\n * Reset number of search results\n *\n * @param el - Search result metadata element\n */\nexport function resetSearchResultMeta(\n el: HTMLElement\n): void {\n el.textContent = translation(\"search.result.placeholder\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Add an element to the search result list\n *\n * @param el - Search result list element\n * @param child - Search result element\n */\nexport function addToSearchResultList(\n el: HTMLElement, child: Element\n): void {\n el.appendChild(child)\n}\n\n/**\n * Reset search result list\n *\n * @param el - Search result list element\n */\nexport function resetSearchResultList(\n el: HTMLElement\n): void {\n el.innerHTML = \"\"\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { wrap } from \"fuzzaldrin-plus\"\n\nimport { translation } from \"~/_\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon\n */\nexport interface Icon {\n shortcode: string /* Icon shortcode */\n url: string /* Icon URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Highlight an icon search result\n *\n * @param icon - Icon\n * @param query - Search query\n *\n * @returns Highlighted result\n */\nfunction highlight(icon: Icon, query: string) {\n return wrap(icon.shortcode, query, {\n wrap: {\n tagOpen: \"\",\n tagClose: \"\"\n }\n })\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render an icon search result\n *\n * @param icon - Icon\n * @param query - Search query\n *\n * @returns Element\n */\nexport function renderIconSearchResult(\n icon: Icon, query: string\n): HTMLElement {\n return (\n
  • \n \n \n \n \n {`:${highlight(icon, query)}:`}\n \n
  • \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, merge } from \"rxjs\"\n\nimport { configuration } from \"~/_\"\nimport { requestJSON } from \"~/browser\"\n\nimport { Component, getComponentElement } from \"../../_\"\nimport {\n IconSearchQuery,\n mountIconSearchQuery\n} from \"../query\"\nimport {\n IconSearchResult,\n mountIconSearchResult\n} from \"../result\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon category\n */\nexport interface IconCategory {\n base: string /* Category base URL */\n data: Record /* Category data */\n}\n\n/**\n * Icon search index\n */\nexport interface IconSearchIndex {\n icons: IconCategory /* Icons */\n emojis: IconCategory /* Emojis */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Icon search\n */\nexport type IconSearch =\n | IconSearchQuery\n | IconSearchResult\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount icon search\n *\n * @param el - Icon search element\n *\n * @returns Icon search component observable\n */\nexport function mountIconSearch(\n el: HTMLElement\n): Observable> {\n const config = configuration()\n const index$ = requestJSON(\n `${config.base}/overrides/assets/javascripts/icon_search_index.json`\n )\n\n /* Retrieve nested components */\n const query = getComponentElement(\"icon-search-query\", el)\n const result = getComponentElement(\"icon-search-result\", el)\n\n /* Create and return component */\n const query$ = mountIconSearchQuery(query as HTMLInputElement)\n return merge(\n query$,\n mountIconSearchResult(result, { index$, query$ })\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { fromEvent } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up extra analytics events\n */\nexport function setupAnalytics(): void {\n fromEvent(document.body, \"click\")\n .subscribe(ev => {\n if (ev.target instanceof HTMLElement) {\n const el = ev.target.closest(\"a[href^=http]\")\n if (el instanceof HTMLLinkElement)\n ga(\"send\", \"event\", \"outbound\", \"click\", el.href)\n }\n })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { merge } from \"rxjs\"\nimport { switchMap } from \"rxjs/operators\"\n\nimport {\n getComponentElements,\n mountIconSearch\n} from \"./components\"\nimport { setupAnalytics } from \"./integrations\"\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Set up extra analytics events */\nsetupAnalytics()\n\n/* Set up extra component observables */\nwindow.document$\n .pipe(\n switchMap(() => merge(\n\n /* Icon search */\n ...getComponentElements(\"icon-search\")\n .map(el => mountIconSearch(el))\n ))\n )\n .subscribe()\n"], - "mappings": "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", + "sources": ["node_modules/fuzzaldrin-plus/lib/scorer.js", "node_modules/fuzzaldrin-plus/lib/pathScorer.js", "node_modules/fuzzaldrin-plus/lib/query.js", "node_modules/fuzzaldrin-plus/lib/filter.js", "node_modules/fuzzaldrin-plus/lib/matcher.js", "node_modules/fuzzaldrin-plus/lib/fuzzaldrin.js", "node_modules/rxjs/node_modules/tslib/tslib.es6.js", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/util/caughtSchedule.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/fromArray.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/assets/javascripts/browser/element/_/index.ts", "src/assets/javascripts/browser/element/focus/index.ts", "src/assets/javascripts/browser/element/size/index.ts", "src/assets/javascripts/browser/element/offset/index.ts", "src/assets/javascripts/browser/toggle/index.ts", "src/assets/javascripts/browser/location/_/index.ts", "src/assets/javascripts/browser/request/index.ts", "src/overrides/assets/javascripts/components/_/index.ts", "src/assets/javascripts/_/index.ts", "src/overrides/assets/javascripts/components/icon-search/query/index.ts", "src/overrides/assets/javascripts/components/icon-search/result/index.ts", "src/assets/javascripts/utilities/h/index.ts", "src/assets/javascripts/utilities/string/index.ts", "src/assets/javascripts/actions/search/result/index.ts", "src/overrides/assets/javascripts/templates/icon-search/index.tsx", "src/overrides/assets/javascripts/components/icon-search/_/index.ts", "src/overrides/assets/javascripts/integrations/analytics/index.ts", "src/overrides/assets/javascripts/bundle.ts"], + "sourcesContent": ["(function() {\n var AcronymResult, computeScore, emptyAcronymResult, isAcronymFullWord, isMatch, isSeparator, isWordEnd, isWordStart, miss_coeff, pos_bonus, scoreAcronyms, scoreCharacter, scoreConsecutives, scoreExact, scoreExactMatch, scorePattern, scorePosition, scoreSize, tau_size, wm;\n\n wm = 150;\n\n pos_bonus = 20;\n\n tau_size = 150;\n\n miss_coeff = 0.75;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n return Math.ceil(score);\n };\n\n exports.isMatch = isMatch = function(subject, query_lw, query_up) {\n var i, j, m, n, qj_lw, qj_up, si;\n m = subject.length;\n n = query_lw.length;\n if (!m || n > m) {\n return false;\n }\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw.charCodeAt(j);\n qj_up = query_up.charCodeAt(j);\n while (++i < m) {\n si = subject.charCodeAt(i);\n if (si === qj_lw || si === qj_up) {\n break;\n }\n }\n if (i === m) {\n return false;\n }\n }\n return true;\n };\n\n exports.computeScore = computeScore = function(subject, subject_lw, preparedQuery) {\n var acro, acro_score, align, csc_diag, csc_row, csc_score, csc_should_rebuild, i, j, m, miss_budget, miss_left, n, pos, query, query_lw, record_miss, score, score_diag, score_row, score_up, si_lw, start, sz;\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro = scoreAcronyms(subject, subject_lw, query, query_lw);\n acro_score = acro.score;\n if (acro.count === n) {\n return scoreExact(n, m, acro_score, acro.pos);\n }\n pos = subject_lw.indexOf(query_lw);\n if (pos > -1) {\n return scoreExactMatch(subject, subject_lw, query, query_lw, pos, n, m);\n }\n score_row = new Array(n);\n csc_row = new Array(n);\n sz = scoreSize(n, m);\n miss_budget = Math.ceil(miss_coeff * n) + 5;\n miss_left = miss_budget;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n si_lw = subject_lw[i];\n if (!si_lw.charCodeAt(0) in preparedQuery.charCodes) {\n if (csc_should_rebuild) {\n j = -1;\n while (++j < n) {\n csc_row[j] = 0;\n }\n csc_should_rebuild = false;\n }\n continue;\n }\n score = 0;\n score_diag = 0;\n csc_diag = 0;\n record_miss = true;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_up = score_row[j];\n if (score_up > score) {\n score = score_up;\n }\n csc_score = 0;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n if (align > score) {\n score = align;\n miss_left = miss_budget;\n } else {\n if (record_miss && --miss_left <= 0) {\n return Math.max(score, score_row[n - 1]) * sz;\n }\n record_miss = false;\n }\n }\n score_diag = score_up;\n csc_diag = csc_row[j];\n csc_row[j] = csc_score;\n score_row[j] = score;\n }\n }\n score = score_row[n - 1];\n return score * sz;\n };\n\n exports.isWordStart = isWordStart = function(pos, subject, subject_lw) {\n var curr_s, prev_s;\n if (pos === 0) {\n return true;\n }\n curr_s = subject[pos];\n prev_s = subject[pos - 1];\n return isSeparator(prev_s) || (curr_s !== subject_lw[pos] && prev_s === subject_lw[pos - 1]);\n };\n\n exports.isWordEnd = isWordEnd = function(pos, subject, subject_lw, len) {\n var curr_s, next_s;\n if (pos === len - 1) {\n return true;\n }\n curr_s = subject[pos];\n next_s = subject[pos + 1];\n return isSeparator(next_s) || (curr_s === subject_lw[pos] && next_s !== subject_lw[pos + 1]);\n };\n\n isSeparator = function(c) {\n return c === ' ' || c === '.' || c === '-' || c === '_' || c === '/' || c === '\\\\';\n };\n\n scorePosition = function(pos) {\n var sc;\n if (pos < pos_bonus) {\n sc = pos_bonus - pos;\n return 100 + sc * sc;\n } else {\n return Math.max(100 + pos_bonus - pos, 0);\n }\n };\n\n exports.scoreSize = scoreSize = function(n, m) {\n return tau_size / (tau_size + Math.abs(m - n));\n };\n\n scoreExact = function(n, m, quality, pos) {\n return 2 * n * (wm * quality + scorePosition(pos)) * scoreSize(n, m);\n };\n\n exports.scorePattern = scorePattern = function(count, len, sameCase, start, end) {\n var bonus, sz;\n sz = count;\n bonus = 6;\n if (sameCase === count) {\n bonus += 2;\n }\n if (start) {\n bonus += 3;\n }\n if (end) {\n bonus += 1;\n }\n if (count === len) {\n if (start) {\n if (sameCase === len) {\n sz += 2;\n } else {\n sz += 1;\n }\n }\n if (end) {\n bonus += 1;\n }\n }\n return sameCase + sz * (sz + bonus);\n };\n\n exports.scoreCharacter = scoreCharacter = function(i, j, start, acro_score, csc_score) {\n var posBonus;\n posBonus = scorePosition(i);\n if (start) {\n return posBonus + wm * ((acro_score > csc_score ? acro_score : csc_score) + 10);\n }\n return posBonus + wm * csc_score;\n };\n\n exports.scoreConsecutives = scoreConsecutives = function(subject, subject_lw, query, query_lw, i, j, startOfWord) {\n var k, m, mi, n, nj, sameCase, sz;\n m = subject.length;\n n = query.length;\n mi = m - i;\n nj = n - j;\n k = mi < nj ? mi : nj;\n sameCase = 0;\n sz = 0;\n if (query[j] === subject[i]) {\n sameCase++;\n }\n while (++sz < k && query_lw[++j] === subject_lw[++i]) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n }\n if (sz < k) {\n i--;\n }\n if (sz === 1) {\n return 1 + 2 * sameCase;\n }\n return scorePattern(sz, n, sameCase, startOfWord, isWordEnd(i, subject, subject_lw, m));\n };\n\n exports.scoreExactMatch = scoreExactMatch = function(subject, subject_lw, query, query_lw, pos, n, m) {\n var end, i, pos2, sameCase, start;\n start = isWordStart(pos, subject, subject_lw);\n if (!start) {\n pos2 = subject_lw.indexOf(query_lw, pos + 1);\n if (pos2 > -1) {\n start = isWordStart(pos2, subject, subject_lw);\n if (start) {\n pos = pos2;\n }\n }\n }\n i = -1;\n sameCase = 0;\n while (++i < n) {\n if (query[pos + i] === subject[i]) {\n sameCase++;\n }\n }\n end = isWordEnd(pos + n - 1, subject, subject_lw, m);\n return scoreExact(n, m, scorePattern(n, n, sameCase, start, end), pos);\n };\n\n AcronymResult = (function() {\n function AcronymResult(score, pos, count) {\n this.score = score;\n this.pos = pos;\n this.count = count;\n }\n\n return AcronymResult;\n\n })();\n\n emptyAcronymResult = new AcronymResult(0, 0.1, 0);\n\n exports.scoreAcronyms = scoreAcronyms = function(subject, subject_lw, query, query_lw) {\n var count, fullWord, i, j, m, n, qj_lw, sameCase, score, sepCount, sumPos;\n m = subject.length;\n n = query.length;\n if (!(m > 1 && n > 1)) {\n return emptyAcronymResult;\n }\n count = 0;\n sepCount = 0;\n sumPos = 0;\n sameCase = 0;\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw[j];\n if (isSeparator(qj_lw)) {\n i = subject_lw.indexOf(qj_lw, i + 1);\n if (i > -1) {\n sepCount++;\n continue;\n } else {\n break;\n }\n }\n while (++i < m) {\n if (qj_lw === subject_lw[i] && isWordStart(i, subject, subject_lw)) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n sumPos += i;\n count++;\n break;\n }\n }\n if (i === m) {\n break;\n }\n }\n if (count < 2) {\n return emptyAcronymResult;\n }\n fullWord = count === n ? isAcronymFullWord(subject, subject_lw, query, count) : false;\n score = scorePattern(count, n, sameCase, true, fullWord);\n return new AcronymResult(score, sumPos / count, count + sepCount);\n };\n\n isAcronymFullWord = function(subject, subject_lw, query, nbAcronymInQuery) {\n var count, i, m, n;\n m = subject.length;\n n = query.length;\n count = 0;\n if (m > 12 * n) {\n return false;\n }\n i = -1;\n while (++i < m) {\n if (isWordStart(i, subject, subject_lw) && ++count > nbAcronymInQuery) {\n return false;\n }\n }\n return true;\n };\n\n}).call(this);\n", "(function() {\n var computeScore, countDir, file_coeff, getExtension, getExtensionScore, isMatch, scorePath, scoreSize, tau_depth, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, computeScore = _ref.computeScore, scoreSize = _ref.scoreSize;\n\n tau_depth = 20;\n\n file_coeff = 2.5;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n score = scorePath(string, string_lw, score, options);\n return Math.ceil(score);\n };\n\n scorePath = function(subject, subject_lw, fullPathScore, options) {\n var alpha, basePathScore, basePos, depth, end, extAdjust, fileLength, pathSeparator, preparedQuery, useExtensionBonus;\n if (fullPathScore === 0) {\n return 0;\n }\n preparedQuery = options.preparedQuery, useExtensionBonus = options.useExtensionBonus, pathSeparator = options.pathSeparator;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n fileLength = end - basePos;\n extAdjust = 1.0;\n if (useExtensionBonus) {\n extAdjust += getExtensionScore(subject_lw, preparedQuery.ext, basePos, end, 2);\n fullPathScore *= extAdjust;\n }\n if (basePos === -1) {\n return fullPathScore;\n }\n depth = preparedQuery.depth;\n while (basePos > -1 && depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n }\n basePathScore = basePos === -1 ? fullPathScore : extAdjust * computeScore(subject.slice(basePos + 1, end + 1), subject_lw.slice(basePos + 1, end + 1), preparedQuery);\n alpha = 0.5 * tau_depth / (tau_depth + countDir(subject, end + 1, pathSeparator));\n return alpha * basePathScore + (1 - alpha) * fullPathScore * scoreSize(0, file_coeff * fileLength);\n };\n\n exports.countDir = countDir = function(path, end, pathSeparator) {\n var count, i;\n if (end < 1) {\n return 0;\n }\n count = 0;\n i = -1;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n while (++i < end) {\n if (path[i] === pathSeparator) {\n count++;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n }\n }\n return count;\n };\n\n exports.getExtension = getExtension = function(str) {\n var pos;\n pos = str.lastIndexOf(\".\");\n if (pos < 0) {\n return \"\";\n } else {\n return str.substr(pos + 1);\n }\n };\n\n getExtensionScore = function(candidate, ext, startPos, endPos, maxDepth) {\n var m, matched, n, pos;\n if (!ext.length) {\n return 0;\n }\n pos = candidate.lastIndexOf(\".\", endPos);\n if (!(pos > startPos)) {\n return 0;\n }\n n = ext.length;\n m = endPos - pos;\n if (m < n) {\n n = m;\n m = ext.length;\n }\n pos++;\n matched = -1;\n while (++matched < n) {\n if (candidate[pos + matched] !== ext[matched]) {\n break;\n }\n }\n if (matched === 0 && maxDepth > 0) {\n return 0.9 * getExtensionScore(candidate, ext, startPos, pos - 2, maxDepth - 1);\n }\n return matched / m;\n };\n\n}).call(this);\n", "(function() {\n var Query, coreChars, countDir, getCharCodes, getExtension, opt_char_re, truncatedUpperCase, _ref;\n\n _ref = require(\"./pathScorer\"), countDir = _ref.countDir, getExtension = _ref.getExtension;\n\n module.exports = Query = (function() {\n function Query(query, _arg) {\n var optCharRegEx, pathSeparator, _ref1;\n _ref1 = _arg != null ? _arg : {}, optCharRegEx = _ref1.optCharRegEx, pathSeparator = _ref1.pathSeparator;\n if (!(query && query.length)) {\n return null;\n }\n this.query = query;\n this.query_lw = query.toLowerCase();\n this.core = coreChars(query, optCharRegEx);\n this.core_lw = this.core.toLowerCase();\n this.core_up = truncatedUpperCase(this.core);\n this.depth = countDir(query, query.length, pathSeparator);\n this.ext = getExtension(this.query_lw);\n this.charCodes = getCharCodes(this.query_lw);\n }\n\n return Query;\n\n })();\n\n opt_char_re = /[ _\\-:\\/\\\\]/g;\n\n coreChars = function(query, optCharRegEx) {\n if (optCharRegEx == null) {\n optCharRegEx = opt_char_re;\n }\n return query.replace(optCharRegEx, '');\n };\n\n truncatedUpperCase = function(str) {\n var char, upper, _i, _len;\n upper = \"\";\n for (_i = 0, _len = str.length; _i < _len; _i++) {\n char = str[_i];\n upper += char.toUpperCase()[0];\n }\n return upper;\n };\n\n getCharCodes = function(str) {\n var charCodes, i, len;\n len = str.length;\n i = -1;\n charCodes = [];\n while (++i < len) {\n charCodes[str.charCodeAt(i)] = true;\n }\n return charCodes;\n };\n\n}).call(this);\n", "(function() {\n var Query, pathScorer, pluckCandidates, scorer, sortCandidates;\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n pluckCandidates = function(a) {\n return a.candidate;\n };\n\n sortCandidates = function(a, b) {\n return b.score - a.score;\n };\n\n module.exports = function(candidates, query, options) {\n var bKey, candidate, key, maxInners, maxResults, score, scoreProvider, scoredCandidates, spotLeft, string, usePathScoring, _i, _len;\n scoredCandidates = [];\n key = options.key, maxResults = options.maxResults, maxInners = options.maxInners, usePathScoring = options.usePathScoring;\n spotLeft = (maxInners != null) && maxInners > 0 ? maxInners : candidates.length + 1;\n bKey = key != null;\n scoreProvider = usePathScoring ? pathScorer : scorer;\n for (_i = 0, _len = candidates.length; _i < _len; _i++) {\n candidate = candidates[_i];\n string = bKey ? candidate[key] : candidate;\n if (!string) {\n continue;\n }\n score = scoreProvider.score(string, query, options);\n if (score > 0) {\n scoredCandidates.push({\n candidate: candidate,\n score: score\n });\n if (!--spotLeft) {\n break;\n }\n }\n }\n scoredCandidates.sort(sortCandidates);\n candidates = scoredCandidates.map(pluckCandidates);\n if (maxResults != null) {\n candidates = candidates.slice(0, maxResults);\n }\n return candidates;\n };\n\n}).call(this);\n", "(function() {\n var basenameMatch, computeMatch, isMatch, isWordStart, match, mergeMatches, scoreAcronyms, scoreCharacter, scoreConsecutives, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, isWordStart = _ref.isWordStart, scoreConsecutives = _ref.scoreConsecutives, scoreCharacter = _ref.scoreCharacter, scoreAcronyms = _ref.scoreAcronyms;\n\n exports.match = match = function(string, query, options) {\n var allowErrors, baseMatches, matches, pathSeparator, preparedQuery, string_lw;\n allowErrors = options.allowErrors, preparedQuery = options.preparedQuery, pathSeparator = options.pathSeparator;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return [];\n }\n string_lw = string.toLowerCase();\n matches = computeMatch(string, string_lw, preparedQuery);\n if (matches.length === 0) {\n return matches;\n }\n if (string.indexOf(pathSeparator) > -1) {\n baseMatches = basenameMatch(string, string_lw, preparedQuery, pathSeparator);\n matches = mergeMatches(matches, baseMatches);\n }\n return matches;\n };\n\n exports.wrap = function(string, query, options) {\n var matchIndex, matchPos, matchPositions, output, strPos, tagClass, tagClose, tagOpen, _ref1;\n if ((options.wrap != null)) {\n _ref1 = options.wrap, tagClass = _ref1.tagClass, tagOpen = _ref1.tagOpen, tagClose = _ref1.tagClose;\n }\n if (tagClass == null) {\n tagClass = 'highlight';\n }\n if (tagOpen == null) {\n tagOpen = '';\n }\n if (tagClose == null) {\n tagClose = '';\n }\n if (string === query) {\n return tagOpen + string + tagClose;\n }\n matchPositions = match(string, query, options);\n if (matchPositions.length === 0) {\n return string;\n }\n output = '';\n matchIndex = -1;\n strPos = 0;\n while (++matchIndex < matchPositions.length) {\n matchPos = matchPositions[matchIndex];\n if (matchPos > strPos) {\n output += string.substring(strPos, matchPos);\n strPos = matchPos;\n }\n while (++matchIndex < matchPositions.length) {\n if (matchPositions[matchIndex] === matchPos + 1) {\n matchPos++;\n } else {\n matchIndex--;\n break;\n }\n }\n matchPos++;\n if (matchPos > strPos) {\n output += tagOpen;\n output += string.substring(strPos, matchPos);\n output += tagClose;\n strPos = matchPos;\n }\n }\n if (strPos <= string.length - 1) {\n output += string.substring(strPos);\n }\n return output;\n };\n\n basenameMatch = function(subject, subject_lw, preparedQuery, pathSeparator) {\n var basePos, depth, end;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n if (basePos === -1) {\n return [];\n }\n depth = preparedQuery.depth;\n while (depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n if (basePos === -1) {\n return [];\n }\n }\n basePos++;\n end++;\n return computeMatch(subject.slice(basePos, end), subject_lw.slice(basePos, end), preparedQuery, basePos);\n };\n\n mergeMatches = function(a, b) {\n var ai, bj, i, j, m, n, out;\n m = a.length;\n n = b.length;\n if (n === 0) {\n return a.slice();\n }\n if (m === 0) {\n return b.slice();\n }\n i = -1;\n j = 0;\n bj = b[j];\n out = [];\n while (++i < m) {\n ai = a[i];\n while (bj <= ai && ++j < n) {\n if (bj < ai) {\n out.push(bj);\n }\n bj = b[j];\n }\n out.push(ai);\n }\n while (j < n) {\n out.push(b[j++]);\n }\n return out;\n };\n\n computeMatch = function(subject, subject_lw, preparedQuery, offset) {\n var DIAGONAL, LEFT, STOP, UP, acro_score, align, backtrack, csc_diag, csc_row, csc_score, i, j, m, matches, move, n, pos, query, query_lw, score, score_diag, score_row, score_up, si_lw, start, trace;\n if (offset == null) {\n offset = 0;\n }\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro_score = scoreAcronyms(subject, subject_lw, query, query_lw).score;\n score_row = new Array(n);\n csc_row = new Array(n);\n STOP = 0;\n UP = 1;\n LEFT = 2;\n DIAGONAL = 3;\n trace = new Array(m * n);\n pos = -1;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n score = 0;\n score_up = 0;\n csc_diag = 0;\n si_lw = subject_lw[i];\n j = -1;\n while (++j < n) {\n csc_score = 0;\n align = 0;\n score_diag = score_up;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n }\n score_up = score_row[j];\n csc_diag = csc_row[j];\n if (score > score_up) {\n move = LEFT;\n } else {\n score = score_up;\n move = UP;\n }\n if (align > score) {\n score = align;\n move = DIAGONAL;\n } else {\n csc_score = 0;\n }\n score_row[j] = score;\n csc_row[j] = csc_score;\n trace[++pos] = score > 0 ? move : STOP;\n }\n }\n i = m - 1;\n j = n - 1;\n pos = i * n + j;\n backtrack = true;\n matches = [];\n while (backtrack && i >= 0 && j >= 0) {\n switch (trace[pos]) {\n case UP:\n i--;\n pos -= n;\n break;\n case LEFT:\n j--;\n pos--;\n break;\n case DIAGONAL:\n matches.push(i + offset);\n j--;\n i--;\n pos -= n + 1;\n break;\n default:\n backtrack = false;\n }\n }\n matches.reverse();\n return matches;\n };\n\n}).call(this);\n", "(function() {\n var Query, defaultPathSeparator, filter, matcher, parseOptions, pathScorer, preparedQueryCache, scorer;\n\n filter = require('./filter');\n\n matcher = require('./matcher');\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n preparedQueryCache = null;\n\n defaultPathSeparator = (typeof process !== \"undefined\" && process !== null ? process.platform : void 0) === \"win32\" ? '\\\\' : '/';\n\n module.exports = {\n filter: function(candidates, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((query != null ? query.length : void 0) && (candidates != null ? candidates.length : void 0))) {\n return [];\n }\n options = parseOptions(options, query);\n return filter(candidates, query, options);\n },\n score: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((string != null ? string.length : void 0) && (query != null ? query.length : void 0))) {\n return 0;\n }\n options = parseOptions(options, query);\n if (options.usePathScoring) {\n return pathScorer.score(string, query, options);\n } else {\n return scorer.score(string, query, options);\n }\n },\n match: function(string, query, options) {\n var _i, _ref, _results;\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n if (string === query) {\n return (function() {\n _results = [];\n for (var _i = 0, _ref = string.length; 0 <= _ref ? _i < _ref : _i > _ref; 0 <= _ref ? _i++ : _i--){ _results.push(_i); }\n return _results;\n }).apply(this);\n }\n options = parseOptions(options, query);\n return matcher.match(string, query, options);\n },\n wrap: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n options = parseOptions(options, query);\n return matcher.wrap(string, query, options);\n },\n prepareQuery: function(query, options) {\n if (options == null) {\n options = {};\n }\n options = parseOptions(options, query);\n return options.preparedQuery;\n }\n };\n\n parseOptions = function(options, query) {\n if (options.allowErrors == null) {\n options.allowErrors = false;\n }\n if (options.usePathScoring == null) {\n options.usePathScoring = true;\n }\n if (options.useExtensionBonus == null) {\n options.useExtensionBonus = false;\n }\n if (options.pathSeparator == null) {\n options.pathSeparator = defaultPathSeparator;\n }\n if (options.optCharRegEx == null) {\n options.optCharRegEx = null;\n }\n if (options.wrap == null) {\n options.wrap = null;\n }\n if (options.preparedQuery == null) {\n options.preparedQuery = preparedQueryCache && preparedQueryCache.query === query ? preparedQueryCache : (preparedQueryCache = new Query(query, options));\n }\n return options;\n };\n\n}).call(this);\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve an element matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element or nothing\n */\nexport function getElement(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElement(\n selector: string, node?: ParentNode\n): T | undefined\n\nexport function getElement(\n selector: string, node: ParentNode = document\n): T | undefined {\n return node.querySelector(selector) || undefined\n}\n\n/**\n * Retrieve an element matching a query selector or throw a reference error\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getElementOrThrow(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T]\n\nexport function getElementOrThrow(\n selector: string, node?: ParentNode\n): T\n\nexport function getElementOrThrow(\n selector: string, node: ParentNode = document\n): T {\n const el = getElement(selector, node)\n if (typeof el === \"undefined\")\n throw new ReferenceError(\n `Missing element: expected \"${selector}\" to be present`\n )\n return el\n}\n\n/**\n * Retrieve the currently active element\n *\n * @returns Element or nothing\n */\nexport function getActiveElement(): HTMLElement | undefined {\n return document.activeElement instanceof HTMLElement\n ? document.activeElement\n : undefined\n}\n\n/**\n * Retrieve all elements matching the query selector\n *\n * @template T - Element type\n *\n * @param selector - Query selector\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getElements(\n selector: T, node?: ParentNode\n): HTMLElementTagNameMap[T][]\n\nexport function getElements(\n selector: string, node?: ParentNode\n): T[]\n\nexport function getElements(\n selector: string, node: ParentNode = document\n): T[] {\n return Array.from(node.querySelectorAll(selector))\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Create an element\n *\n * @template T - Tag name type\n *\n * @param tagName - Tag name\n *\n * @returns Element\n */\nexport function createElement(\n tagName: T\n): HTMLElementTagNameMap[T] {\n return document.createElement(tagName)\n}\n\n/**\n * Replace an element with another element\n *\n * @param source - Source element\n * @param target - Target element\n */\nexport function replaceElement(\n source: HTMLElement, target: Node\n): void {\n source.replaceWith(target)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getActiveElement } from \"../_\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set element focus\n *\n * @param el - Element\n * @param value - Whether the element should be focused\n */\nexport function setElementFocus(\n el: HTMLElement, value = true\n): void {\n if (value)\n el.focus()\n else\n el.blur()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element focus\n *\n * @param el - Element\n *\n * @returns Element focus observable\n */\nexport function watchElementFocus(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"focus\"),\n fromEvent(el, \"blur\")\n )\n .pipe(\n map(({ type }) => type === \"focus\"),\n startWith(el === getActiveElement())\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport {\n NEVER,\n Observable,\n Subject,\n defer,\n of\n} from \"rxjs\"\nimport {\n filter,\n finalize,\n map,\n shareReplay,\n startWith,\n switchMap,\n tap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementSize {\n width: number /* Element width */\n height: number /* Element height */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Resize observer entry subject\n */\nconst entry$ = new Subject()\n\n/**\n * Resize observer observable\n *\n * This observable will create a `ResizeObserver` on the first subscription\n * and will automatically terminate it when there are no more subscribers.\n * It's quite important to centralize observation in a single `ResizeObserver`,\n * as the performance difference can be quite dramatic, as the link shows.\n *\n * @see https://bit.ly/3iIYfEm - Google Groups on performance\n */\nconst observer$ = defer(() => of(\n new ResizeObserver(entries => {\n for (const entry of entries)\n entry$.next(entry)\n })\n))\n .pipe(\n switchMap(resize => NEVER.pipe(startWith(resize))\n .pipe(\n finalize(() => resize.disconnect())\n )\n ),\n shareReplay(1)\n )\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element size\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementSize(el: HTMLElement): ElementSize {\n return {\n width: el.offsetWidth,\n height: el.offsetHeight\n }\n}\n\n/**\n * Retrieve element content size, i.e. including overflowing content\n *\n * @param el - Element\n *\n * @returns Element size\n */\nexport function getElementContentSize(el: HTMLElement): ElementSize {\n return {\n width: el.scrollWidth,\n height: el.scrollHeight\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element size\n *\n * This function returns an observable that subscribes to a single internal\n * instance of `ResizeObserver` upon subscription, and emit resize events until\n * termination. Note that this function should not be called with the same\n * element twice, as the first unsubscription will terminate observation.\n *\n * @param el - Element\n *\n * @returns Element size observable\n */\nexport function watchElementSize(\n el: HTMLElement\n): Observable {\n return observer$\n .pipe(\n tap(observer => observer.observe(el)),\n switchMap(observer => entry$\n .pipe(\n filter(({ target }) => target === el),\n finalize(() => observer.unobserve(el)),\n map(({ contentRect }) => ({\n width: contentRect.width,\n height: contentRect.height\n }))\n )\n ),\n startWith(getElementSize(el))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent, merge } from \"rxjs\"\nimport { distinctUntilChanged, map, startWith } from \"rxjs/operators\"\n\nimport { getElementContentSize, getElementSize } from \"../size\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Element offset\n */\nexport interface ElementOffset {\n x: number /* Horizontal offset */\n y: number /* Vertical offset */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve element offset\n *\n * @param el - Element\n *\n * @returns Element offset\n */\nexport function getElementOffset(el: HTMLElement): ElementOffset {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n }\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch element offset\n *\n * @param el - Element\n *\n * @returns Element offset observable\n */\nexport function watchElementOffset(\n el: HTMLElement\n): Observable {\n return merge(\n fromEvent(el, \"scroll\"),\n fromEvent(window, \"resize\")\n )\n .pipe(\n map(() => getElementOffset(el)),\n startWith(getElementOffset(el))\n )\n}\n\n/**\n * Watch element threshold\n *\n * This function returns an observable which emits whether the bottom scroll\n * offset of an elements is within a certain threshold.\n *\n * @param el - Element\n * @param threshold - Threshold\n *\n * @returns Element threshold observable\n */\nexport function watchElementThreshold(\n el: HTMLElement, threshold = 16\n): Observable {\n return watchElementOffset(el)\n .pipe(\n map(({ y }) => {\n const visible = getElementSize(el)\n const content = getElementContentSize(el)\n return y >= (\n content.height - visible.height - threshold\n )\n }),\n distinctUntilChanged()\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, fromEvent } from \"rxjs\"\nimport { map, startWith } from \"rxjs/operators\"\n\nimport { getElementOrThrow } from \"../element\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle\n */\nexport type Toggle =\n | \"drawer\" /* Toggle for drawer */\n | \"search\" /* Toggle for search */\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Toggle map\n */\nconst toggles: Record = {\n drawer: getElementOrThrow(\"[data-md-toggle=drawer]\"),\n search: getElementOrThrow(\"[data-md-toggle=search]\")\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the value of a toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value\n */\nexport function getToggle(name: Toggle): boolean {\n return toggles[name].checked\n}\n\n/**\n * Set toggle\n *\n * Simulating a click event seems to be the most cross-browser compatible way\n * of changing the value while also emitting a `change` event. Before, Material\n * used `CustomEvent` to programmatically change the value of a toggle, but this\n * is a much simpler and cleaner solution which doesn't require a polyfill.\n *\n * @param name - Toggle\n * @param value - Toggle value\n */\nexport function setToggle(name: Toggle, value: boolean): void {\n if (toggles[name].checked !== value)\n toggles[name].click()\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch toggle\n *\n * @param name - Toggle\n *\n * @returns Toggle value observable\n */\nexport function watchToggle(name: Toggle): Observable {\n const el = toggles[name]\n return fromEvent(el, \"change\")\n .pipe(\n map(() => el.checked),\n startWith(el.checked)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { BehaviorSubject, Subject } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve location\n *\n * This function will return a `URL` object (and not `Location`) in order to\n * normalize typings across the application. Furthermore, locations need to be\n * tracked without setting them and `Location` is a singleton which represents\n * the current location.\n *\n * @returns URL\n */\nexport function getLocation(): URL {\n return new URL(location.href)\n}\n\n/**\n * Set location\n *\n * @param url - URL to change to\n */\nexport function setLocation(url: URL): void {\n location.href = url.href\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Watch location\n *\n * @returns Location subject\n */\nexport function watchLocation(): Subject {\n return new BehaviorSubject(getLocation())\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, from } from \"rxjs\"\nimport {\n filter,\n map,\n shareReplay,\n switchMap\n} from \"rxjs/operators\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Response observable\n */\nexport function request(\n url: string, options: RequestInit = { credentials: \"same-origin\" }\n): Observable {\n return from(fetch(url, options))\n .pipe(\n filter(res => res.status === 200),\n )\n}\n\n/**\n * Fetch JSON from the given URL\n *\n * @template T - Data type\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestJSON(\n url: string, options?: RequestInit\n): Observable {\n return request(url, options)\n .pipe(\n switchMap(res => res.json()),\n shareReplay(1)\n )\n}\n\n/**\n * Fetch XML from the given URL\n *\n * @param url - Request URL\n * @param options - Options\n *\n * @returns Data observable\n */\nexport function requestXML(\n url: string, options?: RequestInit\n): Observable {\n const dom = new DOMParser()\n return request(url, options)\n .pipe(\n switchMap(res => res.text()),\n map(res => dom.parseFromString(res, \"text/xml\")),\n shareReplay(1)\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getElements } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Component\n */\nexport type ComponentType =\n | \"icon-search\" /* Icon search */\n | \"icon-search-query\" /* Icon search input */\n | \"icon-search-result\" /* Icon search results */\n\n/**\n * A component\n *\n * @template T - Component type\n * @template U - Reference type\n */\nexport type Component<\n T extends {} = {},\n U extends HTMLElement = HTMLElement\n> =\n T & {\n ref: U /* Component reference */\n }\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve the element for a given component or throw a reference error\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Element\n */\nexport function getComponentElement(\n type: ComponentType, node: ParentNode = document\n): T {\n return getElementOrThrow(`[data-mdx-component=${type}]`, node)\n}\n\n/**\n * Retrieve all elements for a given component\n *\n * @template T - Element type\n *\n * @param type - Component type\n * @param node - Node of reference\n *\n * @returns Elements\n */\nexport function getComponentElements(\n type: ComponentType, node: ParentNode = document\n): T[] {\n return getElements(`[data-mdx-component=${type}]`, node)\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { getElementOrThrow, getLocation } from \"~/browser\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Feature flag\n */\nexport type Flag =\n | \"header.autohide\" /* Hide header */\n | \"navigation.expand\" /* Automatic expansion */\n | \"navigation.instant\" /* Instant loading */\n | \"navigation.sections\" /* Sections navigation */\n | \"navigation.tabs\" /* Tabs navigation */\n | \"toc.integrate\" /* Integrated table of contents */\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Translation\n */\nexport type Translation =\n | \"clipboard.copy\" /* Copy to clipboard */\n | \"clipboard.copied\" /* Copied to clipboard */\n | \"search.config.lang\" /* Search language */\n | \"search.config.pipeline\" /* Search pipeline */\n | \"search.config.separator\" /* Search separator */\n | \"search.placeholder\" /* Search */\n | \"search.result.placeholder\" /* Type to start searching */\n | \"search.result.none\" /* No matching documents */\n | \"search.result.one\" /* 1 matching document */\n | \"search.result.other\" /* # matching documents */\n | \"search.result.more.one\" /* 1 more on this page */\n | \"search.result.more.other\" /* # more on this page */\n | \"search.result.term.missing\" /* Missing */\n\n/**\n * Translations\n */\nexport type Translations = Record\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Configuration\n */\nexport interface Config {\n base: string /* Base URL */\n features: Flag[] /* Feature flags */\n translations: Translations /* Translations */\n search: string /* Search worker URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Data\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration and make base URL absolute\n */\nconst script = getElementOrThrow(\"#__config\")\nconst config: Config = JSON.parse(script.textContent!)\nconfig.base = new URL(config.base, getLocation())\n .toString()\n .replace(/\\/$/, \"\")\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Retrieve global configuration\n *\n * @returns Global configuration\n */\nexport function configuration(): Config {\n return config\n}\n\n/**\n * Check whether a feature flag is enabled\n *\n * @param flag - Feature flag\n *\n * @returns Test result\n */\nexport function feature(flag: Flag): boolean {\n return config.features.includes(flag)\n}\n\n/**\n * Retrieve the translation for the given key\n *\n * @param key - Key to be translated\n * @param value - Value to be replaced\n *\n * @returns Translation\n */\nexport function translation(\n key: Translation, value?: string | number\n): string {\n return typeof value !== \"undefined\"\n ? config.translations[key].replace(\"#\", value.toString())\n : config.translations[key]\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, combineLatest, fromEvent, merge } from \"rxjs\"\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n withLatestFrom\n} from \"rxjs/operators\"\n\nimport { watchElementFocus } from \"~/browser\"\n\nimport { Component } from \"../../_\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon search query\n */\nexport interface IconSearchQuery {\n value: string /* Query value */\n focus: boolean /* Query focus */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount icon search query\n *\n * @param el - Icon search query element\n *\n * @returns Icon search query component observable\n */\nexport function mountIconSearchQuery(\n el: HTMLInputElement\n): Observable> {\n\n /* Intercept focus and input events */\n const focus$ = watchElementFocus(el)\n const value$ = merge(\n fromEvent(el, \"keyup\"),\n fromEvent(el, \"focus\").pipe(delay(1))\n )\n .pipe(\n map(() => el.value),\n startWith(el.value),\n distinctUntilChanged()\n )\n\n /* Log search on blur */\n focus$\n .pipe(\n filter(active => !active),\n withLatestFrom(value$)\n )\n .subscribe(([, value]) => {\n const path = document.location.pathname\n ga(\"send\", \"pageview\", `${path}?q=[icon]+${value}`)\n })\n\n /* Combine into single observable */\n return combineLatest([value$, focus$])\n .pipe(\n map(([value, focus]) => ({ ref: el, value, focus })),\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { filter as search } from \"fuzzaldrin-plus\"\nimport {\n Observable,\n Subject,\n animationFrameScheduler,\n combineLatest,\n merge,\n of\n} from \"rxjs\"\nimport {\n bufferCount,\n distinctUntilKeyChanged,\n filter,\n finalize,\n map,\n observeOn,\n switchMap,\n tap,\n withLatestFrom,\n zipWith\n} from \"rxjs/operators\"\n\nimport {\n addToSearchResultList,\n resetSearchResultList,\n resetSearchResultMeta,\n setSearchResultMeta\n} from \"~/actions\"\nimport {\n getElementOrThrow,\n watchElementThreshold\n} from \"~/browser\"\n\nimport { Icon, renderIconSearchResult } from \"_/templates\"\n\nimport { Component } from \"../../_\"\nimport { IconSearchIndex } from \"../_\"\nimport { IconSearchQuery } from \"../query\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon search result\n */\nexport interface IconSearchResult {\n data: Icon[] /* Search result data */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch options\n */\ninterface WatchOptions {\n index$: Observable /* Search index observable */\n query$: Observable /* Search query observable */\n}\n\n/**\n * Mount options\n */\ninterface MountOptions {\n index$: Observable /* Search index observable */\n query$: Observable /* Search query observable */\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Watch icon search result\n *\n * @param _el - Icon search result element\n * @param options - Options\n *\n * @returns Icon search result observable\n */\nexport function watchIconSearchResult(\n _el: HTMLElement, { index$, query$ }: WatchOptions\n): Observable {\n return combineLatest([\n query$.pipe(distinctUntilKeyChanged(\"value\")),\n index$\n .pipe(\n map(({ icons, emojis }) => [\n ...Object.keys(icons.data),\n ...Object.keys(emojis.data)\n ])\n )\n ])\n .pipe(\n map(([{ value }, data]) => search(data, value)),\n switchMap(shortcodes => index$.pipe(\n map(({ icons, emojis }) => ({\n data: shortcodes.map(shortcode => {\n const category =\n shortcode in icons.data\n ? icons\n : emojis\n return {\n shortcode,\n url: [\n category.base,\n category.data[shortcode]\n ].join(\"\")\n }\n })\n }))\n ))\n )\n}\n\n/**\n * Mount icon search result\n *\n * @param el - Icon search result element\n * @param options - Options\n *\n * @returns Icon search result component observable\n */\nexport function mountIconSearchResult(\n el: HTMLElement, { index$, query$ }: MountOptions\n): Observable> {\n const internal$ = new Subject()\n const boundary$ = watchElementThreshold(el)\n .pipe(\n filter(Boolean)\n )\n\n /* Update search result metadata */\n const meta = getElementOrThrow(\":scope > :first-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n withLatestFrom(query$)\n )\n .subscribe(([{ data }, { value }]) => {\n if (value)\n setSearchResultMeta(meta, data.length)\n else\n resetSearchResultMeta(meta)\n })\n\n /* Update icon search result list */\n const list = getElementOrThrow(\":scope > :last-child\", el)\n internal$\n .pipe(\n observeOn(animationFrameScheduler),\n tap(() => resetSearchResultList(list)),\n switchMap(({ data }) => merge(\n of(...data.slice(0, 10)),\n of(...data.slice(10))\n .pipe(\n bufferCount(10),\n zipWith(boundary$),\n switchMap(([chunk]) => of(...chunk))\n )\n )),\n withLatestFrom(query$)\n )\n .subscribe(([result, { value }]) => {\n addToSearchResultList(list, renderIconSearchResult(result, value))\n })\n\n /* Create and return component */\n return watchIconSearchResult(el, { query$, index$ })\n .pipe(\n tap(internal$),\n finalize(() => internal$.complete()),\n map(state => ({ ref: el, ...state }))\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { JSX as JSXInternal } from \"preact\"\n\n/* ----------------------------------------------------------------------------\n * Helper types\n * ------------------------------------------------------------------------- */\n\n/**\n * HTML attributes\n */\ntype Attributes =\n & JSXInternal.HTMLAttributes\n & JSXInternal.SVGAttributes\n & Record\n\n/**\n * Child element\n */\ntype Child =\n | HTMLElement\n | Text\n | string\n | number\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Append a child node to an element\n *\n * @param el - Element\n * @param child - Child node(s)\n */\nfunction appendChild(el: HTMLElement, child: Child | Child[]): void {\n\n /* Handle primitive types (including raw HTML) */\n if (typeof child === \"string\" || typeof child === \"number\") {\n el.innerHTML += child.toString()\n\n /* Handle nodes */\n } else if (child instanceof Node) {\n el.appendChild(child)\n\n /* Handle nested children */\n } else if (Array.isArray(child)) {\n for (const node of child)\n appendChild(el, node)\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * JSX factory\n *\n * @param tag - HTML tag\n * @param attributes - HTML attributes\n * @param children - Child elements\n *\n * @returns Element\n */\nexport function h(\n tag: string, attributes: Attributes | null, ...children: Child[]\n): HTMLElement {\n const el = document.createElement(tag)\n\n /* Set attributes, if any */\n if (attributes)\n for (const attr of Object.keys(attributes))\n if (typeof attributes[attr] !== \"boolean\")\n el.setAttribute(attr, attributes[attr])\n else if (attributes[attr])\n el.setAttribute(attr, \"\")\n\n /* Append child nodes */\n for (const child of children)\n appendChild(el, child)\n\n /* Return element */\n return el\n}\n\n/* ----------------------------------------------------------------------------\n * Namespace\n * ------------------------------------------------------------------------- */\n\nexport declare namespace h {\n namespace JSX {\n type Element = HTMLElement\n type IntrinsicElements = JSXInternal.IntrinsicElements\n }\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Truncate a string after the given number of characters\n *\n * This is not a very reasonable approach, since the summaries kind of suck.\n * It would be better to create something more intelligent, highlighting the\n * search occurrences and making a better summary out of it, but this note was\n * written three years ago, so who knows if we'll ever fix it.\n *\n * @param value - Value to be truncated\n * @param n - Number of characters\n *\n * @returns Truncated value\n */\nexport function truncate(value: string, n: number): string {\n let i = n\n if (value.length > i) {\n while (value[i] !== \" \" && --i > 0) { /* keep eating */ }\n return `${value.substring(0, i)}...`\n }\n return value\n}\n\n/**\n * Round a number for display with repository facts\n *\n * This is a reverse-engineered version of GitHub's weird rounding algorithm\n * for stars, forks and all other numbers. While all numbers below `1,000` are\n * returned as-is, bigger numbers are converted to fixed numbers:\n *\n * - `1,049` => `1k`\n * - `1,050` => `1.1k`\n * - `1,949` => `1.9k`\n * - `1,950` => `2k`\n *\n * @param value - Original value\n *\n * @returns Rounded value\n */\nexport function round(value: number): string {\n if (value > 999) {\n const digits = +((value - 950) % 1000 > 99)\n return `${((value + 0.000001) / 1000).toFixed(digits)}k`\n } else {\n return value.toString()\n }\n}\n\n/**\n * Simple hash function\n *\n * @see https://bit.ly/2wsVjJ4 - Original source\n *\n * @param value - Value to be hashed\n *\n * @returns Hash as 32bit integer\n */\nexport function hash(value: string): number {\n let h = 0\n for (let i = 0, len = value.length; i < len; i++) {\n h = ((h << 5) - h) + value.charCodeAt(i)\n h |= 0 // Convert to 32bit integer\n }\n return h\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { translation } from \"~/_\"\nimport { round } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set number of search results\n *\n * @param el - Search result metadata element\n * @param value - Number of results\n */\nexport function setSearchResultMeta(\n el: HTMLElement, value: number\n): void {\n switch (value) {\n\n /* No results */\n case 0:\n el.textContent = translation(\"search.result.none\")\n break\n\n /* One result */\n case 1:\n el.textContent = translation(\"search.result.one\")\n break\n\n /* Multiple result */\n default:\n el.textContent = translation(\"search.result.other\", round(value))\n }\n}\n\n/**\n * Reset number of search results\n *\n * @param el - Search result metadata element\n */\nexport function resetSearchResultMeta(\n el: HTMLElement\n): void {\n el.textContent = translation(\"search.result.placeholder\")\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Add an element to the search result list\n *\n * @param el - Search result list element\n * @param child - Search result element\n */\nexport function addToSearchResultList(\n el: HTMLElement, child: Element\n): void {\n el.appendChild(child)\n}\n\n/**\n * Reset search result list\n *\n * @param el - Search result list element\n */\nexport function resetSearchResultList(\n el: HTMLElement\n): void {\n el.innerHTML = \"\"\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { wrap } from \"fuzzaldrin-plus\"\n\nimport { translation } from \"~/_\"\nimport { h } from \"~/utilities\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon\n */\nexport interface Icon {\n shortcode: string /* Icon shortcode */\n url: string /* Icon URL */\n}\n\n/* ----------------------------------------------------------------------------\n * Helper functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Highlight an icon search result\n *\n * @param icon - Icon\n * @param query - Search query\n *\n * @returns Highlighted result\n */\nfunction highlight(icon: Icon, query: string) {\n return wrap(icon.shortcode, query, {\n wrap: {\n tagOpen: \"\",\n tagClose: \"\"\n }\n })\n}\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Render an icon search result\n *\n * @param icon - Icon\n * @param query - Search query\n *\n * @returns Element\n */\nexport function renderIconSearchResult(\n icon: Icon, query: string\n): HTMLElement {\n return (\n
  • \n \n \n \n \n {`:${highlight(icon, query)}:`}\n \n
  • \n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { Observable, merge } from \"rxjs\"\n\nimport { configuration } from \"~/_\"\nimport { requestJSON } from \"~/browser\"\n\nimport { Component, getComponentElement } from \"../../_\"\nimport {\n IconSearchQuery,\n mountIconSearchQuery\n} from \"../query\"\nimport {\n IconSearchResult,\n mountIconSearchResult\n} from \"../result\"\n\n/* ----------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/**\n * Icon category\n */\nexport interface IconCategory {\n base: string /* Category base URL */\n data: Record /* Category data */\n}\n\n/**\n * Icon search index\n */\nexport interface IconSearchIndex {\n icons: IconCategory /* Icons */\n emojis: IconCategory /* Emojis */\n}\n\n/* ------------------------------------------------------------------------- */\n\n/**\n * Icon search\n */\nexport type IconSearch =\n | IconSearchQuery\n | IconSearchResult\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Mount icon search\n *\n * @param el - Icon search element\n *\n * @returns Icon search component observable\n */\nexport function mountIconSearch(\n el: HTMLElement\n): Observable> {\n const config = configuration()\n const index$ = requestJSON(\n `${config.base}/overrides/assets/javascripts/icon_search_index.json`\n )\n\n /* Retrieve nested components */\n const query = getComponentElement(\"icon-search-query\", el)\n const result = getComponentElement(\"icon-search-result\", el)\n\n /* Create and return component */\n const query$ = mountIconSearchQuery(query as HTMLInputElement)\n return merge(\n query$,\n mountIconSearchResult(result, { index$, query$ })\n )\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { fromEvent } from \"rxjs\"\n\n/* ----------------------------------------------------------------------------\n * Functions\n * ------------------------------------------------------------------------- */\n\n/**\n * Set up extra analytics events\n */\nexport function setupAnalytics(): void {\n fromEvent(document.body, \"click\")\n .subscribe(ev => {\n if (ev.target instanceof HTMLElement) {\n const el = ev.target.closest(\"a[href^=http]\")\n if (el instanceof HTMLLinkElement)\n ga(\"send\", \"event\", \"outbound\", \"click\", el.href)\n }\n })\n}\n", "/*\n * Copyright (c) 2016-2021 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * 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 THE\n * 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 DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport { merge } from \"rxjs\"\nimport { switchMap } from \"rxjs/operators\"\n\nimport {\n getComponentElements,\n mountIconSearch\n} from \"./components\"\nimport { setupAnalytics } from \"./integrations\"\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Set up extra analytics events */\nsetupAnalytics()\n\n/* Set up extra component observables */\nwindow.document$\n .pipe(\n switchMap(() => merge(\n\n /* Icon search */\n ...getComponentElements(\"icon-search\")\n .map(el => mountIconSearch(el))\n ))\n )\n .subscribe()\n"], + "mappings": "+iBAAA,cAAC,YACC,GAAI,GAAe,EAAc,EAAoB,EAAmB,EAAS,EAAa,EAAW,EAAa,EAAY,EAAW,EAAe,EAAgB,EAAmB,EAAY,EAAiB,EAAc,EAAe,EAAW,EAAU,EAE9Q,EAAK,IAEL,EAAY,GAEZ,EAAW,IAEX,EAAa,IAEb,EAAQ,MAAQ,SAAS,EAAQ,EAAO,GACtC,GAAI,GAAa,EAAe,EAAO,EAEvC,MADA,GAAgB,EAAQ,cAAe,EAAc,EAAQ,YACzD,AAAE,GAAe,EAAQ,EAAQ,EAAc,QAAS,EAAc,SAG1E,GAAY,EAAO,cACnB,EAAQ,EAAa,EAAQ,EAAW,GACjC,KAAK,KAAK,IAJR,GAOX,EAAQ,QAAU,EAAU,SAAS,EAAS,EAAU,GACtD,GAAI,GAAG,EAAG,EAAG,EAAG,EAAO,EAAO,EAG9B,GAFA,EAAI,EAAQ,OACZ,EAAI,EAAS,OACT,CAAC,GAAK,EAAI,EACZ,MAAO,GAIT,IAFA,EAAI,GACJ,EAAI,GACG,EAAE,EAAI,IAGX,IAFA,EAAQ,EAAS,WAAW,GAC5B,EAAQ,EAAS,WAAW,GACrB,EAAE,EAAI,GACX,GAAK,EAAQ,WAAW,GACpB,MAAO,GAAS,IAAO,KAA3B,CAIF,GAAI,IAAM,EACR,MAAO,GAGX,MAAO,IAGT,EAAQ,aAAe,EAAe,SAAS,EAAS,EAAY,GAClE,GAAI,GAAM,EAAY,EAAO,EAAU,EAAS,EAAW,EAAoB,EAAG,EAAG,EAAG,EAAa,EAAW,EAAG,GAAK,GAAO,EAAU,GAAa,GAAO,GAAY,GAAW,GAAU,GAAO,GAAO,GAO5M,GANA,GAAQ,EAAc,MACtB,EAAW,EAAc,SACzB,EAAI,EAAQ,OACZ,EAAI,GAAM,OACV,EAAO,EAAc,EAAS,EAAY,GAAO,GACjD,EAAa,EAAK,MACd,EAAK,QAAU,EACjB,MAAO,GAAW,EAAG,EAAG,EAAY,EAAK,KAG3C,GADA,GAAM,EAAW,QAAQ,GACrB,GAAM,GACR,MAAO,GAAgB,EAAS,EAAY,GAAO,EAAU,GAAK,EAAG,GASvE,IAPA,GAAY,GAAI,OAAM,GACtB,EAAU,GAAI,OAAM,GACpB,GAAK,EAAU,EAAG,GAClB,EAAc,KAAK,KAAK,EAAa,GAAK,EAC1C,EAAY,EACZ,EAAqB,GACrB,EAAI,GACG,EAAE,EAAI,GACX,GAAU,GAAK,EACf,EAAQ,GAAK,EAGf,IADA,EAAI,GACG,EAAE,EAAI,IAEX,GADA,GAAQ,EAAW,GACf,CAAC,GAAM,WAAW,IAAM,GAAc,WACxC,GAAI,GAEF,IADA,EAAI,GACG,EAAE,EAAI,GACX,EAAQ,GAAK,EAEf,EAAqB,GAEvB,SAQF,IANA,GAAQ,EACR,GAAa,EACb,EAAW,EACX,GAAc,GACd,EAAqB,GACrB,EAAI,GACG,EAAE,EAAI,IAMX,GALA,GAAW,GAAU,GACjB,GAAW,IACb,IAAQ,IAEV,EAAY,EACR,EAAS,KAAO,GAIlB,GAHA,GAAQ,EAAY,EAAG,EAAS,GAChC,EAAY,EAAW,EAAI,EAAW,EAAkB,EAAS,EAAY,GAAO,EAAU,EAAG,EAAG,IACpG,EAAQ,GAAa,EAAe,EAAG,EAAG,GAAO,EAAY,GACzD,EAAQ,GACV,GAAQ,EACR,EAAY,OAEZ,GAAI,IAAe,EAAE,GAAa,EAChC,MAAO,MAAK,IAAI,GAAO,GAAU,EAAI,IAAM,GAE7C,GAAc,GAGlB,GAAa,GACb,EAAW,EAAQ,GACnB,EAAQ,GAAK,EACb,GAAU,GAAK,IAGnB,UAAQ,GAAU,EAAI,GACf,GAAQ,IAGjB,EAAQ,YAAc,EAAc,SAAS,EAAK,EAAS,GACzD,GAAI,GAAQ,EACZ,MAAI,KAAQ,EACH,GAET,GAAS,EAAQ,GACjB,EAAS,EAAQ,EAAM,GAChB,EAAY,IAAY,IAAW,EAAW,IAAQ,IAAW,EAAW,EAAM,KAG3F,EAAQ,UAAY,EAAY,SAAS,EAAK,EAAS,EAAY,GACjE,GAAI,GAAQ,EACZ,MAAI,KAAQ,EAAM,EACT,GAET,GAAS,EAAQ,GACjB,EAAS,EAAQ,EAAM,GAChB,EAAY,IAAY,IAAW,EAAW,IAAQ,IAAW,EAAW,EAAM,KAG3F,EAAc,SAAS,GACrB,MAAO,KAAM,KAAO,IAAM,KAAO,IAAM,KAAO,IAAM,KAAO,IAAM,KAAO,IAAM,MAGhF,EAAgB,SAAS,GACvB,GAAI,GACJ,MAAI,GAAM,EACR,GAAK,EAAY,EACV,IAAM,EAAK,GAEX,KAAK,IAAI,IAAM,EAAY,EAAK,IAI3C,EAAQ,UAAY,EAAY,SAAS,EAAG,GAC1C,MAAO,GAAY,GAAW,KAAK,IAAI,EAAI,KAG7C,EAAa,SAAS,EAAG,EAAG,EAAS,GACnC,MAAO,GAAI,EAAK,GAAK,EAAU,EAAc,IAAQ,EAAU,EAAG,IAGpE,EAAQ,aAAe,EAAe,SAAS,EAAO,EAAK,EAAU,EAAO,GAC1E,GAAI,GAAO,EACX,SAAK,EACL,EAAQ,EACJ,IAAa,GACf,IAAS,GAEP,GACF,IAAS,GAEP,GACF,IAAS,GAEP,IAAU,GACR,IACF,CAAI,IAAa,EACf,GAAM,EAEN,GAAM,GAGN,GACF,IAAS,IAGN,EAAW,EAAM,GAAK,IAG/B,EAAQ,eAAiB,EAAiB,SAAS,EAAG,EAAG,EAAO,EAAY,GAC1E,GAAI,GAEJ,MADA,GAAW,EAAc,GACrB,EACK,EAAW,EAAO,IAAa,EAAY,EAAa,GAAa,IAEvE,EAAW,EAAK,GAGzB,EAAQ,kBAAoB,EAAoB,SAAS,EAAS,EAAY,EAAO,EAAU,EAAG,EAAG,GACnG,GAAI,GAAG,EAAG,EAAI,EAAG,EAAI,EAAU,EAW/B,IAVA,EAAI,EAAQ,OACZ,EAAI,EAAM,OACV,EAAK,EAAI,EACT,EAAK,EAAI,EACT,EAAI,EAAK,EAAK,EAAK,EACnB,EAAW,EACX,EAAK,EACD,EAAM,KAAO,EAAQ,IACvB,IAEK,EAAE,EAAK,GAAK,EAAS,EAAE,KAAO,EAAW,EAAE,IAChD,AAAI,EAAM,KAAO,EAAQ,IACvB,IAMJ,MAHI,GAAK,GACP,IAEE,IAAO,EACF,EAAI,EAAI,EAEV,EAAa,EAAI,EAAG,EAAU,EAAa,EAAU,EAAG,EAAS,EAAY,KAGtF,EAAQ,gBAAkB,EAAkB,SAAS,EAAS,EAAY,EAAO,EAAU,EAAK,EAAG,GACjG,GAAI,GAAK,EAAG,EAAM,EAAU,EAa5B,IAZA,EAAQ,EAAY,EAAK,EAAS,GAC7B,GACH,GAAO,EAAW,QAAQ,EAAU,EAAM,GACtC,EAAO,IACT,GAAQ,EAAY,EAAM,EAAS,GAC/B,GACF,GAAM,KAIZ,EAAI,GACJ,EAAW,EACJ,EAAE,EAAI,GACX,AAAI,EAAM,EAAM,KAAO,EAAQ,IAC7B,IAGJ,SAAM,EAAU,EAAM,EAAI,EAAG,EAAS,EAAY,GAC3C,EAAW,EAAG,EAAG,EAAa,EAAG,EAAG,EAAU,EAAO,GAAM,IAGpE,EAAiB,WACf,WAAuB,EAAO,EAAK,GACjC,KAAK,MAAQ,EACb,KAAK,IAAM,EACX,KAAK,MAAQ,EAGf,MAAO,MAIT,EAAqB,GAAI,GAAc,EAAG,GAAK,GAE/C,EAAQ,cAAgB,EAAgB,SAAS,EAAS,EAAY,EAAO,GAC3E,GAAI,GAAO,EAAU,EAAG,EAAG,EAAG,EAAG,EAAO,EAAU,EAAO,EAAU,EAGnE,GAFA,EAAI,EAAQ,OACZ,EAAI,EAAM,OACN,CAAE,GAAI,GAAK,EAAI,GACjB,MAAO,GAQT,IANA,EAAQ,EACR,EAAW,EACX,EAAS,EACT,EAAW,EACX,EAAI,GACJ,EAAI,GACG,EAAE,EAAI,IAEX,GADA,EAAQ,EAAS,GACb,EAAY,GAEd,GADA,EAAI,EAAW,QAAQ,EAAO,EAAI,GAC9B,EAAI,IACN,IACA,aAEA,OAGJ,KAAO,EAAE,EAAI,GACX,GAAI,IAAU,EAAW,IAAM,EAAY,EAAG,EAAS,IACrD,AAAI,EAAM,KAAO,EAAQ,IACvB,IAEF,GAAU,EACV,IACA,MAGJ,GAAI,IAAM,EACR,MAGJ,MAAI,GAAQ,EACH,EAET,GAAW,IAAU,EAAI,EAAkB,EAAS,EAAY,EAAO,GAAS,GAChF,EAAQ,EAAa,EAAO,EAAG,EAAU,GAAM,GACxC,GAAI,GAAc,EAAO,EAAS,EAAO,EAAQ,KAG1D,EAAoB,SAAS,EAAS,EAAY,EAAO,GACvD,GAAI,GAAO,EAAG,EAAG,EAIjB,GAHA,EAAI,EAAQ,OACZ,EAAI,EAAM,OACV,EAAQ,EACJ,EAAI,GAAK,EACX,MAAO,GAGT,IADA,EAAI,GACG,EAAE,EAAI,GACX,GAAI,EAAY,EAAG,EAAS,IAAe,EAAE,EAAQ,EACnD,MAAO,GAGX,MAAO,MAGR,KAAK,KCtUR,eAAC,YACC,GAAI,GAAc,EAAU,EAAY,EAAc,EAAmB,EAAS,EAAW,EAAW,EAAW,EAEnH,EAAe,KAAa,EAAU,EAAK,QAAS,EAAe,EAAK,aAAc,EAAY,EAAK,UAEvG,EAAY,GAEZ,EAAa,IAEb,GAAQ,MAAQ,SAAS,EAAQ,EAAO,GACtC,GAAI,GAAa,EAAe,EAAO,EAEvC,MADA,GAAgB,EAAQ,cAAe,EAAc,EAAQ,YACzD,AAAE,GAAe,EAAQ,EAAQ,EAAc,QAAS,EAAc,SAG1E,GAAY,EAAO,cACnB,EAAQ,EAAa,EAAQ,EAAW,GACxC,EAAQ,EAAU,EAAQ,EAAW,EAAO,GACrC,KAAK,KAAK,IALR,GAQX,EAAY,SAAS,EAAS,EAAY,EAAe,GACvD,GAAI,GAAO,EAAe,EAAS,EAAO,EAAK,EAAW,EAAY,EAAe,EAAe,EACpG,GAAI,IAAkB,EACpB,MAAO,GAIT,IAFA,EAAgB,EAAQ,cAAe,EAAoB,EAAQ,kBAAmB,EAAgB,EAAQ,cAC9G,EAAM,EAAQ,OAAS,EAChB,EAAQ,KAAS,GACtB,IASF,GAPA,EAAU,EAAQ,YAAY,EAAe,GAC7C,EAAa,EAAM,EACnB,EAAY,EACR,GACF,IAAa,EAAkB,EAAY,EAAc,IAAK,EAAS,EAAK,GAC5E,GAAiB,GAEf,IAAY,GACd,MAAO,GAGT,IADA,EAAQ,EAAc,MACf,EAAU,IAAM,KAAU,GAC/B,EAAU,EAAQ,YAAY,EAAe,EAAU,GAEzD,SAAgB,IAAY,GAAK,EAAgB,EAAY,EAAa,EAAQ,MAAM,EAAU,EAAG,EAAM,GAAI,EAAW,MAAM,EAAU,EAAG,EAAM,GAAI,GACvJ,EAAQ,GAAM,EAAa,GAAY,EAAS,EAAS,EAAM,EAAG,IAC3D,EAAQ,EAAiB,GAAI,GAAS,EAAgB,EAAU,EAAG,EAAa,IAGzF,GAAQ,SAAW,EAAW,SAAS,EAAM,EAAK,GAChD,GAAI,GAAO,EACX,GAAI,EAAM,EACR,MAAO,GAIT,IAFA,EAAQ,EACR,EAAI,GACG,EAAE,EAAI,GAAO,EAAK,KAAO,GAAe,CAG/C,KAAO,EAAE,EAAI,GACX,GAAI,EAAK,KAAO,EAEd,IADA,IACO,EAAE,EAAI,GAAO,EAAK,KAAO,GAAe,CAKnD,MAAO,IAGT,GAAQ,aAAe,EAAe,SAAS,GAC7C,GAAI,GAEJ,MADA,GAAM,EAAI,YAAY,KAClB,EAAM,EACD,GAEA,EAAI,OAAO,EAAM,IAI5B,EAAoB,SAAS,EAAW,EAAK,EAAU,EAAQ,GAC7D,GAAI,GAAG,EAAS,EAAG,EAKnB,GAJI,CAAC,EAAI,QAGT,GAAM,EAAU,YAAY,IAAK,GAC7B,CAAE,GAAM,IACV,MAAO,GAUT,IARA,EAAI,EAAI,OACR,EAAI,EAAS,EACT,EAAI,GACN,GAAI,EACJ,EAAI,EAAI,QAEV,IACA,EAAU,GACH,EAAE,EAAU,GACb,EAAU,EAAM,KAAa,EAAI,IAArC,CAIF,MAAI,KAAY,GAAK,EAAW,EACvB,GAAM,EAAkB,EAAW,EAAK,EAAU,EAAM,EAAG,EAAW,GAExE,EAAU,KAGlB,KAAK,MC7GR,oBAAC,YACC,GAAI,GAAO,EAAW,EAAU,EAAc,EAAc,EAAa,EAAoB,EAE7F,EAAe,KAAiB,EAAW,EAAK,SAAU,EAAe,EAAK,aAE9E,GAAO,QAAU,EAAS,WACxB,WAAe,EAAO,GACpB,GAAI,GAAc,EAAe,EAEjC,GADA,EAAQ,GAAsB,GAAI,EAAe,EAAM,aAAc,EAAgB,EAAM,cACvF,CAAE,IAAS,EAAM,QACnB,MAAO,MAET,KAAK,MAAQ,EACb,KAAK,SAAW,EAAM,cACtB,KAAK,KAAO,EAAU,EAAO,GAC7B,KAAK,QAAU,KAAK,KAAK,cACzB,KAAK,QAAU,EAAmB,KAAK,MACvC,KAAK,MAAQ,EAAS,EAAO,EAAM,OAAQ,GAC3C,KAAK,IAAM,EAAa,KAAK,UAC7B,KAAK,UAAY,EAAa,KAAK,UAGrC,MAAO,MAIT,EAAc,eAEd,EAAY,SAAS,EAAO,GAC1B,MAAI,IAAgB,MAClB,GAAe,GAEV,EAAM,QAAQ,EAAc,KAGrC,EAAqB,SAAS,GAC5B,GAAI,GAAM,EAAO,EAAI,EAErB,IADA,EAAQ,GACH,EAAK,EAAG,EAAO,EAAI,OAAQ,EAAK,EAAM,IACzC,EAAO,EAAI,GACX,GAAS,EAAK,cAAc,GAE9B,MAAO,IAGT,EAAe,SAAS,GACtB,GAAI,GAAW,EAAG,EAIlB,IAHA,EAAM,EAAI,OACV,EAAI,GACJ,EAAY,GACL,EAAE,EAAI,GACX,EAAU,EAAI,WAAW,IAAM,GAEjC,MAAO,MAGR,KAAK,MCxDR,oBAAC,YACC,GAAI,GAAO,EAAY,EAAiB,EAAQ,EAEhD,EAAiB,KAEjB,EAAqB,KAErB,EAAgB,KAEhB,EAAkB,SAAS,GACzB,MAAO,GAAE,WAGX,EAAiB,SAAS,EAAG,GAC3B,MAAO,GAAE,MAAQ,EAAE,OAGrB,GAAO,QAAU,SAAS,EAAY,EAAO,GAC3C,GAAI,GAAM,EAAW,EAAK,EAAW,EAAY,EAAO,EAAe,EAAkB,EAAU,EAAQ,EAAgB,EAAI,EAM/H,IALA,EAAmB,GACnB,EAAM,EAAQ,IAAK,EAAa,EAAQ,WAAY,EAAY,EAAQ,UAAW,EAAiB,EAAQ,eAC5G,EAAY,GAAa,MAAS,EAAY,EAAI,EAAY,EAAW,OAAS,EAClF,EAAO,GAAO,KACd,EAAgB,EAAiB,EAAa,EACzC,EAAK,EAAG,EAAO,EAAW,OAAQ,EAAK,GAC1C,GAAY,EAAW,GACvB,EAAS,EAAO,EAAU,GAAO,EAC7B,IAAC,GAGL,GAAQ,EAAc,MAAM,EAAQ,EAAO,GACvC,EAAQ,GACV,GAAiB,KAAK,CACpB,UAAW,EACX,MAAO,IAEL,CAAC,EAAE,MAZuC,IAGhD,CAcF,SAAiB,KAAK,GACtB,EAAa,EAAiB,IAAI,GAC9B,GAAc,MAChB,GAAa,EAAW,MAAM,EAAG,IAE5B,KAGR,KAAK,MCjDR,eAAC,YACC,GAAI,GAAe,EAAc,EAAS,EAAa,EAAO,EAAc,EAAe,EAAgB,EAAmB,EAE9H,EAAe,KAAa,EAAU,EAAK,QAAS,EAAc,EAAK,YAAa,EAAoB,EAAK,kBAAmB,EAAiB,EAAK,eAAgB,EAAgB,EAAK,cAE3L,GAAQ,MAAQ,EAAQ,SAAS,EAAQ,EAAO,GAC9C,GAAI,GAAa,EAAa,EAAS,EAAe,EAAe,EAErE,MADA,GAAc,EAAQ,YAAa,EAAgB,EAAQ,cAAe,EAAgB,EAAQ,cAC9F,AAAE,GAAe,EAAQ,EAAQ,EAAc,QAAS,EAAc,SAG1E,GAAY,EAAO,cACnB,EAAU,EAAa,EAAQ,EAAW,GACtC,EAAQ,SAAW,GAGnB,EAAO,QAAQ,GAAiB,IAClC,GAAc,EAAc,EAAQ,EAAW,EAAe,GAC9D,EAAU,EAAa,EAAS,IAE3B,GAXE,IAcX,GAAQ,KAAO,SAAS,EAAQ,EAAO,GACrC,GAAI,GAAY,EAAU,EAAgB,EAAQ,EAAQ,EAAU,EAAU,EAAS,EAavF,GAZK,EAAQ,MAAQ,MACnB,GAAQ,EAAQ,KAAM,EAAW,EAAM,SAAU,EAAU,EAAM,QAAS,EAAW,EAAM,UAEzF,GAAY,MACd,GAAW,aAET,GAAW,MACb,GAAU,kBAAoB,EAAW,MAEvC,GAAY,MACd,GAAW,aAET,IAAW,EACb,MAAO,GAAU,EAAS,EAG5B,GADA,EAAiB,EAAM,EAAQ,EAAO,GAClC,EAAe,SAAW,EAC5B,MAAO,GAKT,IAHA,EAAS,GACT,EAAa,GACb,EAAS,EACF,EAAE,EAAa,EAAe,SAMnC,IALA,EAAW,EAAe,GACtB,EAAW,GACb,IAAU,EAAO,UAAU,EAAQ,GACnC,EAAS,GAEJ,EAAE,EAAa,EAAe,QACnC,GAAI,EAAe,KAAgB,EAAW,EAC5C,SAEA,IACA,MAGJ,IACI,EAAW,GACb,IAAU,EACV,GAAU,EAAO,UAAU,EAAQ,GACnC,GAAU,EACV,EAAS,GAGb,MAAI,IAAU,EAAO,OAAS,GAC5B,IAAU,EAAO,UAAU,IAEtB,GAGT,EAAgB,SAAS,EAAS,EAAY,EAAe,GAC3D,GAAI,GAAS,EAAO,EAEpB,IADA,EAAM,EAAQ,OAAS,EAChB,EAAQ,KAAS,GACtB,IAGF,GADA,EAAU,EAAQ,YAAY,EAAe,GACzC,IAAY,GACd,MAAO,GAGT,IADA,EAAQ,EAAc,MACf,KAAU,GAEf,GADA,EAAU,EAAQ,YAAY,EAAe,EAAU,GACnD,IAAY,GACd,MAAO,GAGX,WACA,IACO,EAAa,EAAQ,MAAM,EAAS,GAAM,EAAW,MAAM,EAAS,GAAM,EAAe,IAGlG,EAAe,SAAS,EAAG,GACzB,GAAI,GAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAGxB,GAFA,EAAI,EAAE,OACN,EAAI,EAAE,OACF,IAAM,EACR,MAAO,GAAE,QAEX,GAAI,IAAM,EACR,MAAO,GAAE,QAMX,IAJA,EAAI,GACJ,EAAI,EACJ,EAAK,EAAE,GACP,EAAM,GACC,EAAE,EAAI,IAEX,IADA,EAAK,EAAE,GACA,GAAM,GAAM,EAAE,EAAI,GACvB,AAAI,EAAK,GACP,EAAI,KAAK,GAEX,EAAK,EAAE,GAET,EAAI,KAAK,GAEX,KAAO,EAAI,GACT,EAAI,KAAK,EAAE,MAEb,MAAO,IAGT,EAAe,SAAS,EAAS,EAAY,EAAe,GAC1D,GAAI,GAAU,EAAM,EAAM,EAAI,EAAY,EAAO,EAAW,EAAU,EAAS,EAAW,EAAG,EAAG,EAAG,EAAS,EAAM,EAAG,EAAK,EAAO,EAAU,EAAO,EAAY,EAAW,GAAU,GAAO,EAAO,GAkBjM,IAjBI,GAAU,MACZ,GAAS,GAEX,EAAQ,EAAc,MACtB,EAAW,EAAc,SACzB,EAAI,EAAQ,OACZ,EAAI,EAAM,OACV,EAAa,EAAc,EAAS,EAAY,EAAO,GAAU,MACjE,EAAY,GAAI,OAAM,GACtB,EAAU,GAAI,OAAM,GACpB,EAAO,EACP,EAAK,EACL,EAAO,EACP,EAAW,EACX,GAAQ,GAAI,OAAM,EAAI,GACtB,EAAM,GACN,EAAI,GACG,EAAE,EAAI,GACX,EAAU,GAAK,EACf,EAAQ,GAAK,EAGf,IADA,EAAI,GACG,EAAE,EAAI,GAMX,IALA,EAAQ,EACR,GAAW,EACX,EAAW,EACX,GAAQ,EAAW,GACnB,EAAI,GACG,EAAE,EAAI,GACX,EAAY,EACZ,EAAQ,EACR,EAAa,GACT,EAAS,KAAO,IAClB,GAAQ,EAAY,EAAG,EAAS,GAChC,EAAY,EAAW,EAAI,EAAW,EAAkB,EAAS,EAAY,EAAO,EAAU,EAAG,EAAG,GACpG,EAAQ,EAAa,EAAe,EAAG,EAAG,EAAO,EAAY,IAE/D,GAAW,EAAU,GACrB,EAAW,EAAQ,GACnB,AAAI,EAAQ,GACV,EAAO,EAEP,GAAQ,GACR,EAAO,GAET,AAAI,EAAQ,EACV,GAAQ,EACR,EAAO,GAEP,EAAY,EAEd,EAAU,GAAK,EACf,EAAQ,GAAK,EACb,GAAM,EAAE,GAAO,EAAQ,EAAI,EAAO,EAQtC,IALA,EAAI,EAAI,EACR,EAAI,EAAI,EACR,EAAM,EAAI,EAAI,EACd,EAAY,GACZ,EAAU,GACH,GAAa,GAAK,GAAK,GAAK,GACjC,OAAQ,GAAM,QACP,GACH,IACA,GAAO,EACP,UACG,GACH,IACA,IACA,UACG,GACH,EAAQ,KAAK,EAAI,GACjB,IACA,IACA,GAAO,EAAI,EACX,cAEA,EAAY,GAGlB,SAAQ,UACD,KAGR,KAAK,MCtNR,oBAAC,YACC,GAAI,GAAO,EAAsB,EAAQ,EAAS,EAAc,EAAY,EAAoB,EAEhG,EAAiB,KAEjB,EAAkB,KAElB,EAAiB,KAEjB,EAAqB,KAErB,EAAgB,KAEhB,EAAqB,KAErB,EAAwB,OAAO,UAAY,aAAe,UAAY,KAAO,QAAQ,SAAW,UAAY,QAAU,KAAO,IAE7H,GAAO,QAAU,CACf,OAAQ,SAAS,EAAY,EAAO,GAIlC,MAHI,IAAW,MACb,GAAU,IAER,AAAG,IAAS,KAAO,EAAM,OAAS,SAAY,IAAc,KAAO,EAAW,OAAS,QAG3F,GAAU,EAAa,EAAS,GACzB,EAAO,EAAY,EAAO,IAHxB,IAKX,MAAO,SAAS,EAAQ,EAAO,GAI7B,MAHI,IAAW,MACb,GAAU,IAER,AAAG,IAAU,KAAO,EAAO,OAAS,SAAY,IAAS,KAAO,EAAM,OAAS,QAGnF,GAAU,EAAa,EAAS,GAC5B,EAAQ,eACH,EAAW,MAAM,EAAQ,EAAO,GAEhC,EAAO,MAAM,EAAQ,EAAO,IAN5B,GASX,MAAO,SAAS,EAAQ,EAAO,GAC7B,GAAI,GAAI,EAAM,EAId,MAHI,IAAW,MACb,GAAU,IAER,AAAC,EAGA,EAGD,IAAW,EACL,WACN,EAAW,GACX,OAAS,GAAK,EAAG,EAAO,EAAO,OAAQ,GAAK,EAAO,EAAK,EAAO,EAAK,EAAM,GAAK,EAAO,IAAO,IAAO,EAAS,KAAK,GAClH,MAAO,IACN,MAAM,MAEX,GAAU,EAAa,EAAS,GACzB,EAAQ,MAAM,EAAQ,EAAO,IAV3B,GAHA,IAeX,KAAM,SAAS,EAAQ,EAAO,GAI5B,MAHI,IAAW,MACb,GAAU,IAER,AAAC,EAGA,EAGL,GAAU,EAAa,EAAS,GACzB,EAAQ,KAAK,EAAQ,EAAO,IAH1B,GAHA,IAQX,aAAc,SAAS,EAAO,GAC5B,MAAI,IAAW,MACb,GAAU,IAEZ,EAAU,EAAa,EAAS,GACzB,EAAQ,gBAInB,EAAe,SAAS,EAAS,GAC/B,MAAI,GAAQ,aAAe,MACzB,GAAQ,YAAc,IAEpB,EAAQ,gBAAkB,MAC5B,GAAQ,eAAiB,IAEvB,EAAQ,mBAAqB,MAC/B,GAAQ,kBAAoB,IAE1B,EAAQ,eAAiB,MAC3B,GAAQ,cAAgB,GAEtB,EAAQ,cAAgB,MAC1B,GAAQ,aAAe,MAErB,EAAQ,MAAQ,MAClB,GAAQ,KAAO,MAEb,EAAQ,eAAiB,MAC3B,GAAQ,cAAgB,GAAsB,EAAmB,QAAU,EAAQ,EAAsB,EAAqB,GAAI,GAAM,EAAO,IAE1I,KAGR,KAAK,MC9GR,AAgBA,GAAI,IAAgB,SAAS,EAAG,GAC5B,UAAgB,OAAO,gBAClB,CAAE,UAAW,aAAgB,QAAS,SAAU,EAAG,GAAK,EAAE,UAAY,IACvE,SAAU,EAAG,GAAK,OAAS,KAAK,GAAG,AAAI,EAAE,eAAe,IAAI,GAAE,GAAK,EAAE,KAClE,GAAc,EAAG,IAGrB,WAAmB,EAAG,GACzB,GAAc,EAAG,GACjB,aAAgB,KAAK,YAAc,EACnC,EAAE,UAAY,IAAM,KAAO,OAAO,OAAO,GAAM,GAAG,UAAY,EAAE,UAAW,GAAI,IAyC5E,YAAmB,EAAS,EAAY,EAAG,GAC9C,WAAe,GAAS,MAAO,aAAiB,GAAI,EAAQ,GAAI,GAAE,SAAU,GAAW,EAAQ,KAC/F,MAAO,IAAK,IAAM,GAAI,UAAU,SAAU,EAAS,GAC/C,WAAmB,GAAS,IAAM,EAAK,EAAU,KAAK,UAAkB,GAAK,EAAO,IACpF,WAAkB,GAAS,IAAM,EAAK,EAAU,MAAS,UAAkB,GAAK,EAAO,IACvF,WAAc,GAAU,EAAO,KAAO,EAAQ,EAAO,OAAS,EAAM,EAAO,OAAO,KAAK,EAAW,GAClG,EAAM,GAAY,EAAU,MAAM,EAAS,GAAc,KAAK,UAI/D,YAAqB,EAAS,GACjC,GAAI,GAAI,CAAE,MAAO,EAAG,KAAM,WAAa,GAAI,EAAE,GAAK,EAAG,KAAM,GAAE,GAAI,MAAO,GAAE,IAAO,KAAM,GAAI,IAAK,IAAM,EAAG,EAAG,EAAG,EAC/G,MAAO,GAAI,CAAE,KAAM,EAAK,GAAI,MAAS,EAAK,GAAI,OAAU,EAAK,IAAM,MAAO,SAAW,YAAe,GAAE,OAAO,UAAY,WAAa,MAAO,QAAU,EACvJ,WAAc,GAAK,MAAO,UAAU,GAAK,MAAO,GAAK,CAAC,EAAG,KACzD,WAAc,GACV,GAAI,EAAG,KAAM,IAAI,WAAU,mCAC3B,KAAO,GAAG,IACN,GAAI,EAAI,EAAG,GAAM,GAAI,EAAG,GAAK,EAAI,EAAE,OAAY,EAAG,GAAK,EAAE,OAAc,IAAI,EAAE,SAAc,EAAE,KAAK,GAAI,GAAK,EAAE,OAAS,CAAE,GAAI,EAAE,KAAK,EAAG,EAAG,KAAK,KAAM,MAAO,GAE3J,OADI,EAAI,EAAG,GAAG,GAAK,CAAC,EAAG,GAAK,EAAG,EAAE,QACzB,EAAG,QACF,OAAQ,GAAG,EAAI,EAAI,UACnB,GAAG,SAAE,QAAgB,CAAE,MAAO,EAAG,GAAI,KAAM,QAC3C,GAAG,EAAE,QAAS,EAAI,EAAG,GAAI,EAAK,CAAC,GAAI,aACnC,GAAG,EAAK,EAAE,IAAI,MAAO,EAAE,KAAK,MAAO,iBAEpC,GAAM,EAAI,EAAE,KAAM,IAAI,EAAE,OAAS,GAAK,EAAE,EAAE,OAAS,KAAQ,GAAG,KAAO,GAAK,EAAG,KAAO,IAAM,EAAI,EAAG,SACjG,GAAI,EAAG,KAAO,GAAM,EAAC,GAAM,EAAG,GAAK,EAAE,IAAM,EAAG,GAAK,EAAE,KAAQ,EAAE,MAAQ,EAAG,GAAI,MAC9E,GAAI,EAAG,KAAO,GAAK,EAAE,MAAQ,EAAE,IAAM,EAAE,MAAQ,EAAE,GAAI,EAAI,EAAI,MAC7D,GAAI,GAAK,EAAE,MAAQ,EAAE,IAAM,EAAE,MAAQ,EAAE,GAAI,EAAE,IAAI,KAAK,GAAK,MAC3D,AAAI,EAAE,IAAI,EAAE,IAAI,MAChB,EAAE,KAAK,MAAO,SAEtB,EAAK,EAAK,KAAK,EAAS,SACnB,GAAK,EAAK,CAAC,EAAG,GAAI,EAAI,UAAe,EAAI,EAAI,EACtD,GAAI,EAAG,GAAK,EAAG,KAAM,GAAG,GAAI,MAAO,CAAE,MAAO,EAAG,GAAK,EAAG,GAAK,OAAQ,KAAM,KAa3E,WAAkB,GACrB,GAAI,GAAI,MAAO,SAAW,YAAc,OAAO,SAAU,EAAI,GAAK,EAAE,GAAI,EAAI,EAC5E,GAAI,EAAG,MAAO,GAAE,KAAK,GACrB,GAAI,GAAK,MAAO,GAAE,QAAW,SAAU,MAAO,CAC1C,KAAM,WACF,MAAI,IAAK,GAAK,EAAE,QAAQ,GAAI,QACrB,CAAE,MAAO,GAAK,EAAE,KAAM,KAAM,CAAC,KAG5C,KAAM,IAAI,WAAU,EAAI,0BAA4B,mCAGjD,YAAgB,EAAG,GACtB,GAAI,GAAI,MAAO,SAAW,YAAc,EAAE,OAAO,UACjD,GAAI,CAAC,EAAG,MAAO,GACf,GAAI,GAAI,EAAE,KAAK,GAAI,EAAG,EAAK,GAAI,EAC/B,IACI,KAAQ,KAAM,QAAU,KAAM,IAAM,CAAE,GAAI,EAAE,QAAQ,MAAM,EAAG,KAAK,EAAE,aAEjE,GAAS,EAAI,CAAE,MAAO,WAEzB,IACI,AAAI,GAAK,CAAC,EAAE,MAAS,GAAI,EAAE,SAAY,EAAE,KAAK,WAExC,GAAI,EAAG,KAAM,GAAE,OAE7B,MAAO,GAGJ,aACH,OAAS,GAAK,GAAI,EAAI,EAAG,EAAI,UAAU,OAAQ,IAC3C,EAAK,EAAG,OAAO,GAAO,UAAU,KACpC,MAAO,GAiCJ,YAAuB,GAC1B,GAAI,CAAC,OAAO,cAAe,KAAM,IAAI,WAAU,wCAC/C,GAAI,GAAI,EAAE,OAAO,eAAgB,EACjC,MAAO,GAAI,EAAE,KAAK,GAAM,GAAI,MAAO,IAAa,WAAa,EAAS,GAAK,EAAE,OAAO,YAAa,EAAI,GAAI,EAAK,QAAS,EAAK,SAAU,EAAK,UAAW,EAAE,OAAO,eAAiB,WAAc,MAAO,OAAS,GAC9M,WAAc,GAAK,EAAE,GAAK,EAAE,IAAM,SAAU,GAAK,MAAO,IAAI,SAAQ,SAAU,EAAS,GAAU,EAAI,EAAE,GAAG,GAAI,EAAO,EAAS,EAAQ,EAAE,KAAM,EAAE,UAChJ,WAAgB,EAAS,EAAQ,EAAG,GAAK,QAAQ,QAAQ,GAAG,KAAK,SAAS,GAAK,EAAQ,CAAE,MAAO,EAAG,KAAM,KAAS,IClLhH,WAAqB,GACzB,MAAO,OAAO,IAAU,WCIpB,YAA8B,GAClC,GAAM,GAAS,SAAC,GACd,MAAM,KAAK,GACX,EAAS,MAAQ,GAAI,SAAQ,OAGzB,EAAW,EAAW,GAC5B,SAAS,UAAY,OAAO,OAAO,MAAM,WACzC,EAAS,UAAU,YAAc,EAC1B,ECLF,GAAM,IAA+C,GAC1D,SAAC,GACC,MAAA,UAA4C,GAC1C,EAAO,MACP,KAAK,QAAU,EACR,EAAO,OAAM;EACxB,EAAO,IAAI,SAAC,EAAK,GAAM,MAAG,GAAI,EAAC,KAAK,EAAI,aAAc,KAAK;KACnD,GACJ,KAAK,KAAO,sBACZ,KAAK,OAAS,KCjBd,YAAuB,EAA6B,GACxD,GAAI,GACF,GAAM,GAAQ,EAAI,QAAQ,GAC1B,GAAK,GAAS,EAAI,OAAO,EAAO,ICQpC,GAAA,GAAA,WAyBE,WAAoB,GAAA,KAAA,gBAAA,EAdb,KAAA,OAAS,GAER,KAAA,WAAmD,KAMnD,KAAA,WAAoD,KAc5D,SAAA,UAAA,YAAA,uBACM,EAEJ,GAAI,CAAC,KAAK,QACR,KAAK,OAAS,GAGN,GAAA,GAAe,KAAI,WAC3B,GAAI,MAAM,QAAQ,OAChB,OAAqB,GAAA,EAAA,GAAU,EAAA,EAAA,OAAA,CAAA,EAAA,KAAA,EAAA,EAAA,QAA1B,GAAM,GAAM,EAAA,MACf,EAAO,OAAO,4GAGhB,IAAU,MAAV,EAAY,OAAO,MAGb,GAAA,GAAoB,KAAI,gBAChC,GAAI,EAAW,GACb,IACE,UACO,GACP,EAAS,YAAa,IAAsB,EAAE,OAAS,CAAC,GAIpD,GAAA,GAAe,KAAI,WAC3B,GAAI,GACF,KAAK,WAAa,SAClB,OAAuB,GAAA,EAAA,GAAU,EAAA,EAAA,OAAA,CAAA,EAAA,KAAA,EAAA,EAAA,QAA5B,GAAM,GAAQ,EAAA,MACjB,IACE,GAAa,SACN,GACP,EAAS,GAAU,GACnB,AAAI,YAAe,IACjB,EAAM,EAAO,EAAW,EAAI,QAE5B,EAAO,KAAK,uGAMpB,GAAI,EACF,KAAM,IAAI,IAAoB,KAuBpC,EAAA,UAAA,IAAA,SAAI,SAGF,GAAI,GAAY,IAAa,KAC3B,GAAI,KAAK,OAGP,GAAa,QAEb,GAAI,YAAoB,IAGtB,GAAI,EAAS,QAAU,EAAS,WAAW,MACzC,OAEF,EAAS,WAAW,MAEtB,AAAC,MAAK,WAAU,GAAG,KAAK,cAAU,MAAA,IAAA,OAAA,EAAI,IAAI,KAAK,KAU7C,EAAA,UAAA,WAAR,SAAmB,GACT,GAAA,GAAe,KAAI,WAC3B,MAAO,KAAe,GAAW,MAAM,QAAQ,IAAe,EAAW,SAAS,IAU5E,EAAA,UAAA,WAAR,SAAmB,GACT,GAAA,GAAe,KAAI,WAC3B,KAAK,WAAa,MAAM,QAAQ,GAAe,GAAW,KAAK,GAAS,GAAc,EAAa,CAAC,EAAY,GAAU,GAOpH,EAAA,UAAA,cAAR,SAAsB,GACZ,GAAA,GAAe,KAAI,WAC3B,AAAI,IAAe,EACjB,KAAK,WAAa,KACT,MAAM,QAAQ,IACvB,GAAU,EAAY,IAkB1B,EAAA,UAAA,OAAA,SAAO,GACG,GAAA,GAAe,KAAI,WAC3B,GAAc,GAAU,EAAY,GAEhC,YAAoB,IACtB,EAAS,cAAc,OA7Kb,EAAA,MAAS,WACrB,GAAM,GAAQ,GAAI,GAClB,SAAM,OAAS,GACR,KA6KX,KAEO,GAAM,IAAqB,EAAa,MAEzC,YAAyB,GAC7B,MACE,aAAiB,IAChB,GAAS,UAAY,IAAS,EAAW,EAAM,SAAW,EAAW,EAAM,MAAQ,EAAW,EAAM,aAIzG,YAAsB,GACpB,AAAI,EAAW,GACb,IAEA,EAAS,cC3MN,GAAM,GAAS,CAUpB,iBAAkB,KAYlB,sBAAuB,KAUvB,QAAS,OAcT,sCAAuC,GAgBvC,yBAA0B,ICvDrB,GAAM,IAAmC,CAG9C,WAAU,kBAAC,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACD,GAAA,GAAa,GAAe,SACpC,MAAQ,KAAQ,KAAA,OAAR,EAAU,aAAc,YAAW,MAAA,OAAA,EAAI,KAEjD,aAAY,SAAC,GACH,GAAA,GAAa,GAAe,SACpC,MAAQ,KAAQ,KAAA,OAAR,EAAU,eAAgB,cAAc,IAElD,SAAU,QCbN,YAA+B,GACnC,GAAgB,WAAW,WACjB,GAAA,GAAqB,EAAM,iBACnC,GAAI,EAEF,EAAiB,OAGjB,MAAM,KCpBN,cCOC,GAAM,IAAyB,WAAM,MAAA,IAAmB,IAAK,OAAW,WAOzE,YAA4B,GAChC,MAAO,IAAmB,IAAK,OAAW,GAQtC,YAA8B,GAClC,MAAO,IAAmB,IAAK,EAAO,QASlC,YAA6B,EAAuB,EAAY,GACpE,MAAO,CACL,KAAI,EACJ,MAAK,EACL,MAAK,GClBT,GAAA,IAAA,SAAA,GAAmC,EAAA,EAAA,GAwBjC,WAAY,GAAZ,GAAA,GACE,EAAA,KAAA,OAAO,KAPC,SAAA,UAAqB,GAQ7B,AAAI,EACF,GAAK,YAAc,EAGf,GAAe,IACjB,EAAY,IAAI,IAGlB,EAAK,YAAc,KApBhB,SAAA,OAAP,SAAiB,EAAwB,EAA2B,GAClE,MAAO,IAAI,IAAe,EAAM,EAAO,IA8BzC,EAAA,UAAA,KAAA,SAAK,GACH,AAAI,KAAK,UACP,GAA0B,GAAiB,GAAQ,MAEnD,KAAK,MAAM,IAWf,EAAA,UAAA,MAAA,SAAM,GACJ,AAAI,KAAK,UACP,GAA0B,GAAkB,GAAM,MAElD,MAAK,UAAY,GACjB,KAAK,OAAO,KAUhB,EAAA,UAAA,SAAA,WACE,AAAI,KAAK,UACP,GAA0B,GAAuB,MAEjD,MAAK,UAAY,GACjB,KAAK,cAIT,EAAA,UAAA,YAAA,WACE,AAAK,KAAK,QACR,MAAK,UAAY,GACjB,EAAA,UAAM,YAAW,KAAA,QAIX,EAAA,UAAA,MAAV,SAAgB,GACd,KAAK,YAAY,KAAK,IAGd,EAAA,UAAA,OAAV,SAAiB,GACf,KAAK,YAAY,MAAM,GACvB,KAAK,eAGG,EAAA,UAAA,UAAV,WACE,KAAK,YAAY,WACjB,KAAK,eAET,GAxGmC,GA0GnC,GAAA,IAAA,SAAA,GAAuC,EAAA,EAAA,GACrC,WACE,EACA,EACA,GAHF,GAAA,GAKE,EAAA,KAAA,OAAO,KAKP,GADA,EAAK,YAAc,GACd,IAAkB,GAAS,IAAa,IAAmB,IAI9D,GAAI,GAAI,OACR,GAAI,EAAW,GACb,EAAO,UACE,GAMT,AAAG,EAA0B,EAAc,KAAlC,EAAoB,EAAc,MAA3B,EAAa,EAAc,SAC3C,GAAI,GACJ,AAAI,GAAQ,EAAO,yBAIjB,GAAU,OAAO,OAAO,GACxB,EAAQ,YAAc,WAAM,MAAA,GAAK,gBAEjC,EAAU,EAEZ,EAAO,GAAI,KAAA,OAAJ,EAAM,KAAK,GAClB,EAAQ,GAAK,KAAA,OAAL,EAAO,KAAK,GACpB,EAAW,GAAQ,KAAA,OAAR,EAAU,KAAK,GAK5B,EAAK,YAAc,CACjB,KAAM,GAAQ,EACd,MAAO,GAAS,GAChB,SAAU,GAAY,YAI9B,MAAA,IAjDuC,IAyDvC,YAA6B,GAE3B,GAAI,EAAO,sCACT,KAAM,GAER,GAAqB,GAQvB,YAAmC,EAA2C,GACpE,GAAA,GAA0B,EAAM,sBACxC,GAAyB,GAAgB,WAAW,WAAM,MAAA,GAAsB,EAAc,KAQzF,GAAM,IAA6D,CACxE,OAAQ,GACR,KAAM,EACN,MAAO,GACP,SAAU,GC/ML,GAAM,IAAc,WAAM,MAAC,OAAO,SAAW,YAAc,OAAO,YAAe,kBCHlF,WAAsB,GAC1B,MAAO,GCqBH,YAA8B,GAClC,MAAI,GAAI,SAAW,EACV,EAGL,EAAI,SAAW,EACV,EAAI,GAGN,SAAe,GACpB,MAAO,GAAI,OAAO,SAAC,EAAW,GAA4B,MAAA,GAAG,IAAO,ICdxE,GAAA,GAAA,WAcE,WAAY,GACV,AAAI,GACF,MAAK,WAAa,GA6BZ,SAAA,UAAA,KAAV,SAAkB,GAChB,GAAM,GAAa,GAAI,GACvB,SAAW,OAAS,KACpB,EAAW,SAAW,EACf,GAwIT,EAAA,UAAA,UAAA,SACE,EACA,EACA,GAEA,GAAM,GAAa,GAAa,GAAkB,EAAiB,GAAI,IAAe,EAAgB,EAAO,GASvG,EAAuB,KAArB,EAAQ,EAAA,SAAE,EAAM,EAAA,OACxB,SAAW,IACT,EACI,EAAS,KAAK,EAAY,GAC1B,GAAU,EAAO,sCACjB,KAAK,WAAW,GAChB,KAAK,cAAc,IAGlB,GAIC,EAAA,UAAA,cAAV,SAAwB,GACtB,IACE,MAAO,MAAK,WAAW,SAChB,GACP,GAAI,EAAO,sCACT,KAAM,GAER,EAAK,MAAM,KA+Df,EAAA,UAAA,QAAA,SAAQ,EAA0B,GAAlC,GAAA,GAAA,KACE,SAAc,GAAe,GAEtB,GAAI,GAAkB,SAAC,EAAS,GAGrC,GAAI,GACJ,EAAe,EAAK,UAClB,SAAC,GACC,IACE,EAAK,SACE,GACP,EAAO,GACP,GAAY,MAAZ,EAAc,gBAGlB,EACA,MAMI,EAAA,UAAA,WAAV,SAAqB,SACnB,MAAA,GAAO,KAAK,UAAM,MAAA,IAAA,OAAA,OAAA,EAAE,UAAU,IAQhC,EAAA,UAAC,IAAD,WACE,MAAO,OA6FT,EAAA,UAAA,KAAA,kBAAK,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACH,MAAO,GAAW,OAAS,GAAc,GAAY,MAAQ,MA8B/D,EAAA,UAAA,UAAA,SAAU,GAAV,GAAA,GAAA,KACE,SAAc,GAAe,GAEtB,GAAI,GAAY,SAAC,EAAS,GAC/B,GAAI,GACJ,EAAK,UACH,SAAC,GAAS,MAAC,GAAQ,GACnB,SAAC,GAAa,MAAA,GAAO,IACrB,WAAM,MAAA,GAAQ,QAhab,EAAA,OAAkC,SAAI,GAC3C,MAAO,IAAI,GAAc,IAma7B,KASA,YAAwB,SACtB,MAAA,GAAO,GAAe,EAAO,WAAO,MAAA,IAAA,OAAA,EAAI,QAG1C,YAAuB,GACrB,MAAO,IAAS,EAAW,EAAM,OAAS,EAAW,EAAM,QAAU,EAAW,EAAM,UAGxF,YAAyB,GACvB,MAAQ,IAAS,YAAiB,KAAgB,GAAW,IAAU,GAAe,GC9dlF,YAAkB,GACtB,MAAO,GAAW,GAAM,KAAA,OAAN,EAAQ,MAOtB,WACJ,GAEA,MAAO,UAAC,GACN,GAAI,GAAQ,GACV,MAAO,GAAO,KAAK,SAA+B,GAChD,IACE,MAAO,GAAK,EAAc,YACnB,GACP,KAAK,MAAM,MAIjB,KAAM,IAAI,WAAU,2CCvBxB,GAAA,GAAA,SAAA,GAA2C,EAAA,EAAA,GAazC,WACE,EACA,EACA,EACA,EACQ,GALV,GAAA,GAmBE,EAAA,KAAA,KAAM,IAAY,KAdV,SAAA,cAAA,EAeR,EAAK,MAAQ,EACT,SAAuC,GACrC,IACE,EAAO,SACA,GACP,KAAK,YAAY,MAAM,KAG3B,EAAA,UAAM,MACV,EAAK,OAAS,EACV,SAAuC,GACrC,IACE,EAAQ,SACD,GAEP,KAAK,YAAY,MAAM,GAGzB,KAAK,eAEP,EAAA,UAAM,OACV,EAAK,UAAY,EACb,WACE,IACE,UACO,GAEP,KAAK,YAAY,MAAM,GAGzB,KAAK,eAEP,EAAA,UAAM,YAGZ,SAAA,UAAA,YAAA,iBAEE,CAAC,KAAK,QAAM,IAAI,KAAK,iBAAa,MAAA,IAAA,QAAA,EAAA,KAAlB,OAChB,EAAA,UAAM,YAAW,KAAA,OAErB,GAzE2C,ICQpC,GAAM,IAAiD,CAG5D,SAAA,SAAS,GACP,GAAI,GAAU,sBACV,EAAkD,qBAC9C,EAAa,GAAsB,SAC3C,AAAI,GACF,GAAU,EAAS,sBACnB,EAAS,EAAS,sBAEpB,GAAM,GAAS,EAAQ,SAAC,GAItB,EAAS,OACT,EAAS,KAEX,MAAO,IAAI,GAAa,WAAA,MAAM,IAAM,KAAA,OAAN,EAAS,MAEzC,sBAAqB,kBAAC,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACZ,GAAA,GAAa,GAAsB,SAC3C,MAAQ,KAAQ,KAAA,OAAR,EAAU,wBAAyB,uBAAsB,MAAA,OAAA,EAAI,KAEvE,qBAAoB,kBAAC,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACX,GAAA,GAAa,GAAsB,SAC3C,MAAQ,KAAQ,KAAA,OAAR,EAAU,uBAAwB,sBAAqB,MAAA,OAAA,EAAI,KAErE,SAAU,QCzBL,GAAM,IAAuD,GAClE,SAAC,GACC,MAAA,YACE,EAAO,MACP,KAAK,KAAO,0BACZ,KAAK,QAAU,yBCPrB,GAAA,IAAA,SAAA,GAAgC,EAAA,EAAA,GAqB9B,aAAA,GAAA,GAEE,EAAA,KAAA,OAAO,KAtBT,SAAA,UAA2B,GAE3B,EAAA,OAAS,GAET,EAAA,UAAY,GAEZ,EAAA,SAAW,GAEX,EAAA,YAAmB,OAiBnB,SAAA,UAAA,KAAA,SAAQ,GACN,GAAM,GAAU,GAAI,IAAiB,KAAM,MAC3C,SAAQ,SAAW,EACZ,GAGC,EAAA,UAAA,eAAV,WACE,GAAI,KAAK,OACP,KAAM,IAAI,KAId,EAAA,UAAA,KAAA,SAAK,WAEH,GADA,KAAK,iBACD,CAAC,KAAK,WACR,GAAM,GAAO,KAAK,UAAU,YAC5B,OAAuB,GAAA,EAAA,GAAI,EAAA,EAAA,OAAA,CAAA,EAAA,KAAA,EAAA,EAAA,QAAtB,GAAM,GAAQ,EAAA,MACjB,EAAS,KAAK,wGAKpB,EAAA,UAAA,MAAA,SAAM,GAEJ,GADA,KAAK,iBACD,CAAC,KAAK,WACR,KAAK,SAAW,KAAK,UAAY,GACjC,KAAK,YAAc,EAEnB,OADQ,GAAc,KAAI,UACnB,EAAU,QACf,EAAU,QAAS,MAAM,KAK/B,EAAA,UAAA,SAAA,WAEE,GADA,KAAK,iBACD,CAAC,KAAK,WACR,KAAK,UAAY,GAEjB,OADQ,GAAc,KAAI,UACnB,EAAU,QACf,EAAU,QAAS,aAKzB,EAAA,UAAA,YAAA,WACE,KAAK,UAAY,KAAK,OAAS,GAC/B,KAAK,UAAY,MAIT,EAAA,UAAA,cAAV,SAAwB,GACtB,YAAK,iBACE,EAAA,UAAM,cAAa,KAAA,KAAC,IAInB,EAAA,UAAA,WAAV,SAAqB,GACnB,YAAK,iBACL,KAAK,wBAAwB,GACtB,KAAK,gBAAgB,IAGpB,EAAA,UAAA,gBAAV,SAA0B,GAA1B,GAAA,GAAA,KACQ,EAAqC,KAAnC,EAAQ,EAAA,SAAE,EAAS,EAAA,UAAE,EAAS,EAAA,UACtC,MAAO,IAAY,EACf,GACC,GAAU,KAAK,GAAa,GAAI,GAAa,WAAM,MAAA,IAAU,EAAK,UAAW,OAG1E,EAAA,UAAA,wBAAV,SAAkC,GAC1B,GAAA,GAAuC,KAArC,EAAQ,EAAA,SAAE,EAAW,EAAA,YAAE,EAAS,EAAA,UACxC,AAAI,EACF,EAAW,MAAM,GACR,GACT,EAAW,YASf,EAAA,UAAA,aAAA,WACE,GAAM,GAAkB,GAAI,GAC5B,SAAW,OAAS,KACb,GAhGF,EAAA,OAAkC,SAAI,EAA0B,GACrE,MAAO,IAAI,IAAoB,EAAa,IAiGhD,GAnHgC,GAwHhC,GAAA,IAAA,SAAA,GAAyC,EAAA,EAAA,GACvC,WAAsB,EAA2B,GAAjD,GAAA,GACE,EAAA,KAAA,OAAO,KADa,SAAA,YAAA,EAEpB,EAAK,OAAS,IAGhB,SAAA,UAAA,KAAA,SAAK,WACH,AAAA,GAAA,GAAA,KAAK,eAAW,MAAA,IAAA,OAAA,OAAA,EAAE,QAAI,MAAA,IAAA,QAAA,EAAA,KAAA,EAAG,IAG3B,EAAA,UAAA,MAAA,SAAM,WACJ,AAAA,GAAA,GAAA,KAAK,eAAW,MAAA,IAAA,OAAA,OAAA,EAAE,SAAK,MAAA,IAAA,QAAA,EAAA,KAAA,EAAG,IAG5B,EAAA,UAAA,SAAA,mBACE,AAAA,GAAA,GAAA,KAAK,eAAW,MAAA,IAAA,OAAA,OAAA,EAAE,YAAQ,MAAA,IAAA,QAAA,EAAA,KAAA,IAI5B,EAAA,UAAA,WAAA,SAAW,WACT,MAAA,GAAA,GAAO,KAAK,UAAM,MAAA,IAAA,OAAA,OAAA,EAAE,UAAU,MAAU,MAAA,IAAA,OAAA,EAAK,IAEjD,GAtByC,ICjIlC,GAAM,IAA+C,CAC1D,IAAG,WAGD,MAAQ,IAAsB,UAAY,MAAM,OAElD,SAAU,QCwBZ,GAAA,IAAA,SAAA,GAAsC,EAAA,EAAA,GAUpC,WACU,EACA,EACA,GAFA,AAAA,IAAA,QAAA,GAAA,UACA,IAAA,QAAA,GAAA,UACA,IAAA,QAAA,GAAA,IAHV,GAAA,GAKE,EAAA,KAAA,OAAO,KAJC,SAAA,WAAA,EACA,EAAA,WAAA,EACA,EAAA,kBAAA,EAZF,EAAA,OAAyB,GACzB,EAAA,mBAAqB,GAc3B,EAAK,mBAAqB,IAAe,SACzC,EAAK,WAAa,KAAK,IAAI,EAAG,GAC9B,EAAK,WAAa,KAAK,IAAI,EAAG,KAGhC,SAAA,UAAA,KAAA,SAAK,GACG,GAAA,GAA2E,KAAzE,EAAS,EAAA,UAAE,EAAM,EAAA,OAAE,EAAkB,EAAA,mBAAE,EAAiB,EAAA,kBAAE,EAAU,EAAA,WAC5E,AAAK,GACH,GAAO,KAAK,GACZ,CAAC,GAAsB,EAAO,KAAK,EAAkB,MAAQ,IAE/D,KAAK,aACL,EAAA,UAAM,KAAI,KAAA,KAAC,IAIH,EAAA,UAAA,WAAV,SAAqB,GACnB,KAAK,iBACL,KAAK,aAQL,OANM,GAAe,KAAK,gBAAgB,GAEpC,EAAiC,KAA/B,EAAkB,EAAA,mBAAE,EAAM,EAAA,OAG5B,EAAO,EAAO,QACX,EAAI,EAAG,EAAI,EAAK,QAAU,CAAC,EAAW,OAAQ,GAAK,EAAqB,EAAI,EACnF,EAAW,KAAK,EAAK,IAGvB,YAAK,wBAAwB,GAEtB,GAGD,EAAA,UAAA,WAAR,WACQ,GAAA,GAAgE,KAA9D,EAAU,EAAA,WAAE,EAAiB,EAAA,kBAAE,EAAM,EAAA,OAAE,EAAkB,EAAA,mBAK3D,EAAsB,GAAqB,EAAI,GAAK,EAK1D,GAJA,EAAa,UAAY,EAAqB,EAAO,QAAU,EAAO,OAAO,EAAG,EAAO,OAAS,GAI5F,CAAC,GAKH,OAJM,GAAM,EAAkB,MAC1B,EAAO,EAGF,EAAI,EAAG,EAAI,EAAO,QAAW,EAAO,IAAiB,EAAK,GAAK,EACtE,EAAO,EAET,GAAQ,EAAO,OAAO,EAAG,EAAO,KAGtC,GAzEsC,ICnBtC,GAAA,IAAA,SAAA,GAA+B,EAAA,EAAA,GAC7B,WAAY,EAAsB,SAChC,GAAA,KAAA,OAAO,KAYF,SAAA,UAAA,SAAP,SAAgB,EAAW,GAAA,MAAA,KAAA,QAAA,GAAA,GAClB,MAEX,GAjB+B,GCHxB,GAAM,IAAqC,CAGhD,YAAW,kBAAC,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACF,GAAA,GAAa,GAAgB,SACrC,MAAQ,KAAQ,KAAA,OAAR,EAAU,cAAe,aAAY,MAAA,OAAA,EAAI,KAEnD,cAAa,SAAC,GACJ,GAAA,GAAa,GAAgB,SACrC,MAAQ,KAAQ,KAAA,OAAR,EAAU,gBAAiB,eAAe,IAEpD,SAAU,QClBZ,GAAA,IAAA,SAAA,GAAoC,EAAA,EAAA,GAOlC,WAAsB,EAAqC,GAA3D,GAAA,GACE,EAAA,KAAA,KAAM,EAAW,IAAK,KADF,SAAA,UAAA,EAAqC,EAAA,KAAA,EAFjD,EAAA,QAAmB,KAMtB,SAAA,UAAA,SAAP,SAAgB,EAAW,GACzB,GADyB,IAAA,QAAA,GAAA,GACrB,KAAK,OACP,MAAO,MAIT,KAAK,MAAQ,EAEb,GAAM,GAAK,KAAK,GACV,EAAY,KAAK,UAuBvB,MAAI,IAAM,MACR,MAAK,GAAK,KAAK,eAAe,EAAW,EAAI,IAK/C,KAAK,QAAU,GAEf,KAAK,MAAQ,EAEb,KAAK,GAAK,KAAK,IAAM,KAAK,eAAe,EAAW,KAAK,GAAI,GAEtD,MAGC,EAAA,UAAA,eAAV,SAAyB,EAA2B,EAAW,GAAA,MAAA,KAAA,QAAA,GAAA,GACtD,GAAiB,YAAY,EAAU,MAAM,KAAK,EAAW,MAAO,IAGnE,EAAA,UAAA,eAAV,SAAyB,EAA4B,EAAS,GAE5D,GAF4D,IAAA,QAAA,GAAA,GAExD,GAAS,MAAQ,KAAK,QAAU,GAAS,KAAK,UAAY,GAC5D,MAAO,GAIT,GAAiB,cAAc,IAQ1B,EAAA,UAAA,QAAP,SAAe,EAAU,GACvB,GAAI,KAAK,OACP,MAAO,IAAI,OAAM,gCAGnB,KAAK,QAAU,GACf,GAAM,GAAQ,KAAK,SAAS,EAAO,GACnC,GAAI,EACF,MAAO,GACF,AAAI,KAAK,UAAY,IAAS,KAAK,IAAM,MAc9C,MAAK,GAAK,KAAK,eAAe,KAAK,UAAW,KAAK,GAAI,QAIjD,EAAA,UAAA,SAAV,SAAmB,EAAU,GAC3B,GAAI,GAAmB,GACnB,EACJ,IACE,KAAK,KAAK,SACH,GACP,EAAU,GACV,EAAc,CAAC,CAAC,GAAK,GAAM,GAAI,OAAM,GAEvC,GAAI,EACF,YAAK,cACE,GAIX,EAAA,UAAA,YAAA,WACE,GAAI,CAAC,KAAK,QACF,GAAA,GAAoB,KAAlB,EAAE,EAAA,GAAE,EAAS,EAAA,UACb,EAAY,EAAS,QAE7B,KAAK,KAAO,KAAK,MAAQ,KAAK,UAAY,KAC1C,KAAK,QAAU,GAEf,GAAU,EAAS,MACf,GAAM,MACR,MAAK,GAAK,KAAK,eAAe,EAAW,EAAI,OAG/C,KAAK,MAAQ,KACb,EAAA,UAAM,YAAW,KAAA,QAGvB,GAxIoC,ICgBpC,GAAA,IAAA,WAIE,WAAoB,EACR,GAAA,AAAA,IAAA,QAAA,GAAoB,EAAU,KADtB,KAAA,oBAAA,EAElB,KAAK,IAAM,EA8BN,SAAA,UAAA,SAAP,SAAmB,EAAqD,EAAmB,GAAnB,MAAA,KAAA,QAAA,GAAA,GAC/D,GAAI,MAAK,oBAAuB,KAAM,GAAM,SAAS,EAAO,IAnCvD,EAAA,IAAoB,GAAsB,IAqC1D,KC3DA,GAAA,IAAA,SAAA,GAAoC,EAAA,EAAA,GAkBlC,WAAY,EAAgC,GAAA,AAAA,IAAA,QAAA,GAAoB,GAAU,KAA1E,GAAA,GACE,EAAA,KAAA,KAAM,EAAiB,IAAI,KAlBtB,SAAA,QAAmC,GAOnC,EAAA,OAAkB,GAQlB,EAAA,UAAiB,SAMjB,SAAA,UAAA,MAAP,SAAa,GAEJ,GAAA,GAAW,KAAI,QAEtB,GAAI,KAAK,QACP,EAAQ,KAAK,GACb,OAGF,GAAI,GACJ,KAAK,OAAS,GAEd,EACE,IAAI,EAAQ,EAAO,QAAQ,EAAO,MAAO,EAAO,OAC9C,YAEK,EAAS,EAAQ,SAI1B,GAFA,KAAK,OAAS,GAEV,GACF,KAAO,EAAS,EAAQ,SACtB,EAAO,cAET,KAAM,KAGZ,GAjDoC,IC8C7B,GAAM,IAAiB,GAAI,IAAe,IAKpC,GAAQ,GClDrB,GAAA,IAAA,SAAA,GAA6C,EAAA,EAAA,GAE3C,WAAsB,EACA,GADtB,GAAA,GAEE,EAAA,KAAA,KAAM,EAAW,IAAK,KAFF,SAAA,UAAA,EACA,EAAA,KAAA,IAIZ,SAAA,UAAA,eAAV,SAAyB,EAAoC,EAAU,GAErE,MAFqE,KAAA,QAAA,GAAA,GAEjE,IAAU,MAAQ,EAAQ,EACrB,EAAA,UAAM,eAAc,KAAA,KAAC,EAAW,EAAI,GAG7C,GAAU,QAAQ,KAAK,MAIhB,EAAU,WAAc,GAAU,UAAY,GAAuB,sBAC1E,WAAM,MAAA,GAAU,MAAM,aAEhB,EAAA,UAAA,eAAV,SAAyB,EAAoC,EAAU,GAIrE,GAJqE,IAAA,QAAA,GAAA,GAIhE,GAAS,MAAQ,EAAQ,GAAO,GAAS,MAAQ,KAAK,MAAQ,EACjE,MAAO,GAAA,UAAM,eAAc,KAAA,KAAC,EAAW,EAAI,GAK7C,AAAI,EAAU,QAAQ,SAAW,GAC/B,IAAuB,qBAAqB,GAC5C,EAAU,UAAY,SAK5B,GArC6C,ICF7C,GAAA,IAAA,SAAA,GAA6C,EAAA,EAAA,GAA7C,4DACS,SAAA,UAAA,MAAP,SAAa,GAEX,KAAK,OAAS,GACd,KAAK,UAAY,OAEV,GAAA,GAAW,KAAI,QAClB,EACA,EAAQ,GACZ,EAAS,GAAU,EAAQ,QAC3B,GAAM,GAAQ,EAAQ,OAEtB,EACE,IAAI,EAAQ,EAAO,QAAQ,EAAO,MAAO,EAAO,OAC9C,YAEK,EAAE,EAAQ,GAAU,GAAS,EAAQ,UAI9C,GAFA,KAAK,OAAS,GAEV,GACF,KAAO,EAAE,EAAQ,GAAU,GAAS,EAAQ,UAC1C,EAAO,cAET,KAAM,KAGZ,GA3B6C,ICgCtC,GAAM,IAA0B,GAAI,IAAwB,ICR5D,GAAM,IAAQ,GAAI,GAAkB,SAAA,GAAc,MAAA,GAAW,aCvB9D,YAA2B,EAAqB,GACpD,MAAO,IAAI,GAAc,SAAC,GAExB,GAAI,GAAI,EAER,MAAO,GAAU,SAAS,WACxB,AAAI,IAAM,EAAM,OAGd,EAAW,WAIX,GAAW,KAAK,EAAM,MAIjB,EAAW,QACd,KAAK,gBCtBR,GAAM,IAAe,SAAI,GAA8B,MAAA,IAAK,MAAO,GAAE,QAAW,UAAY,MAAO,IAAM,YCM1G,YAAoB,GACxB,MAAO,GAAW,GAAK,KAAA,OAAL,EAAO,MCPrB,cACJ,MAAI,OAAO,SAAW,YAAc,CAAC,OAAO,SACnC,aAGF,OAAO,SAGT,GAAM,IAAW,KCHlB,YAAgC,EAA6B,GACjE,MAAO,IAAI,GAAc,SAAA,GACvB,GAAM,GAAM,GAAI,GAChB,SAAI,IAAI,EAAU,SAAS,WACzB,GAAM,GAA+B,EAAc,MACnD,EAAI,IAAI,EAAW,UAAU,CAC3B,KAAI,SAAC,GAAS,EAAI,IAAI,EAAU,SAAS,WAAM,MAAA,GAAW,KAAK,OAC/D,MAAK,SAAC,GAAO,EAAI,IAAI,EAAU,SAAS,WAAM,MAAA,GAAW,MAAM,OAC/D,SAAQ,WAAK,EAAI,IAAI,EAAU,SAAS,WAAM,MAAA,GAAW,qBAGtD,ICZL,YAA6B,EAAuB,GACxD,MAAO,IAAI,GAAc,SAAC,GACxB,MAAO,GAAU,SAAS,WACxB,MAAA,GAAM,KACJ,SAAC,GACC,EAAW,IACT,EAAU,SAAS,WACjB,EAAW,KAAK,GAChB,EAAW,IAAI,EAAU,SAAS,WAAM,MAAA,GAAW,kBAIzD,SAAC,GACC,EAAW,IAAI,EAAU,SAAS,WAAM,MAAA,GAAW,MAAM,YCX7D,YACJ,EACA,EACA,EACA,GAAA,AAAA,IAAA,QAAA,GAAA,GAEA,GAAM,GAAe,EAAU,SAAS,WACtC,IACE,EAAQ,KAAK,YACN,GACP,EAAW,MAAM,KAElB,GACH,SAAW,IAAI,GACR,ECRH,YAA8B,EAAoB,GACtD,MAAO,IAAI,GAAc,SAAC,GACxB,GAAI,GAKJ,SAAW,IACT,EAAU,SAAS,WAEjB,EAAY,EAAc,MAG1B,GAAe,EAAY,EAAW,WAE9B,GAAA,GAAkB,EAAS,OAAzB,EAAK,EAAA,MAAE,EAAI,EAAA,KACnB,AAAI,EAKF,EAAW,WAGX,GAAW,KAAK,GAGhB,KAAK,iBAUN,WAAM,MAAA,GAAW,GAAQ,KAAA,OAAR,EAAU,SAAW,EAAS,YC5CpD,YAA8B,GAClC,MAAO,GAAW,EAAM,KCFpB,YAAqB,GACzB,MAAO,GAAW,GAAK,KAAA,OAAL,EAAQ,KCDtB,YAAmC,EAAyB,GAChE,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,2BAElB,MAAO,IAAI,GAAc,SAAA,GACvB,GAAM,GAAM,GAAI,GAChB,SAAI,IACF,EAAU,SAAS,WACjB,GAAM,GAAW,EAAM,OAAO,iBAC9B,EAAI,IAAI,EAAU,SAAS,WAAA,GAAA,GAAA,KACzB,EAAS,OAAO,KAAK,SAAA,GACnB,AAAI,EAAO,KACT,EAAW,WAEX,GAAW,KAAK,EAAO,OACvB,EAAK,oBAMR,ICtBL,YAA6B,GACjC,MAAO,QAAO,eAAiB,EAAW,GAAG,KAAA,OAAH,EAAM,OAAO,gBCEnD,YAA2C,GAE/C,MAAO,IAAI,WACT,gBACE,KAAU,MAAQ,MAAO,IAAU,SAAW,oBAAsB,IAAI,EAAK,KAAG,4GCgBhF,YAAuB,EAA2B,GACtD,GAAI,GAAS,MACX,GAAI,GAAoB,GACtB,MAAO,IAAmB,EAAO,GAEnC,GAAI,GAAY,GACd,MAAO,IAAc,EAAO,GAE9B,GAAI,GAAU,GACZ,MAAO,IAAgB,EAAO,GAEhC,GAAI,GAAgB,GAClB,MAAO,IAAsB,EAAO,GAEtC,GAAI,GAAW,GACb,MAAO,IAAiB,EAAO,GAGnC,KAAM,IAAiC,GC0EnC,YAAkB,EAA2B,GACjD,MAAO,GAAY,GAAU,EAAO,GAAa,EAAU,GAMvD,WAAuB,GAC3B,GAAI,YAAiB,GACnB,MAAO,GAET,GAAI,GAAS,MACX,GAAI,GAAoB,GACtB,MAAO,IAAsB,GAE/B,GAAI,GAAY,GACd,MAAO,IAAc,GAEvB,GAAI,GAAU,GACZ,MAAO,IAAY,GAErB,GAAI,GAAgB,GAClB,MAAO,IAAkB,GAE3B,GAAI,GAAW,GACb,MAAO,IAAa,GAIxB,KAAM,IAAiC,GAOzC,YAAkC,GAChC,MAAO,IAAI,GAAW,SAAC,GACrB,GAAM,GAAM,EAAI,MAChB,GAAI,EAAW,EAAI,WACjB,MAAO,GAAI,UAAU,GAGvB,KAAM,IAAI,WAAU,oEAWlB,YAA2B,GAC/B,MAAO,IAAI,GAAW,SAAC,GAUrB,OAAS,GAAI,EAAG,EAAI,EAAM,QAAU,CAAC,EAAW,OAAQ,IACtD,EAAW,KAAK,EAAM,IAExB,EAAW,aAIf,YAAwB,GACtB,MAAO,IAAI,GAAW,SAAC,GACrB,EACG,KACC,SAAC,GACC,AAAK,EAAW,QACd,GAAW,KAAK,GAChB,EAAW,aAGf,SAAC,GAAa,MAAA,GAAW,MAAM,KAEhC,KAAK,KAAM,MAIlB,YAAyB,GACvB,MAAO,IAAI,GAAW,SAAC,GAGrB,OAFM,GAAY,EAAiB,MAE5B,CAAC,EAAW,SAIX,GAAA,GAAkB,EAAS,OAAzB,EAAI,EAAA,KAAE,EAAK,EAAA,MACnB,AAAI,EAKF,EAAW,WAEX,EAAW,KAAK,GAKpB,MAAO,YAAM,MAAA,GAAW,GAAQ,KAAA,OAAR,EAAU,SAAW,EAAS,YAI1D,YAA8B,GAC5B,MAAO,IAAI,GAAW,SAAC,GACrB,GAAQ,EAAe,GAAY,MAAM,SAAC,GAAQ,MAAA,GAAW,MAAM,OAIvE,YAA0B,EAAiC,yIAC/B,EAAA,GAAA,iFAAT,EAAK,EAAA,MACpB,EAAW,KAAK,8RAElB,SAAW,oBC5OP,YAA+B,EAAqB,GACxD,MAAO,GAAY,GAAc,EAAO,GAAa,GAAc,GCH/D,YAAsB,GAC1B,MAAO,IAAS,EAAW,EAAM,UCCnC,YAAiB,GACf,MAAO,GAAI,EAAI,OAAS,GAGpB,YAA4B,GAChC,MAAO,GAAW,GAAK,IAAS,EAAK,MAAQ,OAGzC,WAAuB,GAC3B,MAAO,IAAY,GAAK,IAAS,EAAK,MAAQ,OAG1C,YAAoB,EAAa,GACrC,MAAO,OAAO,IAAK,IAAU,SAAW,EAAK,MAAS,EC6GlD,qBAAgB,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACpB,GAAM,GAAY,EAAa,GAC/B,MAAO,GAAY,GAAc,EAAa,GAAa,GAAkB,GC1HzE,YAAsB,GAC1B,MAAO,aAAiB,OAAQ,CAAC,MAAM,GCkCnC,WAAoB,EAAyC,GACjE,MAAO,GAAQ,SAAC,EAAQ,GAEtB,GAAI,GAAQ,EAGZ,EAAO,UACL,GAAI,GAAmB,EAAY,SAAC,GAGlC,EAAW,KAAK,EAAQ,KAAK,EAAS,EAAO,WCjD7C,GAAA,IAAY,MAAK,QAEzB,YAA2B,EAA6B,GACpD,MAAO,IAAQ,GAAQ,EAAE,MAAA,OAAA,EAAI,IAAQ,EAAG,GAOtC,YAAiC,GACnC,MAAO,GAAI,SAAA,GAAQ,MAAA,IAAY,EAAI,KC2CjC,YAAuB,EAA0B,GAAA,MAAA,KAAA,QAAA,GAAA,GAC9C,EAAQ,SAAC,EAAQ,GACtB,EAAO,UACL,GAAI,GACF,EACA,SAAC,GAAU,MAAA,GAAW,IAAI,EAAU,SAAS,WAAM,MAAA,GAAW,KAAK,IAAQ,KAC3E,SAAC,GAAQ,MAAA,GAAW,IAAI,EAAU,SAAS,WAAM,MAAA,GAAW,MAAM,IAAM,KACxE,WAAM,MAAA,GAAW,IAAI,EAAU,SAAS,WAAM,MAAA,GAAW,YAAY,SC9DrE,GAAA,IAAY,MAAK,QACjB,GAA0D,OAAM,eAArC,GAA+B,OAAM,UAAlB,GAAY,OAAM,KAQlE,YAA+D,GACnE,GAAI,EAAK,SAAW,GAClB,GAAM,GAAQ,EAAK,GACnB,GAAI,GAAQ,GACV,MAAO,CAAE,KAAM,EAAO,KAAM,MAE9B,GAAI,GAAO,IACT,GAAM,GAAO,GAAQ,GACrB,MAAO,CACL,KAAM,EAAK,IAAI,SAAC,GAAQ,MAAA,GAAM,KAC9B,KAAI,IAKV,MAAO,CAAE,KAAM,EAAa,KAAM,MAGpC,YAAgB,GACd,MAAO,IAAO,MAAO,IAAQ,UAAY,GAAe,KAAS,GC6a7D,qBAA2D,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GAC/D,GAAM,GAAY,EAAa,GACzB,EAAiB,GAAkB,GAEnC,EAA8B,GAAqB,GAA3C,EAAW,EAAA,KAAE,EAAI,EAAA,KAE/B,GAAI,EAAY,SAAW,EAIzB,MAAO,IAAK,GAAI,GAGlB,GAAM,GAAS,GAAI,GACjB,GACE,EACA,EACA,EAEI,SAAC,GAEC,OADM,GAAa,GACV,EAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,EAAM,EAAM,IAAM,EAAO,GAE3B,MAAO,IAGT,IAIR,MAAI,GAEK,EAAO,KAAK,GAAiB,IAG/B,EAQT,GAAA,IAAA,SAAA,GAAyC,EAAA,EAAA,GACvC,WAAY,EAAsC,EAAqC,GAAvF,GAAA,GACE,EAAA,KAAA,KAAM,IAAY,KAD8B,SAAA,MAAA,EAAqC,EAAA,eAAA,IAI7E,SAAA,UAAA,UAAV,WACE,AAAI,KAAK,iBACP,EAAA,UAAM,UAAS,KAAA,MAEf,KAAK,eAGX,GAZyC,IAcnC,YACJ,EACA,EACA,GAAA,MAAA,KAAA,QAAA,GAAA,GAEO,SAAC,GAGN,GAAM,GAAmB,WAcvB,OAbQ,GAAW,EAAW,OAExB,EAAS,GAAI,OAAM,GAGrB,EAAS,EAEP,EAAY,EAAY,IAAI,WAAM,MAAA,KACpC,EAAwB,GAEtB,EAAO,WAAM,MAAA,GAAW,KAAK,EAAe,EAAO,sBAGhD,GACP,GAAM,GAAY,WAChB,GAAM,GAAS,GAAK,EAAY,GAA4B,GAC5D,EAAO,UACL,GAAI,IACF,EACA,SAAC,GACC,EAAO,GAAK,EACR,GACF,GAAU,GAAK,GACf,EAAwB,CAAC,EAAU,MAAM,IAEtC,GACH,KAGJ,WAAM,MAAA,EAAE,GAAW,MAIzB,GAAc,EAAW,EAAW,IApB7B,EAAI,EAAG,EAAI,EAAQ,MAAnB,IAuBX,GAAc,EAAW,EAAkB,IAQ/C,YAAuB,EAAsC,EAAqB,GAChF,AAAI,EACF,EAAa,IAAI,EAAU,SAAS,IAEpC,IC1iBE,YACJ,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAGA,GAAI,GAAc,GAEd,EAAS,EAET,EAAQ,EAER,EAAa,GAKX,EAAgB,WAIpB,AAAI,GAAc,CAAC,EAAO,QAAU,CAAC,GACnC,EAAW,YAKT,EAAY,SAAC,GAAa,MAAC,GAAS,EAAa,EAAW,GAAS,EAAO,KAAK,IAEjF,EAAa,SAAC,GAIlB,GAAU,EAAW,KAAK,GAI1B,IAGA,EAAU,EAAQ,EAAO,MAAU,UACjC,GAAI,GACF,EACA,SAAC,GAGC,GAAY,MAAZ,EAAe,GAEf,AAAI,EAGF,EAAU,GAGV,EAAW,KAAK,IAIpB,OACA,WAIE,IAKA,qBACE,GAAM,GAAgB,EAAO,QAI7B,EAAoB,EAAW,IAAI,EAAkB,SAAS,WAAM,MAAA,GAAW,MAAmB,EAAW,IALxG,EAAO,QAAU,EAAS,OAQjC,QAOR,SAAO,UACL,GAAI,GACF,EACA,EAEA,OACA,WAEE,EAAa,GACb,OAOC,WAEL,EAAS,KACT,GAAkB,MAAlB,KC9CE,YACJ,EACA,EACA,GAEA,MAFA,KAAA,QAAA,GAAA,UAEI,EAAW,GAEN,GAAS,SAAC,EAAG,GAAM,MAAA,GAAI,SAAC,EAAQ,GAAe,MAAA,GAAe,EAAG,EAAG,EAAG,KAAK,EAAU,EAAQ,EAAG,MAAM,GACrG,OAAO,IAAmB,UACnC,GAAa,GAGR,EAAQ,SAAC,EAAQ,GAAe,MAAA,IAAe,EAAQ,EAAY,EAAS,MCjC/E,YAAmD,GAAA,MAAA,KAAA,QAAA,GAAA,UAChD,GAAS,EAAU,GCEtB,cACJ,MAAO,IAAS,GCkDZ,qBAAiB,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACrB,MAAO,MAAY,GAAkB,EAAM,EAAa,KChEpD,YAAgD,GACpD,MAAO,IAAI,GAA+B,SAAC,GACzC,EAAU,KAAqB,UAAU,KC5C7C,GAAM,IAA0B,CAAC,cAAe,kBAC1C,GAAqB,CAAC,mBAAoB,uBAC1C,GAAgB,CAAC,KAAM,OA8LvB,WACJ,EACA,EACA,EACA,GAOA,GALI,EAAW,IAEb,GAAiB,EACjB,EAAU,QAER,EAEF,MAAO,GAAa,EAAQ,EAAW,GAA6C,KAAK,GAAiB,IAUtG,GAAA,GAAA,GAEJ,GAAc,GACV,GAAmB,IAAI,SAAC,GAAe,MAAA,UAAC,GAAiB,MAAA,GAAO,GAAY,EAAW,EAAS,MAElG,GAAwB,GACtB,GAAwB,IAAI,GAAwB,EAAQ,IAC5D,GAA0B,GAC1B,GAAc,IAAI,GAAwB,EAAQ,IAClD,GAAE,GATD,EAAG,EAAA,GAAE,EAAM,EAAA,GAgBlB,MAAI,CAAC,GACC,GAAY,GACP,GAAS,SAAC,GAAmB,MAAA,GAAU,EAAW,EAAW,KAClE,GAAkB,IAKjB,GAAI,GAAc,SAAC,GAGxB,GAAI,CAAC,EAIH,KAAM,IAAI,WAAU,wBAKtB,GAAM,GAAU,kBAAC,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GAAmB,MAAA,GAAW,KAAK,EAAI,EAAK,OAAS,EAAO,EAAK,KAElF,SAAI,GAEG,WAAM,MAAA,GAAQ,MAWzB,YAAiC,EAAa,GAC5C,MAAO,UAAC,GAAuB,MAAA,UAAC,GAAiB,MAAA,GAAO,GAAY,EAAW,KAQjF,YAAiC,GAC/B,MAAO,GAAW,EAAO,cAAgB,EAAW,EAAO,gBAQ7D,YAAmC,GACjC,MAAO,GAAW,EAAO,KAAO,EAAW,EAAO,KAQpD,YAAuB,GACrB,MAAO,GAAW,EAAO,mBAAqB,EAAW,EAAO,qBCvK5D,YACJ,EACA,EACA,GAFA,AAAA,IAAA,QAAA,GAAA,GAEA,IAAA,QAAA,GAAA,IAIA,GAAI,GAAmB,GAEvB,MAAI,IAAuB,MAIzB,CAAI,GAAY,GACd,EAAY,EAIZ,EAAmB,GAIhB,GAAI,GAAW,SAAC,GAIrB,GAAI,GAAM,GAAY,GAAW,CAAC,EAAU,EAAW,MAAQ,EAE/D,AAAI,EAAM,GAER,GAAM,GAIR,GAAI,GAAI,EAGR,MAAO,GAAU,SAAS,WACxB,AAAK,EAAW,QAEd,GAAW,KAAK,KAEhB,AAAI,GAAK,EAGP,KAAK,SAAS,OAAW,GAGzB,EAAW,aAGd,KCzLC,GAAA,IAAY,MAAK,QAMnB,YAA4B,GAChC,MAAO,GAAK,SAAW,GAAK,GAAQ,EAAK,IAAM,EAAK,GAAM,EC2EtD,oBAAgB,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACpB,GAAM,GAAY,EAAa,GACzB,EAAa,GAAU,EAAM,UAC7B,EAAU,GAAe,GAC/B,MAAO,AAAC,GAAQ,OAGZ,EAAQ,SAAW,EAEnB,EAAU,EAAQ,IAElB,GAAS,GAAY,GAAkB,EAAS,IALhD,GCzDC,GAAM,IAAQ,GAAI,GAAkB,GCkBrC,YAAoB,EAAiD,GACzE,MAAO,GAAQ,SAAC,EAAQ,GAEtB,GAAI,GAAQ,EAIZ,EAAO,UAIL,GAAI,GAAmB,EAAY,SAAC,GAAU,MAAA,GAAU,KAAK,EAAS,EAAO,MAAY,EAAW,KAAK,QCTzG,qBAAc,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GAClB,GAAM,GAAiB,GAAkB,GAEnC,EAAU,GAAe,GAE/B,MAAO,GAAQ,OACX,GAAI,GAAsB,SAAC,GAGzB,GAAI,GAAuB,EAAQ,IAAI,WAAM,MAAA,KAKzC,EAAY,EAAQ,IAAI,WAAM,MAAA,KAGlC,EAAW,IAAI,WACb,EAAU,EAAY,OAMxB,mBAAS,GACP,EAAU,EAAQ,IAAc,UAC9B,GAAI,GACF,EACA,SAAC,GAKC,GAJA,EAAQ,GAAa,KAAK,GAItB,EAAQ,MAAM,SAAC,GAAW,MAAA,GAAO,UACnC,GAAM,GAAc,EAAQ,IAAI,SAAC,GAAW,MAAA,GAAO,UAEnD,EAAW,KAAK,EAAiB,EAAc,MAAA,OAAA,EAAI,IAAU,GAIzD,EAAQ,KAAK,SAAC,EAAQ,GAAM,MAAA,CAAC,EAAO,QAAU,EAAU,MAC1D,EAAW,aAKjB,OACA,WAGE,EAAU,GAAe,GAIzB,CAAC,EAAQ,GAAa,QAAU,EAAW,eA9B1C,EAAc,EAAG,CAAC,EAAW,QAAU,EAAc,EAAQ,OAAQ,MAArE,GAqCT,MAAO,YACL,EAAU,EAAY,QAG1B,GC3DA,YAAyB,EAAoB,GAAA,MAAA,KAAA,QAAA,GAAA,MAGjD,EAAmB,GAAoB,EAEhC,EAAQ,SAAC,EAAQ,GACtB,GAAI,GAAiB,GACjB,EAAQ,EAEZ,EAAO,UACL,GAAI,GACF,EACA,SAAC,eACK,EAAuB,KAK3B,AAAI,IAAU,GAAsB,GAClC,EAAQ,KAAK,QAIf,OAAqB,GAAA,EAAA,GAAO,EAAA,EAAA,OAAA,CAAA,EAAA,KAAA,EAAA,EAAA,QAAvB,GAAM,GAAM,EAAA,MACf,EAAO,KAAK,GAMR,GAAc,EAAO,QACvB,GAAS,GAAU,GACnB,EAAO,KAAK,sGAIhB,GAAI,MAIF,OAAqB,GAAA,EAAA,GAAM,EAAA,EAAA,OAAA,CAAA,EAAA,KAAA,EAAA,EAAA,QAAtB,GAAM,GAAM,EAAA,MACf,GAAU,EAAS,GACnB,EAAW,KAAK,uGAItB,OACA,uBAGE,OAAqB,GAAA,EAAA,GAAO,EAAA,EAAA,OAAA,CAAA,EAAA,KAAA,EAAA,EAAA,QAAvB,GAAM,GAAM,EAAA,MACf,EAAW,KAAK,qGAElB,EAAW,YAEb,WAEE,EAAU,UCrEd,YAAkB,GACtB,MAAO,IAAS,EAEZ,WAAM,MAAA,KACN,EAAQ,SAAC,EAAQ,GACf,GAAI,GAAO,EACX,EAAO,UACL,GAAI,GAAmB,EAAY,SAAC,GAIlC,AAAI,EAAE,GAAQ,GACZ,GAAW,KAAK,GAIZ,GAAS,GACX,EAAW,iBC3BrB,cACJ,MAAO,GAAQ,SAAC,EAAQ,GACtB,EAAO,UAAU,GAAI,GAAmB,EAAY,MCAlD,YAAmB,GACvB,MAAO,GAAQ,SAAC,EAAQ,GAEtB,EAAO,UACL,GAAI,GACF,EAEA,WAAM,MAAA,GAAW,KAAK,QCmCxB,YACJ,EACA,GAEA,MAAI,GAEK,SAAC,GACN,MAAA,IAAO,EAAkB,KAAK,GAAK,GAAI,MAAmB,EAAO,KAAK,GAAU,MAG7E,GAAS,SAAC,EAAO,GAAU,MAAA,GAAsB,EAAO,GAAO,KAAK,GAAK,GAAI,GAAM,MCrCtF,YAAmB,EAAoB,GAAA,AAAA,IAAA,QAAA,GAAA,IAC3C,GAAM,GAAW,GAAM,EAAK,GAC5B,MAAO,IAAU,WAAM,MAAA,KCOnB,YAAqC,EAAmC,GAC5E,SAAU,GAAW,GACd,EAAQ,SAAC,EAAQ,GACtB,GAAI,GACA,EAAQ,GACZ,EAAO,UACL,GAAI,GAAmB,EAAY,SAAC,GAMlC,AAAE,IAAW,GAAO,EAAQ,IAAO,CAAC,EAAS,EAAO,EAAO,EAAc,EAAY,GAAU,KAC7F,EAAW,KAAK,GAClB,EAAQ,QAMhB,YAAwB,EAAQ,GAC9B,MAAO,KAAM,ECRT,YAAwD,EAAQ,GACpE,MAAO,IAAqB,SAAC,EAAM,GAAS,MAAA,GAAU,EAAQ,EAAE,GAAM,EAAE,IAAQ,EAAE,KAAS,EAAE,KCpBzF,YAAsB,GAC1B,MAAO,GAAQ,SAAC,EAAQ,GACtB,EAAO,UAAU,GACjB,EAAW,IAAI,KC6Bb,YAAmB,GACvB,EAAU,GAAW,GACb,GAAA,GAAgH,EAAO,UAAvH,EAAS,IAAA,OAAG,WAAM,MAAA,IAAI,KAAY,EAAE,EAA4E,EAAO,gBAAnF,EAAe,IAAA,OAAG,GAAI,EAAE,EAAoD,EAAO,aAA3D,EAAY,IAAA,OAAG,GAAI,EAAE,EAA+B,EAAO,oBAAtC,EAAmB,IAAA,OAAG,GAAI,EAE/G,EAAkC,KAClC,EAAiC,KACjC,EAAW,EACX,EAAe,GACf,EAAa,GAEX,EAAQ,WACZ,EAAa,EAAU,KACvB,EAAe,EAAa,IAG9B,MAAO,GAAQ,SAAC,EAAQ,GACtB,IACK,GACH,GAAU,KAGZ,GAAM,GAAmB,EAAQ,UAAU,GAE3C,MAAK,IACH,GAAa,GAAK,GAAQ,UAAU,CAClC,KAAM,SAAC,GAAU,MAAA,GAAS,KAAK,IAC/B,MAAO,SAAC,GACN,EAAa,GACb,GAAM,GAAO,EACb,AAAI,GACF,IAEF,EAAK,MAAM,IAEb,SAAU,WACR,EAAe,GACf,GAAM,GAAO,EACb,AAAI,GACF,IAEF,EAAK,eAKJ,WAGL,GAFA,IACA,EAAiB,cACb,CAAC,GAAY,GAAuB,CAAC,GAAc,CAAC,GACtD,GAAM,GAAO,EACb,IACA,GAAI,MAAJ,EAAM,kBCpBR,YACJ,EACA,EACA,WAEI,EACA,EAAW,GACf,MAAI,IAAsB,MAAO,IAAuB,SACtD,GAAU,GAAG,EAAmB,cAAU,MAAA,IAAA,OAAA,EAAI,SAC9C,EAAU,GAAG,EAAmB,cAAU,MAAA,IAAA,OAAA,EAAI,SAC9C,EAAW,CAAC,CAAC,EAAmB,SAChC,EAAY,EAAmB,WAE/B,EAAa,GAAsB,SAE9B,GAAS,CACd,UAAW,WAAM,MAAA,IAAI,IAAc,EAAY,EAAY,IAC3D,aAAc,GACd,gBAAiB,GACjB,oBAAqB,IC9DnB,qBAA0B,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GAC9B,GAAM,GAAY,EAAa,GAC/B,MAAO,GAAQ,SAAC,EAAQ,GAItB,AAAC,GAAY,GAAO,EAAQ,EAAQ,GAAa,GAAO,EAAQ,IAAS,UAAU,KCAjF,YACJ,EACA,GAEA,MAAO,GAAQ,SAAC,EAAQ,GACtB,GAAI,GAAyD,KACzD,EAAQ,EAER,EAAa,GAIX,EAAgB,WAAM,MAAA,IAAc,CAAC,GAAmB,EAAW,YAEzE,EAAO,UACL,GAAI,GACF,EACA,SAAC,GAEC,GAAe,MAAf,EAAiB,cACjB,GAAI,GAAa,EACX,EAAa,IAEnB,EAAU,EAAQ,EAAO,IAAa,UACnC,EAAkB,GAAI,GACrB,EAIA,SAAC,GAAe,MAAA,GAAW,KAAK,EAAiB,EAAe,EAAO,EAAY,EAAY,KAAgB,IAC/G,OACA,WAIE,EAAkB,KAClB,QAKR,OACA,WACE,EAAa,GACb,SCnBJ,YACJ,EACA,EACA,GAKA,GAAM,GACJ,EAAW,IAAmB,GAAS,EAAW,CAAE,KAAM,EAAsC,MAAK,EAAE,SAAQ,GAAK,EAGtH,MAAO,GACH,EAAQ,SAAC,EAAQ,GACf,EAAO,UACL,GAAI,GACF,EACA,SAAC,SACC,AAAA,GAAA,EAAY,QAAI,MAAA,IAAA,QAAA,EAAA,KAAhB,EAAmB,GACnB,EAAW,KAAK,IAElB,SAAC,SACC,AAAA,GAAA,EAAY,SAAK,MAAA,IAAA,QAAA,EAAA,KAAjB,EAAoB,GACpB,EAAW,MAAM,IAEnB,iBACE,AAAA,GAAA,EAAY,YAAQ,MAAA,IAAA,QAAA,EAAA,KAApB,GACA,EAAW,gBAQnB,ECtFA,qBAA+B,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACnC,GAAM,GAAU,GAAkB,GAElC,MAAO,GAAQ,SAAC,EAAQ,GAetB,OAdM,GAAM,EAAO,OACb,EAAc,GAAI,OAAM,GAI1B,EAAW,EAAO,IAAI,WAAM,MAAA,KAG5B,EAAQ,cAMH,GACP,EAAU,EAAO,IAAI,UACnB,GAAI,GACF,EACA,SAAC,GACC,EAAY,GAAK,EACb,CAAC,GAAS,CAAC,EAAS,IAEtB,GAAS,GAAK,GAKb,GAAQ,EAAS,MAAM,KAAe,GAAW,QAGtD,OAGA,KAnBG,EAAI,EAAG,EAAI,EAAK,MAAhB,GAyBT,EAAO,UACL,GAAI,GAAmB,EAAY,SAAC,GAClC,GAAI,GAEF,GAAM,GAAM,EAAA,CAAI,GAAU,GAC1B,EAAW,KAAK,EAAU,EAAO,MAAA,OAAA,EAAI,IAAU,SC1BnD,qBAAoB,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACxB,MAAO,GAAQ,SAAC,EAAQ,GACtB,GAAS,MAAA,OAAA,EAAA,CAAC,GAAW,IAAS,UAAU,KAwBtC,qBAAmD,GAAA,GAAA,EAAA,EAAA,EAAA,UAAA,OAAA,IAAA,EAAA,GAAA,UAAA,GACvD,MAAO,IAAG,MAAA,OAAA,EAAI,IC9DT,YACL,EAAkB,EAAmB,UAErC,MAAO,GAAK,cAAiB,IAAa,OAqBrC,YACL,EAAkB,EAAmB,UAErC,GAAM,GAAK,GAAc,EAAU,GACnC,GAAI,MAAO,IAAO,YAChB,KAAM,IAAI,gBACR,8BAA8B,oBAElC,MAAO,GAQF,cACL,MAAO,UAAS,wBAAyB,aACrC,SAAS,cACT,OAqBC,YACL,EAAkB,EAAmB,UAErC,MAAO,OAAM,KAAK,EAAK,iBAAoB,ICxDtC,YACL,GAEA,MAAO,GACL,EAAsB,EAAI,SAC1B,EAAsB,EAAI,SAEzB,KACC,EAAI,CAAC,CAAE,UAAW,IAAS,SAC3B,GAAU,IAAO,OCNvB,GAAM,IAAS,GAAI,IAYb,GAAY,GAAM,IAAM,GAC5B,GAAI,gBAAe,IACjB,OAAW,KAAS,GAClB,GAAO,KAAK,OAGf,KACC,GAAU,GAAU,GAAM,KAAK,GAAU,IACtC,KACC,GAAS,IAAM,EAAO,gBAG1B,GAAY,IAcT,YAAwB,GAC7B,MAAO,CACL,MAAQ,EAAG,YACX,OAAQ,EAAG,cAWR,YAA+B,GACpC,MAAO,CACL,MAAQ,EAAG,YACX,OAAQ,EAAG,cC/DR,YAA0B,GAC/B,MAAO,CACL,EAAG,EAAG,WACN,EAAG,EAAG,WAaH,YACL,GAEA,MAAO,GACL,EAAU,EAAI,UACd,EAAU,OAAQ,WAEjB,KACC,EAAI,IAAM,GAAiB,IAC3B,GAAU,GAAiB,KAe1B,YACL,EAAiB,EAAY,IAE7B,MAAO,IAAmB,GACvB,KACC,EAAI,CAAC,CAAE,QACL,GAAM,GAAU,GAAe,GACzB,EAAU,GAAsB,GACtC,MAAO,IACL,EAAQ,OAAS,EAAQ,OAAS,IAGtC,MCzDN,GAAM,IAA4C,CAChD,OAAQ,GAAkB,2BAC1B,OAAQ,GAAkB,4BCTrB,cACL,MAAO,IAAI,KAAI,SAAS,MCGnB,YACL,EAAa,EAAuB,CAAE,YAAa,gBAEnD,MAAO,IAAK,MAAM,EAAK,IACpB,KACC,GAAO,GAAO,EAAI,SAAW,MAc5B,YACL,EAAa,GAEb,MAAO,IAAQ,EAAK,GACjB,KACC,GAAU,GAAO,EAAI,QACrB,GAAY,ICHX,YACL,EAAqB,EAAmB,UAExC,MAAO,IAAkB,uBAAuB,KAAS,GAapD,YACL,EAAqB,EAAmB,UAExC,MAAO,IAAY,uBAAuB,KAAS,GCArD,GAAM,IAAS,GAAkB,aAC3B,GAAiB,KAAK,MAAM,GAAO,aACzC,GAAO,KAAO,GAAI,KAAI,GAAO,KAAM,MAChC,WACA,QAAQ,MAAO,IAWX,cACL,MAAO,IAsBF,YACL,EAAkB,GAElB,MAAO,OAAO,IAAU,YACpB,GAAO,aAAa,GAAK,QAAQ,IAAK,EAAM,YAC5C,GAAO,aAAa,GCnEnB,YACL,GAIA,GAAM,GAAS,GAAkB,GAC3B,EAAS,EACb,EAAU,EAAI,SACd,EAAU,EAAI,SAAS,KAAK,GAAM,KAEjC,KACC,EAAI,IAAM,EAAG,OACb,GAAU,EAAG,OACb,MAIJ,SACG,KACC,GAAO,GAAU,CAAC,GAClB,GAAe,IAEd,UAAU,CAAC,CAAC,CAAE,MACb,GAAM,GAAO,SAAS,SAAS,SAC/B,GAAG,OAAQ,WAAY,GAAG,cAAiB,OAI1C,GAAc,CAAC,EAAQ,IAC3B,KACC,EAAI,CAAC,CAAC,EAAO,KAAY,EAAE,IAAK,EAAI,QAAO,YCnEjD,OAAiC,SCiCjC,YAAqB,EAAiB,GAGpC,GAAI,MAAO,IAAU,UAAY,MAAO,IAAU,SAChD,EAAG,WAAa,EAAM,mBAGb,YAAiB,MAC1B,EAAG,YAAY,WAGN,MAAM,QAAQ,GACvB,OAAW,KAAQ,GACjB,GAAY,EAAI,GAiBf,YACL,EAAa,KAAkC,GAE/C,GAAM,GAAK,SAAS,cAAc,GAGlC,GAAI,EACF,OAAW,KAAQ,QAAO,KAAK,GAC7B,AAAI,MAAO,GAAW,IAAU,UAC9B,EAAG,aAAa,EAAM,EAAW,IAC1B,EAAW,IAClB,EAAG,aAAa,EAAM,IAG5B,OAAW,KAAS,GAClB,GAAY,EAAI,GAGlB,MAAO,GCvCF,YAAe,GACpB,GAAI,EAAQ,KACV,GAAM,GAAS,CAAG,IAAQ,KAAO,IAAO,IACxC,MAAO,GAAK,IAAQ,MAAY,KAAM,QAAQ,UAE9C,OAAO,GAAM,WClCV,YACL,EAAiB,GAEjB,OAAQ,OAGD,GACH,EAAG,YAAc,GAAY,sBAC7B,UAGG,GACH,EAAG,YAAc,GAAY,qBAC7B,cAIA,EAAG,YAAc,GAAY,sBAAuB,GAAM,KASzD,YACL,GAEA,EAAG,YAAc,GAAY,6BAWxB,YACL,EAAiB,GAEjB,EAAG,YAAY,GAQV,YACL,GAEA,EAAG,UAAY,GCnEjB,OAAqB,SA6BrB,YAAmB,EAAY,GAC7B,MAAO,SAAK,EAAK,UAAW,EAAO,CACjC,KAAM,CACJ,QAAS,MACT,SAAU,UAiBT,YACL,EAAY,GAEZ,MACE,IAAC,KAAD,CAAI,MAAM,gCACR,GAAC,OAAD,CAAM,MAAM,WACV,GAAC,MAAD,CAAK,IAAK,EAAK,OAEjB,GAAC,SAAD,CACE,MAAM,uBACN,MAAO,GAAY,kBACnB,sBAAqB,IAAI,EAAK,cAE9B,GAAC,OAAD,KAAO,IAAI,GAAU,EAAM,SJmB5B,YACL,EAAkB,CAAE,SAAQ,WAE5B,MAAO,IAAc,CACnB,EAAO,KAAK,GAAwB,UACpC,EACG,KACC,EAAI,CAAC,CAAE,QAAO,YAAa,CACzB,GAAG,OAAO,KAAK,EAAM,MACrB,GAAG,OAAO,KAAK,EAAO,WAI3B,KACC,EAAI,CAAC,CAAC,CAAE,SAAS,KAAU,UAAO,EAAM,IACxC,GAAU,GAAc,EAAO,KAC7B,EAAI,CAAC,CAAE,QAAO,YAAc,EAC1B,KAAM,EAAW,IAAU,IACzB,GAAM,GACJ,IAAa,GAAM,KACf,EACA,EACN,MAAO,CACL,YACA,IAAK,CACH,EAAS,KACT,EAAS,KAAK,IACd,KAAK,aAgBd,YACL,EAAiB,CAAE,SAAQ,WAE3B,GAAM,GAAY,GAAI,IAChB,EAAY,GAAsB,GACrC,KACC,GAAO,UAIL,EAAO,GAAkB,wBAAyB,GACxD,EACG,KACC,GAAU,IACV,GAAe,IAEd,UAAU,CAAC,CAAC,CAAE,QAAQ,CAAE,aACvB,AAAI,EACF,GAAoB,EAAM,EAAK,QAE/B,GAAsB,KAI9B,GAAM,GAAO,GAAkB,uBAAwB,GACvD,SACG,KACC,GAAU,IACV,GAAI,IAAM,GAAsB,IAChC,GAAU,CAAC,CAAE,UAAW,EACtB,GAAG,GAAG,EAAK,MAAM,EAAG,KACpB,GAAG,GAAG,EAAK,MAAM,KACd,KACC,GAAY,IACZ,GAAQ,GACR,GAAU,CAAC,CAAC,KAAW,GAAG,GAAG,OAGnC,GAAe,IAEd,UAAU,CAAC,CAAC,EAAQ,CAAE,aACrB,GAAsB,EAAM,GAAuB,EAAQ,MAI1D,GAAsB,EAAI,CAAE,SAAQ,WACxC,KACC,GAAI,GACJ,GAAS,IAAM,EAAU,YACzB,EAAI,GAAU,EAAE,IAAK,KAAO,MKvH3B,YACL,GAEA,GAAM,GAAS,KACT,EAAS,GACb,GAAG,EAAO,4DAIN,EAAS,GAAoB,oBAAqB,GAClD,EAAS,GAAoB,qBAAsB,GAGnD,EAAS,GAAqB,GACpC,MAAO,GACL,EACA,GAAsB,EAAQ,CAAE,SAAQ,YC9DrC,cACL,EAAU,SAAS,KAAM,SACtB,UAAU,IACT,GAAI,EAAG,iBAAkB,cACvB,GAAM,GAAK,EAAG,OAAO,QAAQ,iBAC7B,AAAI,YAAc,kBAChB,GAAG,OAAQ,QAAS,WAAY,QAAS,EAAG,SCDtD,KAGA,OAAO,UACJ,KACC,GAAU,IAAM,EAGd,GAAG,GAAqB,eACrB,IAAI,GAAM,GAAgB,OAG9B", "names": [] } diff --git a/material/overrides/assets/javascripts/icon_search_index.json b/material/overrides/assets/javascripts/icon_search_index.json new file mode 100644 index 000000000..82967b9ee --- /dev/null +++ b/material/overrides/assets/javascripts/icon_search_index.json @@ -0,0 +1 @@ +{"icons":{"base":"https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/material/.icons/","data":{"fontawesome/brands/500px.svg":"fontawesome-brands-500px","fontawesome/brands/accessible-icon.svg":"fontawesome-brands-accessible-icon","fontawesome/brands/accusoft.svg":"fontawesome-brands-accusoft","fontawesome/brands/acquisitions-incorporated.svg":"fontawesome-brands-acquisitions-incorporated","fontawesome/brands/adn.svg":"fontawesome-brands-adn","fontawesome/brands/adversal.svg":"fontawesome-brands-adversal","fontawesome/brands/affiliatetheme.svg":"fontawesome-brands-affiliatetheme","fontawesome/brands/airbnb.svg":"fontawesome-brands-airbnb","fontawesome/brands/algolia.svg":"fontawesome-brands-algolia","fontawesome/brands/alipay.svg":"fontawesome-brands-alipay","fontawesome/brands/amazon-pay.svg":"fontawesome-brands-amazon-pay","fontawesome/brands/amazon.svg":"fontawesome-brands-amazon","fontawesome/brands/amilia.svg":"fontawesome-brands-amilia","fontawesome/brands/android.svg":"fontawesome-brands-android","fontawesome/brands/angellist.svg":"fontawesome-brands-angellist","fontawesome/brands/angrycreative.svg":"fontawesome-brands-angrycreative","fontawesome/brands/angular.svg":"fontawesome-brands-angular","fontawesome/brands/app-store-ios.svg":"fontawesome-brands-app-store-ios","fontawesome/brands/app-store.svg":"fontawesome-brands-app-store","fontawesome/brands/apper.svg":"fontawesome-brands-apper","fontawesome/brands/apple-pay.svg":"fontawesome-brands-apple-pay","fontawesome/brands/apple.svg":"fontawesome-brands-apple","fontawesome/brands/artstation.svg":"fontawesome-brands-artstation","fontawesome/brands/asymmetrik.svg":"fontawesome-brands-asymmetrik","fontawesome/brands/atlassian.svg":"fontawesome-brands-atlassian","fontawesome/brands/audible.svg":"fontawesome-brands-audible","fontawesome/brands/autoprefixer.svg":"fontawesome-brands-autoprefixer","fontawesome/brands/avianex.svg":"fontawesome-brands-avianex","fontawesome/brands/aviato.svg":"fontawesome-brands-aviato","fontawesome/brands/aws.svg":"fontawesome-brands-aws","fontawesome/brands/bandcamp.svg":"fontawesome-brands-bandcamp","fontawesome/brands/battle-net.svg":"fontawesome-brands-battle-net","fontawesome/brands/behance-square.svg":"fontawesome-brands-behance-square","fontawesome/brands/behance.svg":"fontawesome-brands-behance","fontawesome/brands/bimobject.svg":"fontawesome-brands-bimobject","fontawesome/brands/bitbucket.svg":"fontawesome-brands-bitbucket","fontawesome/brands/bitcoin.svg":"fontawesome-brands-bitcoin","fontawesome/brands/bity.svg":"fontawesome-brands-bity","fontawesome/brands/black-tie.svg":"fontawesome-brands-black-tie","fontawesome/brands/blackberry.svg":"fontawesome-brands-blackberry","fontawesome/brands/blogger-b.svg":"fontawesome-brands-blogger-b","fontawesome/brands/blogger.svg":"fontawesome-brands-blogger","fontawesome/brands/bluetooth-b.svg":"fontawesome-brands-bluetooth-b","fontawesome/brands/bluetooth.svg":"fontawesome-brands-bluetooth","fontawesome/brands/bootstrap.svg":"fontawesome-brands-bootstrap","fontawesome/brands/btc.svg":"fontawesome-brands-btc","fontawesome/brands/buffer.svg":"fontawesome-brands-buffer","fontawesome/brands/buromobelexperte.svg":"fontawesome-brands-buromobelexperte","fontawesome/brands/buy-n-large.svg":"fontawesome-brands-buy-n-large","fontawesome/brands/buysellads.svg":"fontawesome-brands-buysellads","fontawesome/brands/canadian-maple-leaf.svg":"fontawesome-brands-canadian-maple-leaf","fontawesome/brands/cc-amazon-pay.svg":"fontawesome-brands-cc-amazon-pay","fontawesome/brands/cc-amex.svg":"fontawesome-brands-cc-amex","fontawesome/brands/cc-apple-pay.svg":"fontawesome-brands-cc-apple-pay","fontawesome/brands/cc-diners-club.svg":"fontawesome-brands-cc-diners-club","fontawesome/brands/cc-discover.svg":"fontawesome-brands-cc-discover","fontawesome/brands/cc-jcb.svg":"fontawesome-brands-cc-jcb","fontawesome/brands/cc-mastercard.svg":"fontawesome-brands-cc-mastercard","fontawesome/brands/cc-paypal.svg":"fontawesome-brands-cc-paypal","fontawesome/brands/cc-stripe.svg":"fontawesome-brands-cc-stripe","fontawesome/brands/cc-visa.svg":"fontawesome-brands-cc-visa","fontawesome/brands/centercode.svg":"fontawesome-brands-centercode","fontawesome/brands/centos.svg":"fontawesome-brands-centos","fontawesome/brands/chrome.svg":"fontawesome-brands-chrome","fontawesome/brands/chromecast.svg":"fontawesome-brands-chromecast","fontawesome/brands/cloudflare.svg":"fontawesome-brands-cloudflare","fontawesome/brands/cloudscale.svg":"fontawesome-brands-cloudscale","fontawesome/brands/cloudsmith.svg":"fontawesome-brands-cloudsmith","fontawesome/brands/cloudversify.svg":"fontawesome-brands-cloudversify","fontawesome/brands/codepen.svg":"fontawesome-brands-codepen","fontawesome/brands/codiepie.svg":"fontawesome-brands-codiepie","fontawesome/brands/confluence.svg":"fontawesome-brands-confluence","fontawesome/brands/connectdevelop.svg":"fontawesome-brands-connectdevelop","fontawesome/brands/contao.svg":"fontawesome-brands-contao","fontawesome/brands/cotton-bureau.svg":"fontawesome-brands-cotton-bureau","fontawesome/brands/cpanel.svg":"fontawesome-brands-cpanel","fontawesome/brands/creative-commons-by.svg":"fontawesome-brands-creative-commons-by","fontawesome/brands/creative-commons-nc-eu.svg":"fontawesome-brands-creative-commons-nc-eu","fontawesome/brands/creative-commons-nc-jp.svg":"fontawesome-brands-creative-commons-nc-jp","fontawesome/brands/creative-commons-nc.svg":"fontawesome-brands-creative-commons-nc","fontawesome/brands/creative-commons-nd.svg":"fontawesome-brands-creative-commons-nd","fontawesome/brands/creative-commons-pd-alt.svg":"fontawesome-brands-creative-commons-pd-alt","fontawesome/brands/creative-commons-pd.svg":"fontawesome-brands-creative-commons-pd","fontawesome/brands/creative-commons-remix.svg":"fontawesome-brands-creative-commons-remix","fontawesome/brands/creative-commons-sa.svg":"fontawesome-brands-creative-commons-sa","fontawesome/brands/creative-commons-sampling-plus.svg":"fontawesome-brands-creative-commons-sampling-plus","fontawesome/brands/creative-commons-sampling.svg":"fontawesome-brands-creative-commons-sampling","fontawesome/brands/creative-commons-share.svg":"fontawesome-brands-creative-commons-share","fontawesome/brands/creative-commons-zero.svg":"fontawesome-brands-creative-commons-zero","fontawesome/brands/creative-commons.svg":"fontawesome-brands-creative-commons","fontawesome/brands/critical-role.svg":"fontawesome-brands-critical-role","fontawesome/brands/css3-alt.svg":"fontawesome-brands-css3-alt","fontawesome/brands/css3.svg":"fontawesome-brands-css3","fontawesome/brands/cuttlefish.svg":"fontawesome-brands-cuttlefish","fontawesome/brands/d-and-d-beyond.svg":"fontawesome-brands-d-and-d-beyond","fontawesome/brands/d-and-d.svg":"fontawesome-brands-d-and-d","fontawesome/brands/dailymotion.svg":"fontawesome-brands-dailymotion","fontawesome/brands/dashcube.svg":"fontawesome-brands-dashcube","fontawesome/brands/deezer.svg":"fontawesome-brands-deezer","fontawesome/brands/delicious.svg":"fontawesome-brands-delicious","fontawesome/brands/deploydog.svg":"fontawesome-brands-deploydog","fontawesome/brands/deskpro.svg":"fontawesome-brands-deskpro","fontawesome/brands/dev.svg":"fontawesome-brands-dev","fontawesome/brands/deviantart.svg":"fontawesome-brands-deviantart","fontawesome/brands/dhl.svg":"fontawesome-brands-dhl","fontawesome/brands/diaspora.svg":"fontawesome-brands-diaspora","fontawesome/brands/digg.svg":"fontawesome-brands-digg","fontawesome/brands/digital-ocean.svg":"fontawesome-brands-digital-ocean","fontawesome/brands/discord.svg":"fontawesome-brands-discord","fontawesome/brands/discourse.svg":"fontawesome-brands-discourse","fontawesome/brands/dochub.svg":"fontawesome-brands-dochub","fontawesome/brands/docker.svg":"fontawesome-brands-docker","fontawesome/brands/draft2digital.svg":"fontawesome-brands-draft2digital","fontawesome/brands/dribbble-square.svg":"fontawesome-brands-dribbble-square","fontawesome/brands/dribbble.svg":"fontawesome-brands-dribbble","fontawesome/brands/dropbox.svg":"fontawesome-brands-dropbox","fontawesome/brands/drupal.svg":"fontawesome-brands-drupal","fontawesome/brands/dyalog.svg":"fontawesome-brands-dyalog","fontawesome/brands/earlybirds.svg":"fontawesome-brands-earlybirds","fontawesome/brands/ebay.svg":"fontawesome-brands-ebay","fontawesome/brands/edge-legacy.svg":"fontawesome-brands-edge-legacy","fontawesome/brands/edge.svg":"fontawesome-brands-edge","fontawesome/brands/elementor.svg":"fontawesome-brands-elementor","fontawesome/brands/ello.svg":"fontawesome-brands-ello","fontawesome/brands/ember.svg":"fontawesome-brands-ember","fontawesome/brands/empire.svg":"fontawesome-brands-empire","fontawesome/brands/envira.svg":"fontawesome-brands-envira","fontawesome/brands/erlang.svg":"fontawesome-brands-erlang","fontawesome/brands/ethereum.svg":"fontawesome-brands-ethereum","fontawesome/brands/etsy.svg":"fontawesome-brands-etsy","fontawesome/brands/evernote.svg":"fontawesome-brands-evernote","fontawesome/brands/expeditedssl.svg":"fontawesome-brands-expeditedssl","fontawesome/brands/facebook-f.svg":"fontawesome-brands-facebook-f","fontawesome/brands/facebook-messenger.svg":"fontawesome-brands-facebook-messenger","fontawesome/brands/facebook-square.svg":"fontawesome-brands-facebook-square","fontawesome/brands/facebook.svg":"fontawesome-brands-facebook","fontawesome/brands/fantasy-flight-games.svg":"fontawesome-brands-fantasy-flight-games","fontawesome/brands/fedex.svg":"fontawesome-brands-fedex","fontawesome/brands/fedora.svg":"fontawesome-brands-fedora","fontawesome/brands/figma.svg":"fontawesome-brands-figma","fontawesome/brands/firefox-browser.svg":"fontawesome-brands-firefox-browser","fontawesome/brands/firefox.svg":"fontawesome-brands-firefox","fontawesome/brands/first-order-alt.svg":"fontawesome-brands-first-order-alt","fontawesome/brands/first-order.svg":"fontawesome-brands-first-order","fontawesome/brands/firstdraft.svg":"fontawesome-brands-firstdraft","fontawesome/brands/flickr.svg":"fontawesome-brands-flickr","fontawesome/brands/flipboard.svg":"fontawesome-brands-flipboard","fontawesome/brands/fly.svg":"fontawesome-brands-fly","fontawesome/brands/font-awesome-alt.svg":"fontawesome-brands-font-awesome-alt","fontawesome/brands/font-awesome-flag.svg":"fontawesome-brands-font-awesome-flag","fontawesome/brands/font-awesome-logo-full.svg":"fontawesome-brands-font-awesome-logo-full","fontawesome/brands/font-awesome.svg":"fontawesome-brands-font-awesome","fontawesome/brands/fonticons-fi.svg":"fontawesome-brands-fonticons-fi","fontawesome/brands/fonticons.svg":"fontawesome-brands-fonticons","fontawesome/brands/fort-awesome-alt.svg":"fontawesome-brands-fort-awesome-alt","fontawesome/brands/fort-awesome.svg":"fontawesome-brands-fort-awesome","fontawesome/brands/forumbee.svg":"fontawesome-brands-forumbee","fontawesome/brands/foursquare.svg":"fontawesome-brands-foursquare","fontawesome/brands/free-code-camp.svg":"fontawesome-brands-free-code-camp","fontawesome/brands/freebsd.svg":"fontawesome-brands-freebsd","fontawesome/brands/fulcrum.svg":"fontawesome-brands-fulcrum","fontawesome/brands/galactic-republic.svg":"fontawesome-brands-galactic-republic","fontawesome/brands/galactic-senate.svg":"fontawesome-brands-galactic-senate","fontawesome/brands/get-pocket.svg":"fontawesome-brands-get-pocket","fontawesome/brands/gg-circle.svg":"fontawesome-brands-gg-circle","fontawesome/brands/gg.svg":"fontawesome-brands-gg","fontawesome/brands/git-alt.svg":"fontawesome-brands-git-alt","fontawesome/brands/git-square.svg":"fontawesome-brands-git-square","fontawesome/brands/git.svg":"fontawesome-brands-git","fontawesome/brands/github-alt.svg":"fontawesome-brands-github-alt","fontawesome/brands/github-square.svg":"fontawesome-brands-github-square","fontawesome/brands/github.svg":"fontawesome-brands-github","fontawesome/brands/gitkraken.svg":"fontawesome-brands-gitkraken","fontawesome/brands/gitlab.svg":"fontawesome-brands-gitlab","fontawesome/brands/gitter.svg":"fontawesome-brands-gitter","fontawesome/brands/glide-g.svg":"fontawesome-brands-glide-g","fontawesome/brands/glide.svg":"fontawesome-brands-glide","fontawesome/brands/gofore.svg":"fontawesome-brands-gofore","fontawesome/brands/goodreads-g.svg":"fontawesome-brands-goodreads-g","fontawesome/brands/goodreads.svg":"fontawesome-brands-goodreads","fontawesome/brands/google-drive.svg":"fontawesome-brands-google-drive","fontawesome/brands/google-pay.svg":"fontawesome-brands-google-pay","fontawesome/brands/google-play.svg":"fontawesome-brands-google-play","fontawesome/brands/google-plus-g.svg":"fontawesome-brands-google-plus-g","fontawesome/brands/google-plus-square.svg":"fontawesome-brands-google-plus-square","fontawesome/brands/google-plus.svg":"fontawesome-brands-google-plus","fontawesome/brands/google-wallet.svg":"fontawesome-brands-google-wallet","fontawesome/brands/google.svg":"fontawesome-brands-google","fontawesome/brands/gratipay.svg":"fontawesome-brands-gratipay","fontawesome/brands/grav.svg":"fontawesome-brands-grav","fontawesome/brands/gripfire.svg":"fontawesome-brands-gripfire","fontawesome/brands/grunt.svg":"fontawesome-brands-grunt","fontawesome/brands/guilded.svg":"fontawesome-brands-guilded","fontawesome/brands/gulp.svg":"fontawesome-brands-gulp","fontawesome/brands/hacker-news-square.svg":"fontawesome-brands-hacker-news-square","fontawesome/brands/hacker-news.svg":"fontawesome-brands-hacker-news","fontawesome/brands/hackerrank.svg":"fontawesome-brands-hackerrank","fontawesome/brands/hips.svg":"fontawesome-brands-hips","fontawesome/brands/hire-a-helper.svg":"fontawesome-brands-hire-a-helper","fontawesome/brands/hive.svg":"fontawesome-brands-hive","fontawesome/brands/hooli.svg":"fontawesome-brands-hooli","fontawesome/brands/hornbill.svg":"fontawesome-brands-hornbill","fontawesome/brands/hotjar.svg":"fontawesome-brands-hotjar","fontawesome/brands/houzz.svg":"fontawesome-brands-houzz","fontawesome/brands/html5.svg":"fontawesome-brands-html5","fontawesome/brands/hubspot.svg":"fontawesome-brands-hubspot","fontawesome/brands/ideal.svg":"fontawesome-brands-ideal","fontawesome/brands/imdb.svg":"fontawesome-brands-imdb","fontawesome/brands/innosoft.svg":"fontawesome-brands-innosoft","fontawesome/brands/instagram-square.svg":"fontawesome-brands-instagram-square","fontawesome/brands/instagram.svg":"fontawesome-brands-instagram","fontawesome/brands/instalod.svg":"fontawesome-brands-instalod","fontawesome/brands/intercom.svg":"fontawesome-brands-intercom","fontawesome/brands/internet-explorer.svg":"fontawesome-brands-internet-explorer","fontawesome/brands/invision.svg":"fontawesome-brands-invision","fontawesome/brands/ioxhost.svg":"fontawesome-brands-ioxhost","fontawesome/brands/itch-io.svg":"fontawesome-brands-itch-io","fontawesome/brands/itunes-note.svg":"fontawesome-brands-itunes-note","fontawesome/brands/itunes.svg":"fontawesome-brands-itunes","fontawesome/brands/java.svg":"fontawesome-brands-java","fontawesome/brands/jedi-order.svg":"fontawesome-brands-jedi-order","fontawesome/brands/jenkins.svg":"fontawesome-brands-jenkins","fontawesome/brands/jira.svg":"fontawesome-brands-jira","fontawesome/brands/joget.svg":"fontawesome-brands-joget","fontawesome/brands/joomla.svg":"fontawesome-brands-joomla","fontawesome/brands/js-square.svg":"fontawesome-brands-js-square","fontawesome/brands/js.svg":"fontawesome-brands-js","fontawesome/brands/jsfiddle.svg":"fontawesome-brands-jsfiddle","fontawesome/brands/kaggle.svg":"fontawesome-brands-kaggle","fontawesome/brands/keybase.svg":"fontawesome-brands-keybase","fontawesome/brands/keycdn.svg":"fontawesome-brands-keycdn","fontawesome/brands/kickstarter-k.svg":"fontawesome-brands-kickstarter-k","fontawesome/brands/kickstarter.svg":"fontawesome-brands-kickstarter","fontawesome/brands/korvue.svg":"fontawesome-brands-korvue","fontawesome/brands/laravel.svg":"fontawesome-brands-laravel","fontawesome/brands/lastfm-square.svg":"fontawesome-brands-lastfm-square","fontawesome/brands/lastfm.svg":"fontawesome-brands-lastfm","fontawesome/brands/leanpub.svg":"fontawesome-brands-leanpub","fontawesome/brands/less.svg":"fontawesome-brands-less","fontawesome/brands/line.svg":"fontawesome-brands-line","fontawesome/brands/linkedin-in.svg":"fontawesome-brands-linkedin-in","fontawesome/brands/linkedin.svg":"fontawesome-brands-linkedin","fontawesome/brands/linode.svg":"fontawesome-brands-linode","fontawesome/brands/linux.svg":"fontawesome-brands-linux","fontawesome/brands/lyft.svg":"fontawesome-brands-lyft","fontawesome/brands/magento.svg":"fontawesome-brands-magento","fontawesome/brands/mailchimp.svg":"fontawesome-brands-mailchimp","fontawesome/brands/mandalorian.svg":"fontawesome-brands-mandalorian","fontawesome/brands/markdown.svg":"fontawesome-brands-markdown","fontawesome/brands/mastodon.svg":"fontawesome-brands-mastodon","fontawesome/brands/maxcdn.svg":"fontawesome-brands-maxcdn","fontawesome/brands/mdb.svg":"fontawesome-brands-mdb","fontawesome/brands/medapps.svg":"fontawesome-brands-medapps","fontawesome/brands/medium-m.svg":"fontawesome-brands-medium-m","fontawesome/brands/medium.svg":"fontawesome-brands-medium","fontawesome/brands/medrt.svg":"fontawesome-brands-medrt","fontawesome/brands/meetup.svg":"fontawesome-brands-meetup","fontawesome/brands/megaport.svg":"fontawesome-brands-megaport","fontawesome/brands/mendeley.svg":"fontawesome-brands-mendeley","fontawesome/brands/microblog.svg":"fontawesome-brands-microblog","fontawesome/brands/microsoft.svg":"fontawesome-brands-microsoft","fontawesome/brands/mix.svg":"fontawesome-brands-mix","fontawesome/brands/mixcloud.svg":"fontawesome-brands-mixcloud","fontawesome/brands/mixer.svg":"fontawesome-brands-mixer","fontawesome/brands/mizuni.svg":"fontawesome-brands-mizuni","fontawesome/brands/modx.svg":"fontawesome-brands-modx","fontawesome/brands/monero.svg":"fontawesome-brands-monero","fontawesome/brands/napster.svg":"fontawesome-brands-napster","fontawesome/brands/neos.svg":"fontawesome-brands-neos","fontawesome/brands/nimblr.svg":"fontawesome-brands-nimblr","fontawesome/brands/node-js.svg":"fontawesome-brands-node-js","fontawesome/brands/node.svg":"fontawesome-brands-node","fontawesome/brands/npm.svg":"fontawesome-brands-npm","fontawesome/brands/ns8.svg":"fontawesome-brands-ns8","fontawesome/brands/nutritionix.svg":"fontawesome-brands-nutritionix","fontawesome/brands/octopus-deploy.svg":"fontawesome-brands-octopus-deploy","fontawesome/brands/odnoklassniki-square.svg":"fontawesome-brands-odnoklassniki-square","fontawesome/brands/odnoklassniki.svg":"fontawesome-brands-odnoklassniki","fontawesome/brands/old-republic.svg":"fontawesome-brands-old-republic","fontawesome/brands/opencart.svg":"fontawesome-brands-opencart","fontawesome/brands/openid.svg":"fontawesome-brands-openid","fontawesome/brands/opera.svg":"fontawesome-brands-opera","fontawesome/brands/optin-monster.svg":"fontawesome-brands-optin-monster","fontawesome/brands/orcid.svg":"fontawesome-brands-orcid","fontawesome/brands/osi.svg":"fontawesome-brands-osi","fontawesome/brands/page4.svg":"fontawesome-brands-page4","fontawesome/brands/pagelines.svg":"fontawesome-brands-pagelines","fontawesome/brands/palfed.svg":"fontawesome-brands-palfed","fontawesome/brands/patreon.svg":"fontawesome-brands-patreon","fontawesome/brands/paypal.svg":"fontawesome-brands-paypal","fontawesome/brands/penny-arcade.svg":"fontawesome-brands-penny-arcade","fontawesome/brands/perbyte.svg":"fontawesome-brands-perbyte","fontawesome/brands/periscope.svg":"fontawesome-brands-periscope","fontawesome/brands/phabricator.svg":"fontawesome-brands-phabricator","fontawesome/brands/phoenix-framework.svg":"fontawesome-brands-phoenix-framework","fontawesome/brands/phoenix-squadron.svg":"fontawesome-brands-phoenix-squadron","fontawesome/brands/php.svg":"fontawesome-brands-php","fontawesome/brands/pied-piper-alt.svg":"fontawesome-brands-pied-piper-alt","fontawesome/brands/pied-piper-hat.svg":"fontawesome-brands-pied-piper-hat","fontawesome/brands/pied-piper-pp.svg":"fontawesome-brands-pied-piper-pp","fontawesome/brands/pied-piper-square.svg":"fontawesome-brands-pied-piper-square","fontawesome/brands/pied-piper.svg":"fontawesome-brands-pied-piper","fontawesome/brands/pinterest-p.svg":"fontawesome-brands-pinterest-p","fontawesome/brands/pinterest-square.svg":"fontawesome-brands-pinterest-square","fontawesome/brands/pinterest.svg":"fontawesome-brands-pinterest","fontawesome/brands/playstation.svg":"fontawesome-brands-playstation","fontawesome/brands/product-hunt.svg":"fontawesome-brands-product-hunt","fontawesome/brands/pushed.svg":"fontawesome-brands-pushed","fontawesome/brands/python.svg":"fontawesome-brands-python","fontawesome/brands/qq.svg":"fontawesome-brands-qq","fontawesome/brands/quinscape.svg":"fontawesome-brands-quinscape","fontawesome/brands/quora.svg":"fontawesome-brands-quora","fontawesome/brands/r-project.svg":"fontawesome-brands-r-project","fontawesome/brands/raspberry-pi.svg":"fontawesome-brands-raspberry-pi","fontawesome/brands/ravelry.svg":"fontawesome-brands-ravelry","fontawesome/brands/react.svg":"fontawesome-brands-react","fontawesome/brands/reacteurope.svg":"fontawesome-brands-reacteurope","fontawesome/brands/readme.svg":"fontawesome-brands-readme","fontawesome/brands/rebel.svg":"fontawesome-brands-rebel","fontawesome/brands/red-river.svg":"fontawesome-brands-red-river","fontawesome/brands/reddit-alien.svg":"fontawesome-brands-reddit-alien","fontawesome/brands/reddit-square.svg":"fontawesome-brands-reddit-square","fontawesome/brands/reddit.svg":"fontawesome-brands-reddit","fontawesome/brands/redhat.svg":"fontawesome-brands-redhat","fontawesome/brands/renren.svg":"fontawesome-brands-renren","fontawesome/brands/replyd.svg":"fontawesome-brands-replyd","fontawesome/brands/researchgate.svg":"fontawesome-brands-researchgate","fontawesome/brands/resolving.svg":"fontawesome-brands-resolving","fontawesome/brands/rev.svg":"fontawesome-brands-rev","fontawesome/brands/rocketchat.svg":"fontawesome-brands-rocketchat","fontawesome/brands/rockrms.svg":"fontawesome-brands-rockrms","fontawesome/brands/rust.svg":"fontawesome-brands-rust","fontawesome/brands/safari.svg":"fontawesome-brands-safari","fontawesome/brands/salesforce.svg":"fontawesome-brands-salesforce","fontawesome/brands/sass.svg":"fontawesome-brands-sass","fontawesome/brands/schlix.svg":"fontawesome-brands-schlix","fontawesome/brands/scribd.svg":"fontawesome-brands-scribd","fontawesome/brands/searchengin.svg":"fontawesome-brands-searchengin","fontawesome/brands/sellcast.svg":"fontawesome-brands-sellcast","fontawesome/brands/sellsy.svg":"fontawesome-brands-sellsy","fontawesome/brands/servicestack.svg":"fontawesome-brands-servicestack","fontawesome/brands/shirtsinbulk.svg":"fontawesome-brands-shirtsinbulk","fontawesome/brands/shopify.svg":"fontawesome-brands-shopify","fontawesome/brands/shopware.svg":"fontawesome-brands-shopware","fontawesome/brands/simplybuilt.svg":"fontawesome-brands-simplybuilt","fontawesome/brands/sistrix.svg":"fontawesome-brands-sistrix","fontawesome/brands/sith.svg":"fontawesome-brands-sith","fontawesome/brands/sketch.svg":"fontawesome-brands-sketch","fontawesome/brands/skyatlas.svg":"fontawesome-brands-skyatlas","fontawesome/brands/skype.svg":"fontawesome-brands-skype","fontawesome/brands/slack-hash.svg":"fontawesome-brands-slack-hash","fontawesome/brands/slack.svg":"fontawesome-brands-slack","fontawesome/brands/slideshare.svg":"fontawesome-brands-slideshare","fontawesome/brands/snapchat-ghost.svg":"fontawesome-brands-snapchat-ghost","fontawesome/brands/snapchat-square.svg":"fontawesome-brands-snapchat-square","fontawesome/brands/snapchat.svg":"fontawesome-brands-snapchat","fontawesome/brands/soundcloud.svg":"fontawesome-brands-soundcloud","fontawesome/brands/sourcetree.svg":"fontawesome-brands-sourcetree","fontawesome/brands/speakap.svg":"fontawesome-brands-speakap","fontawesome/brands/speaker-deck.svg":"fontawesome-brands-speaker-deck","fontawesome/brands/spotify.svg":"fontawesome-brands-spotify","fontawesome/brands/squarespace.svg":"fontawesome-brands-squarespace","fontawesome/brands/stack-exchange.svg":"fontawesome-brands-stack-exchange","fontawesome/brands/stack-overflow.svg":"fontawesome-brands-stack-overflow","fontawesome/brands/stackpath.svg":"fontawesome-brands-stackpath","fontawesome/brands/staylinked.svg":"fontawesome-brands-staylinked","fontawesome/brands/steam-square.svg":"fontawesome-brands-steam-square","fontawesome/brands/steam-symbol.svg":"fontawesome-brands-steam-symbol","fontawesome/brands/steam.svg":"fontawesome-brands-steam","fontawesome/brands/sticker-mule.svg":"fontawesome-brands-sticker-mule","fontawesome/brands/strava.svg":"fontawesome-brands-strava","fontawesome/brands/stripe-s.svg":"fontawesome-brands-stripe-s","fontawesome/brands/stripe.svg":"fontawesome-brands-stripe","fontawesome/brands/studiovinari.svg":"fontawesome-brands-studiovinari","fontawesome/brands/stumbleupon-circle.svg":"fontawesome-brands-stumbleupon-circle","fontawesome/brands/stumbleupon.svg":"fontawesome-brands-stumbleupon","fontawesome/brands/superpowers.svg":"fontawesome-brands-superpowers","fontawesome/brands/supple.svg":"fontawesome-brands-supple","fontawesome/brands/suse.svg":"fontawesome-brands-suse","fontawesome/brands/swift.svg":"fontawesome-brands-swift","fontawesome/brands/symfony.svg":"fontawesome-brands-symfony","fontawesome/brands/teamspeak.svg":"fontawesome-brands-teamspeak","fontawesome/brands/telegram-plane.svg":"fontawesome-brands-telegram-plane","fontawesome/brands/telegram.svg":"fontawesome-brands-telegram","fontawesome/brands/tencent-weibo.svg":"fontawesome-brands-tencent-weibo","fontawesome/brands/the-red-yeti.svg":"fontawesome-brands-the-red-yeti","fontawesome/brands/themeco.svg":"fontawesome-brands-themeco","fontawesome/brands/themeisle.svg":"fontawesome-brands-themeisle","fontawesome/brands/think-peaks.svg":"fontawesome-brands-think-peaks","fontawesome/brands/tiktok.svg":"fontawesome-brands-tiktok","fontawesome/brands/trade-federation.svg":"fontawesome-brands-trade-federation","fontawesome/brands/trello.svg":"fontawesome-brands-trello","fontawesome/brands/tripadvisor.svg":"fontawesome-brands-tripadvisor","fontawesome/brands/tumblr-square.svg":"fontawesome-brands-tumblr-square","fontawesome/brands/tumblr.svg":"fontawesome-brands-tumblr","fontawesome/brands/twitch.svg":"fontawesome-brands-twitch","fontawesome/brands/twitter-square.svg":"fontawesome-brands-twitter-square","fontawesome/brands/twitter.svg":"fontawesome-brands-twitter","fontawesome/brands/typo3.svg":"fontawesome-brands-typo3","fontawesome/brands/uber.svg":"fontawesome-brands-uber","fontawesome/brands/ubuntu.svg":"fontawesome-brands-ubuntu","fontawesome/brands/uikit.svg":"fontawesome-brands-uikit","fontawesome/brands/umbraco.svg":"fontawesome-brands-umbraco","fontawesome/brands/uncharted.svg":"fontawesome-brands-uncharted","fontawesome/brands/uniregistry.svg":"fontawesome-brands-uniregistry","fontawesome/brands/unity.svg":"fontawesome-brands-unity","fontawesome/brands/unsplash.svg":"fontawesome-brands-unsplash","fontawesome/brands/untappd.svg":"fontawesome-brands-untappd","fontawesome/brands/ups.svg":"fontawesome-brands-ups","fontawesome/brands/usb.svg":"fontawesome-brands-usb","fontawesome/brands/usps.svg":"fontawesome-brands-usps","fontawesome/brands/ussunnah.svg":"fontawesome-brands-ussunnah","fontawesome/brands/vaadin.svg":"fontawesome-brands-vaadin","fontawesome/brands/viacoin.svg":"fontawesome-brands-viacoin","fontawesome/brands/viadeo-square.svg":"fontawesome-brands-viadeo-square","fontawesome/brands/viadeo.svg":"fontawesome-brands-viadeo","fontawesome/brands/viber.svg":"fontawesome-brands-viber","fontawesome/brands/vimeo-square.svg":"fontawesome-brands-vimeo-square","fontawesome/brands/vimeo-v.svg":"fontawesome-brands-vimeo-v","fontawesome/brands/vimeo.svg":"fontawesome-brands-vimeo","fontawesome/brands/vine.svg":"fontawesome-brands-vine","fontawesome/brands/vk.svg":"fontawesome-brands-vk","fontawesome/brands/vnv.svg":"fontawesome-brands-vnv","fontawesome/brands/vuejs.svg":"fontawesome-brands-vuejs","fontawesome/brands/watchman-monitoring.svg":"fontawesome-brands-watchman-monitoring","fontawesome/brands/waze.svg":"fontawesome-brands-waze","fontawesome/brands/weebly.svg":"fontawesome-brands-weebly","fontawesome/brands/weibo.svg":"fontawesome-brands-weibo","fontawesome/brands/weixin.svg":"fontawesome-brands-weixin","fontawesome/brands/whatsapp-square.svg":"fontawesome-brands-whatsapp-square","fontawesome/brands/whatsapp.svg":"fontawesome-brands-whatsapp","fontawesome/brands/whmcs.svg":"fontawesome-brands-whmcs","fontawesome/brands/wikipedia-w.svg":"fontawesome-brands-wikipedia-w","fontawesome/brands/windows.svg":"fontawesome-brands-windows","fontawesome/brands/wix.svg":"fontawesome-brands-wix","fontawesome/brands/wizards-of-the-coast.svg":"fontawesome-brands-wizards-of-the-coast","fontawesome/brands/wodu.svg":"fontawesome-brands-wodu","fontawesome/brands/wolf-pack-battalion.svg":"fontawesome-brands-wolf-pack-battalion","fontawesome/brands/wordpress-simple.svg":"fontawesome-brands-wordpress-simple","fontawesome/brands/wordpress.svg":"fontawesome-brands-wordpress","fontawesome/brands/wpbeginner.svg":"fontawesome-brands-wpbeginner","fontawesome/brands/wpexplorer.svg":"fontawesome-brands-wpexplorer","fontawesome/brands/wpforms.svg":"fontawesome-brands-wpforms","fontawesome/brands/wpressr.svg":"fontawesome-brands-wpressr","fontawesome/brands/xbox.svg":"fontawesome-brands-xbox","fontawesome/brands/xing-square.svg":"fontawesome-brands-xing-square","fontawesome/brands/xing.svg":"fontawesome-brands-xing","fontawesome/brands/y-combinator.svg":"fontawesome-brands-y-combinator","fontawesome/brands/yahoo.svg":"fontawesome-brands-yahoo","fontawesome/brands/yammer.svg":"fontawesome-brands-yammer","fontawesome/brands/yandex-international.svg":"fontawesome-brands-yandex-international","fontawesome/brands/yandex.svg":"fontawesome-brands-yandex","fontawesome/brands/yarn.svg":"fontawesome-brands-yarn","fontawesome/brands/yelp.svg":"fontawesome-brands-yelp","fontawesome/brands/yoast.svg":"fontawesome-brands-yoast","fontawesome/brands/youtube-square.svg":"fontawesome-brands-youtube-square","fontawesome/brands/youtube.svg":"fontawesome-brands-youtube","fontawesome/brands/zhihu.svg":"fontawesome-brands-zhihu","fontawesome/regular/address-book.svg":"fontawesome-regular-address-book","fontawesome/regular/address-card.svg":"fontawesome-regular-address-card","fontawesome/regular/angry.svg":"fontawesome-regular-angry","fontawesome/regular/arrow-alt-circle-down.svg":"fontawesome-regular-arrow-alt-circle-down","fontawesome/regular/arrow-alt-circle-left.svg":"fontawesome-regular-arrow-alt-circle-left","fontawesome/regular/arrow-alt-circle-right.svg":"fontawesome-regular-arrow-alt-circle-right","fontawesome/regular/arrow-alt-circle-up.svg":"fontawesome-regular-arrow-alt-circle-up","fontawesome/regular/bell-slash.svg":"fontawesome-regular-bell-slash","fontawesome/regular/bell.svg":"fontawesome-regular-bell","fontawesome/regular/bookmark.svg":"fontawesome-regular-bookmark","fontawesome/regular/building.svg":"fontawesome-regular-building","fontawesome/regular/calendar-alt.svg":"fontawesome-regular-calendar-alt","fontawesome/regular/calendar-check.svg":"fontawesome-regular-calendar-check","fontawesome/regular/calendar-minus.svg":"fontawesome-regular-calendar-minus","fontawesome/regular/calendar-plus.svg":"fontawesome-regular-calendar-plus","fontawesome/regular/calendar-times.svg":"fontawesome-regular-calendar-times","fontawesome/regular/calendar.svg":"fontawesome-regular-calendar","fontawesome/regular/caret-square-down.svg":"fontawesome-regular-caret-square-down","fontawesome/regular/caret-square-left.svg":"fontawesome-regular-caret-square-left","fontawesome/regular/caret-square-right.svg":"fontawesome-regular-caret-square-right","fontawesome/regular/caret-square-up.svg":"fontawesome-regular-caret-square-up","fontawesome/regular/chart-bar.svg":"fontawesome-regular-chart-bar","fontawesome/regular/check-circle.svg":"fontawesome-regular-check-circle","fontawesome/regular/check-square.svg":"fontawesome-regular-check-square","fontawesome/regular/circle.svg":"fontawesome-regular-circle","fontawesome/regular/clipboard.svg":"fontawesome-regular-clipboard","fontawesome/regular/clock.svg":"fontawesome-regular-clock","fontawesome/regular/clone.svg":"fontawesome-regular-clone","fontawesome/regular/closed-captioning.svg":"fontawesome-regular-closed-captioning","fontawesome/regular/comment-alt.svg":"fontawesome-regular-comment-alt","fontawesome/regular/comment-dots.svg":"fontawesome-regular-comment-dots","fontawesome/regular/comment.svg":"fontawesome-regular-comment","fontawesome/regular/comments.svg":"fontawesome-regular-comments","fontawesome/regular/compass.svg":"fontawesome-regular-compass","fontawesome/regular/copy.svg":"fontawesome-regular-copy","fontawesome/regular/copyright.svg":"fontawesome-regular-copyright","fontawesome/regular/credit-card.svg":"fontawesome-regular-credit-card","fontawesome/regular/dizzy.svg":"fontawesome-regular-dizzy","fontawesome/regular/dot-circle.svg":"fontawesome-regular-dot-circle","fontawesome/regular/edit.svg":"fontawesome-regular-edit","fontawesome/regular/envelope-open.svg":"fontawesome-regular-envelope-open","fontawesome/regular/envelope.svg":"fontawesome-regular-envelope","fontawesome/regular/eye-slash.svg":"fontawesome-regular-eye-slash","fontawesome/regular/eye.svg":"fontawesome-regular-eye","fontawesome/regular/file-alt.svg":"fontawesome-regular-file-alt","fontawesome/regular/file-archive.svg":"fontawesome-regular-file-archive","fontawesome/regular/file-audio.svg":"fontawesome-regular-file-audio","fontawesome/regular/file-code.svg":"fontawesome-regular-file-code","fontawesome/regular/file-excel.svg":"fontawesome-regular-file-excel","fontawesome/regular/file-image.svg":"fontawesome-regular-file-image","fontawesome/regular/file-pdf.svg":"fontawesome-regular-file-pdf","fontawesome/regular/file-powerpoint.svg":"fontawesome-regular-file-powerpoint","fontawesome/regular/file-video.svg":"fontawesome-regular-file-video","fontawesome/regular/file-word.svg":"fontawesome-regular-file-word","fontawesome/regular/file.svg":"fontawesome-regular-file","fontawesome/regular/flag.svg":"fontawesome-regular-flag","fontawesome/regular/flushed.svg":"fontawesome-regular-flushed","fontawesome/regular/folder-open.svg":"fontawesome-regular-folder-open","fontawesome/regular/folder.svg":"fontawesome-regular-folder","fontawesome/regular/font-awesome-logo-full.svg":"fontawesome-regular-font-awesome-logo-full","fontawesome/regular/frown-open.svg":"fontawesome-regular-frown-open","fontawesome/regular/frown.svg":"fontawesome-regular-frown","fontawesome/regular/futbol.svg":"fontawesome-regular-futbol","fontawesome/regular/gem.svg":"fontawesome-regular-gem","fontawesome/regular/grimace.svg":"fontawesome-regular-grimace","fontawesome/regular/grin-alt.svg":"fontawesome-regular-grin-alt","fontawesome/regular/grin-beam-sweat.svg":"fontawesome-regular-grin-beam-sweat","fontawesome/regular/grin-beam.svg":"fontawesome-regular-grin-beam","fontawesome/regular/grin-hearts.svg":"fontawesome-regular-grin-hearts","fontawesome/regular/grin-squint-tears.svg":"fontawesome-regular-grin-squint-tears","fontawesome/regular/grin-squint.svg":"fontawesome-regular-grin-squint","fontawesome/regular/grin-stars.svg":"fontawesome-regular-grin-stars","fontawesome/regular/grin-tears.svg":"fontawesome-regular-grin-tears","fontawesome/regular/grin-tongue-squint.svg":"fontawesome-regular-grin-tongue-squint","fontawesome/regular/grin-tongue-wink.svg":"fontawesome-regular-grin-tongue-wink","fontawesome/regular/grin-tongue.svg":"fontawesome-regular-grin-tongue","fontawesome/regular/grin-wink.svg":"fontawesome-regular-grin-wink","fontawesome/regular/grin.svg":"fontawesome-regular-grin","fontawesome/regular/hand-lizard.svg":"fontawesome-regular-hand-lizard","fontawesome/regular/hand-paper.svg":"fontawesome-regular-hand-paper","fontawesome/regular/hand-peace.svg":"fontawesome-regular-hand-peace","fontawesome/regular/hand-point-down.svg":"fontawesome-regular-hand-point-down","fontawesome/regular/hand-point-left.svg":"fontawesome-regular-hand-point-left","fontawesome/regular/hand-point-right.svg":"fontawesome-regular-hand-point-right","fontawesome/regular/hand-point-up.svg":"fontawesome-regular-hand-point-up","fontawesome/regular/hand-pointer.svg":"fontawesome-regular-hand-pointer","fontawesome/regular/hand-rock.svg":"fontawesome-regular-hand-rock","fontawesome/regular/hand-scissors.svg":"fontawesome-regular-hand-scissors","fontawesome/regular/hand-spock.svg":"fontawesome-regular-hand-spock","fontawesome/regular/handshake.svg":"fontawesome-regular-handshake","fontawesome/regular/hdd.svg":"fontawesome-regular-hdd","fontawesome/regular/heart.svg":"fontawesome-regular-heart","fontawesome/regular/hospital.svg":"fontawesome-regular-hospital","fontawesome/regular/hourglass.svg":"fontawesome-regular-hourglass","fontawesome/regular/id-badge.svg":"fontawesome-regular-id-badge","fontawesome/regular/id-card.svg":"fontawesome-regular-id-card","fontawesome/regular/image.svg":"fontawesome-regular-image","fontawesome/regular/images.svg":"fontawesome-regular-images","fontawesome/regular/keyboard.svg":"fontawesome-regular-keyboard","fontawesome/regular/kiss-beam.svg":"fontawesome-regular-kiss-beam","fontawesome/regular/kiss-wink-heart.svg":"fontawesome-regular-kiss-wink-heart","fontawesome/regular/kiss.svg":"fontawesome-regular-kiss","fontawesome/regular/laugh-beam.svg":"fontawesome-regular-laugh-beam","fontawesome/regular/laugh-squint.svg":"fontawesome-regular-laugh-squint","fontawesome/regular/laugh-wink.svg":"fontawesome-regular-laugh-wink","fontawesome/regular/laugh.svg":"fontawesome-regular-laugh","fontawesome/regular/lemon.svg":"fontawesome-regular-lemon","fontawesome/regular/life-ring.svg":"fontawesome-regular-life-ring","fontawesome/regular/lightbulb.svg":"fontawesome-regular-lightbulb","fontawesome/regular/list-alt.svg":"fontawesome-regular-list-alt","fontawesome/regular/map.svg":"fontawesome-regular-map","fontawesome/regular/meh-blank.svg":"fontawesome-regular-meh-blank","fontawesome/regular/meh-rolling-eyes.svg":"fontawesome-regular-meh-rolling-eyes","fontawesome/regular/meh.svg":"fontawesome-regular-meh","fontawesome/regular/minus-square.svg":"fontawesome-regular-minus-square","fontawesome/regular/money-bill-alt.svg":"fontawesome-regular-money-bill-alt","fontawesome/regular/moon.svg":"fontawesome-regular-moon","fontawesome/regular/newspaper.svg":"fontawesome-regular-newspaper","fontawesome/regular/object-group.svg":"fontawesome-regular-object-group","fontawesome/regular/object-ungroup.svg":"fontawesome-regular-object-ungroup","fontawesome/regular/paper-plane.svg":"fontawesome-regular-paper-plane","fontawesome/regular/pause-circle.svg":"fontawesome-regular-pause-circle","fontawesome/regular/play-circle.svg":"fontawesome-regular-play-circle","fontawesome/regular/plus-square.svg":"fontawesome-regular-plus-square","fontawesome/regular/question-circle.svg":"fontawesome-regular-question-circle","fontawesome/regular/registered.svg":"fontawesome-regular-registered","fontawesome/regular/sad-cry.svg":"fontawesome-regular-sad-cry","fontawesome/regular/sad-tear.svg":"fontawesome-regular-sad-tear","fontawesome/regular/save.svg":"fontawesome-regular-save","fontawesome/regular/share-square.svg":"fontawesome-regular-share-square","fontawesome/regular/smile-beam.svg":"fontawesome-regular-smile-beam","fontawesome/regular/smile-wink.svg":"fontawesome-regular-smile-wink","fontawesome/regular/smile.svg":"fontawesome-regular-smile","fontawesome/regular/snowflake.svg":"fontawesome-regular-snowflake","fontawesome/regular/square.svg":"fontawesome-regular-square","fontawesome/regular/star-half.svg":"fontawesome-regular-star-half","fontawesome/regular/star.svg":"fontawesome-regular-star","fontawesome/regular/sticky-note.svg":"fontawesome-regular-sticky-note","fontawesome/regular/stop-circle.svg":"fontawesome-regular-stop-circle","fontawesome/regular/sun.svg":"fontawesome-regular-sun","fontawesome/regular/surprise.svg":"fontawesome-regular-surprise","fontawesome/regular/thumbs-down.svg":"fontawesome-regular-thumbs-down","fontawesome/regular/thumbs-up.svg":"fontawesome-regular-thumbs-up","fontawesome/regular/times-circle.svg":"fontawesome-regular-times-circle","fontawesome/regular/tired.svg":"fontawesome-regular-tired","fontawesome/regular/trash-alt.svg":"fontawesome-regular-trash-alt","fontawesome/regular/user-circle.svg":"fontawesome-regular-user-circle","fontawesome/regular/user.svg":"fontawesome-regular-user","fontawesome/regular/window-close.svg":"fontawesome-regular-window-close","fontawesome/regular/window-maximize.svg":"fontawesome-regular-window-maximize","fontawesome/regular/window-minimize.svg":"fontawesome-regular-window-minimize","fontawesome/regular/window-restore.svg":"fontawesome-regular-window-restore","fontawesome/solid/ad.svg":"fontawesome-solid-ad","fontawesome/solid/address-book.svg":"fontawesome-solid-address-book","fontawesome/solid/address-card.svg":"fontawesome-solid-address-card","fontawesome/solid/adjust.svg":"fontawesome-solid-adjust","fontawesome/solid/air-freshener.svg":"fontawesome-solid-air-freshener","fontawesome/solid/align-center.svg":"fontawesome-solid-align-center","fontawesome/solid/align-justify.svg":"fontawesome-solid-align-justify","fontawesome/solid/align-left.svg":"fontawesome-solid-align-left","fontawesome/solid/align-right.svg":"fontawesome-solid-align-right","fontawesome/solid/allergies.svg":"fontawesome-solid-allergies","fontawesome/solid/ambulance.svg":"fontawesome-solid-ambulance","fontawesome/solid/american-sign-language-interpreting.svg":"fontawesome-solid-american-sign-language-interpreting","fontawesome/solid/anchor.svg":"fontawesome-solid-anchor","fontawesome/solid/angle-double-down.svg":"fontawesome-solid-angle-double-down","fontawesome/solid/angle-double-left.svg":"fontawesome-solid-angle-double-left","fontawesome/solid/angle-double-right.svg":"fontawesome-solid-angle-double-right","fontawesome/solid/angle-double-up.svg":"fontawesome-solid-angle-double-up","fontawesome/solid/angle-down.svg":"fontawesome-solid-angle-down","fontawesome/solid/angle-left.svg":"fontawesome-solid-angle-left","fontawesome/solid/angle-right.svg":"fontawesome-solid-angle-right","fontawesome/solid/angle-up.svg":"fontawesome-solid-angle-up","fontawesome/solid/angry.svg":"fontawesome-solid-angry","fontawesome/solid/ankh.svg":"fontawesome-solid-ankh","fontawesome/solid/apple-alt.svg":"fontawesome-solid-apple-alt","fontawesome/solid/archive.svg":"fontawesome-solid-archive","fontawesome/solid/archway.svg":"fontawesome-solid-archway","fontawesome/solid/arrow-alt-circle-down.svg":"fontawesome-solid-arrow-alt-circle-down","fontawesome/solid/arrow-alt-circle-left.svg":"fontawesome-solid-arrow-alt-circle-left","fontawesome/solid/arrow-alt-circle-right.svg":"fontawesome-solid-arrow-alt-circle-right","fontawesome/solid/arrow-alt-circle-up.svg":"fontawesome-solid-arrow-alt-circle-up","fontawesome/solid/arrow-circle-down.svg":"fontawesome-solid-arrow-circle-down","fontawesome/solid/arrow-circle-left.svg":"fontawesome-solid-arrow-circle-left","fontawesome/solid/arrow-circle-right.svg":"fontawesome-solid-arrow-circle-right","fontawesome/solid/arrow-circle-up.svg":"fontawesome-solid-arrow-circle-up","fontawesome/solid/arrow-down.svg":"fontawesome-solid-arrow-down","fontawesome/solid/arrow-left.svg":"fontawesome-solid-arrow-left","fontawesome/solid/arrow-right.svg":"fontawesome-solid-arrow-right","fontawesome/solid/arrow-up.svg":"fontawesome-solid-arrow-up","fontawesome/solid/arrows-alt-h.svg":"fontawesome-solid-arrows-alt-h","fontawesome/solid/arrows-alt-v.svg":"fontawesome-solid-arrows-alt-v","fontawesome/solid/arrows-alt.svg":"fontawesome-solid-arrows-alt","fontawesome/solid/assistive-listening-systems.svg":"fontawesome-solid-assistive-listening-systems","fontawesome/solid/asterisk.svg":"fontawesome-solid-asterisk","fontawesome/solid/at.svg":"fontawesome-solid-at","fontawesome/solid/atlas.svg":"fontawesome-solid-atlas","fontawesome/solid/atom.svg":"fontawesome-solid-atom","fontawesome/solid/audio-description.svg":"fontawesome-solid-audio-description","fontawesome/solid/award.svg":"fontawesome-solid-award","fontawesome/solid/baby-carriage.svg":"fontawesome-solid-baby-carriage","fontawesome/solid/baby.svg":"fontawesome-solid-baby","fontawesome/solid/backspace.svg":"fontawesome-solid-backspace","fontawesome/solid/backward.svg":"fontawesome-solid-backward","fontawesome/solid/bacon.svg":"fontawesome-solid-bacon","fontawesome/solid/bacteria.svg":"fontawesome-solid-bacteria","fontawesome/solid/bacterium.svg":"fontawesome-solid-bacterium","fontawesome/solid/bahai.svg":"fontawesome-solid-bahai","fontawesome/solid/balance-scale-left.svg":"fontawesome-solid-balance-scale-left","fontawesome/solid/balance-scale-right.svg":"fontawesome-solid-balance-scale-right","fontawesome/solid/balance-scale.svg":"fontawesome-solid-balance-scale","fontawesome/solid/ban.svg":"fontawesome-solid-ban","fontawesome/solid/band-aid.svg":"fontawesome-solid-band-aid","fontawesome/solid/barcode.svg":"fontawesome-solid-barcode","fontawesome/solid/bars.svg":"fontawesome-solid-bars","fontawesome/solid/baseball-ball.svg":"fontawesome-solid-baseball-ball","fontawesome/solid/basketball-ball.svg":"fontawesome-solid-basketball-ball","fontawesome/solid/bath.svg":"fontawesome-solid-bath","fontawesome/solid/battery-empty.svg":"fontawesome-solid-battery-empty","fontawesome/solid/battery-full.svg":"fontawesome-solid-battery-full","fontawesome/solid/battery-half.svg":"fontawesome-solid-battery-half","fontawesome/solid/battery-quarter.svg":"fontawesome-solid-battery-quarter","fontawesome/solid/battery-three-quarters.svg":"fontawesome-solid-battery-three-quarters","fontawesome/solid/bed.svg":"fontawesome-solid-bed","fontawesome/solid/beer.svg":"fontawesome-solid-beer","fontawesome/solid/bell-slash.svg":"fontawesome-solid-bell-slash","fontawesome/solid/bell.svg":"fontawesome-solid-bell","fontawesome/solid/bezier-curve.svg":"fontawesome-solid-bezier-curve","fontawesome/solid/bible.svg":"fontawesome-solid-bible","fontawesome/solid/bicycle.svg":"fontawesome-solid-bicycle","fontawesome/solid/biking.svg":"fontawesome-solid-biking","fontawesome/solid/binoculars.svg":"fontawesome-solid-binoculars","fontawesome/solid/biohazard.svg":"fontawesome-solid-biohazard","fontawesome/solid/birthday-cake.svg":"fontawesome-solid-birthday-cake","fontawesome/solid/blender-phone.svg":"fontawesome-solid-blender-phone","fontawesome/solid/blender.svg":"fontawesome-solid-blender","fontawesome/solid/blind.svg":"fontawesome-solid-blind","fontawesome/solid/blog.svg":"fontawesome-solid-blog","fontawesome/solid/bold.svg":"fontawesome-solid-bold","fontawesome/solid/bolt.svg":"fontawesome-solid-bolt","fontawesome/solid/bomb.svg":"fontawesome-solid-bomb","fontawesome/solid/bone.svg":"fontawesome-solid-bone","fontawesome/solid/bong.svg":"fontawesome-solid-bong","fontawesome/solid/book-dead.svg":"fontawesome-solid-book-dead","fontawesome/solid/book-medical.svg":"fontawesome-solid-book-medical","fontawesome/solid/book-open.svg":"fontawesome-solid-book-open","fontawesome/solid/book-reader.svg":"fontawesome-solid-book-reader","fontawesome/solid/book.svg":"fontawesome-solid-book","fontawesome/solid/bookmark.svg":"fontawesome-solid-bookmark","fontawesome/solid/border-all.svg":"fontawesome-solid-border-all","fontawesome/solid/border-none.svg":"fontawesome-solid-border-none","fontawesome/solid/border-style.svg":"fontawesome-solid-border-style","fontawesome/solid/bowling-ball.svg":"fontawesome-solid-bowling-ball","fontawesome/solid/box-open.svg":"fontawesome-solid-box-open","fontawesome/solid/box-tissue.svg":"fontawesome-solid-box-tissue","fontawesome/solid/box.svg":"fontawesome-solid-box","fontawesome/solid/boxes.svg":"fontawesome-solid-boxes","fontawesome/solid/braille.svg":"fontawesome-solid-braille","fontawesome/solid/brain.svg":"fontawesome-solid-brain","fontawesome/solid/bread-slice.svg":"fontawesome-solid-bread-slice","fontawesome/solid/briefcase-medical.svg":"fontawesome-solid-briefcase-medical","fontawesome/solid/briefcase.svg":"fontawesome-solid-briefcase","fontawesome/solid/broadcast-tower.svg":"fontawesome-solid-broadcast-tower","fontawesome/solid/broom.svg":"fontawesome-solid-broom","fontawesome/solid/brush.svg":"fontawesome-solid-brush","fontawesome/solid/bug.svg":"fontawesome-solid-bug","fontawesome/solid/building.svg":"fontawesome-solid-building","fontawesome/solid/bullhorn.svg":"fontawesome-solid-bullhorn","fontawesome/solid/bullseye.svg":"fontawesome-solid-bullseye","fontawesome/solid/burn.svg":"fontawesome-solid-burn","fontawesome/solid/bus-alt.svg":"fontawesome-solid-bus-alt","fontawesome/solid/bus.svg":"fontawesome-solid-bus","fontawesome/solid/business-time.svg":"fontawesome-solid-business-time","fontawesome/solid/calculator.svg":"fontawesome-solid-calculator","fontawesome/solid/calendar-alt.svg":"fontawesome-solid-calendar-alt","fontawesome/solid/calendar-check.svg":"fontawesome-solid-calendar-check","fontawesome/solid/calendar-day.svg":"fontawesome-solid-calendar-day","fontawesome/solid/calendar-minus.svg":"fontawesome-solid-calendar-minus","fontawesome/solid/calendar-plus.svg":"fontawesome-solid-calendar-plus","fontawesome/solid/calendar-times.svg":"fontawesome-solid-calendar-times","fontawesome/solid/calendar-week.svg":"fontawesome-solid-calendar-week","fontawesome/solid/calendar.svg":"fontawesome-solid-calendar","fontawesome/solid/camera-retro.svg":"fontawesome-solid-camera-retro","fontawesome/solid/camera.svg":"fontawesome-solid-camera","fontawesome/solid/campground.svg":"fontawesome-solid-campground","fontawesome/solid/candy-cane.svg":"fontawesome-solid-candy-cane","fontawesome/solid/cannabis.svg":"fontawesome-solid-cannabis","fontawesome/solid/capsules.svg":"fontawesome-solid-capsules","fontawesome/solid/car-alt.svg":"fontawesome-solid-car-alt","fontawesome/solid/car-battery.svg":"fontawesome-solid-car-battery","fontawesome/solid/car-crash.svg":"fontawesome-solid-car-crash","fontawesome/solid/car-side.svg":"fontawesome-solid-car-side","fontawesome/solid/car.svg":"fontawesome-solid-car","fontawesome/solid/caravan.svg":"fontawesome-solid-caravan","fontawesome/solid/caret-down.svg":"fontawesome-solid-caret-down","fontawesome/solid/caret-left.svg":"fontawesome-solid-caret-left","fontawesome/solid/caret-right.svg":"fontawesome-solid-caret-right","fontawesome/solid/caret-square-down.svg":"fontawesome-solid-caret-square-down","fontawesome/solid/caret-square-left.svg":"fontawesome-solid-caret-square-left","fontawesome/solid/caret-square-right.svg":"fontawesome-solid-caret-square-right","fontawesome/solid/caret-square-up.svg":"fontawesome-solid-caret-square-up","fontawesome/solid/caret-up.svg":"fontawesome-solid-caret-up","fontawesome/solid/carrot.svg":"fontawesome-solid-carrot","fontawesome/solid/cart-arrow-down.svg":"fontawesome-solid-cart-arrow-down","fontawesome/solid/cart-plus.svg":"fontawesome-solid-cart-plus","fontawesome/solid/cash-register.svg":"fontawesome-solid-cash-register","fontawesome/solid/cat.svg":"fontawesome-solid-cat","fontawesome/solid/certificate.svg":"fontawesome-solid-certificate","fontawesome/solid/chair.svg":"fontawesome-solid-chair","fontawesome/solid/chalkboard-teacher.svg":"fontawesome-solid-chalkboard-teacher","fontawesome/solid/chalkboard.svg":"fontawesome-solid-chalkboard","fontawesome/solid/charging-station.svg":"fontawesome-solid-charging-station","fontawesome/solid/chart-area.svg":"fontawesome-solid-chart-area","fontawesome/solid/chart-bar.svg":"fontawesome-solid-chart-bar","fontawesome/solid/chart-line.svg":"fontawesome-solid-chart-line","fontawesome/solid/chart-pie.svg":"fontawesome-solid-chart-pie","fontawesome/solid/check-circle.svg":"fontawesome-solid-check-circle","fontawesome/solid/check-double.svg":"fontawesome-solid-check-double","fontawesome/solid/check-square.svg":"fontawesome-solid-check-square","fontawesome/solid/check.svg":"fontawesome-solid-check","fontawesome/solid/cheese.svg":"fontawesome-solid-cheese","fontawesome/solid/chess-bishop.svg":"fontawesome-solid-chess-bishop","fontawesome/solid/chess-board.svg":"fontawesome-solid-chess-board","fontawesome/solid/chess-king.svg":"fontawesome-solid-chess-king","fontawesome/solid/chess-knight.svg":"fontawesome-solid-chess-knight","fontawesome/solid/chess-pawn.svg":"fontawesome-solid-chess-pawn","fontawesome/solid/chess-queen.svg":"fontawesome-solid-chess-queen","fontawesome/solid/chess-rook.svg":"fontawesome-solid-chess-rook","fontawesome/solid/chess.svg":"fontawesome-solid-chess","fontawesome/solid/chevron-circle-down.svg":"fontawesome-solid-chevron-circle-down","fontawesome/solid/chevron-circle-left.svg":"fontawesome-solid-chevron-circle-left","fontawesome/solid/chevron-circle-right.svg":"fontawesome-solid-chevron-circle-right","fontawesome/solid/chevron-circle-up.svg":"fontawesome-solid-chevron-circle-up","fontawesome/solid/chevron-down.svg":"fontawesome-solid-chevron-down","fontawesome/solid/chevron-left.svg":"fontawesome-solid-chevron-left","fontawesome/solid/chevron-right.svg":"fontawesome-solid-chevron-right","fontawesome/solid/chevron-up.svg":"fontawesome-solid-chevron-up","fontawesome/solid/child.svg":"fontawesome-solid-child","fontawesome/solid/church.svg":"fontawesome-solid-church","fontawesome/solid/circle-notch.svg":"fontawesome-solid-circle-notch","fontawesome/solid/circle.svg":"fontawesome-solid-circle","fontawesome/solid/city.svg":"fontawesome-solid-city","fontawesome/solid/clinic-medical.svg":"fontawesome-solid-clinic-medical","fontawesome/solid/clipboard-check.svg":"fontawesome-solid-clipboard-check","fontawesome/solid/clipboard-list.svg":"fontawesome-solid-clipboard-list","fontawesome/solid/clipboard.svg":"fontawesome-solid-clipboard","fontawesome/solid/clock.svg":"fontawesome-solid-clock","fontawesome/solid/clone.svg":"fontawesome-solid-clone","fontawesome/solid/closed-captioning.svg":"fontawesome-solid-closed-captioning","fontawesome/solid/cloud-download-alt.svg":"fontawesome-solid-cloud-download-alt","fontawesome/solid/cloud-meatball.svg":"fontawesome-solid-cloud-meatball","fontawesome/solid/cloud-moon-rain.svg":"fontawesome-solid-cloud-moon-rain","fontawesome/solid/cloud-moon.svg":"fontawesome-solid-cloud-moon","fontawesome/solid/cloud-rain.svg":"fontawesome-solid-cloud-rain","fontawesome/solid/cloud-showers-heavy.svg":"fontawesome-solid-cloud-showers-heavy","fontawesome/solid/cloud-sun-rain.svg":"fontawesome-solid-cloud-sun-rain","fontawesome/solid/cloud-sun.svg":"fontawesome-solid-cloud-sun","fontawesome/solid/cloud-upload-alt.svg":"fontawesome-solid-cloud-upload-alt","fontawesome/solid/cloud.svg":"fontawesome-solid-cloud","fontawesome/solid/cocktail.svg":"fontawesome-solid-cocktail","fontawesome/solid/code-branch.svg":"fontawesome-solid-code-branch","fontawesome/solid/code.svg":"fontawesome-solid-code","fontawesome/solid/coffee.svg":"fontawesome-solid-coffee","fontawesome/solid/cog.svg":"fontawesome-solid-cog","fontawesome/solid/cogs.svg":"fontawesome-solid-cogs","fontawesome/solid/coins.svg":"fontawesome-solid-coins","fontawesome/solid/columns.svg":"fontawesome-solid-columns","fontawesome/solid/comment-alt.svg":"fontawesome-solid-comment-alt","fontawesome/solid/comment-dollar.svg":"fontawesome-solid-comment-dollar","fontawesome/solid/comment-dots.svg":"fontawesome-solid-comment-dots","fontawesome/solid/comment-medical.svg":"fontawesome-solid-comment-medical","fontawesome/solid/comment-slash.svg":"fontawesome-solid-comment-slash","fontawesome/solid/comment.svg":"fontawesome-solid-comment","fontawesome/solid/comments-dollar.svg":"fontawesome-solid-comments-dollar","fontawesome/solid/comments.svg":"fontawesome-solid-comments","fontawesome/solid/compact-disc.svg":"fontawesome-solid-compact-disc","fontawesome/solid/compass.svg":"fontawesome-solid-compass","fontawesome/solid/compress-alt.svg":"fontawesome-solid-compress-alt","fontawesome/solid/compress-arrows-alt.svg":"fontawesome-solid-compress-arrows-alt","fontawesome/solid/compress.svg":"fontawesome-solid-compress","fontawesome/solid/concierge-bell.svg":"fontawesome-solid-concierge-bell","fontawesome/solid/cookie-bite.svg":"fontawesome-solid-cookie-bite","fontawesome/solid/cookie.svg":"fontawesome-solid-cookie","fontawesome/solid/copy.svg":"fontawesome-solid-copy","fontawesome/solid/copyright.svg":"fontawesome-solid-copyright","fontawesome/solid/couch.svg":"fontawesome-solid-couch","fontawesome/solid/credit-card.svg":"fontawesome-solid-credit-card","fontawesome/solid/crop-alt.svg":"fontawesome-solid-crop-alt","fontawesome/solid/crop.svg":"fontawesome-solid-crop","fontawesome/solid/cross.svg":"fontawesome-solid-cross","fontawesome/solid/crosshairs.svg":"fontawesome-solid-crosshairs","fontawesome/solid/crow.svg":"fontawesome-solid-crow","fontawesome/solid/crown.svg":"fontawesome-solid-crown","fontawesome/solid/crutch.svg":"fontawesome-solid-crutch","fontawesome/solid/cube.svg":"fontawesome-solid-cube","fontawesome/solid/cubes.svg":"fontawesome-solid-cubes","fontawesome/solid/cut.svg":"fontawesome-solid-cut","fontawesome/solid/database.svg":"fontawesome-solid-database","fontawesome/solid/deaf.svg":"fontawesome-solid-deaf","fontawesome/solid/democrat.svg":"fontawesome-solid-democrat","fontawesome/solid/desktop.svg":"fontawesome-solid-desktop","fontawesome/solid/dharmachakra.svg":"fontawesome-solid-dharmachakra","fontawesome/solid/diagnoses.svg":"fontawesome-solid-diagnoses","fontawesome/solid/dice-d20.svg":"fontawesome-solid-dice-d20","fontawesome/solid/dice-d6.svg":"fontawesome-solid-dice-d6","fontawesome/solid/dice-five.svg":"fontawesome-solid-dice-five","fontawesome/solid/dice-four.svg":"fontawesome-solid-dice-four","fontawesome/solid/dice-one.svg":"fontawesome-solid-dice-one","fontawesome/solid/dice-six.svg":"fontawesome-solid-dice-six","fontawesome/solid/dice-three.svg":"fontawesome-solid-dice-three","fontawesome/solid/dice-two.svg":"fontawesome-solid-dice-two","fontawesome/solid/dice.svg":"fontawesome-solid-dice","fontawesome/solid/digital-tachograph.svg":"fontawesome-solid-digital-tachograph","fontawesome/solid/directions.svg":"fontawesome-solid-directions","fontawesome/solid/disease.svg":"fontawesome-solid-disease","fontawesome/solid/divide.svg":"fontawesome-solid-divide","fontawesome/solid/dizzy.svg":"fontawesome-solid-dizzy","fontawesome/solid/dna.svg":"fontawesome-solid-dna","fontawesome/solid/dog.svg":"fontawesome-solid-dog","fontawesome/solid/dollar-sign.svg":"fontawesome-solid-dollar-sign","fontawesome/solid/dolly-flatbed.svg":"fontawesome-solid-dolly-flatbed","fontawesome/solid/dolly.svg":"fontawesome-solid-dolly","fontawesome/solid/donate.svg":"fontawesome-solid-donate","fontawesome/solid/door-closed.svg":"fontawesome-solid-door-closed","fontawesome/solid/door-open.svg":"fontawesome-solid-door-open","fontawesome/solid/dot-circle.svg":"fontawesome-solid-dot-circle","fontawesome/solid/dove.svg":"fontawesome-solid-dove","fontawesome/solid/download.svg":"fontawesome-solid-download","fontawesome/solid/drafting-compass.svg":"fontawesome-solid-drafting-compass","fontawesome/solid/dragon.svg":"fontawesome-solid-dragon","fontawesome/solid/draw-polygon.svg":"fontawesome-solid-draw-polygon","fontawesome/solid/drum-steelpan.svg":"fontawesome-solid-drum-steelpan","fontawesome/solid/drum.svg":"fontawesome-solid-drum","fontawesome/solid/drumstick-bite.svg":"fontawesome-solid-drumstick-bite","fontawesome/solid/dumbbell.svg":"fontawesome-solid-dumbbell","fontawesome/solid/dumpster-fire.svg":"fontawesome-solid-dumpster-fire","fontawesome/solid/dumpster.svg":"fontawesome-solid-dumpster","fontawesome/solid/dungeon.svg":"fontawesome-solid-dungeon","fontawesome/solid/edit.svg":"fontawesome-solid-edit","fontawesome/solid/egg.svg":"fontawesome-solid-egg","fontawesome/solid/eject.svg":"fontawesome-solid-eject","fontawesome/solid/ellipsis-h.svg":"fontawesome-solid-ellipsis-h","fontawesome/solid/ellipsis-v.svg":"fontawesome-solid-ellipsis-v","fontawesome/solid/envelope-open-text.svg":"fontawesome-solid-envelope-open-text","fontawesome/solid/envelope-open.svg":"fontawesome-solid-envelope-open","fontawesome/solid/envelope-square.svg":"fontawesome-solid-envelope-square","fontawesome/solid/envelope.svg":"fontawesome-solid-envelope","fontawesome/solid/equals.svg":"fontawesome-solid-equals","fontawesome/solid/eraser.svg":"fontawesome-solid-eraser","fontawesome/solid/ethernet.svg":"fontawesome-solid-ethernet","fontawesome/solid/euro-sign.svg":"fontawesome-solid-euro-sign","fontawesome/solid/exchange-alt.svg":"fontawesome-solid-exchange-alt","fontawesome/solid/exclamation-circle.svg":"fontawesome-solid-exclamation-circle","fontawesome/solid/exclamation-triangle.svg":"fontawesome-solid-exclamation-triangle","fontawesome/solid/exclamation.svg":"fontawesome-solid-exclamation","fontawesome/solid/expand-alt.svg":"fontawesome-solid-expand-alt","fontawesome/solid/expand-arrows-alt.svg":"fontawesome-solid-expand-arrows-alt","fontawesome/solid/expand.svg":"fontawesome-solid-expand","fontawesome/solid/external-link-alt.svg":"fontawesome-solid-external-link-alt","fontawesome/solid/external-link-square-alt.svg":"fontawesome-solid-external-link-square-alt","fontawesome/solid/eye-dropper.svg":"fontawesome-solid-eye-dropper","fontawesome/solid/eye-slash.svg":"fontawesome-solid-eye-slash","fontawesome/solid/eye.svg":"fontawesome-solid-eye","fontawesome/solid/fan.svg":"fontawesome-solid-fan","fontawesome/solid/fast-backward.svg":"fontawesome-solid-fast-backward","fontawesome/solid/fast-forward.svg":"fontawesome-solid-fast-forward","fontawesome/solid/faucet.svg":"fontawesome-solid-faucet","fontawesome/solid/fax.svg":"fontawesome-solid-fax","fontawesome/solid/feather-alt.svg":"fontawesome-solid-feather-alt","fontawesome/solid/feather.svg":"fontawesome-solid-feather","fontawesome/solid/female.svg":"fontawesome-solid-female","fontawesome/solid/fighter-jet.svg":"fontawesome-solid-fighter-jet","fontawesome/solid/file-alt.svg":"fontawesome-solid-file-alt","fontawesome/solid/file-archive.svg":"fontawesome-solid-file-archive","fontawesome/solid/file-audio.svg":"fontawesome-solid-file-audio","fontawesome/solid/file-code.svg":"fontawesome-solid-file-code","fontawesome/solid/file-contract.svg":"fontawesome-solid-file-contract","fontawesome/solid/file-csv.svg":"fontawesome-solid-file-csv","fontawesome/solid/file-download.svg":"fontawesome-solid-file-download","fontawesome/solid/file-excel.svg":"fontawesome-solid-file-excel","fontawesome/solid/file-export.svg":"fontawesome-solid-file-export","fontawesome/solid/file-image.svg":"fontawesome-solid-file-image","fontawesome/solid/file-import.svg":"fontawesome-solid-file-import","fontawesome/solid/file-invoice-dollar.svg":"fontawesome-solid-file-invoice-dollar","fontawesome/solid/file-invoice.svg":"fontawesome-solid-file-invoice","fontawesome/solid/file-medical-alt.svg":"fontawesome-solid-file-medical-alt","fontawesome/solid/file-medical.svg":"fontawesome-solid-file-medical","fontawesome/solid/file-pdf.svg":"fontawesome-solid-file-pdf","fontawesome/solid/file-powerpoint.svg":"fontawesome-solid-file-powerpoint","fontawesome/solid/file-prescription.svg":"fontawesome-solid-file-prescription","fontawesome/solid/file-signature.svg":"fontawesome-solid-file-signature","fontawesome/solid/file-upload.svg":"fontawesome-solid-file-upload","fontawesome/solid/file-video.svg":"fontawesome-solid-file-video","fontawesome/solid/file-word.svg":"fontawesome-solid-file-word","fontawesome/solid/file.svg":"fontawesome-solid-file","fontawesome/solid/fill-drip.svg":"fontawesome-solid-fill-drip","fontawesome/solid/fill.svg":"fontawesome-solid-fill","fontawesome/solid/film.svg":"fontawesome-solid-film","fontawesome/solid/filter.svg":"fontawesome-solid-filter","fontawesome/solid/fingerprint.svg":"fontawesome-solid-fingerprint","fontawesome/solid/fire-alt.svg":"fontawesome-solid-fire-alt","fontawesome/solid/fire-extinguisher.svg":"fontawesome-solid-fire-extinguisher","fontawesome/solid/fire.svg":"fontawesome-solid-fire","fontawesome/solid/first-aid.svg":"fontawesome-solid-first-aid","fontawesome/solid/fish.svg":"fontawesome-solid-fish","fontawesome/solid/fist-raised.svg":"fontawesome-solid-fist-raised","fontawesome/solid/flag-checkered.svg":"fontawesome-solid-flag-checkered","fontawesome/solid/flag-usa.svg":"fontawesome-solid-flag-usa","fontawesome/solid/flag.svg":"fontawesome-solid-flag","fontawesome/solid/flask.svg":"fontawesome-solid-flask","fontawesome/solid/flushed.svg":"fontawesome-solid-flushed","fontawesome/solid/folder-minus.svg":"fontawesome-solid-folder-minus","fontawesome/solid/folder-open.svg":"fontawesome-solid-folder-open","fontawesome/solid/folder-plus.svg":"fontawesome-solid-folder-plus","fontawesome/solid/folder.svg":"fontawesome-solid-folder","fontawesome/solid/font-awesome-logo-full.svg":"fontawesome-solid-font-awesome-logo-full","fontawesome/solid/font.svg":"fontawesome-solid-font","fontawesome/solid/football-ball.svg":"fontawesome-solid-football-ball","fontawesome/solid/forward.svg":"fontawesome-solid-forward","fontawesome/solid/frog.svg":"fontawesome-solid-frog","fontawesome/solid/frown-open.svg":"fontawesome-solid-frown-open","fontawesome/solid/frown.svg":"fontawesome-solid-frown","fontawesome/solid/funnel-dollar.svg":"fontawesome-solid-funnel-dollar","fontawesome/solid/futbol.svg":"fontawesome-solid-futbol","fontawesome/solid/gamepad.svg":"fontawesome-solid-gamepad","fontawesome/solid/gas-pump.svg":"fontawesome-solid-gas-pump","fontawesome/solid/gavel.svg":"fontawesome-solid-gavel","fontawesome/solid/gem.svg":"fontawesome-solid-gem","fontawesome/solid/genderless.svg":"fontawesome-solid-genderless","fontawesome/solid/ghost.svg":"fontawesome-solid-ghost","fontawesome/solid/gift.svg":"fontawesome-solid-gift","fontawesome/solid/gifts.svg":"fontawesome-solid-gifts","fontawesome/solid/glass-cheers.svg":"fontawesome-solid-glass-cheers","fontawesome/solid/glass-martini-alt.svg":"fontawesome-solid-glass-martini-alt","fontawesome/solid/glass-martini.svg":"fontawesome-solid-glass-martini","fontawesome/solid/glass-whiskey.svg":"fontawesome-solid-glass-whiskey","fontawesome/solid/glasses.svg":"fontawesome-solid-glasses","fontawesome/solid/globe-africa.svg":"fontawesome-solid-globe-africa","fontawesome/solid/globe-americas.svg":"fontawesome-solid-globe-americas","fontawesome/solid/globe-asia.svg":"fontawesome-solid-globe-asia","fontawesome/solid/globe-europe.svg":"fontawesome-solid-globe-europe","fontawesome/solid/globe.svg":"fontawesome-solid-globe","fontawesome/solid/golf-ball.svg":"fontawesome-solid-golf-ball","fontawesome/solid/gopuram.svg":"fontawesome-solid-gopuram","fontawesome/solid/graduation-cap.svg":"fontawesome-solid-graduation-cap","fontawesome/solid/greater-than-equal.svg":"fontawesome-solid-greater-than-equal","fontawesome/solid/greater-than.svg":"fontawesome-solid-greater-than","fontawesome/solid/grimace.svg":"fontawesome-solid-grimace","fontawesome/solid/grin-alt.svg":"fontawesome-solid-grin-alt","fontawesome/solid/grin-beam-sweat.svg":"fontawesome-solid-grin-beam-sweat","fontawesome/solid/grin-beam.svg":"fontawesome-solid-grin-beam","fontawesome/solid/grin-hearts.svg":"fontawesome-solid-grin-hearts","fontawesome/solid/grin-squint-tears.svg":"fontawesome-solid-grin-squint-tears","fontawesome/solid/grin-squint.svg":"fontawesome-solid-grin-squint","fontawesome/solid/grin-stars.svg":"fontawesome-solid-grin-stars","fontawesome/solid/grin-tears.svg":"fontawesome-solid-grin-tears","fontawesome/solid/grin-tongue-squint.svg":"fontawesome-solid-grin-tongue-squint","fontawesome/solid/grin-tongue-wink.svg":"fontawesome-solid-grin-tongue-wink","fontawesome/solid/grin-tongue.svg":"fontawesome-solid-grin-tongue","fontawesome/solid/grin-wink.svg":"fontawesome-solid-grin-wink","fontawesome/solid/grin.svg":"fontawesome-solid-grin","fontawesome/solid/grip-horizontal.svg":"fontawesome-solid-grip-horizontal","fontawesome/solid/grip-lines-vertical.svg":"fontawesome-solid-grip-lines-vertical","fontawesome/solid/grip-lines.svg":"fontawesome-solid-grip-lines","fontawesome/solid/grip-vertical.svg":"fontawesome-solid-grip-vertical","fontawesome/solid/guitar.svg":"fontawesome-solid-guitar","fontawesome/solid/h-square.svg":"fontawesome-solid-h-square","fontawesome/solid/hamburger.svg":"fontawesome-solid-hamburger","fontawesome/solid/hammer.svg":"fontawesome-solid-hammer","fontawesome/solid/hamsa.svg":"fontawesome-solid-hamsa","fontawesome/solid/hand-holding-heart.svg":"fontawesome-solid-hand-holding-heart","fontawesome/solid/hand-holding-medical.svg":"fontawesome-solid-hand-holding-medical","fontawesome/solid/hand-holding-usd.svg":"fontawesome-solid-hand-holding-usd","fontawesome/solid/hand-holding-water.svg":"fontawesome-solid-hand-holding-water","fontawesome/solid/hand-holding.svg":"fontawesome-solid-hand-holding","fontawesome/solid/hand-lizard.svg":"fontawesome-solid-hand-lizard","fontawesome/solid/hand-middle-finger.svg":"fontawesome-solid-hand-middle-finger","fontawesome/solid/hand-paper.svg":"fontawesome-solid-hand-paper","fontawesome/solid/hand-peace.svg":"fontawesome-solid-hand-peace","fontawesome/solid/hand-point-down.svg":"fontawesome-solid-hand-point-down","fontawesome/solid/hand-point-left.svg":"fontawesome-solid-hand-point-left","fontawesome/solid/hand-point-right.svg":"fontawesome-solid-hand-point-right","fontawesome/solid/hand-point-up.svg":"fontawesome-solid-hand-point-up","fontawesome/solid/hand-pointer.svg":"fontawesome-solid-hand-pointer","fontawesome/solid/hand-rock.svg":"fontawesome-solid-hand-rock","fontawesome/solid/hand-scissors.svg":"fontawesome-solid-hand-scissors","fontawesome/solid/hand-sparkles.svg":"fontawesome-solid-hand-sparkles","fontawesome/solid/hand-spock.svg":"fontawesome-solid-hand-spock","fontawesome/solid/hands-helping.svg":"fontawesome-solid-hands-helping","fontawesome/solid/hands-wash.svg":"fontawesome-solid-hands-wash","fontawesome/solid/hands.svg":"fontawesome-solid-hands","fontawesome/solid/handshake-alt-slash.svg":"fontawesome-solid-handshake-alt-slash","fontawesome/solid/handshake-slash.svg":"fontawesome-solid-handshake-slash","fontawesome/solid/handshake.svg":"fontawesome-solid-handshake","fontawesome/solid/hanukiah.svg":"fontawesome-solid-hanukiah","fontawesome/solid/hard-hat.svg":"fontawesome-solid-hard-hat","fontawesome/solid/hashtag.svg":"fontawesome-solid-hashtag","fontawesome/solid/hat-cowboy-side.svg":"fontawesome-solid-hat-cowboy-side","fontawesome/solid/hat-cowboy.svg":"fontawesome-solid-hat-cowboy","fontawesome/solid/hat-wizard.svg":"fontawesome-solid-hat-wizard","fontawesome/solid/hdd.svg":"fontawesome-solid-hdd","fontawesome/solid/head-side-cough-slash.svg":"fontawesome-solid-head-side-cough-slash","fontawesome/solid/head-side-cough.svg":"fontawesome-solid-head-side-cough","fontawesome/solid/head-side-mask.svg":"fontawesome-solid-head-side-mask","fontawesome/solid/head-side-virus.svg":"fontawesome-solid-head-side-virus","fontawesome/solid/heading.svg":"fontawesome-solid-heading","fontawesome/solid/headphones-alt.svg":"fontawesome-solid-headphones-alt","fontawesome/solid/headphones.svg":"fontawesome-solid-headphones","fontawesome/solid/headset.svg":"fontawesome-solid-headset","fontawesome/solid/heart-broken.svg":"fontawesome-solid-heart-broken","fontawesome/solid/heart.svg":"fontawesome-solid-heart","fontawesome/solid/heartbeat.svg":"fontawesome-solid-heartbeat","fontawesome/solid/helicopter.svg":"fontawesome-solid-helicopter","fontawesome/solid/highlighter.svg":"fontawesome-solid-highlighter","fontawesome/solid/hiking.svg":"fontawesome-solid-hiking","fontawesome/solid/hippo.svg":"fontawesome-solid-hippo","fontawesome/solid/history.svg":"fontawesome-solid-history","fontawesome/solid/hockey-puck.svg":"fontawesome-solid-hockey-puck","fontawesome/solid/holly-berry.svg":"fontawesome-solid-holly-berry","fontawesome/solid/home.svg":"fontawesome-solid-home","fontawesome/solid/horse-head.svg":"fontawesome-solid-horse-head","fontawesome/solid/horse.svg":"fontawesome-solid-horse","fontawesome/solid/hospital-alt.svg":"fontawesome-solid-hospital-alt","fontawesome/solid/hospital-symbol.svg":"fontawesome-solid-hospital-symbol","fontawesome/solid/hospital-user.svg":"fontawesome-solid-hospital-user","fontawesome/solid/hospital.svg":"fontawesome-solid-hospital","fontawesome/solid/hot-tub.svg":"fontawesome-solid-hot-tub","fontawesome/solid/hotdog.svg":"fontawesome-solid-hotdog","fontawesome/solid/hotel.svg":"fontawesome-solid-hotel","fontawesome/solid/hourglass-end.svg":"fontawesome-solid-hourglass-end","fontawesome/solid/hourglass-half.svg":"fontawesome-solid-hourglass-half","fontawesome/solid/hourglass-start.svg":"fontawesome-solid-hourglass-start","fontawesome/solid/hourglass.svg":"fontawesome-solid-hourglass","fontawesome/solid/house-damage.svg":"fontawesome-solid-house-damage","fontawesome/solid/house-user.svg":"fontawesome-solid-house-user","fontawesome/solid/hryvnia.svg":"fontawesome-solid-hryvnia","fontawesome/solid/i-cursor.svg":"fontawesome-solid-i-cursor","fontawesome/solid/ice-cream.svg":"fontawesome-solid-ice-cream","fontawesome/solid/icicles.svg":"fontawesome-solid-icicles","fontawesome/solid/icons.svg":"fontawesome-solid-icons","fontawesome/solid/id-badge.svg":"fontawesome-solid-id-badge","fontawesome/solid/id-card-alt.svg":"fontawesome-solid-id-card-alt","fontawesome/solid/id-card.svg":"fontawesome-solid-id-card","fontawesome/solid/igloo.svg":"fontawesome-solid-igloo","fontawesome/solid/image.svg":"fontawesome-solid-image","fontawesome/solid/images.svg":"fontawesome-solid-images","fontawesome/solid/inbox.svg":"fontawesome-solid-inbox","fontawesome/solid/indent.svg":"fontawesome-solid-indent","fontawesome/solid/industry.svg":"fontawesome-solid-industry","fontawesome/solid/infinity.svg":"fontawesome-solid-infinity","fontawesome/solid/info-circle.svg":"fontawesome-solid-info-circle","fontawesome/solid/info.svg":"fontawesome-solid-info","fontawesome/solid/italic.svg":"fontawesome-solid-italic","fontawesome/solid/jedi.svg":"fontawesome-solid-jedi","fontawesome/solid/joint.svg":"fontawesome-solid-joint","fontawesome/solid/journal-whills.svg":"fontawesome-solid-journal-whills","fontawesome/solid/kaaba.svg":"fontawesome-solid-kaaba","fontawesome/solid/key.svg":"fontawesome-solid-key","fontawesome/solid/keyboard.svg":"fontawesome-solid-keyboard","fontawesome/solid/khanda.svg":"fontawesome-solid-khanda","fontawesome/solid/kiss-beam.svg":"fontawesome-solid-kiss-beam","fontawesome/solid/kiss-wink-heart.svg":"fontawesome-solid-kiss-wink-heart","fontawesome/solid/kiss.svg":"fontawesome-solid-kiss","fontawesome/solid/kiwi-bird.svg":"fontawesome-solid-kiwi-bird","fontawesome/solid/landmark.svg":"fontawesome-solid-landmark","fontawesome/solid/language.svg":"fontawesome-solid-language","fontawesome/solid/laptop-code.svg":"fontawesome-solid-laptop-code","fontawesome/solid/laptop-house.svg":"fontawesome-solid-laptop-house","fontawesome/solid/laptop-medical.svg":"fontawesome-solid-laptop-medical","fontawesome/solid/laptop.svg":"fontawesome-solid-laptop","fontawesome/solid/laugh-beam.svg":"fontawesome-solid-laugh-beam","fontawesome/solid/laugh-squint.svg":"fontawesome-solid-laugh-squint","fontawesome/solid/laugh-wink.svg":"fontawesome-solid-laugh-wink","fontawesome/solid/laugh.svg":"fontawesome-solid-laugh","fontawesome/solid/layer-group.svg":"fontawesome-solid-layer-group","fontawesome/solid/leaf.svg":"fontawesome-solid-leaf","fontawesome/solid/lemon.svg":"fontawesome-solid-lemon","fontawesome/solid/less-than-equal.svg":"fontawesome-solid-less-than-equal","fontawesome/solid/less-than.svg":"fontawesome-solid-less-than","fontawesome/solid/level-down-alt.svg":"fontawesome-solid-level-down-alt","fontawesome/solid/level-up-alt.svg":"fontawesome-solid-level-up-alt","fontawesome/solid/life-ring.svg":"fontawesome-solid-life-ring","fontawesome/solid/lightbulb.svg":"fontawesome-solid-lightbulb","fontawesome/solid/link.svg":"fontawesome-solid-link","fontawesome/solid/lira-sign.svg":"fontawesome-solid-lira-sign","fontawesome/solid/list-alt.svg":"fontawesome-solid-list-alt","fontawesome/solid/list-ol.svg":"fontawesome-solid-list-ol","fontawesome/solid/list-ul.svg":"fontawesome-solid-list-ul","fontawesome/solid/list.svg":"fontawesome-solid-list","fontawesome/solid/location-arrow.svg":"fontawesome-solid-location-arrow","fontawesome/solid/lock-open.svg":"fontawesome-solid-lock-open","fontawesome/solid/lock.svg":"fontawesome-solid-lock","fontawesome/solid/long-arrow-alt-down.svg":"fontawesome-solid-long-arrow-alt-down","fontawesome/solid/long-arrow-alt-left.svg":"fontawesome-solid-long-arrow-alt-left","fontawesome/solid/long-arrow-alt-right.svg":"fontawesome-solid-long-arrow-alt-right","fontawesome/solid/long-arrow-alt-up.svg":"fontawesome-solid-long-arrow-alt-up","fontawesome/solid/low-vision.svg":"fontawesome-solid-low-vision","fontawesome/solid/luggage-cart.svg":"fontawesome-solid-luggage-cart","fontawesome/solid/lungs-virus.svg":"fontawesome-solid-lungs-virus","fontawesome/solid/lungs.svg":"fontawesome-solid-lungs","fontawesome/solid/magic.svg":"fontawesome-solid-magic","fontawesome/solid/magnet.svg":"fontawesome-solid-magnet","fontawesome/solid/mail-bulk.svg":"fontawesome-solid-mail-bulk","fontawesome/solid/male.svg":"fontawesome-solid-male","fontawesome/solid/map-marked-alt.svg":"fontawesome-solid-map-marked-alt","fontawesome/solid/map-marked.svg":"fontawesome-solid-map-marked","fontawesome/solid/map-marker-alt.svg":"fontawesome-solid-map-marker-alt","fontawesome/solid/map-marker.svg":"fontawesome-solid-map-marker","fontawesome/solid/map-pin.svg":"fontawesome-solid-map-pin","fontawesome/solid/map-signs.svg":"fontawesome-solid-map-signs","fontawesome/solid/map.svg":"fontawesome-solid-map","fontawesome/solid/marker.svg":"fontawesome-solid-marker","fontawesome/solid/mars-double.svg":"fontawesome-solid-mars-double","fontawesome/solid/mars-stroke-h.svg":"fontawesome-solid-mars-stroke-h","fontawesome/solid/mars-stroke-v.svg":"fontawesome-solid-mars-stroke-v","fontawesome/solid/mars-stroke.svg":"fontawesome-solid-mars-stroke","fontawesome/solid/mars.svg":"fontawesome-solid-mars","fontawesome/solid/mask.svg":"fontawesome-solid-mask","fontawesome/solid/medal.svg":"fontawesome-solid-medal","fontawesome/solid/medkit.svg":"fontawesome-solid-medkit","fontawesome/solid/meh-blank.svg":"fontawesome-solid-meh-blank","fontawesome/solid/meh-rolling-eyes.svg":"fontawesome-solid-meh-rolling-eyes","fontawesome/solid/meh.svg":"fontawesome-solid-meh","fontawesome/solid/memory.svg":"fontawesome-solid-memory","fontawesome/solid/menorah.svg":"fontawesome-solid-menorah","fontawesome/solid/mercury.svg":"fontawesome-solid-mercury","fontawesome/solid/meteor.svg":"fontawesome-solid-meteor","fontawesome/solid/microchip.svg":"fontawesome-solid-microchip","fontawesome/solid/microphone-alt-slash.svg":"fontawesome-solid-microphone-alt-slash","fontawesome/solid/microphone-alt.svg":"fontawesome-solid-microphone-alt","fontawesome/solid/microphone-slash.svg":"fontawesome-solid-microphone-slash","fontawesome/solid/microphone.svg":"fontawesome-solid-microphone","fontawesome/solid/microscope.svg":"fontawesome-solid-microscope","fontawesome/solid/minus-circle.svg":"fontawesome-solid-minus-circle","fontawesome/solid/minus-square.svg":"fontawesome-solid-minus-square","fontawesome/solid/minus.svg":"fontawesome-solid-minus","fontawesome/solid/mitten.svg":"fontawesome-solid-mitten","fontawesome/solid/mobile-alt.svg":"fontawesome-solid-mobile-alt","fontawesome/solid/mobile.svg":"fontawesome-solid-mobile","fontawesome/solid/money-bill-alt.svg":"fontawesome-solid-money-bill-alt","fontawesome/solid/money-bill-wave-alt.svg":"fontawesome-solid-money-bill-wave-alt","fontawesome/solid/money-bill-wave.svg":"fontawesome-solid-money-bill-wave","fontawesome/solid/money-bill.svg":"fontawesome-solid-money-bill","fontawesome/solid/money-check-alt.svg":"fontawesome-solid-money-check-alt","fontawesome/solid/money-check.svg":"fontawesome-solid-money-check","fontawesome/solid/monument.svg":"fontawesome-solid-monument","fontawesome/solid/moon.svg":"fontawesome-solid-moon","fontawesome/solid/mortar-pestle.svg":"fontawesome-solid-mortar-pestle","fontawesome/solid/mosque.svg":"fontawesome-solid-mosque","fontawesome/solid/motorcycle.svg":"fontawesome-solid-motorcycle","fontawesome/solid/mountain.svg":"fontawesome-solid-mountain","fontawesome/solid/mouse-pointer.svg":"fontawesome-solid-mouse-pointer","fontawesome/solid/mouse.svg":"fontawesome-solid-mouse","fontawesome/solid/mug-hot.svg":"fontawesome-solid-mug-hot","fontawesome/solid/music.svg":"fontawesome-solid-music","fontawesome/solid/network-wired.svg":"fontawesome-solid-network-wired","fontawesome/solid/neuter.svg":"fontawesome-solid-neuter","fontawesome/solid/newspaper.svg":"fontawesome-solid-newspaper","fontawesome/solid/not-equal.svg":"fontawesome-solid-not-equal","fontawesome/solid/notes-medical.svg":"fontawesome-solid-notes-medical","fontawesome/solid/object-group.svg":"fontawesome-solid-object-group","fontawesome/solid/object-ungroup.svg":"fontawesome-solid-object-ungroup","fontawesome/solid/oil-can.svg":"fontawesome-solid-oil-can","fontawesome/solid/om.svg":"fontawesome-solid-om","fontawesome/solid/otter.svg":"fontawesome-solid-otter","fontawesome/solid/outdent.svg":"fontawesome-solid-outdent","fontawesome/solid/pager.svg":"fontawesome-solid-pager","fontawesome/solid/paint-brush.svg":"fontawesome-solid-paint-brush","fontawesome/solid/paint-roller.svg":"fontawesome-solid-paint-roller","fontawesome/solid/palette.svg":"fontawesome-solid-palette","fontawesome/solid/pallet.svg":"fontawesome-solid-pallet","fontawesome/solid/paper-plane.svg":"fontawesome-solid-paper-plane","fontawesome/solid/paperclip.svg":"fontawesome-solid-paperclip","fontawesome/solid/parachute-box.svg":"fontawesome-solid-parachute-box","fontawesome/solid/paragraph.svg":"fontawesome-solid-paragraph","fontawesome/solid/parking.svg":"fontawesome-solid-parking","fontawesome/solid/passport.svg":"fontawesome-solid-passport","fontawesome/solid/pastafarianism.svg":"fontawesome-solid-pastafarianism","fontawesome/solid/paste.svg":"fontawesome-solid-paste","fontawesome/solid/pause-circle.svg":"fontawesome-solid-pause-circle","fontawesome/solid/pause.svg":"fontawesome-solid-pause","fontawesome/solid/paw.svg":"fontawesome-solid-paw","fontawesome/solid/peace.svg":"fontawesome-solid-peace","fontawesome/solid/pen-alt.svg":"fontawesome-solid-pen-alt","fontawesome/solid/pen-fancy.svg":"fontawesome-solid-pen-fancy","fontawesome/solid/pen-nib.svg":"fontawesome-solid-pen-nib","fontawesome/solid/pen-square.svg":"fontawesome-solid-pen-square","fontawesome/solid/pen.svg":"fontawesome-solid-pen","fontawesome/solid/pencil-alt.svg":"fontawesome-solid-pencil-alt","fontawesome/solid/pencil-ruler.svg":"fontawesome-solid-pencil-ruler","fontawesome/solid/people-arrows.svg":"fontawesome-solid-people-arrows","fontawesome/solid/people-carry.svg":"fontawesome-solid-people-carry","fontawesome/solid/pepper-hot.svg":"fontawesome-solid-pepper-hot","fontawesome/solid/percent.svg":"fontawesome-solid-percent","fontawesome/solid/percentage.svg":"fontawesome-solid-percentage","fontawesome/solid/person-booth.svg":"fontawesome-solid-person-booth","fontawesome/solid/phone-alt.svg":"fontawesome-solid-phone-alt","fontawesome/solid/phone-slash.svg":"fontawesome-solid-phone-slash","fontawesome/solid/phone-square-alt.svg":"fontawesome-solid-phone-square-alt","fontawesome/solid/phone-square.svg":"fontawesome-solid-phone-square","fontawesome/solid/phone-volume.svg":"fontawesome-solid-phone-volume","fontawesome/solid/phone.svg":"fontawesome-solid-phone","fontawesome/solid/photo-video.svg":"fontawesome-solid-photo-video","fontawesome/solid/piggy-bank.svg":"fontawesome-solid-piggy-bank","fontawesome/solid/pills.svg":"fontawesome-solid-pills","fontawesome/solid/pizza-slice.svg":"fontawesome-solid-pizza-slice","fontawesome/solid/place-of-worship.svg":"fontawesome-solid-place-of-worship","fontawesome/solid/plane-arrival.svg":"fontawesome-solid-plane-arrival","fontawesome/solid/plane-departure.svg":"fontawesome-solid-plane-departure","fontawesome/solid/plane-slash.svg":"fontawesome-solid-plane-slash","fontawesome/solid/plane.svg":"fontawesome-solid-plane","fontawesome/solid/play-circle.svg":"fontawesome-solid-play-circle","fontawesome/solid/play.svg":"fontawesome-solid-play","fontawesome/solid/plug.svg":"fontawesome-solid-plug","fontawesome/solid/plus-circle.svg":"fontawesome-solid-plus-circle","fontawesome/solid/plus-square.svg":"fontawesome-solid-plus-square","fontawesome/solid/plus.svg":"fontawesome-solid-plus","fontawesome/solid/podcast.svg":"fontawesome-solid-podcast","fontawesome/solid/poll-h.svg":"fontawesome-solid-poll-h","fontawesome/solid/poll.svg":"fontawesome-solid-poll","fontawesome/solid/poo-storm.svg":"fontawesome-solid-poo-storm","fontawesome/solid/poo.svg":"fontawesome-solid-poo","fontawesome/solid/poop.svg":"fontawesome-solid-poop","fontawesome/solid/portrait.svg":"fontawesome-solid-portrait","fontawesome/solid/pound-sign.svg":"fontawesome-solid-pound-sign","fontawesome/solid/power-off.svg":"fontawesome-solid-power-off","fontawesome/solid/pray.svg":"fontawesome-solid-pray","fontawesome/solid/praying-hands.svg":"fontawesome-solid-praying-hands","fontawesome/solid/prescription-bottle-alt.svg":"fontawesome-solid-prescription-bottle-alt","fontawesome/solid/prescription-bottle.svg":"fontawesome-solid-prescription-bottle","fontawesome/solid/prescription.svg":"fontawesome-solid-prescription","fontawesome/solid/print.svg":"fontawesome-solid-print","fontawesome/solid/procedures.svg":"fontawesome-solid-procedures","fontawesome/solid/project-diagram.svg":"fontawesome-solid-project-diagram","fontawesome/solid/pump-medical.svg":"fontawesome-solid-pump-medical","fontawesome/solid/pump-soap.svg":"fontawesome-solid-pump-soap","fontawesome/solid/puzzle-piece.svg":"fontawesome-solid-puzzle-piece","fontawesome/solid/qrcode.svg":"fontawesome-solid-qrcode","fontawesome/solid/question-circle.svg":"fontawesome-solid-question-circle","fontawesome/solid/question.svg":"fontawesome-solid-question","fontawesome/solid/quidditch.svg":"fontawesome-solid-quidditch","fontawesome/solid/quote-left.svg":"fontawesome-solid-quote-left","fontawesome/solid/quote-right.svg":"fontawesome-solid-quote-right","fontawesome/solid/quran.svg":"fontawesome-solid-quran","fontawesome/solid/radiation-alt.svg":"fontawesome-solid-radiation-alt","fontawesome/solid/radiation.svg":"fontawesome-solid-radiation","fontawesome/solid/rainbow.svg":"fontawesome-solid-rainbow","fontawesome/solid/random.svg":"fontawesome-solid-random","fontawesome/solid/receipt.svg":"fontawesome-solid-receipt","fontawesome/solid/record-vinyl.svg":"fontawesome-solid-record-vinyl","fontawesome/solid/recycle.svg":"fontawesome-solid-recycle","fontawesome/solid/redo-alt.svg":"fontawesome-solid-redo-alt","fontawesome/solid/redo.svg":"fontawesome-solid-redo","fontawesome/solid/registered.svg":"fontawesome-solid-registered","fontawesome/solid/remove-format.svg":"fontawesome-solid-remove-format","fontawesome/solid/reply-all.svg":"fontawesome-solid-reply-all","fontawesome/solid/reply.svg":"fontawesome-solid-reply","fontawesome/solid/republican.svg":"fontawesome-solid-republican","fontawesome/solid/restroom.svg":"fontawesome-solid-restroom","fontawesome/solid/retweet.svg":"fontawesome-solid-retweet","fontawesome/solid/ribbon.svg":"fontawesome-solid-ribbon","fontawesome/solid/ring.svg":"fontawesome-solid-ring","fontawesome/solid/road.svg":"fontawesome-solid-road","fontawesome/solid/robot.svg":"fontawesome-solid-robot","fontawesome/solid/rocket.svg":"fontawesome-solid-rocket","fontawesome/solid/route.svg":"fontawesome-solid-route","fontawesome/solid/rss-square.svg":"fontawesome-solid-rss-square","fontawesome/solid/rss.svg":"fontawesome-solid-rss","fontawesome/solid/ruble-sign.svg":"fontawesome-solid-ruble-sign","fontawesome/solid/ruler-combined.svg":"fontawesome-solid-ruler-combined","fontawesome/solid/ruler-horizontal.svg":"fontawesome-solid-ruler-horizontal","fontawesome/solid/ruler-vertical.svg":"fontawesome-solid-ruler-vertical","fontawesome/solid/ruler.svg":"fontawesome-solid-ruler","fontawesome/solid/running.svg":"fontawesome-solid-running","fontawesome/solid/rupee-sign.svg":"fontawesome-solid-rupee-sign","fontawesome/solid/sad-cry.svg":"fontawesome-solid-sad-cry","fontawesome/solid/sad-tear.svg":"fontawesome-solid-sad-tear","fontawesome/solid/satellite-dish.svg":"fontawesome-solid-satellite-dish","fontawesome/solid/satellite.svg":"fontawesome-solid-satellite","fontawesome/solid/save.svg":"fontawesome-solid-save","fontawesome/solid/school.svg":"fontawesome-solid-school","fontawesome/solid/screwdriver.svg":"fontawesome-solid-screwdriver","fontawesome/solid/scroll.svg":"fontawesome-solid-scroll","fontawesome/solid/sd-card.svg":"fontawesome-solid-sd-card","fontawesome/solid/search-dollar.svg":"fontawesome-solid-search-dollar","fontawesome/solid/search-location.svg":"fontawesome-solid-search-location","fontawesome/solid/search-minus.svg":"fontawesome-solid-search-minus","fontawesome/solid/search-plus.svg":"fontawesome-solid-search-plus","fontawesome/solid/search.svg":"fontawesome-solid-search","fontawesome/solid/seedling.svg":"fontawesome-solid-seedling","fontawesome/solid/server.svg":"fontawesome-solid-server","fontawesome/solid/shapes.svg":"fontawesome-solid-shapes","fontawesome/solid/share-alt-square.svg":"fontawesome-solid-share-alt-square","fontawesome/solid/share-alt.svg":"fontawesome-solid-share-alt","fontawesome/solid/share-square.svg":"fontawesome-solid-share-square","fontawesome/solid/share.svg":"fontawesome-solid-share","fontawesome/solid/shekel-sign.svg":"fontawesome-solid-shekel-sign","fontawesome/solid/shield-alt.svg":"fontawesome-solid-shield-alt","fontawesome/solid/shield-virus.svg":"fontawesome-solid-shield-virus","fontawesome/solid/ship.svg":"fontawesome-solid-ship","fontawesome/solid/shipping-fast.svg":"fontawesome-solid-shipping-fast","fontawesome/solid/shoe-prints.svg":"fontawesome-solid-shoe-prints","fontawesome/solid/shopping-bag.svg":"fontawesome-solid-shopping-bag","fontawesome/solid/shopping-basket.svg":"fontawesome-solid-shopping-basket","fontawesome/solid/shopping-cart.svg":"fontawesome-solid-shopping-cart","fontawesome/solid/shower.svg":"fontawesome-solid-shower","fontawesome/solid/shuttle-van.svg":"fontawesome-solid-shuttle-van","fontawesome/solid/sign-in-alt.svg":"fontawesome-solid-sign-in-alt","fontawesome/solid/sign-language.svg":"fontawesome-solid-sign-language","fontawesome/solid/sign-out-alt.svg":"fontawesome-solid-sign-out-alt","fontawesome/solid/sign.svg":"fontawesome-solid-sign","fontawesome/solid/signal.svg":"fontawesome-solid-signal","fontawesome/solid/signature.svg":"fontawesome-solid-signature","fontawesome/solid/sim-card.svg":"fontawesome-solid-sim-card","fontawesome/solid/sink.svg":"fontawesome-solid-sink","fontawesome/solid/sitemap.svg":"fontawesome-solid-sitemap","fontawesome/solid/skating.svg":"fontawesome-solid-skating","fontawesome/solid/skiing-nordic.svg":"fontawesome-solid-skiing-nordic","fontawesome/solid/skiing.svg":"fontawesome-solid-skiing","fontawesome/solid/skull-crossbones.svg":"fontawesome-solid-skull-crossbones","fontawesome/solid/skull.svg":"fontawesome-solid-skull","fontawesome/solid/slash.svg":"fontawesome-solid-slash","fontawesome/solid/sleigh.svg":"fontawesome-solid-sleigh","fontawesome/solid/sliders-h.svg":"fontawesome-solid-sliders-h","fontawesome/solid/smile-beam.svg":"fontawesome-solid-smile-beam","fontawesome/solid/smile-wink.svg":"fontawesome-solid-smile-wink","fontawesome/solid/smile.svg":"fontawesome-solid-smile","fontawesome/solid/smog.svg":"fontawesome-solid-smog","fontawesome/solid/smoking-ban.svg":"fontawesome-solid-smoking-ban","fontawesome/solid/smoking.svg":"fontawesome-solid-smoking","fontawesome/solid/sms.svg":"fontawesome-solid-sms","fontawesome/solid/snowboarding.svg":"fontawesome-solid-snowboarding","fontawesome/solid/snowflake.svg":"fontawesome-solid-snowflake","fontawesome/solid/snowman.svg":"fontawesome-solid-snowman","fontawesome/solid/snowplow.svg":"fontawesome-solid-snowplow","fontawesome/solid/soap.svg":"fontawesome-solid-soap","fontawesome/solid/socks.svg":"fontawesome-solid-socks","fontawesome/solid/solar-panel.svg":"fontawesome-solid-solar-panel","fontawesome/solid/sort-alpha-down-alt.svg":"fontawesome-solid-sort-alpha-down-alt","fontawesome/solid/sort-alpha-down.svg":"fontawesome-solid-sort-alpha-down","fontawesome/solid/sort-alpha-up-alt.svg":"fontawesome-solid-sort-alpha-up-alt","fontawesome/solid/sort-alpha-up.svg":"fontawesome-solid-sort-alpha-up","fontawesome/solid/sort-amount-down-alt.svg":"fontawesome-solid-sort-amount-down-alt","fontawesome/solid/sort-amount-down.svg":"fontawesome-solid-sort-amount-down","fontawesome/solid/sort-amount-up-alt.svg":"fontawesome-solid-sort-amount-up-alt","fontawesome/solid/sort-amount-up.svg":"fontawesome-solid-sort-amount-up","fontawesome/solid/sort-down.svg":"fontawesome-solid-sort-down","fontawesome/solid/sort-numeric-down-alt.svg":"fontawesome-solid-sort-numeric-down-alt","fontawesome/solid/sort-numeric-down.svg":"fontawesome-solid-sort-numeric-down","fontawesome/solid/sort-numeric-up-alt.svg":"fontawesome-solid-sort-numeric-up-alt","fontawesome/solid/sort-numeric-up.svg":"fontawesome-solid-sort-numeric-up","fontawesome/solid/sort-up.svg":"fontawesome-solid-sort-up","fontawesome/solid/sort.svg":"fontawesome-solid-sort","fontawesome/solid/spa.svg":"fontawesome-solid-spa","fontawesome/solid/space-shuttle.svg":"fontawesome-solid-space-shuttle","fontawesome/solid/spell-check.svg":"fontawesome-solid-spell-check","fontawesome/solid/spider.svg":"fontawesome-solid-spider","fontawesome/solid/spinner.svg":"fontawesome-solid-spinner","fontawesome/solid/splotch.svg":"fontawesome-solid-splotch","fontawesome/solid/spray-can.svg":"fontawesome-solid-spray-can","fontawesome/solid/square-full.svg":"fontawesome-solid-square-full","fontawesome/solid/square-root-alt.svg":"fontawesome-solid-square-root-alt","fontawesome/solid/square.svg":"fontawesome-solid-square","fontawesome/solid/stamp.svg":"fontawesome-solid-stamp","fontawesome/solid/star-and-crescent.svg":"fontawesome-solid-star-and-crescent","fontawesome/solid/star-half-alt.svg":"fontawesome-solid-star-half-alt","fontawesome/solid/star-half.svg":"fontawesome-solid-star-half","fontawesome/solid/star-of-david.svg":"fontawesome-solid-star-of-david","fontawesome/solid/star-of-life.svg":"fontawesome-solid-star-of-life","fontawesome/solid/star.svg":"fontawesome-solid-star","fontawesome/solid/step-backward.svg":"fontawesome-solid-step-backward","fontawesome/solid/step-forward.svg":"fontawesome-solid-step-forward","fontawesome/solid/stethoscope.svg":"fontawesome-solid-stethoscope","fontawesome/solid/sticky-note.svg":"fontawesome-solid-sticky-note","fontawesome/solid/stop-circle.svg":"fontawesome-solid-stop-circle","fontawesome/solid/stop.svg":"fontawesome-solid-stop","fontawesome/solid/stopwatch-20.svg":"fontawesome-solid-stopwatch-20","fontawesome/solid/stopwatch.svg":"fontawesome-solid-stopwatch","fontawesome/solid/store-alt-slash.svg":"fontawesome-solid-store-alt-slash","fontawesome/solid/store-alt.svg":"fontawesome-solid-store-alt","fontawesome/solid/store-slash.svg":"fontawesome-solid-store-slash","fontawesome/solid/store.svg":"fontawesome-solid-store","fontawesome/solid/stream.svg":"fontawesome-solid-stream","fontawesome/solid/street-view.svg":"fontawesome-solid-street-view","fontawesome/solid/strikethrough.svg":"fontawesome-solid-strikethrough","fontawesome/solid/stroopwafel.svg":"fontawesome-solid-stroopwafel","fontawesome/solid/subscript.svg":"fontawesome-solid-subscript","fontawesome/solid/subway.svg":"fontawesome-solid-subway","fontawesome/solid/suitcase-rolling.svg":"fontawesome-solid-suitcase-rolling","fontawesome/solid/suitcase.svg":"fontawesome-solid-suitcase","fontawesome/solid/sun.svg":"fontawesome-solid-sun","fontawesome/solid/superscript.svg":"fontawesome-solid-superscript","fontawesome/solid/surprise.svg":"fontawesome-solid-surprise","fontawesome/solid/swatchbook.svg":"fontawesome-solid-swatchbook","fontawesome/solid/swimmer.svg":"fontawesome-solid-swimmer","fontawesome/solid/swimming-pool.svg":"fontawesome-solid-swimming-pool","fontawesome/solid/synagogue.svg":"fontawesome-solid-synagogue","fontawesome/solid/sync-alt.svg":"fontawesome-solid-sync-alt","fontawesome/solid/sync.svg":"fontawesome-solid-sync","fontawesome/solid/syringe.svg":"fontawesome-solid-syringe","fontawesome/solid/table-tennis.svg":"fontawesome-solid-table-tennis","fontawesome/solid/table.svg":"fontawesome-solid-table","fontawesome/solid/tablet-alt.svg":"fontawesome-solid-tablet-alt","fontawesome/solid/tablet.svg":"fontawesome-solid-tablet","fontawesome/solid/tablets.svg":"fontawesome-solid-tablets","fontawesome/solid/tachometer-alt.svg":"fontawesome-solid-tachometer-alt","fontawesome/solid/tag.svg":"fontawesome-solid-tag","fontawesome/solid/tags.svg":"fontawesome-solid-tags","fontawesome/solid/tape.svg":"fontawesome-solid-tape","fontawesome/solid/tasks.svg":"fontawesome-solid-tasks","fontawesome/solid/taxi.svg":"fontawesome-solid-taxi","fontawesome/solid/teeth-open.svg":"fontawesome-solid-teeth-open","fontawesome/solid/teeth.svg":"fontawesome-solid-teeth","fontawesome/solid/temperature-high.svg":"fontawesome-solid-temperature-high","fontawesome/solid/temperature-low.svg":"fontawesome-solid-temperature-low","fontawesome/solid/tenge.svg":"fontawesome-solid-tenge","fontawesome/solid/terminal.svg":"fontawesome-solid-terminal","fontawesome/solid/text-height.svg":"fontawesome-solid-text-height","fontawesome/solid/text-width.svg":"fontawesome-solid-text-width","fontawesome/solid/th-large.svg":"fontawesome-solid-th-large","fontawesome/solid/th-list.svg":"fontawesome-solid-th-list","fontawesome/solid/th.svg":"fontawesome-solid-th","fontawesome/solid/theater-masks.svg":"fontawesome-solid-theater-masks","fontawesome/solid/thermometer-empty.svg":"fontawesome-solid-thermometer-empty","fontawesome/solid/thermometer-full.svg":"fontawesome-solid-thermometer-full","fontawesome/solid/thermometer-half.svg":"fontawesome-solid-thermometer-half","fontawesome/solid/thermometer-quarter.svg":"fontawesome-solid-thermometer-quarter","fontawesome/solid/thermometer-three-quarters.svg":"fontawesome-solid-thermometer-three-quarters","fontawesome/solid/thermometer.svg":"fontawesome-solid-thermometer","fontawesome/solid/thumbs-down.svg":"fontawesome-solid-thumbs-down","fontawesome/solid/thumbs-up.svg":"fontawesome-solid-thumbs-up","fontawesome/solid/thumbtack.svg":"fontawesome-solid-thumbtack","fontawesome/solid/ticket-alt.svg":"fontawesome-solid-ticket-alt","fontawesome/solid/times-circle.svg":"fontawesome-solid-times-circle","fontawesome/solid/times.svg":"fontawesome-solid-times","fontawesome/solid/tint-slash.svg":"fontawesome-solid-tint-slash","fontawesome/solid/tint.svg":"fontawesome-solid-tint","fontawesome/solid/tired.svg":"fontawesome-solid-tired","fontawesome/solid/toggle-off.svg":"fontawesome-solid-toggle-off","fontawesome/solid/toggle-on.svg":"fontawesome-solid-toggle-on","fontawesome/solid/toilet-paper-slash.svg":"fontawesome-solid-toilet-paper-slash","fontawesome/solid/toilet-paper.svg":"fontawesome-solid-toilet-paper","fontawesome/solid/toilet.svg":"fontawesome-solid-toilet","fontawesome/solid/toolbox.svg":"fontawesome-solid-toolbox","fontawesome/solid/tools.svg":"fontawesome-solid-tools","fontawesome/solid/tooth.svg":"fontawesome-solid-tooth","fontawesome/solid/torah.svg":"fontawesome-solid-torah","fontawesome/solid/torii-gate.svg":"fontawesome-solid-torii-gate","fontawesome/solid/tractor.svg":"fontawesome-solid-tractor","fontawesome/solid/trademark.svg":"fontawesome-solid-trademark","fontawesome/solid/traffic-light.svg":"fontawesome-solid-traffic-light","fontawesome/solid/trailer.svg":"fontawesome-solid-trailer","fontawesome/solid/train.svg":"fontawesome-solid-train","fontawesome/solid/tram.svg":"fontawesome-solid-tram","fontawesome/solid/transgender-alt.svg":"fontawesome-solid-transgender-alt","fontawesome/solid/transgender.svg":"fontawesome-solid-transgender","fontawesome/solid/trash-alt.svg":"fontawesome-solid-trash-alt","fontawesome/solid/trash-restore-alt.svg":"fontawesome-solid-trash-restore-alt","fontawesome/solid/trash-restore.svg":"fontawesome-solid-trash-restore","fontawesome/solid/trash.svg":"fontawesome-solid-trash","fontawesome/solid/tree.svg":"fontawesome-solid-tree","fontawesome/solid/trophy.svg":"fontawesome-solid-trophy","fontawesome/solid/truck-loading.svg":"fontawesome-solid-truck-loading","fontawesome/solid/truck-monster.svg":"fontawesome-solid-truck-monster","fontawesome/solid/truck-moving.svg":"fontawesome-solid-truck-moving","fontawesome/solid/truck-pickup.svg":"fontawesome-solid-truck-pickup","fontawesome/solid/truck.svg":"fontawesome-solid-truck","fontawesome/solid/tshirt.svg":"fontawesome-solid-tshirt","fontawesome/solid/tty.svg":"fontawesome-solid-tty","fontawesome/solid/tv.svg":"fontawesome-solid-tv","fontawesome/solid/umbrella-beach.svg":"fontawesome-solid-umbrella-beach","fontawesome/solid/umbrella.svg":"fontawesome-solid-umbrella","fontawesome/solid/underline.svg":"fontawesome-solid-underline","fontawesome/solid/undo-alt.svg":"fontawesome-solid-undo-alt","fontawesome/solid/undo.svg":"fontawesome-solid-undo","fontawesome/solid/universal-access.svg":"fontawesome-solid-universal-access","fontawesome/solid/university.svg":"fontawesome-solid-university","fontawesome/solid/unlink.svg":"fontawesome-solid-unlink","fontawesome/solid/unlock-alt.svg":"fontawesome-solid-unlock-alt","fontawesome/solid/unlock.svg":"fontawesome-solid-unlock","fontawesome/solid/upload.svg":"fontawesome-solid-upload","fontawesome/solid/user-alt-slash.svg":"fontawesome-solid-user-alt-slash","fontawesome/solid/user-alt.svg":"fontawesome-solid-user-alt","fontawesome/solid/user-astronaut.svg":"fontawesome-solid-user-astronaut","fontawesome/solid/user-check.svg":"fontawesome-solid-user-check","fontawesome/solid/user-circle.svg":"fontawesome-solid-user-circle","fontawesome/solid/user-clock.svg":"fontawesome-solid-user-clock","fontawesome/solid/user-cog.svg":"fontawesome-solid-user-cog","fontawesome/solid/user-edit.svg":"fontawesome-solid-user-edit","fontawesome/solid/user-friends.svg":"fontawesome-solid-user-friends","fontawesome/solid/user-graduate.svg":"fontawesome-solid-user-graduate","fontawesome/solid/user-injured.svg":"fontawesome-solid-user-injured","fontawesome/solid/user-lock.svg":"fontawesome-solid-user-lock","fontawesome/solid/user-md.svg":"fontawesome-solid-user-md","fontawesome/solid/user-minus.svg":"fontawesome-solid-user-minus","fontawesome/solid/user-ninja.svg":"fontawesome-solid-user-ninja","fontawesome/solid/user-nurse.svg":"fontawesome-solid-user-nurse","fontawesome/solid/user-plus.svg":"fontawesome-solid-user-plus","fontawesome/solid/user-secret.svg":"fontawesome-solid-user-secret","fontawesome/solid/user-shield.svg":"fontawesome-solid-user-shield","fontawesome/solid/user-slash.svg":"fontawesome-solid-user-slash","fontawesome/solid/user-tag.svg":"fontawesome-solid-user-tag","fontawesome/solid/user-tie.svg":"fontawesome-solid-user-tie","fontawesome/solid/user-times.svg":"fontawesome-solid-user-times","fontawesome/solid/user.svg":"fontawesome-solid-user","fontawesome/solid/users-cog.svg":"fontawesome-solid-users-cog","fontawesome/solid/users-slash.svg":"fontawesome-solid-users-slash","fontawesome/solid/users.svg":"fontawesome-solid-users","fontawesome/solid/utensil-spoon.svg":"fontawesome-solid-utensil-spoon","fontawesome/solid/utensils.svg":"fontawesome-solid-utensils","fontawesome/solid/vector-square.svg":"fontawesome-solid-vector-square","fontawesome/solid/venus-double.svg":"fontawesome-solid-venus-double","fontawesome/solid/venus-mars.svg":"fontawesome-solid-venus-mars","fontawesome/solid/venus.svg":"fontawesome-solid-venus","fontawesome/solid/vest-patches.svg":"fontawesome-solid-vest-patches","fontawesome/solid/vest.svg":"fontawesome-solid-vest","fontawesome/solid/vial.svg":"fontawesome-solid-vial","fontawesome/solid/vials.svg":"fontawesome-solid-vials","fontawesome/solid/video-slash.svg":"fontawesome-solid-video-slash","fontawesome/solid/video.svg":"fontawesome-solid-video","fontawesome/solid/vihara.svg":"fontawesome-solid-vihara","fontawesome/solid/virus-slash.svg":"fontawesome-solid-virus-slash","fontawesome/solid/virus.svg":"fontawesome-solid-virus","fontawesome/solid/viruses.svg":"fontawesome-solid-viruses","fontawesome/solid/voicemail.svg":"fontawesome-solid-voicemail","fontawesome/solid/volleyball-ball.svg":"fontawesome-solid-volleyball-ball","fontawesome/solid/volume-down.svg":"fontawesome-solid-volume-down","fontawesome/solid/volume-mute.svg":"fontawesome-solid-volume-mute","fontawesome/solid/volume-off.svg":"fontawesome-solid-volume-off","fontawesome/solid/volume-up.svg":"fontawesome-solid-volume-up","fontawesome/solid/vote-yea.svg":"fontawesome-solid-vote-yea","fontawesome/solid/vr-cardboard.svg":"fontawesome-solid-vr-cardboard","fontawesome/solid/walking.svg":"fontawesome-solid-walking","fontawesome/solid/wallet.svg":"fontawesome-solid-wallet","fontawesome/solid/warehouse.svg":"fontawesome-solid-warehouse","fontawesome/solid/water.svg":"fontawesome-solid-water","fontawesome/solid/wave-square.svg":"fontawesome-solid-wave-square","fontawesome/solid/weight-hanging.svg":"fontawesome-solid-weight-hanging","fontawesome/solid/weight.svg":"fontawesome-solid-weight","fontawesome/solid/wheelchair.svg":"fontawesome-solid-wheelchair","fontawesome/solid/wifi.svg":"fontawesome-solid-wifi","fontawesome/solid/wind.svg":"fontawesome-solid-wind","fontawesome/solid/window-close.svg":"fontawesome-solid-window-close","fontawesome/solid/window-maximize.svg":"fontawesome-solid-window-maximize","fontawesome/solid/window-minimize.svg":"fontawesome-solid-window-minimize","fontawesome/solid/window-restore.svg":"fontawesome-solid-window-restore","fontawesome/solid/wine-bottle.svg":"fontawesome-solid-wine-bottle","fontawesome/solid/wine-glass-alt.svg":"fontawesome-solid-wine-glass-alt","fontawesome/solid/wine-glass.svg":"fontawesome-solid-wine-glass","fontawesome/solid/won-sign.svg":"fontawesome-solid-won-sign","fontawesome/solid/wrench.svg":"fontawesome-solid-wrench","fontawesome/solid/x-ray.svg":"fontawesome-solid-x-ray","fontawesome/solid/yen-sign.svg":"fontawesome-solid-yen-sign","fontawesome/solid/yin-yang.svg":"fontawesome-solid-yin-yang","logo.svg":"logo","material/ab-testing.svg":"material-ab-testing","material/abacus.svg":"material-abacus","material/abjad-arabic.svg":"material-abjad-arabic","material/abjad-hebrew.svg":"material-abjad-hebrew","material/abugida-devanagari.svg":"material-abugida-devanagari","material/abugida-thai.svg":"material-abugida-thai","material/access-point-check.svg":"material-access-point-check","material/access-point-minus.svg":"material-access-point-minus","material/access-point-network-off.svg":"material-access-point-network-off","material/access-point-network.svg":"material-access-point-network","material/access-point-off.svg":"material-access-point-off","material/access-point-plus.svg":"material-access-point-plus","material/access-point-remove.svg":"material-access-point-remove","material/access-point.svg":"material-access-point","material/account-alert-outline.svg":"material-account-alert-outline","material/account-alert.svg":"material-account-alert","material/account-arrow-left-outline.svg":"material-account-arrow-left-outline","material/account-arrow-left.svg":"material-account-arrow-left","material/account-arrow-right-outline.svg":"material-account-arrow-right-outline","material/account-arrow-right.svg":"material-account-arrow-right","material/account-box-multiple-outline.svg":"material-account-box-multiple-outline","material/account-box-multiple.svg":"material-account-box-multiple","material/account-box-outline.svg":"material-account-box-outline","material/account-box.svg":"material-account-box","material/account-cancel-outline.svg":"material-account-cancel-outline","material/account-cancel.svg":"material-account-cancel","material/account-cash-outline.svg":"material-account-cash-outline","material/account-cash.svg":"material-account-cash","material/account-check-outline.svg":"material-account-check-outline","material/account-check.svg":"material-account-check","material/account-child-circle.svg":"material-account-child-circle","material/account-child-outline.svg":"material-account-child-outline","material/account-child.svg":"material-account-child","material/account-circle-outline.svg":"material-account-circle-outline","material/account-circle.svg":"material-account-circle","material/account-clock-outline.svg":"material-account-clock-outline","material/account-clock.svg":"material-account-clock","material/account-cog-outline.svg":"material-account-cog-outline","material/account-cog.svg":"material-account-cog","material/account-convert-outline.svg":"material-account-convert-outline","material/account-convert.svg":"material-account-convert","material/account-cowboy-hat.svg":"material-account-cowboy-hat","material/account-details-outline.svg":"material-account-details-outline","material/account-details.svg":"material-account-details","material/account-edit-outline.svg":"material-account-edit-outline","material/account-edit.svg":"material-account-edit","material/account-group-outline.svg":"material-account-group-outline","material/account-group.svg":"material-account-group","material/account-hard-hat.svg":"material-account-hard-hat","material/account-heart-outline.svg":"material-account-heart-outline","material/account-heart.svg":"material-account-heart","material/account-key-outline.svg":"material-account-key-outline","material/account-key.svg":"material-account-key","material/account-lock-outline.svg":"material-account-lock-outline","material/account-lock.svg":"material-account-lock","material/account-minus-outline.svg":"material-account-minus-outline","material/account-minus.svg":"material-account-minus","material/account-multiple-check-outline.svg":"material-account-multiple-check-outline","material/account-multiple-check.svg":"material-account-multiple-check","material/account-multiple-minus-outline.svg":"material-account-multiple-minus-outline","material/account-multiple-minus.svg":"material-account-multiple-minus","material/account-multiple-outline.svg":"material-account-multiple-outline","material/account-multiple-plus-outline.svg":"material-account-multiple-plus-outline","material/account-multiple-plus.svg":"material-account-multiple-plus","material/account-multiple-remove-outline.svg":"material-account-multiple-remove-outline","material/account-multiple-remove.svg":"material-account-multiple-remove","material/account-multiple.svg":"material-account-multiple","material/account-music-outline.svg":"material-account-music-outline","material/account-music.svg":"material-account-music","material/account-network-outline.svg":"material-account-network-outline","material/account-network.svg":"material-account-network","material/account-off-outline.svg":"material-account-off-outline","material/account-off.svg":"material-account-off","material/account-outline.svg":"material-account-outline","material/account-plus-outline.svg":"material-account-plus-outline","material/account-plus.svg":"material-account-plus","material/account-question-outline.svg":"material-account-question-outline","material/account-question.svg":"material-account-question","material/account-reactivate-outline.svg":"material-account-reactivate-outline","material/account-reactivate.svg":"material-account-reactivate","material/account-remove-outline.svg":"material-account-remove-outline","material/account-remove.svg":"material-account-remove","material/account-search-outline.svg":"material-account-search-outline","material/account-search.svg":"material-account-search","material/account-settings-outline.svg":"material-account-settings-outline","material/account-settings.svg":"material-account-settings","material/account-star-outline.svg":"material-account-star-outline","material/account-star.svg":"material-account-star","material/account-supervisor-circle-outline.svg":"material-account-supervisor-circle-outline","material/account-supervisor-circle.svg":"material-account-supervisor-circle","material/account-supervisor-outline.svg":"material-account-supervisor-outline","material/account-supervisor.svg":"material-account-supervisor","material/account-switch-outline.svg":"material-account-switch-outline","material/account-switch.svg":"material-account-switch","material/account-tie-outline.svg":"material-account-tie-outline","material/account-tie-voice-off-outline.svg":"material-account-tie-voice-off-outline","material/account-tie-voice-off.svg":"material-account-tie-voice-off","material/account-tie-voice-outline.svg":"material-account-tie-voice-outline","material/account-tie-voice.svg":"material-account-tie-voice","material/account-tie.svg":"material-account-tie","material/account-voice.svg":"material-account-voice","material/account.svg":"material-account","material/adjust.svg":"material-adjust","material/adobe-acrobat.svg":"material-adobe-acrobat","material/adobe.svg":"material-adobe","material/air-conditioner.svg":"material-air-conditioner","material/air-filter.svg":"material-air-filter","material/air-horn.svg":"material-air-horn","material/air-humidifier-off.svg":"material-air-humidifier-off","material/air-humidifier.svg":"material-air-humidifier","material/air-purifier.svg":"material-air-purifier","material/airbag.svg":"material-airbag","material/airballoon-outline.svg":"material-airballoon-outline","material/airballoon.svg":"material-airballoon","material/airplane-landing.svg":"material-airplane-landing","material/airplane-off.svg":"material-airplane-off","material/airplane-takeoff.svg":"material-airplane-takeoff","material/airplane.svg":"material-airplane","material/airport.svg":"material-airport","material/alarm-bell.svg":"material-alarm-bell","material/alarm-check.svg":"material-alarm-check","material/alarm-light-off-outline.svg":"material-alarm-light-off-outline","material/alarm-light-off.svg":"material-alarm-light-off","material/alarm-light-outline.svg":"material-alarm-light-outline","material/alarm-light.svg":"material-alarm-light","material/alarm-multiple.svg":"material-alarm-multiple","material/alarm-note-off.svg":"material-alarm-note-off","material/alarm-note.svg":"material-alarm-note","material/alarm-off.svg":"material-alarm-off","material/alarm-panel-outline.svg":"material-alarm-panel-outline","material/alarm-panel.svg":"material-alarm-panel","material/alarm-plus.svg":"material-alarm-plus","material/alarm-snooze.svg":"material-alarm-snooze","material/alarm.svg":"material-alarm","material/album.svg":"material-album","material/alert-box-outline.svg":"material-alert-box-outline","material/alert-box.svg":"material-alert-box","material/alert-circle-check-outline.svg":"material-alert-circle-check-outline","material/alert-circle-check.svg":"material-alert-circle-check","material/alert-circle-outline.svg":"material-alert-circle-outline","material/alert-circle.svg":"material-alert-circle","material/alert-decagram-outline.svg":"material-alert-decagram-outline","material/alert-decagram.svg":"material-alert-decagram","material/alert-minus-outline.svg":"material-alert-minus-outline","material/alert-minus.svg":"material-alert-minus","material/alert-octagon-outline.svg":"material-alert-octagon-outline","material/alert-octagon.svg":"material-alert-octagon","material/alert-octagram-outline.svg":"material-alert-octagram-outline","material/alert-octagram.svg":"material-alert-octagram","material/alert-outline.svg":"material-alert-outline","material/alert-plus-outline.svg":"material-alert-plus-outline","material/alert-plus.svg":"material-alert-plus","material/alert-remove-outline.svg":"material-alert-remove-outline","material/alert-remove.svg":"material-alert-remove","material/alert-rhombus-outline.svg":"material-alert-rhombus-outline","material/alert-rhombus.svg":"material-alert-rhombus","material/alert.svg":"material-alert","material/alien-outline.svg":"material-alien-outline","material/alien.svg":"material-alien","material/align-horizontal-center.svg":"material-align-horizontal-center","material/align-horizontal-left.svg":"material-align-horizontal-left","material/align-horizontal-right.svg":"material-align-horizontal-right","material/align-vertical-bottom.svg":"material-align-vertical-bottom","material/align-vertical-center.svg":"material-align-vertical-center","material/align-vertical-top.svg":"material-align-vertical-top","material/all-inclusive.svg":"material-all-inclusive","material/allergy.svg":"material-allergy","material/alpha-a-box-outline.svg":"material-alpha-a-box-outline","material/alpha-a-box.svg":"material-alpha-a-box","material/alpha-a-circle-outline.svg":"material-alpha-a-circle-outline","material/alpha-a-circle.svg":"material-alpha-a-circle","material/alpha-a.svg":"material-alpha-a","material/alpha-b-box-outline.svg":"material-alpha-b-box-outline","material/alpha-b-box.svg":"material-alpha-b-box","material/alpha-b-circle-outline.svg":"material-alpha-b-circle-outline","material/alpha-b-circle.svg":"material-alpha-b-circle","material/alpha-b.svg":"material-alpha-b","material/alpha-c-box-outline.svg":"material-alpha-c-box-outline","material/alpha-c-box.svg":"material-alpha-c-box","material/alpha-c-circle-outline.svg":"material-alpha-c-circle-outline","material/alpha-c-circle.svg":"material-alpha-c-circle","material/alpha-c.svg":"material-alpha-c","material/alpha-d-box-outline.svg":"material-alpha-d-box-outline","material/alpha-d-box.svg":"material-alpha-d-box","material/alpha-d-circle-outline.svg":"material-alpha-d-circle-outline","material/alpha-d-circle.svg":"material-alpha-d-circle","material/alpha-d.svg":"material-alpha-d","material/alpha-e-box-outline.svg":"material-alpha-e-box-outline","material/alpha-e-box.svg":"material-alpha-e-box","material/alpha-e-circle-outline.svg":"material-alpha-e-circle-outline","material/alpha-e-circle.svg":"material-alpha-e-circle","material/alpha-e.svg":"material-alpha-e","material/alpha-f-box-outline.svg":"material-alpha-f-box-outline","material/alpha-f-box.svg":"material-alpha-f-box","material/alpha-f-circle-outline.svg":"material-alpha-f-circle-outline","material/alpha-f-circle.svg":"material-alpha-f-circle","material/alpha-f.svg":"material-alpha-f","material/alpha-g-box-outline.svg":"material-alpha-g-box-outline","material/alpha-g-box.svg":"material-alpha-g-box","material/alpha-g-circle-outline.svg":"material-alpha-g-circle-outline","material/alpha-g-circle.svg":"material-alpha-g-circle","material/alpha-g.svg":"material-alpha-g","material/alpha-h-box-outline.svg":"material-alpha-h-box-outline","material/alpha-h-box.svg":"material-alpha-h-box","material/alpha-h-circle-outline.svg":"material-alpha-h-circle-outline","material/alpha-h-circle.svg":"material-alpha-h-circle","material/alpha-h.svg":"material-alpha-h","material/alpha-i-box-outline.svg":"material-alpha-i-box-outline","material/alpha-i-box.svg":"material-alpha-i-box","material/alpha-i-circle-outline.svg":"material-alpha-i-circle-outline","material/alpha-i-circle.svg":"material-alpha-i-circle","material/alpha-i.svg":"material-alpha-i","material/alpha-j-box-outline.svg":"material-alpha-j-box-outline","material/alpha-j-box.svg":"material-alpha-j-box","material/alpha-j-circle-outline.svg":"material-alpha-j-circle-outline","material/alpha-j-circle.svg":"material-alpha-j-circle","material/alpha-j.svg":"material-alpha-j","material/alpha-k-box-outline.svg":"material-alpha-k-box-outline","material/alpha-k-box.svg":"material-alpha-k-box","material/alpha-k-circle-outline.svg":"material-alpha-k-circle-outline","material/alpha-k-circle.svg":"material-alpha-k-circle","material/alpha-k.svg":"material-alpha-k","material/alpha-l-box-outline.svg":"material-alpha-l-box-outline","material/alpha-l-box.svg":"material-alpha-l-box","material/alpha-l-circle-outline.svg":"material-alpha-l-circle-outline","material/alpha-l-circle.svg":"material-alpha-l-circle","material/alpha-l.svg":"material-alpha-l","material/alpha-m-box-outline.svg":"material-alpha-m-box-outline","material/alpha-m-box.svg":"material-alpha-m-box","material/alpha-m-circle-outline.svg":"material-alpha-m-circle-outline","material/alpha-m-circle.svg":"material-alpha-m-circle","material/alpha-m.svg":"material-alpha-m","material/alpha-n-box-outline.svg":"material-alpha-n-box-outline","material/alpha-n-box.svg":"material-alpha-n-box","material/alpha-n-circle-outline.svg":"material-alpha-n-circle-outline","material/alpha-n-circle.svg":"material-alpha-n-circle","material/alpha-n.svg":"material-alpha-n","material/alpha-o-box-outline.svg":"material-alpha-o-box-outline","material/alpha-o-box.svg":"material-alpha-o-box","material/alpha-o-circle-outline.svg":"material-alpha-o-circle-outline","material/alpha-o-circle.svg":"material-alpha-o-circle","material/alpha-o.svg":"material-alpha-o","material/alpha-p-box-outline.svg":"material-alpha-p-box-outline","material/alpha-p-box.svg":"material-alpha-p-box","material/alpha-p-circle-outline.svg":"material-alpha-p-circle-outline","material/alpha-p-circle.svg":"material-alpha-p-circle","material/alpha-p.svg":"material-alpha-p","material/alpha-q-box-outline.svg":"material-alpha-q-box-outline","material/alpha-q-box.svg":"material-alpha-q-box","material/alpha-q-circle-outline.svg":"material-alpha-q-circle-outline","material/alpha-q-circle.svg":"material-alpha-q-circle","material/alpha-q.svg":"material-alpha-q","material/alpha-r-box-outline.svg":"material-alpha-r-box-outline","material/alpha-r-box.svg":"material-alpha-r-box","material/alpha-r-circle-outline.svg":"material-alpha-r-circle-outline","material/alpha-r-circle.svg":"material-alpha-r-circle","material/alpha-r.svg":"material-alpha-r","material/alpha-s-box-outline.svg":"material-alpha-s-box-outline","material/alpha-s-box.svg":"material-alpha-s-box","material/alpha-s-circle-outline.svg":"material-alpha-s-circle-outline","material/alpha-s-circle.svg":"material-alpha-s-circle","material/alpha-s.svg":"material-alpha-s","material/alpha-t-box-outline.svg":"material-alpha-t-box-outline","material/alpha-t-box.svg":"material-alpha-t-box","material/alpha-t-circle-outline.svg":"material-alpha-t-circle-outline","material/alpha-t-circle.svg":"material-alpha-t-circle","material/alpha-t.svg":"material-alpha-t","material/alpha-u-box-outline.svg":"material-alpha-u-box-outline","material/alpha-u-box.svg":"material-alpha-u-box","material/alpha-u-circle-outline.svg":"material-alpha-u-circle-outline","material/alpha-u-circle.svg":"material-alpha-u-circle","material/alpha-u.svg":"material-alpha-u","material/alpha-v-box-outline.svg":"material-alpha-v-box-outline","material/alpha-v-box.svg":"material-alpha-v-box","material/alpha-v-circle-outline.svg":"material-alpha-v-circle-outline","material/alpha-v-circle.svg":"material-alpha-v-circle","material/alpha-v.svg":"material-alpha-v","material/alpha-w-box-outline.svg":"material-alpha-w-box-outline","material/alpha-w-box.svg":"material-alpha-w-box","material/alpha-w-circle-outline.svg":"material-alpha-w-circle-outline","material/alpha-w-circle.svg":"material-alpha-w-circle","material/alpha-w.svg":"material-alpha-w","material/alpha-x-box-outline.svg":"material-alpha-x-box-outline","material/alpha-x-box.svg":"material-alpha-x-box","material/alpha-x-circle-outline.svg":"material-alpha-x-circle-outline","material/alpha-x-circle.svg":"material-alpha-x-circle","material/alpha-x.svg":"material-alpha-x","material/alpha-y-box-outline.svg":"material-alpha-y-box-outline","material/alpha-y-box.svg":"material-alpha-y-box","material/alpha-y-circle-outline.svg":"material-alpha-y-circle-outline","material/alpha-y-circle.svg":"material-alpha-y-circle","material/alpha-y.svg":"material-alpha-y","material/alpha-z-box-outline.svg":"material-alpha-z-box-outline","material/alpha-z-box.svg":"material-alpha-z-box","material/alpha-z-circle-outline.svg":"material-alpha-z-circle-outline","material/alpha-z-circle.svg":"material-alpha-z-circle","material/alpha-z.svg":"material-alpha-z","material/alpha.svg":"material-alpha","material/alphabet-aurebesh.svg":"material-alphabet-aurebesh","material/alphabet-cyrillic.svg":"material-alphabet-cyrillic","material/alphabet-greek.svg":"material-alphabet-greek","material/alphabet-latin.svg":"material-alphabet-latin","material/alphabet-piqad.svg":"material-alphabet-piqad","material/alphabet-tengwar.svg":"material-alphabet-tengwar","material/alphabetical-off.svg":"material-alphabetical-off","material/alphabetical-variant-off.svg":"material-alphabetical-variant-off","material/alphabetical-variant.svg":"material-alphabetical-variant","material/alphabetical.svg":"material-alphabetical","material/altimeter.svg":"material-altimeter","material/amazon-alexa.svg":"material-amazon-alexa","material/amazon.svg":"material-amazon","material/ambulance.svg":"material-ambulance","material/ammunition.svg":"material-ammunition","material/ampersand.svg":"material-ampersand","material/amplifier-off.svg":"material-amplifier-off","material/amplifier.svg":"material-amplifier","material/anchor.svg":"material-anchor","material/android-auto.svg":"material-android-auto","material/android-debug-bridge.svg":"material-android-debug-bridge","material/android-messages.svg":"material-android-messages","material/android-studio.svg":"material-android-studio","material/android.svg":"material-android","material/angle-acute.svg":"material-angle-acute","material/angle-obtuse.svg":"material-angle-obtuse","material/angle-right.svg":"material-angle-right","material/angular.svg":"material-angular","material/angularjs.svg":"material-angularjs","material/animation-outline.svg":"material-animation-outline","material/animation-play-outline.svg":"material-animation-play-outline","material/animation-play.svg":"material-animation-play","material/animation.svg":"material-animation","material/ansible.svg":"material-ansible","material/antenna.svg":"material-antenna","material/anvil.svg":"material-anvil","material/apache-kafka.svg":"material-apache-kafka","material/api-off.svg":"material-api-off","material/api.svg":"material-api","material/apple-airplay.svg":"material-apple-airplay","material/apple-finder.svg":"material-apple-finder","material/apple-icloud.svg":"material-apple-icloud","material/apple-ios.svg":"material-apple-ios","material/apple-keyboard-caps.svg":"material-apple-keyboard-caps","material/apple-keyboard-command.svg":"material-apple-keyboard-command","material/apple-keyboard-control.svg":"material-apple-keyboard-control","material/apple-keyboard-option.svg":"material-apple-keyboard-option","material/apple-keyboard-shift.svg":"material-apple-keyboard-shift","material/apple-safari.svg":"material-apple-safari","material/apple.svg":"material-apple","material/application-cog.svg":"material-application-cog","material/application-export.svg":"material-application-export","material/application-import.svg":"material-application-import","material/application-settings.svg":"material-application-settings","material/application.svg":"material-application","material/approximately-equal-box.svg":"material-approximately-equal-box","material/approximately-equal.svg":"material-approximately-equal","material/apps-box.svg":"material-apps-box","material/apps.svg":"material-apps","material/arch.svg":"material-arch","material/archive-alert-outline.svg":"material-archive-alert-outline","material/archive-alert.svg":"material-archive-alert","material/archive-arrow-down-outline.svg":"material-archive-arrow-down-outline","material/archive-arrow-down.svg":"material-archive-arrow-down","material/archive-arrow-up-outline.svg":"material-archive-arrow-up-outline","material/archive-arrow-up.svg":"material-archive-arrow-up","material/archive-outline.svg":"material-archive-outline","material/archive.svg":"material-archive","material/arm-flex-outline.svg":"material-arm-flex-outline","material/arm-flex.svg":"material-arm-flex","material/arrange-bring-forward.svg":"material-arrange-bring-forward","material/arrange-bring-to-front.svg":"material-arrange-bring-to-front","material/arrange-send-backward.svg":"material-arrange-send-backward","material/arrange-send-to-back.svg":"material-arrange-send-to-back","material/arrow-all.svg":"material-arrow-all","material/arrow-bottom-left-bold-outline.svg":"material-arrow-bottom-left-bold-outline","material/arrow-bottom-left-thick.svg":"material-arrow-bottom-left-thick","material/arrow-bottom-left-thin-circle-outline.svg":"material-arrow-bottom-left-thin-circle-outline","material/arrow-bottom-left.svg":"material-arrow-bottom-left","material/arrow-bottom-right-bold-outline.svg":"material-arrow-bottom-right-bold-outline","material/arrow-bottom-right-thick.svg":"material-arrow-bottom-right-thick","material/arrow-bottom-right-thin-circle-outline.svg":"material-arrow-bottom-right-thin-circle-outline","material/arrow-bottom-right.svg":"material-arrow-bottom-right","material/arrow-collapse-all.svg":"material-arrow-collapse-all","material/arrow-collapse-down.svg":"material-arrow-collapse-down","material/arrow-collapse-horizontal.svg":"material-arrow-collapse-horizontal","material/arrow-collapse-left.svg":"material-arrow-collapse-left","material/arrow-collapse-right.svg":"material-arrow-collapse-right","material/arrow-collapse-up.svg":"material-arrow-collapse-up","material/arrow-collapse-vertical.svg":"material-arrow-collapse-vertical","material/arrow-collapse.svg":"material-arrow-collapse","material/arrow-decision-auto-outline.svg":"material-arrow-decision-auto-outline","material/arrow-decision-auto.svg":"material-arrow-decision-auto","material/arrow-decision-outline.svg":"material-arrow-decision-outline","material/arrow-decision.svg":"material-arrow-decision","material/arrow-down-bold-box-outline.svg":"material-arrow-down-bold-box-outline","material/arrow-down-bold-box.svg":"material-arrow-down-bold-box","material/arrow-down-bold-circle-outline.svg":"material-arrow-down-bold-circle-outline","material/arrow-down-bold-circle.svg":"material-arrow-down-bold-circle","material/arrow-down-bold-hexagon-outline.svg":"material-arrow-down-bold-hexagon-outline","material/arrow-down-bold-outline.svg":"material-arrow-down-bold-outline","material/arrow-down-bold.svg":"material-arrow-down-bold","material/arrow-down-box.svg":"material-arrow-down-box","material/arrow-down-circle-outline.svg":"material-arrow-down-circle-outline","material/arrow-down-circle.svg":"material-arrow-down-circle","material/arrow-down-drop-circle-outline.svg":"material-arrow-down-drop-circle-outline","material/arrow-down-drop-circle.svg":"material-arrow-down-drop-circle","material/arrow-down-thick.svg":"material-arrow-down-thick","material/arrow-down-thin-circle-outline.svg":"material-arrow-down-thin-circle-outline","material/arrow-down.svg":"material-arrow-down","material/arrow-expand-all.svg":"material-arrow-expand-all","material/arrow-expand-down.svg":"material-arrow-expand-down","material/arrow-expand-horizontal.svg":"material-arrow-expand-horizontal","material/arrow-expand-left.svg":"material-arrow-expand-left","material/arrow-expand-right.svg":"material-arrow-expand-right","material/arrow-expand-up.svg":"material-arrow-expand-up","material/arrow-expand-vertical.svg":"material-arrow-expand-vertical","material/arrow-expand.svg":"material-arrow-expand","material/arrow-horizontal-lock.svg":"material-arrow-horizontal-lock","material/arrow-left-bold-box-outline.svg":"material-arrow-left-bold-box-outline","material/arrow-left-bold-box.svg":"material-arrow-left-bold-box","material/arrow-left-bold-circle-outline.svg":"material-arrow-left-bold-circle-outline","material/arrow-left-bold-circle.svg":"material-arrow-left-bold-circle","material/arrow-left-bold-hexagon-outline.svg":"material-arrow-left-bold-hexagon-outline","material/arrow-left-bold-outline.svg":"material-arrow-left-bold-outline","material/arrow-left-bold.svg":"material-arrow-left-bold","material/arrow-left-box.svg":"material-arrow-left-box","material/arrow-left-circle-outline.svg":"material-arrow-left-circle-outline","material/arrow-left-circle.svg":"material-arrow-left-circle","material/arrow-left-drop-circle-outline.svg":"material-arrow-left-drop-circle-outline","material/arrow-left-drop-circle.svg":"material-arrow-left-drop-circle","material/arrow-left-right-bold-outline.svg":"material-arrow-left-right-bold-outline","material/arrow-left-right-bold.svg":"material-arrow-left-right-bold","material/arrow-left-right.svg":"material-arrow-left-right","material/arrow-left-thick.svg":"material-arrow-left-thick","material/arrow-left-thin-circle-outline.svg":"material-arrow-left-thin-circle-outline","material/arrow-left.svg":"material-arrow-left","material/arrow-right-bold-box-outline.svg":"material-arrow-right-bold-box-outline","material/arrow-right-bold-box.svg":"material-arrow-right-bold-box","material/arrow-right-bold-circle-outline.svg":"material-arrow-right-bold-circle-outline","material/arrow-right-bold-circle.svg":"material-arrow-right-bold-circle","material/arrow-right-bold-hexagon-outline.svg":"material-arrow-right-bold-hexagon-outline","material/arrow-right-bold-outline.svg":"material-arrow-right-bold-outline","material/arrow-right-bold.svg":"material-arrow-right-bold","material/arrow-right-box.svg":"material-arrow-right-box","material/arrow-right-circle-outline.svg":"material-arrow-right-circle-outline","material/arrow-right-circle.svg":"material-arrow-right-circle","material/arrow-right-drop-circle-outline.svg":"material-arrow-right-drop-circle-outline","material/arrow-right-drop-circle.svg":"material-arrow-right-drop-circle","material/arrow-right-thick.svg":"material-arrow-right-thick","material/arrow-right-thin-circle-outline.svg":"material-arrow-right-thin-circle-outline","material/arrow-right.svg":"material-arrow-right","material/arrow-split-horizontal.svg":"material-arrow-split-horizontal","material/arrow-split-vertical.svg":"material-arrow-split-vertical","material/arrow-top-left-bold-outline.svg":"material-arrow-top-left-bold-outline","material/arrow-top-left-bottom-right-bold.svg":"material-arrow-top-left-bottom-right-bold","material/arrow-top-left-bottom-right.svg":"material-arrow-top-left-bottom-right","material/arrow-top-left-thick.svg":"material-arrow-top-left-thick","material/arrow-top-left-thin-circle-outline.svg":"material-arrow-top-left-thin-circle-outline","material/arrow-top-left.svg":"material-arrow-top-left","material/arrow-top-right-bold-outline.svg":"material-arrow-top-right-bold-outline","material/arrow-top-right-bottom-left-bold.svg":"material-arrow-top-right-bottom-left-bold","material/arrow-top-right-bottom-left.svg":"material-arrow-top-right-bottom-left","material/arrow-top-right-thick.svg":"material-arrow-top-right-thick","material/arrow-top-right-thin-circle-outline.svg":"material-arrow-top-right-thin-circle-outline","material/arrow-top-right.svg":"material-arrow-top-right","material/arrow-up-bold-box-outline.svg":"material-arrow-up-bold-box-outline","material/arrow-up-bold-box.svg":"material-arrow-up-bold-box","material/arrow-up-bold-circle-outline.svg":"material-arrow-up-bold-circle-outline","material/arrow-up-bold-circle.svg":"material-arrow-up-bold-circle","material/arrow-up-bold-hexagon-outline.svg":"material-arrow-up-bold-hexagon-outline","material/arrow-up-bold-outline.svg":"material-arrow-up-bold-outline","material/arrow-up-bold.svg":"material-arrow-up-bold","material/arrow-up-box.svg":"material-arrow-up-box","material/arrow-up-circle-outline.svg":"material-arrow-up-circle-outline","material/arrow-up-circle.svg":"material-arrow-up-circle","material/arrow-up-down-bold-outline.svg":"material-arrow-up-down-bold-outline","material/arrow-up-down-bold.svg":"material-arrow-up-down-bold","material/arrow-up-down.svg":"material-arrow-up-down","material/arrow-up-drop-circle-outline.svg":"material-arrow-up-drop-circle-outline","material/arrow-up-drop-circle.svg":"material-arrow-up-drop-circle","material/arrow-up-thick.svg":"material-arrow-up-thick","material/arrow-up-thin-circle-outline.svg":"material-arrow-up-thin-circle-outline","material/arrow-up.svg":"material-arrow-up","material/arrow-vertical-lock.svg":"material-arrow-vertical-lock","material/artstation.svg":"material-artstation","material/aspect-ratio.svg":"material-aspect-ratio","material/assistant.svg":"material-assistant","material/asterisk.svg":"material-asterisk","material/at.svg":"material-at","material/atlassian.svg":"material-atlassian","material/atm.svg":"material-atm","material/atom-variant.svg":"material-atom-variant","material/atom.svg":"material-atom","material/attachment.svg":"material-attachment","material/audio-video-off.svg":"material-audio-video-off","material/audio-video.svg":"material-audio-video","material/augmented-reality.svg":"material-augmented-reality","material/auto-download.svg":"material-auto-download","material/auto-fix.svg":"material-auto-fix","material/auto-upload.svg":"material-auto-upload","material/autorenew.svg":"material-autorenew","material/av-timer.svg":"material-av-timer","material/aws.svg":"material-aws","material/axe.svg":"material-axe","material/axis-arrow-info.svg":"material-axis-arrow-info","material/axis-arrow-lock.svg":"material-axis-arrow-lock","material/axis-arrow.svg":"material-axis-arrow","material/axis-lock.svg":"material-axis-lock","material/axis-x-arrow-lock.svg":"material-axis-x-arrow-lock","material/axis-x-arrow.svg":"material-axis-x-arrow","material/axis-x-rotate-clockwise.svg":"material-axis-x-rotate-clockwise","material/axis-x-rotate-counterclockwise.svg":"material-axis-x-rotate-counterclockwise","material/axis-x-y-arrow-lock.svg":"material-axis-x-y-arrow-lock","material/axis-y-arrow-lock.svg":"material-axis-y-arrow-lock","material/axis-y-arrow.svg":"material-axis-y-arrow","material/axis-y-rotate-clockwise.svg":"material-axis-y-rotate-clockwise","material/axis-y-rotate-counterclockwise.svg":"material-axis-y-rotate-counterclockwise","material/axis-z-arrow-lock.svg":"material-axis-z-arrow-lock","material/axis-z-arrow.svg":"material-axis-z-arrow","material/axis-z-rotate-clockwise.svg":"material-axis-z-rotate-clockwise","material/axis-z-rotate-counterclockwise.svg":"material-axis-z-rotate-counterclockwise","material/axis.svg":"material-axis","material/babel.svg":"material-babel","material/baby-bottle-outline.svg":"material-baby-bottle-outline","material/baby-bottle.svg":"material-baby-bottle","material/baby-buggy.svg":"material-baby-buggy","material/baby-carriage-off.svg":"material-baby-carriage-off","material/baby-carriage.svg":"material-baby-carriage","material/baby-face-outline.svg":"material-baby-face-outline","material/baby-face.svg":"material-baby-face","material/baby.svg":"material-baby","material/backburger.svg":"material-backburger","material/backspace-outline.svg":"material-backspace-outline","material/backspace-reverse-outline.svg":"material-backspace-reverse-outline","material/backspace-reverse.svg":"material-backspace-reverse","material/backspace.svg":"material-backspace","material/backup-restore.svg":"material-backup-restore","material/bacteria-outline.svg":"material-bacteria-outline","material/bacteria.svg":"material-bacteria","material/badge-account-alert-outline.svg":"material-badge-account-alert-outline","material/badge-account-alert.svg":"material-badge-account-alert","material/badge-account-horizontal-outline.svg":"material-badge-account-horizontal-outline","material/badge-account-horizontal.svg":"material-badge-account-horizontal","material/badge-account-outline.svg":"material-badge-account-outline","material/badge-account.svg":"material-badge-account","material/badminton.svg":"material-badminton","material/bag-carry-on-check.svg":"material-bag-carry-on-check","material/bag-carry-on-off.svg":"material-bag-carry-on-off","material/bag-carry-on.svg":"material-bag-carry-on","material/bag-checked.svg":"material-bag-checked","material/bag-personal-off-outline.svg":"material-bag-personal-off-outline","material/bag-personal-off.svg":"material-bag-personal-off","material/bag-personal-outline.svg":"material-bag-personal-outline","material/bag-personal.svg":"material-bag-personal","material/bag-suitcase-off-outline.svg":"material-bag-suitcase-off-outline","material/bag-suitcase-off.svg":"material-bag-suitcase-off","material/bag-suitcase-outline.svg":"material-bag-suitcase-outline","material/bag-suitcase.svg":"material-bag-suitcase","material/baguette.svg":"material-baguette","material/balloon.svg":"material-balloon","material/ballot-outline.svg":"material-ballot-outline","material/ballot-recount-outline.svg":"material-ballot-recount-outline","material/ballot-recount.svg":"material-ballot-recount","material/ballot.svg":"material-ballot","material/bandage.svg":"material-bandage","material/bandcamp.svg":"material-bandcamp","material/bank-check.svg":"material-bank-check","material/bank-minus.svg":"material-bank-minus","material/bank-off-outline.svg":"material-bank-off-outline","material/bank-off.svg":"material-bank-off","material/bank-outline.svg":"material-bank-outline","material/bank-plus.svg":"material-bank-plus","material/bank-remove.svg":"material-bank-remove","material/bank-transfer-in.svg":"material-bank-transfer-in","material/bank-transfer-out.svg":"material-bank-transfer-out","material/bank-transfer.svg":"material-bank-transfer","material/bank.svg":"material-bank","material/barcode-off.svg":"material-barcode-off","material/barcode-scan.svg":"material-barcode-scan","material/barcode.svg":"material-barcode","material/barley-off.svg":"material-barley-off","material/barley.svg":"material-barley","material/barn.svg":"material-barn","material/barrel.svg":"material-barrel","material/baseball-bat.svg":"material-baseball-bat","material/baseball-diamond-outline.svg":"material-baseball-diamond-outline","material/baseball-diamond.svg":"material-baseball-diamond","material/baseball.svg":"material-baseball","material/bash.svg":"material-bash","material/basket-fill.svg":"material-basket-fill","material/basket-minus-outline.svg":"material-basket-minus-outline","material/basket-minus.svg":"material-basket-minus","material/basket-off-outline.svg":"material-basket-off-outline","material/basket-off.svg":"material-basket-off","material/basket-outline.svg":"material-basket-outline","material/basket-plus-outline.svg":"material-basket-plus-outline","material/basket-plus.svg":"material-basket-plus","material/basket-remove-outline.svg":"material-basket-remove-outline","material/basket-remove.svg":"material-basket-remove","material/basket-unfill.svg":"material-basket-unfill","material/basket.svg":"material-basket","material/basketball-hoop-outline.svg":"material-basketball-hoop-outline","material/basketball-hoop.svg":"material-basketball-hoop","material/basketball.svg":"material-basketball","material/bat.svg":"material-bat","material/battery-10-bluetooth.svg":"material-battery-10-bluetooth","material/battery-10.svg":"material-battery-10","material/battery-20-bluetooth.svg":"material-battery-20-bluetooth","material/battery-20.svg":"material-battery-20","material/battery-30-bluetooth.svg":"material-battery-30-bluetooth","material/battery-30.svg":"material-battery-30","material/battery-40-bluetooth.svg":"material-battery-40-bluetooth","material/battery-40.svg":"material-battery-40","material/battery-50-bluetooth.svg":"material-battery-50-bluetooth","material/battery-50.svg":"material-battery-50","material/battery-60-bluetooth.svg":"material-battery-60-bluetooth","material/battery-60.svg":"material-battery-60","material/battery-70-bluetooth.svg":"material-battery-70-bluetooth","material/battery-70.svg":"material-battery-70","material/battery-80-bluetooth.svg":"material-battery-80-bluetooth","material/battery-80.svg":"material-battery-80","material/battery-90-bluetooth.svg":"material-battery-90-bluetooth","material/battery-90.svg":"material-battery-90","material/battery-alert-bluetooth.svg":"material-battery-alert-bluetooth","material/battery-alert-variant-outline.svg":"material-battery-alert-variant-outline","material/battery-alert-variant.svg":"material-battery-alert-variant","material/battery-alert.svg":"material-battery-alert","material/battery-bluetooth-variant.svg":"material-battery-bluetooth-variant","material/battery-bluetooth.svg":"material-battery-bluetooth","material/battery-charging-10.svg":"material-battery-charging-10","material/battery-charging-100.svg":"material-battery-charging-100","material/battery-charging-20.svg":"material-battery-charging-20","material/battery-charging-30.svg":"material-battery-charging-30","material/battery-charging-40.svg":"material-battery-charging-40","material/battery-charging-50.svg":"material-battery-charging-50","material/battery-charging-60.svg":"material-battery-charging-60","material/battery-charging-70.svg":"material-battery-charging-70","material/battery-charging-80.svg":"material-battery-charging-80","material/battery-charging-90.svg":"material-battery-charging-90","material/battery-charging-high.svg":"material-battery-charging-high","material/battery-charging-low.svg":"material-battery-charging-low","material/battery-charging-medium.svg":"material-battery-charging-medium","material/battery-charging-outline.svg":"material-battery-charging-outline","material/battery-charging-wireless-10.svg":"material-battery-charging-wireless-10","material/battery-charging-wireless-20.svg":"material-battery-charging-wireless-20","material/battery-charging-wireless-30.svg":"material-battery-charging-wireless-30","material/battery-charging-wireless-40.svg":"material-battery-charging-wireless-40","material/battery-charging-wireless-50.svg":"material-battery-charging-wireless-50","material/battery-charging-wireless-60.svg":"material-battery-charging-wireless-60","material/battery-charging-wireless-70.svg":"material-battery-charging-wireless-70","material/battery-charging-wireless-80.svg":"material-battery-charging-wireless-80","material/battery-charging-wireless-90.svg":"material-battery-charging-wireless-90","material/battery-charging-wireless-alert.svg":"material-battery-charging-wireless-alert","material/battery-charging-wireless-outline.svg":"material-battery-charging-wireless-outline","material/battery-charging-wireless.svg":"material-battery-charging-wireless","material/battery-charging.svg":"material-battery-charging","material/battery-heart-outline.svg":"material-battery-heart-outline","material/battery-heart-variant.svg":"material-battery-heart-variant","material/battery-heart.svg":"material-battery-heart","material/battery-high.svg":"material-battery-high","material/battery-low.svg":"material-battery-low","material/battery-medium.svg":"material-battery-medium","material/battery-minus.svg":"material-battery-minus","material/battery-negative.svg":"material-battery-negative","material/battery-off-outline.svg":"material-battery-off-outline","material/battery-off.svg":"material-battery-off","material/battery-outline.svg":"material-battery-outline","material/battery-plus.svg":"material-battery-plus","material/battery-positive.svg":"material-battery-positive","material/battery-unknown-bluetooth.svg":"material-battery-unknown-bluetooth","material/battery-unknown.svg":"material-battery-unknown","material/battery.svg":"material-battery","material/battlenet.svg":"material-battlenet","material/beach.svg":"material-beach","material/beaker-alert-outline.svg":"material-beaker-alert-outline","material/beaker-alert.svg":"material-beaker-alert","material/beaker-check-outline.svg":"material-beaker-check-outline","material/beaker-check.svg":"material-beaker-check","material/beaker-minus-outline.svg":"material-beaker-minus-outline","material/beaker-minus.svg":"material-beaker-minus","material/beaker-outline.svg":"material-beaker-outline","material/beaker-plus-outline.svg":"material-beaker-plus-outline","material/beaker-plus.svg":"material-beaker-plus","material/beaker-question-outline.svg":"material-beaker-question-outline","material/beaker-question.svg":"material-beaker-question","material/beaker-remove-outline.svg":"material-beaker-remove-outline","material/beaker-remove.svg":"material-beaker-remove","material/beaker.svg":"material-beaker","material/bed-double-outline.svg":"material-bed-double-outline","material/bed-double.svg":"material-bed-double","material/bed-empty.svg":"material-bed-empty","material/bed-king-outline.svg":"material-bed-king-outline","material/bed-king.svg":"material-bed-king","material/bed-outline.svg":"material-bed-outline","material/bed-queen-outline.svg":"material-bed-queen-outline","material/bed-queen.svg":"material-bed-queen","material/bed-single-outline.svg":"material-bed-single-outline","material/bed-single.svg":"material-bed-single","material/bed.svg":"material-bed","material/bee-flower.svg":"material-bee-flower","material/bee.svg":"material-bee","material/beehive-off-outline.svg":"material-beehive-off-outline","material/beehive-outline.svg":"material-beehive-outline","material/beekeeper.svg":"material-beekeeper","material/beer-outline.svg":"material-beer-outline","material/beer.svg":"material-beer","material/bell-alert-outline.svg":"material-bell-alert-outline","material/bell-alert.svg":"material-bell-alert","material/bell-cancel-outline.svg":"material-bell-cancel-outline","material/bell-cancel.svg":"material-bell-cancel","material/bell-check-outline.svg":"material-bell-check-outline","material/bell-check.svg":"material-bell-check","material/bell-circle-outline.svg":"material-bell-circle-outline","material/bell-circle.svg":"material-bell-circle","material/bell-minus-outline.svg":"material-bell-minus-outline","material/bell-minus.svg":"material-bell-minus","material/bell-off-outline.svg":"material-bell-off-outline","material/bell-off.svg":"material-bell-off","material/bell-outline.svg":"material-bell-outline","material/bell-plus-outline.svg":"material-bell-plus-outline","material/bell-plus.svg":"material-bell-plus","material/bell-remove-outline.svg":"material-bell-remove-outline","material/bell-remove.svg":"material-bell-remove","material/bell-ring-outline.svg":"material-bell-ring-outline","material/bell-ring.svg":"material-bell-ring","material/bell-sleep-outline.svg":"material-bell-sleep-outline","material/bell-sleep.svg":"material-bell-sleep","material/bell.svg":"material-bell","material/beta.svg":"material-beta","material/betamax.svg":"material-betamax","material/biathlon.svg":"material-biathlon","material/bicycle-basket.svg":"material-bicycle-basket","material/bicycle-electric.svg":"material-bicycle-electric","material/bicycle-penny-farthing.svg":"material-bicycle-penny-farthing","material/bicycle.svg":"material-bicycle","material/bike-fast.svg":"material-bike-fast","material/bike.svg":"material-bike","material/billboard.svg":"material-billboard","material/billiards-rack.svg":"material-billiards-rack","material/billiards.svg":"material-billiards","material/binoculars.svg":"material-binoculars","material/bio.svg":"material-bio","material/biohazard.svg":"material-biohazard","material/bird.svg":"material-bird","material/bitbucket.svg":"material-bitbucket","material/bitcoin.svg":"material-bitcoin","material/black-mesa.svg":"material-black-mesa","material/blender-software.svg":"material-blender-software","material/blender.svg":"material-blender","material/blinds-open.svg":"material-blinds-open","material/blinds.svg":"material-blinds","material/block-helper.svg":"material-block-helper","material/blogger.svg":"material-blogger","material/blood-bag.svg":"material-blood-bag","material/bluetooth-audio.svg":"material-bluetooth-audio","material/bluetooth-connect.svg":"material-bluetooth-connect","material/bluetooth-off.svg":"material-bluetooth-off","material/bluetooth-settings.svg":"material-bluetooth-settings","material/bluetooth-transfer.svg":"material-bluetooth-transfer","material/bluetooth.svg":"material-bluetooth","material/blur-linear.svg":"material-blur-linear","material/blur-off.svg":"material-blur-off","material/blur-radial.svg":"material-blur-radial","material/blur.svg":"material-blur","material/bolnisi-cross.svg":"material-bolnisi-cross","material/bolt.svg":"material-bolt","material/bomb-off.svg":"material-bomb-off","material/bomb.svg":"material-bomb","material/bone.svg":"material-bone","material/book-account-outline.svg":"material-book-account-outline","material/book-account.svg":"material-book-account","material/book-alert-outline.svg":"material-book-alert-outline","material/book-alert.svg":"material-book-alert","material/book-alphabet.svg":"material-book-alphabet","material/book-arrow-down-outline.svg":"material-book-arrow-down-outline","material/book-arrow-down.svg":"material-book-arrow-down","material/book-arrow-left-outline.svg":"material-book-arrow-left-outline","material/book-arrow-left.svg":"material-book-arrow-left","material/book-arrow-right-outline.svg":"material-book-arrow-right-outline","material/book-arrow-right.svg":"material-book-arrow-right","material/book-arrow-up-outline.svg":"material-book-arrow-up-outline","material/book-arrow-up.svg":"material-book-arrow-up","material/book-cancel-outline.svg":"material-book-cancel-outline","material/book-cancel.svg":"material-book-cancel","material/book-check-outline.svg":"material-book-check-outline","material/book-check.svg":"material-book-check","material/book-clock-outline.svg":"material-book-clock-outline","material/book-clock.svg":"material-book-clock","material/book-cog-outline.svg":"material-book-cog-outline","material/book-cog.svg":"material-book-cog","material/book-cross.svg":"material-book-cross","material/book-edit-outline.svg":"material-book-edit-outline","material/book-edit.svg":"material-book-edit","material/book-education-outline.svg":"material-book-education-outline","material/book-education.svg":"material-book-education","material/book-information-variant.svg":"material-book-information-variant","material/book-lock-open-outline.svg":"material-book-lock-open-outline","material/book-lock-open.svg":"material-book-lock-open","material/book-lock-outline.svg":"material-book-lock-outline","material/book-lock.svg":"material-book-lock","material/book-marker-outline.svg":"material-book-marker-outline","material/book-marker.svg":"material-book-marker","material/book-minus-multiple-outline.svg":"material-book-minus-multiple-outline","material/book-minus-multiple.svg":"material-book-minus-multiple","material/book-minus-outline.svg":"material-book-minus-outline","material/book-minus.svg":"material-book-minus","material/book-multiple-outline.svg":"material-book-multiple-outline","material/book-multiple.svg":"material-book-multiple","material/book-music-outline.svg":"material-book-music-outline","material/book-music.svg":"material-book-music","material/book-off-outline.svg":"material-book-off-outline","material/book-off.svg":"material-book-off","material/book-open-blank-variant.svg":"material-book-open-blank-variant","material/book-open-outline.svg":"material-book-open-outline","material/book-open-page-variant-outline.svg":"material-book-open-page-variant-outline","material/book-open-page-variant.svg":"material-book-open-page-variant","material/book-open-variant.svg":"material-book-open-variant","material/book-open.svg":"material-book-open","material/book-outline.svg":"material-book-outline","material/book-play-outline.svg":"material-book-play-outline","material/book-play.svg":"material-book-play","material/book-plus-multiple-outline.svg":"material-book-plus-multiple-outline","material/book-plus-multiple.svg":"material-book-plus-multiple","material/book-plus-outline.svg":"material-book-plus-outline","material/book-plus.svg":"material-book-plus","material/book-refresh-outline.svg":"material-book-refresh-outline","material/book-refresh.svg":"material-book-refresh","material/book-remove-multiple-outline.svg":"material-book-remove-multiple-outline","material/book-remove-multiple.svg":"material-book-remove-multiple","material/book-remove-outline.svg":"material-book-remove-outline","material/book-remove.svg":"material-book-remove","material/book-search-outline.svg":"material-book-search-outline","material/book-search.svg":"material-book-search","material/book-settings-outline.svg":"material-book-settings-outline","material/book-settings.svg":"material-book-settings","material/book-sync-outline.svg":"material-book-sync-outline","material/book-sync.svg":"material-book-sync","material/book-variant-multiple.svg":"material-book-variant-multiple","material/book-variant.svg":"material-book-variant","material/book.svg":"material-book","material/bookmark-check-outline.svg":"material-bookmark-check-outline","material/bookmark-check.svg":"material-bookmark-check","material/bookmark-minus-outline.svg":"material-bookmark-minus-outline","material/bookmark-minus.svg":"material-bookmark-minus","material/bookmark-multiple-outline.svg":"material-bookmark-multiple-outline","material/bookmark-multiple.svg":"material-bookmark-multiple","material/bookmark-music-outline.svg":"material-bookmark-music-outline","material/bookmark-music.svg":"material-bookmark-music","material/bookmark-off-outline.svg":"material-bookmark-off-outline","material/bookmark-off.svg":"material-bookmark-off","material/bookmark-outline.svg":"material-bookmark-outline","material/bookmark-plus-outline.svg":"material-bookmark-plus-outline","material/bookmark-plus.svg":"material-bookmark-plus","material/bookmark-remove-outline.svg":"material-bookmark-remove-outline","material/bookmark-remove.svg":"material-bookmark-remove","material/bookmark.svg":"material-bookmark","material/bookshelf.svg":"material-bookshelf","material/boom-gate-alert-outline.svg":"material-boom-gate-alert-outline","material/boom-gate-alert.svg":"material-boom-gate-alert","material/boom-gate-down-outline.svg":"material-boom-gate-down-outline","material/boom-gate-down.svg":"material-boom-gate-down","material/boom-gate-outline.svg":"material-boom-gate-outline","material/boom-gate-up-outline.svg":"material-boom-gate-up-outline","material/boom-gate-up.svg":"material-boom-gate-up","material/boom-gate.svg":"material-boom-gate","material/boombox.svg":"material-boombox","material/boomerang.svg":"material-boomerang","material/bootstrap.svg":"material-bootstrap","material/border-all-variant.svg":"material-border-all-variant","material/border-all.svg":"material-border-all","material/border-bottom-variant.svg":"material-border-bottom-variant","material/border-bottom.svg":"material-border-bottom","material/border-color.svg":"material-border-color","material/border-horizontal.svg":"material-border-horizontal","material/border-inside.svg":"material-border-inside","material/border-left-variant.svg":"material-border-left-variant","material/border-left.svg":"material-border-left","material/border-none-variant.svg":"material-border-none-variant","material/border-none.svg":"material-border-none","material/border-outside.svg":"material-border-outside","material/border-right-variant.svg":"material-border-right-variant","material/border-right.svg":"material-border-right","material/border-style.svg":"material-border-style","material/border-top-variant.svg":"material-border-top-variant","material/border-top.svg":"material-border-top","material/border-vertical.svg":"material-border-vertical","material/bottle-soda-classic-outline.svg":"material-bottle-soda-classic-outline","material/bottle-soda-classic.svg":"material-bottle-soda-classic","material/bottle-soda-outline.svg":"material-bottle-soda-outline","material/bottle-soda.svg":"material-bottle-soda","material/bottle-tonic-outline.svg":"material-bottle-tonic-outline","material/bottle-tonic-plus-outline.svg":"material-bottle-tonic-plus-outline","material/bottle-tonic-plus.svg":"material-bottle-tonic-plus","material/bottle-tonic-skull-outline.svg":"material-bottle-tonic-skull-outline","material/bottle-tonic-skull.svg":"material-bottle-tonic-skull","material/bottle-tonic.svg":"material-bottle-tonic","material/bottle-wine-outline.svg":"material-bottle-wine-outline","material/bottle-wine.svg":"material-bottle-wine","material/bow-tie.svg":"material-bow-tie","material/bowl-mix-outline.svg":"material-bowl-mix-outline","material/bowl-mix.svg":"material-bowl-mix","material/bowl-outline.svg":"material-bowl-outline","material/bowl.svg":"material-bowl","material/bowling.svg":"material-bowling","material/box-cutter-off.svg":"material-box-cutter-off","material/box-cutter.svg":"material-box-cutter","material/box-shadow.svg":"material-box-shadow","material/box.svg":"material-box","material/boxing-glove.svg":"material-boxing-glove","material/braille.svg":"material-braille","material/brain.svg":"material-brain","material/bread-slice-outline.svg":"material-bread-slice-outline","material/bread-slice.svg":"material-bread-slice","material/bridge.svg":"material-bridge","material/briefcase-account-outline.svg":"material-briefcase-account-outline","material/briefcase-account.svg":"material-briefcase-account","material/briefcase-check-outline.svg":"material-briefcase-check-outline","material/briefcase-check.svg":"material-briefcase-check","material/briefcase-clock-outline.svg":"material-briefcase-clock-outline","material/briefcase-clock.svg":"material-briefcase-clock","material/briefcase-download-outline.svg":"material-briefcase-download-outline","material/briefcase-download.svg":"material-briefcase-download","material/briefcase-edit-outline.svg":"material-briefcase-edit-outline","material/briefcase-edit.svg":"material-briefcase-edit","material/briefcase-minus-outline.svg":"material-briefcase-minus-outline","material/briefcase-minus.svg":"material-briefcase-minus","material/briefcase-off-outline.svg":"material-briefcase-off-outline","material/briefcase-off.svg":"material-briefcase-off","material/briefcase-outline.svg":"material-briefcase-outline","material/briefcase-plus-outline.svg":"material-briefcase-plus-outline","material/briefcase-plus.svg":"material-briefcase-plus","material/briefcase-remove-outline.svg":"material-briefcase-remove-outline","material/briefcase-remove.svg":"material-briefcase-remove","material/briefcase-search-outline.svg":"material-briefcase-search-outline","material/briefcase-search.svg":"material-briefcase-search","material/briefcase-upload-outline.svg":"material-briefcase-upload-outline","material/briefcase-upload.svg":"material-briefcase-upload","material/briefcase-variant-off-outline.svg":"material-briefcase-variant-off-outline","material/briefcase-variant-off.svg":"material-briefcase-variant-off","material/briefcase-variant-outline.svg":"material-briefcase-variant-outline","material/briefcase-variant.svg":"material-briefcase-variant","material/briefcase.svg":"material-briefcase","material/brightness-1.svg":"material-brightness-1","material/brightness-2.svg":"material-brightness-2","material/brightness-3.svg":"material-brightness-3","material/brightness-4.svg":"material-brightness-4","material/brightness-5.svg":"material-brightness-5","material/brightness-6.svg":"material-brightness-6","material/brightness-7.svg":"material-brightness-7","material/brightness-auto.svg":"material-brightness-auto","material/brightness-percent.svg":"material-brightness-percent","material/broadcast-off.svg":"material-broadcast-off","material/broadcast.svg":"material-broadcast","material/broom.svg":"material-broom","material/brush.svg":"material-brush","material/bucket-outline.svg":"material-bucket-outline","material/bucket.svg":"material-bucket","material/buddhism.svg":"material-buddhism","material/buffer.svg":"material-buffer","material/buffet.svg":"material-buffet","material/bug-check-outline.svg":"material-bug-check-outline","material/bug-check.svg":"material-bug-check","material/bug-outline.svg":"material-bug-outline","material/bug.svg":"material-bug","material/bugle.svg":"material-bugle","material/bulldozer.svg":"material-bulldozer","material/bullet.svg":"material-bullet","material/bulletin-board.svg":"material-bulletin-board","material/bullhorn-outline.svg":"material-bullhorn-outline","material/bullhorn.svg":"material-bullhorn","material/bullseye-arrow.svg":"material-bullseye-arrow","material/bullseye.svg":"material-bullseye","material/bulma.svg":"material-bulma","material/bunk-bed-outline.svg":"material-bunk-bed-outline","material/bunk-bed.svg":"material-bunk-bed","material/bus-alert.svg":"material-bus-alert","material/bus-articulated-end.svg":"material-bus-articulated-end","material/bus-articulated-front.svg":"material-bus-articulated-front","material/bus-clock.svg":"material-bus-clock","material/bus-double-decker.svg":"material-bus-double-decker","material/bus-marker.svg":"material-bus-marker","material/bus-multiple.svg":"material-bus-multiple","material/bus-school.svg":"material-bus-school","material/bus-side.svg":"material-bus-side","material/bus-stop-covered.svg":"material-bus-stop-covered","material/bus-stop-uncovered.svg":"material-bus-stop-uncovered","material/bus-stop.svg":"material-bus-stop","material/bus.svg":"material-bus","material/butterfly-outline.svg":"material-butterfly-outline","material/butterfly.svg":"material-butterfly","material/cable-data.svg":"material-cable-data","material/cached.svg":"material-cached","material/cactus.svg":"material-cactus","material/cake-layered.svg":"material-cake-layered","material/cake-variant.svg":"material-cake-variant","material/cake.svg":"material-cake","material/calculator-variant-outline.svg":"material-calculator-variant-outline","material/calculator-variant.svg":"material-calculator-variant","material/calculator.svg":"material-calculator","material/calendar-account-outline.svg":"material-calendar-account-outline","material/calendar-account.svg":"material-calendar-account","material/calendar-alert.svg":"material-calendar-alert","material/calendar-arrow-left.svg":"material-calendar-arrow-left","material/calendar-arrow-right.svg":"material-calendar-arrow-right","material/calendar-blank-multiple.svg":"material-calendar-blank-multiple","material/calendar-blank-outline.svg":"material-calendar-blank-outline","material/calendar-blank.svg":"material-calendar-blank","material/calendar-check-outline.svg":"material-calendar-check-outline","material/calendar-check.svg":"material-calendar-check","material/calendar-clock-outline.svg":"material-calendar-clock-outline","material/calendar-clock.svg":"material-calendar-clock","material/calendar-cursor.svg":"material-calendar-cursor","material/calendar-edit.svg":"material-calendar-edit","material/calendar-end.svg":"material-calendar-end","material/calendar-export.svg":"material-calendar-export","material/calendar-heart.svg":"material-calendar-heart","material/calendar-import.svg":"material-calendar-import","material/calendar-lock-outline.svg":"material-calendar-lock-outline","material/calendar-lock.svg":"material-calendar-lock","material/calendar-minus.svg":"material-calendar-minus","material/calendar-month-outline.svg":"material-calendar-month-outline","material/calendar-month.svg":"material-calendar-month","material/calendar-multiple-check.svg":"material-calendar-multiple-check","material/calendar-multiple.svg":"material-calendar-multiple","material/calendar-multiselect.svg":"material-calendar-multiselect","material/calendar-outline.svg":"material-calendar-outline","material/calendar-plus.svg":"material-calendar-plus","material/calendar-question.svg":"material-calendar-question","material/calendar-range-outline.svg":"material-calendar-range-outline","material/calendar-range.svg":"material-calendar-range","material/calendar-refresh-outline.svg":"material-calendar-refresh-outline","material/calendar-refresh.svg":"material-calendar-refresh","material/calendar-remove-outline.svg":"material-calendar-remove-outline","material/calendar-remove.svg":"material-calendar-remove","material/calendar-search.svg":"material-calendar-search","material/calendar-star.svg":"material-calendar-star","material/calendar-start.svg":"material-calendar-start","material/calendar-sync-outline.svg":"material-calendar-sync-outline","material/calendar-sync.svg":"material-calendar-sync","material/calendar-text-outline.svg":"material-calendar-text-outline","material/calendar-text.svg":"material-calendar-text","material/calendar-today.svg":"material-calendar-today","material/calendar-week-begin.svg":"material-calendar-week-begin","material/calendar-week.svg":"material-calendar-week","material/calendar-weekend-outline.svg":"material-calendar-weekend-outline","material/calendar-weekend.svg":"material-calendar-weekend","material/calendar.svg":"material-calendar","material/call-made.svg":"material-call-made","material/call-merge.svg":"material-call-merge","material/call-missed.svg":"material-call-missed","material/call-received.svg":"material-call-received","material/call-split.svg":"material-call-split","material/camcorder-off.svg":"material-camcorder-off","material/camcorder.svg":"material-camcorder","material/camera-account.svg":"material-camera-account","material/camera-burst.svg":"material-camera-burst","material/camera-control.svg":"material-camera-control","material/camera-enhance-outline.svg":"material-camera-enhance-outline","material/camera-enhance.svg":"material-camera-enhance","material/camera-flip-outline.svg":"material-camera-flip-outline","material/camera-flip.svg":"material-camera-flip","material/camera-front-variant.svg":"material-camera-front-variant","material/camera-front.svg":"material-camera-front","material/camera-gopro.svg":"material-camera-gopro","material/camera-image.svg":"material-camera-image","material/camera-iris.svg":"material-camera-iris","material/camera-metering-center.svg":"material-camera-metering-center","material/camera-metering-matrix.svg":"material-camera-metering-matrix","material/camera-metering-partial.svg":"material-camera-metering-partial","material/camera-metering-spot.svg":"material-camera-metering-spot","material/camera-off.svg":"material-camera-off","material/camera-outline.svg":"material-camera-outline","material/camera-party-mode.svg":"material-camera-party-mode","material/camera-plus-outline.svg":"material-camera-plus-outline","material/camera-plus.svg":"material-camera-plus","material/camera-rear-variant.svg":"material-camera-rear-variant","material/camera-rear.svg":"material-camera-rear","material/camera-retake-outline.svg":"material-camera-retake-outline","material/camera-retake.svg":"material-camera-retake","material/camera-switch-outline.svg":"material-camera-switch-outline","material/camera-switch.svg":"material-camera-switch","material/camera-timer.svg":"material-camera-timer","material/camera-wireless-outline.svg":"material-camera-wireless-outline","material/camera-wireless.svg":"material-camera-wireless","material/camera.svg":"material-camera","material/campfire.svg":"material-campfire","material/cancel.svg":"material-cancel","material/candle.svg":"material-candle","material/candycane.svg":"material-candycane","material/cannabis-off.svg":"material-cannabis-off","material/cannabis.svg":"material-cannabis","material/caps-lock.svg":"material-caps-lock","material/car-2-plus.svg":"material-car-2-plus","material/car-3-plus.svg":"material-car-3-plus","material/car-arrow-left.svg":"material-car-arrow-left","material/car-arrow-right.svg":"material-car-arrow-right","material/car-back.svg":"material-car-back","material/car-battery.svg":"material-car-battery","material/car-brake-abs.svg":"material-car-brake-abs","material/car-brake-alert.svg":"material-car-brake-alert","material/car-brake-hold.svg":"material-car-brake-hold","material/car-brake-parking.svg":"material-car-brake-parking","material/car-brake-retarder.svg":"material-car-brake-retarder","material/car-child-seat.svg":"material-car-child-seat","material/car-clutch.svg":"material-car-clutch","material/car-cog.svg":"material-car-cog","material/car-connected.svg":"material-car-connected","material/car-convertible.svg":"material-car-convertible","material/car-coolant-level.svg":"material-car-coolant-level","material/car-cruise-control.svg":"material-car-cruise-control","material/car-defrost-front.svg":"material-car-defrost-front","material/car-defrost-rear.svg":"material-car-defrost-rear","material/car-door-lock.svg":"material-car-door-lock","material/car-door.svg":"material-car-door","material/car-electric-outline.svg":"material-car-electric-outline","material/car-electric.svg":"material-car-electric","material/car-emergency.svg":"material-car-emergency","material/car-esp.svg":"material-car-esp","material/car-estate.svg":"material-car-estate","material/car-hatchback.svg":"material-car-hatchback","material/car-info.svg":"material-car-info","material/car-key.svg":"material-car-key","material/car-lifted-pickup.svg":"material-car-lifted-pickup","material/car-light-dimmed.svg":"material-car-light-dimmed","material/car-light-fog.svg":"material-car-light-fog","material/car-light-high.svg":"material-car-light-high","material/car-limousine.svg":"material-car-limousine","material/car-multiple.svg":"material-car-multiple","material/car-off.svg":"material-car-off","material/car-outline.svg":"material-car-outline","material/car-parking-lights.svg":"material-car-parking-lights","material/car-pickup.svg":"material-car-pickup","material/car-seat-cooler.svg":"material-car-seat-cooler","material/car-seat-heater.svg":"material-car-seat-heater","material/car-seat.svg":"material-car-seat","material/car-settings.svg":"material-car-settings","material/car-shift-pattern.svg":"material-car-shift-pattern","material/car-side.svg":"material-car-side","material/car-sports.svg":"material-car-sports","material/car-tire-alert.svg":"material-car-tire-alert","material/car-traction-control.svg":"material-car-traction-control","material/car-turbocharger.svg":"material-car-turbocharger","material/car-wash.svg":"material-car-wash","material/car-windshield-outline.svg":"material-car-windshield-outline","material/car-windshield.svg":"material-car-windshield","material/car.svg":"material-car","material/carabiner.svg":"material-carabiner","material/caravan.svg":"material-caravan","material/card-account-details-outline.svg":"material-card-account-details-outline","material/card-account-details-star-outline.svg":"material-card-account-details-star-outline","material/card-account-details-star.svg":"material-card-account-details-star","material/card-account-details.svg":"material-card-account-details","material/card-account-mail-outline.svg":"material-card-account-mail-outline","material/card-account-mail.svg":"material-card-account-mail","material/card-account-phone-outline.svg":"material-card-account-phone-outline","material/card-account-phone.svg":"material-card-account-phone","material/card-bulleted-off-outline.svg":"material-card-bulleted-off-outline","material/card-bulleted-off.svg":"material-card-bulleted-off","material/card-bulleted-outline.svg":"material-card-bulleted-outline","material/card-bulleted-settings-outline.svg":"material-card-bulleted-settings-outline","material/card-bulleted-settings.svg":"material-card-bulleted-settings","material/card-bulleted.svg":"material-card-bulleted","material/card-minus-outline.svg":"material-card-minus-outline","material/card-minus.svg":"material-card-minus","material/card-off-outline.svg":"material-card-off-outline","material/card-off.svg":"material-card-off","material/card-outline.svg":"material-card-outline","material/card-plus-outline.svg":"material-card-plus-outline","material/card-plus.svg":"material-card-plus","material/card-remove-outline.svg":"material-card-remove-outline","material/card-remove.svg":"material-card-remove","material/card-search-outline.svg":"material-card-search-outline","material/card-search.svg":"material-card-search","material/card-text-outline.svg":"material-card-text-outline","material/card-text.svg":"material-card-text","material/card.svg":"material-card","material/cards-club.svg":"material-cards-club","material/cards-diamond-outline.svg":"material-cards-diamond-outline","material/cards-diamond.svg":"material-cards-diamond","material/cards-heart.svg":"material-cards-heart","material/cards-outline.svg":"material-cards-outline","material/cards-playing-outline.svg":"material-cards-playing-outline","material/cards-spade.svg":"material-cards-spade","material/cards-variant.svg":"material-cards-variant","material/cards.svg":"material-cards","material/carrot.svg":"material-carrot","material/cart-arrow-down.svg":"material-cart-arrow-down","material/cart-arrow-right.svg":"material-cart-arrow-right","material/cart-arrow-up.svg":"material-cart-arrow-up","material/cart-check.svg":"material-cart-check","material/cart-minus.svg":"material-cart-minus","material/cart-off.svg":"material-cart-off","material/cart-outline.svg":"material-cart-outline","material/cart-plus.svg":"material-cart-plus","material/cart-remove.svg":"material-cart-remove","material/cart-variant.svg":"material-cart-variant","material/cart.svg":"material-cart","material/case-sensitive-alt.svg":"material-case-sensitive-alt","material/cash-100.svg":"material-cash-100","material/cash-check.svg":"material-cash-check","material/cash-lock-open.svg":"material-cash-lock-open","material/cash-lock.svg":"material-cash-lock","material/cash-marker.svg":"material-cash-marker","material/cash-minus.svg":"material-cash-minus","material/cash-multiple.svg":"material-cash-multiple","material/cash-plus.svg":"material-cash-plus","material/cash-refund.svg":"material-cash-refund","material/cash-register.svg":"material-cash-register","material/cash-remove.svg":"material-cash-remove","material/cash-usd-outline.svg":"material-cash-usd-outline","material/cash-usd.svg":"material-cash-usd","material/cash.svg":"material-cash","material/cassette.svg":"material-cassette","material/cast-audio.svg":"material-cast-audio","material/cast-connected.svg":"material-cast-connected","material/cast-education.svg":"material-cast-education","material/cast-off.svg":"material-cast-off","material/cast.svg":"material-cast","material/castle.svg":"material-castle","material/cat.svg":"material-cat","material/cctv.svg":"material-cctv","material/ceiling-light.svg":"material-ceiling-light","material/cellphone-android.svg":"material-cellphone-android","material/cellphone-arrow-down.svg":"material-cellphone-arrow-down","material/cellphone-basic.svg":"material-cellphone-basic","material/cellphone-charging.svg":"material-cellphone-charging","material/cellphone-cog.svg":"material-cellphone-cog","material/cellphone-dock.svg":"material-cellphone-dock","material/cellphone-erase.svg":"material-cellphone-erase","material/cellphone-information.svg":"material-cellphone-information","material/cellphone-iphone.svg":"material-cellphone-iphone","material/cellphone-key.svg":"material-cellphone-key","material/cellphone-link-off.svg":"material-cellphone-link-off","material/cellphone-link.svg":"material-cellphone-link","material/cellphone-lock.svg":"material-cellphone-lock","material/cellphone-message-off.svg":"material-cellphone-message-off","material/cellphone-message.svg":"material-cellphone-message","material/cellphone-nfc-off.svg":"material-cellphone-nfc-off","material/cellphone-nfc.svg":"material-cellphone-nfc","material/cellphone-off.svg":"material-cellphone-off","material/cellphone-play.svg":"material-cellphone-play","material/cellphone-screenshot.svg":"material-cellphone-screenshot","material/cellphone-settings.svg":"material-cellphone-settings","material/cellphone-sound.svg":"material-cellphone-sound","material/cellphone-text.svg":"material-cellphone-text","material/cellphone-wireless.svg":"material-cellphone-wireless","material/cellphone.svg":"material-cellphone","material/celtic-cross.svg":"material-celtic-cross","material/centos.svg":"material-centos","material/certificate-outline.svg":"material-certificate-outline","material/certificate.svg":"material-certificate","material/chair-rolling.svg":"material-chair-rolling","material/chair-school.svg":"material-chair-school","material/charity.svg":"material-charity","material/chart-arc.svg":"material-chart-arc","material/chart-areaspline-variant.svg":"material-chart-areaspline-variant","material/chart-areaspline.svg":"material-chart-areaspline","material/chart-bar-stacked.svg":"material-chart-bar-stacked","material/chart-bar.svg":"material-chart-bar","material/chart-bell-curve-cumulative.svg":"material-chart-bell-curve-cumulative","material/chart-bell-curve.svg":"material-chart-bell-curve","material/chart-box-outline.svg":"material-chart-box-outline","material/chart-box-plus-outline.svg":"material-chart-box-plus-outline","material/chart-box.svg":"material-chart-box","material/chart-bubble.svg":"material-chart-bubble","material/chart-donut-variant.svg":"material-chart-donut-variant","material/chart-donut.svg":"material-chart-donut","material/chart-gantt.svg":"material-chart-gantt","material/chart-histogram.svg":"material-chart-histogram","material/chart-line-stacked.svg":"material-chart-line-stacked","material/chart-line-variant.svg":"material-chart-line-variant","material/chart-line.svg":"material-chart-line","material/chart-multiline.svg":"material-chart-multiline","material/chart-multiple.svg":"material-chart-multiple","material/chart-pie.svg":"material-chart-pie","material/chart-ppf.svg":"material-chart-ppf","material/chart-sankey-variant.svg":"material-chart-sankey-variant","material/chart-sankey.svg":"material-chart-sankey","material/chart-scatter-plot-hexbin.svg":"material-chart-scatter-plot-hexbin","material/chart-scatter-plot.svg":"material-chart-scatter-plot","material/chart-timeline-variant-shimmer.svg":"material-chart-timeline-variant-shimmer","material/chart-timeline-variant.svg":"material-chart-timeline-variant","material/chart-timeline.svg":"material-chart-timeline","material/chart-tree.svg":"material-chart-tree","material/chat-alert-outline.svg":"material-chat-alert-outline","material/chat-alert.svg":"material-chat-alert","material/chat-minus-outline.svg":"material-chat-minus-outline","material/chat-minus.svg":"material-chat-minus","material/chat-outline.svg":"material-chat-outline","material/chat-plus-outline.svg":"material-chat-plus-outline","material/chat-plus.svg":"material-chat-plus","material/chat-processing-outline.svg":"material-chat-processing-outline","material/chat-processing.svg":"material-chat-processing","material/chat-question-outline.svg":"material-chat-question-outline","material/chat-question.svg":"material-chat-question","material/chat-remove-outline.svg":"material-chat-remove-outline","material/chat-remove.svg":"material-chat-remove","material/chat-sleep-outline.svg":"material-chat-sleep-outline","material/chat-sleep.svg":"material-chat-sleep","material/chat.svg":"material-chat","material/check-all.svg":"material-check-all","material/check-bold.svg":"material-check-bold","material/check-box-multiple-outline.svg":"material-check-box-multiple-outline","material/check-box-outline.svg":"material-check-box-outline","material/check-circle-outline.svg":"material-check-circle-outline","material/check-circle.svg":"material-check-circle","material/check-decagram-outline.svg":"material-check-decagram-outline","material/check-decagram.svg":"material-check-decagram","material/check-network-outline.svg":"material-check-network-outline","material/check-network.svg":"material-check-network","material/check-outline.svg":"material-check-outline","material/check-underline-circle-outline.svg":"material-check-underline-circle-outline","material/check-underline-circle.svg":"material-check-underline-circle","material/check-underline.svg":"material-check-underline","material/check.svg":"material-check","material/checkbook.svg":"material-checkbook","material/checkbox-blank-circle-outline.svg":"material-checkbox-blank-circle-outline","material/checkbox-blank-circle.svg":"material-checkbox-blank-circle","material/checkbox-blank-off-outline.svg":"material-checkbox-blank-off-outline","material/checkbox-blank-off.svg":"material-checkbox-blank-off","material/checkbox-blank-outline.svg":"material-checkbox-blank-outline","material/checkbox-blank.svg":"material-checkbox-blank","material/checkbox-intermediate.svg":"material-checkbox-intermediate","material/checkbox-marked-circle-outline.svg":"material-checkbox-marked-circle-outline","material/checkbox-marked-circle.svg":"material-checkbox-marked-circle","material/checkbox-marked-outline.svg":"material-checkbox-marked-outline","material/checkbox-marked.svg":"material-checkbox-marked","material/checkbox-multiple-blank-circle-outline.svg":"material-checkbox-multiple-blank-circle-outline","material/checkbox-multiple-blank-circle.svg":"material-checkbox-multiple-blank-circle","material/checkbox-multiple-blank-outline.svg":"material-checkbox-multiple-blank-outline","material/checkbox-multiple-blank.svg":"material-checkbox-multiple-blank","material/checkbox-multiple-marked-circle-outline.svg":"material-checkbox-multiple-marked-circle-outline","material/checkbox-multiple-marked-circle.svg":"material-checkbox-multiple-marked-circle","material/checkbox-multiple-marked-outline.svg":"material-checkbox-multiple-marked-outline","material/checkbox-multiple-marked.svg":"material-checkbox-multiple-marked","material/checkerboard-minus.svg":"material-checkerboard-minus","material/checkerboard-plus.svg":"material-checkerboard-plus","material/checkerboard-remove.svg":"material-checkerboard-remove","material/checkerboard.svg":"material-checkerboard","material/cheese-off.svg":"material-cheese-off","material/cheese.svg":"material-cheese","material/chef-hat.svg":"material-chef-hat","material/chemical-weapon.svg":"material-chemical-weapon","material/chess-bishop.svg":"material-chess-bishop","material/chess-king.svg":"material-chess-king","material/chess-knight.svg":"material-chess-knight","material/chess-pawn.svg":"material-chess-pawn","material/chess-queen.svg":"material-chess-queen","material/chess-rook.svg":"material-chess-rook","material/chevron-double-down.svg":"material-chevron-double-down","material/chevron-double-left.svg":"material-chevron-double-left","material/chevron-double-right.svg":"material-chevron-double-right","material/chevron-double-up.svg":"material-chevron-double-up","material/chevron-down-box-outline.svg":"material-chevron-down-box-outline","material/chevron-down-box.svg":"material-chevron-down-box","material/chevron-down-circle-outline.svg":"material-chevron-down-circle-outline","material/chevron-down-circle.svg":"material-chevron-down-circle","material/chevron-down.svg":"material-chevron-down","material/chevron-left-box-outline.svg":"material-chevron-left-box-outline","material/chevron-left-box.svg":"material-chevron-left-box","material/chevron-left-circle-outline.svg":"material-chevron-left-circle-outline","material/chevron-left-circle.svg":"material-chevron-left-circle","material/chevron-left.svg":"material-chevron-left","material/chevron-right-box-outline.svg":"material-chevron-right-box-outline","material/chevron-right-box.svg":"material-chevron-right-box","material/chevron-right-circle-outline.svg":"material-chevron-right-circle-outline","material/chevron-right-circle.svg":"material-chevron-right-circle","material/chevron-right.svg":"material-chevron-right","material/chevron-triple-down.svg":"material-chevron-triple-down","material/chevron-triple-left.svg":"material-chevron-triple-left","material/chevron-triple-right.svg":"material-chevron-triple-right","material/chevron-triple-up.svg":"material-chevron-triple-up","material/chevron-up-box-outline.svg":"material-chevron-up-box-outline","material/chevron-up-box.svg":"material-chevron-up-box","material/chevron-up-circle-outline.svg":"material-chevron-up-circle-outline","material/chevron-up-circle.svg":"material-chevron-up-circle","material/chevron-up.svg":"material-chevron-up","material/chili-hot.svg":"material-chili-hot","material/chili-medium.svg":"material-chili-medium","material/chili-mild.svg":"material-chili-mild","material/chili-off.svg":"material-chili-off","material/chip.svg":"material-chip","material/christianity-outline.svg":"material-christianity-outline","material/christianity.svg":"material-christianity","material/church.svg":"material-church","material/cigar-off.svg":"material-cigar-off","material/cigar.svg":"material-cigar","material/circle-box-outline.svg":"material-circle-box-outline","material/circle-box.svg":"material-circle-box","material/circle-double.svg":"material-circle-double","material/circle-edit-outline.svg":"material-circle-edit-outline","material/circle-expand.svg":"material-circle-expand","material/circle-half-full.svg":"material-circle-half-full","material/circle-half.svg":"material-circle-half","material/circle-medium.svg":"material-circle-medium","material/circle-multiple-outline.svg":"material-circle-multiple-outline","material/circle-multiple.svg":"material-circle-multiple","material/circle-off-outline.svg":"material-circle-off-outline","material/circle-outline.svg":"material-circle-outline","material/circle-slice-1.svg":"material-circle-slice-1","material/circle-slice-2.svg":"material-circle-slice-2","material/circle-slice-3.svg":"material-circle-slice-3","material/circle-slice-4.svg":"material-circle-slice-4","material/circle-slice-5.svg":"material-circle-slice-5","material/circle-slice-6.svg":"material-circle-slice-6","material/circle-slice-7.svg":"material-circle-slice-7","material/circle-slice-8.svg":"material-circle-slice-8","material/circle-small.svg":"material-circle-small","material/circle.svg":"material-circle","material/circular-saw.svg":"material-circular-saw","material/city-variant-outline.svg":"material-city-variant-outline","material/city-variant.svg":"material-city-variant","material/city.svg":"material-city","material/clipboard-account-outline.svg":"material-clipboard-account-outline","material/clipboard-account.svg":"material-clipboard-account","material/clipboard-alert-outline.svg":"material-clipboard-alert-outline","material/clipboard-alert.svg":"material-clipboard-alert","material/clipboard-arrow-down-outline.svg":"material-clipboard-arrow-down-outline","material/clipboard-arrow-down.svg":"material-clipboard-arrow-down","material/clipboard-arrow-left-outline.svg":"material-clipboard-arrow-left-outline","material/clipboard-arrow-left.svg":"material-clipboard-arrow-left","material/clipboard-arrow-right-outline.svg":"material-clipboard-arrow-right-outline","material/clipboard-arrow-right.svg":"material-clipboard-arrow-right","material/clipboard-arrow-up-outline.svg":"material-clipboard-arrow-up-outline","material/clipboard-arrow-up.svg":"material-clipboard-arrow-up","material/clipboard-check-multiple-outline.svg":"material-clipboard-check-multiple-outline","material/clipboard-check-multiple.svg":"material-clipboard-check-multiple","material/clipboard-check-outline.svg":"material-clipboard-check-outline","material/clipboard-check.svg":"material-clipboard-check","material/clipboard-clock-outline.svg":"material-clipboard-clock-outline","material/clipboard-clock.svg":"material-clipboard-clock","material/clipboard-edit-outline.svg":"material-clipboard-edit-outline","material/clipboard-edit.svg":"material-clipboard-edit","material/clipboard-file-outline.svg":"material-clipboard-file-outline","material/clipboard-file.svg":"material-clipboard-file","material/clipboard-flow-outline.svg":"material-clipboard-flow-outline","material/clipboard-flow.svg":"material-clipboard-flow","material/clipboard-list-outline.svg":"material-clipboard-list-outline","material/clipboard-list.svg":"material-clipboard-list","material/clipboard-minus-outline.svg":"material-clipboard-minus-outline","material/clipboard-minus.svg":"material-clipboard-minus","material/clipboard-multiple-outline.svg":"material-clipboard-multiple-outline","material/clipboard-multiple.svg":"material-clipboard-multiple","material/clipboard-off-outline.svg":"material-clipboard-off-outline","material/clipboard-off.svg":"material-clipboard-off","material/clipboard-outline.svg":"material-clipboard-outline","material/clipboard-play-multiple-outline.svg":"material-clipboard-play-multiple-outline","material/clipboard-play-multiple.svg":"material-clipboard-play-multiple","material/clipboard-play-outline.svg":"material-clipboard-play-outline","material/clipboard-play.svg":"material-clipboard-play","material/clipboard-plus-outline.svg":"material-clipboard-plus-outline","material/clipboard-plus.svg":"material-clipboard-plus","material/clipboard-pulse-outline.svg":"material-clipboard-pulse-outline","material/clipboard-pulse.svg":"material-clipboard-pulse","material/clipboard-remove-outline.svg":"material-clipboard-remove-outline","material/clipboard-remove.svg":"material-clipboard-remove","material/clipboard-search-outline.svg":"material-clipboard-search-outline","material/clipboard-search.svg":"material-clipboard-search","material/clipboard-text-multiple-outline.svg":"material-clipboard-text-multiple-outline","material/clipboard-text-multiple.svg":"material-clipboard-text-multiple","material/clipboard-text-off-outline.svg":"material-clipboard-text-off-outline","material/clipboard-text-off.svg":"material-clipboard-text-off","material/clipboard-text-outline.svg":"material-clipboard-text-outline","material/clipboard-text-play-outline.svg":"material-clipboard-text-play-outline","material/clipboard-text-play.svg":"material-clipboard-text-play","material/clipboard-text-search-outline.svg":"material-clipboard-text-search-outline","material/clipboard-text-search.svg":"material-clipboard-text-search","material/clipboard-text.svg":"material-clipboard-text","material/clipboard.svg":"material-clipboard","material/clippy.svg":"material-clippy","material/clock-alert-outline.svg":"material-clock-alert-outline","material/clock-alert.svg":"material-clock-alert","material/clock-check-outline.svg":"material-clock-check-outline","material/clock-check.svg":"material-clock-check","material/clock-digital.svg":"material-clock-digital","material/clock-end.svg":"material-clock-end","material/clock-fast.svg":"material-clock-fast","material/clock-in.svg":"material-clock-in","material/clock-out.svg":"material-clock-out","material/clock-outline.svg":"material-clock-outline","material/clock-start.svg":"material-clock-start","material/clock-time-eight-outline.svg":"material-clock-time-eight-outline","material/clock-time-eight.svg":"material-clock-time-eight","material/clock-time-eleven-outline.svg":"material-clock-time-eleven-outline","material/clock-time-eleven.svg":"material-clock-time-eleven","material/clock-time-five-outline.svg":"material-clock-time-five-outline","material/clock-time-five.svg":"material-clock-time-five","material/clock-time-four-outline.svg":"material-clock-time-four-outline","material/clock-time-four.svg":"material-clock-time-four","material/clock-time-nine-outline.svg":"material-clock-time-nine-outline","material/clock-time-nine.svg":"material-clock-time-nine","material/clock-time-one-outline.svg":"material-clock-time-one-outline","material/clock-time-one.svg":"material-clock-time-one","material/clock-time-seven-outline.svg":"material-clock-time-seven-outline","material/clock-time-seven.svg":"material-clock-time-seven","material/clock-time-six-outline.svg":"material-clock-time-six-outline","material/clock-time-six.svg":"material-clock-time-six","material/clock-time-ten-outline.svg":"material-clock-time-ten-outline","material/clock-time-ten.svg":"material-clock-time-ten","material/clock-time-three-outline.svg":"material-clock-time-three-outline","material/clock-time-three.svg":"material-clock-time-three","material/clock-time-twelve-outline.svg":"material-clock-time-twelve-outline","material/clock-time-twelve.svg":"material-clock-time-twelve","material/clock-time-two-outline.svg":"material-clock-time-two-outline","material/clock-time-two.svg":"material-clock-time-two","material/clock.svg":"material-clock","material/close-box-multiple-outline.svg":"material-close-box-multiple-outline","material/close-box-multiple.svg":"material-close-box-multiple","material/close-box-outline.svg":"material-close-box-outline","material/close-box.svg":"material-close-box","material/close-circle-multiple-outline.svg":"material-close-circle-multiple-outline","material/close-circle-multiple.svg":"material-close-circle-multiple","material/close-circle-outline.svg":"material-close-circle-outline","material/close-circle.svg":"material-close-circle","material/close-network-outline.svg":"material-close-network-outline","material/close-network.svg":"material-close-network","material/close-octagon-outline.svg":"material-close-octagon-outline","material/close-octagon.svg":"material-close-octagon","material/close-outline.svg":"material-close-outline","material/close-thick.svg":"material-close-thick","material/close.svg":"material-close","material/closed-caption-outline.svg":"material-closed-caption-outline","material/closed-caption.svg":"material-closed-caption","material/cloud-alert.svg":"material-cloud-alert","material/cloud-braces.svg":"material-cloud-braces","material/cloud-check-outline.svg":"material-cloud-check-outline","material/cloud-check.svg":"material-cloud-check","material/cloud-circle.svg":"material-cloud-circle","material/cloud-download-outline.svg":"material-cloud-download-outline","material/cloud-download.svg":"material-cloud-download","material/cloud-lock-outline.svg":"material-cloud-lock-outline","material/cloud-lock.svg":"material-cloud-lock","material/cloud-off-outline.svg":"material-cloud-off-outline","material/cloud-outline.svg":"material-cloud-outline","material/cloud-print-outline.svg":"material-cloud-print-outline","material/cloud-print.svg":"material-cloud-print","material/cloud-question.svg":"material-cloud-question","material/cloud-refresh.svg":"material-cloud-refresh","material/cloud-search-outline.svg":"material-cloud-search-outline","material/cloud-search.svg":"material-cloud-search","material/cloud-sync-outline.svg":"material-cloud-sync-outline","material/cloud-sync.svg":"material-cloud-sync","material/cloud-tags.svg":"material-cloud-tags","material/cloud-upload-outline.svg":"material-cloud-upload-outline","material/cloud-upload.svg":"material-cloud-upload","material/cloud.svg":"material-cloud","material/clover.svg":"material-clover","material/coach-lamp.svg":"material-coach-lamp","material/coat-rack.svg":"material-coat-rack","material/code-array.svg":"material-code-array","material/code-braces-box.svg":"material-code-braces-box","material/code-braces.svg":"material-code-braces","material/code-brackets.svg":"material-code-brackets","material/code-equal.svg":"material-code-equal","material/code-greater-than-or-equal.svg":"material-code-greater-than-or-equal","material/code-greater-than.svg":"material-code-greater-than","material/code-json.svg":"material-code-json","material/code-less-than-or-equal.svg":"material-code-less-than-or-equal","material/code-less-than.svg":"material-code-less-than","material/code-not-equal-variant.svg":"material-code-not-equal-variant","material/code-not-equal.svg":"material-code-not-equal","material/code-parentheses-box.svg":"material-code-parentheses-box","material/code-parentheses.svg":"material-code-parentheses","material/code-string.svg":"material-code-string","material/code-tags-check.svg":"material-code-tags-check","material/code-tags.svg":"material-code-tags","material/codepen.svg":"material-codepen","material/coffee-maker.svg":"material-coffee-maker","material/coffee-off-outline.svg":"material-coffee-off-outline","material/coffee-off.svg":"material-coffee-off","material/coffee-outline.svg":"material-coffee-outline","material/coffee-to-go-outline.svg":"material-coffee-to-go-outline","material/coffee-to-go.svg":"material-coffee-to-go","material/coffee.svg":"material-coffee","material/coffin.svg":"material-coffin","material/cog-box.svg":"material-cog-box","material/cog-clockwise.svg":"material-cog-clockwise","material/cog-counterclockwise.svg":"material-cog-counterclockwise","material/cog-off-outline.svg":"material-cog-off-outline","material/cog-off.svg":"material-cog-off","material/cog-outline.svg":"material-cog-outline","material/cog-refresh-outline.svg":"material-cog-refresh-outline","material/cog-refresh.svg":"material-cog-refresh","material/cog-sync-outline.svg":"material-cog-sync-outline","material/cog-sync.svg":"material-cog-sync","material/cog-transfer-outline.svg":"material-cog-transfer-outline","material/cog-transfer.svg":"material-cog-transfer","material/cog.svg":"material-cog","material/cogs.svg":"material-cogs","material/collage.svg":"material-collage","material/collapse-all-outline.svg":"material-collapse-all-outline","material/collapse-all.svg":"material-collapse-all","material/color-helper.svg":"material-color-helper","material/comma-box-outline.svg":"material-comma-box-outline","material/comma-box.svg":"material-comma-box","material/comma-circle-outline.svg":"material-comma-circle-outline","material/comma-circle.svg":"material-comma-circle","material/comma.svg":"material-comma","material/comment-account-outline.svg":"material-comment-account-outline","material/comment-account.svg":"material-comment-account","material/comment-alert-outline.svg":"material-comment-alert-outline","material/comment-alert.svg":"material-comment-alert","material/comment-arrow-left-outline.svg":"material-comment-arrow-left-outline","material/comment-arrow-left.svg":"material-comment-arrow-left","material/comment-arrow-right-outline.svg":"material-comment-arrow-right-outline","material/comment-arrow-right.svg":"material-comment-arrow-right","material/comment-bookmark-outline.svg":"material-comment-bookmark-outline","material/comment-bookmark.svg":"material-comment-bookmark","material/comment-check-outline.svg":"material-comment-check-outline","material/comment-check.svg":"material-comment-check","material/comment-edit-outline.svg":"material-comment-edit-outline","material/comment-edit.svg":"material-comment-edit","material/comment-eye-outline.svg":"material-comment-eye-outline","material/comment-eye.svg":"material-comment-eye","material/comment-flash-outline.svg":"material-comment-flash-outline","material/comment-flash.svg":"material-comment-flash","material/comment-minus-outline.svg":"material-comment-minus-outline","material/comment-minus.svg":"material-comment-minus","material/comment-multiple-outline.svg":"material-comment-multiple-outline","material/comment-multiple.svg":"material-comment-multiple","material/comment-off-outline.svg":"material-comment-off-outline","material/comment-off.svg":"material-comment-off","material/comment-outline.svg":"material-comment-outline","material/comment-plus-outline.svg":"material-comment-plus-outline","material/comment-plus.svg":"material-comment-plus","material/comment-processing-outline.svg":"material-comment-processing-outline","material/comment-processing.svg":"material-comment-processing","material/comment-question-outline.svg":"material-comment-question-outline","material/comment-question.svg":"material-comment-question","material/comment-quote-outline.svg":"material-comment-quote-outline","material/comment-quote.svg":"material-comment-quote","material/comment-remove-outline.svg":"material-comment-remove-outline","material/comment-remove.svg":"material-comment-remove","material/comment-search-outline.svg":"material-comment-search-outline","material/comment-search.svg":"material-comment-search","material/comment-text-multiple-outline.svg":"material-comment-text-multiple-outline","material/comment-text-multiple.svg":"material-comment-text-multiple","material/comment-text-outline.svg":"material-comment-text-outline","material/comment-text.svg":"material-comment-text","material/comment.svg":"material-comment","material/compare-horizontal.svg":"material-compare-horizontal","material/compare-vertical.svg":"material-compare-vertical","material/compare.svg":"material-compare","material/compass-off-outline.svg":"material-compass-off-outline","material/compass-off.svg":"material-compass-off","material/compass-outline.svg":"material-compass-outline","material/compass-rose.svg":"material-compass-rose","material/compass.svg":"material-compass","material/concourse-ci.svg":"material-concourse-ci","material/connection.svg":"material-connection","material/console-line.svg":"material-console-line","material/console-network-outline.svg":"material-console-network-outline","material/console-network.svg":"material-console-network","material/console.svg":"material-console","material/consolidate.svg":"material-consolidate","material/contactless-payment-circle-outline.svg":"material-contactless-payment-circle-outline","material/contactless-payment-circle.svg":"material-contactless-payment-circle","material/contactless-payment.svg":"material-contactless-payment","material/contacts-outline.svg":"material-contacts-outline","material/contacts.svg":"material-contacts","material/contain-end.svg":"material-contain-end","material/contain-start.svg":"material-contain-start","material/contain.svg":"material-contain","material/content-copy.svg":"material-content-copy","material/content-cut.svg":"material-content-cut","material/content-duplicate.svg":"material-content-duplicate","material/content-paste.svg":"material-content-paste","material/content-save-alert-outline.svg":"material-content-save-alert-outline","material/content-save-alert.svg":"material-content-save-alert","material/content-save-all-outline.svg":"material-content-save-all-outline","material/content-save-all.svg":"material-content-save-all","material/content-save-cog-outline.svg":"material-content-save-cog-outline","material/content-save-cog.svg":"material-content-save-cog","material/content-save-edit-outline.svg":"material-content-save-edit-outline","material/content-save-edit.svg":"material-content-save-edit","material/content-save-move-outline.svg":"material-content-save-move-outline","material/content-save-move.svg":"material-content-save-move","material/content-save-off-outline.svg":"material-content-save-off-outline","material/content-save-off.svg":"material-content-save-off","material/content-save-outline.svg":"material-content-save-outline","material/content-save-settings-outline.svg":"material-content-save-settings-outline","material/content-save-settings.svg":"material-content-save-settings","material/content-save.svg":"material-content-save","material/contrast-box.svg":"material-contrast-box","material/contrast-circle.svg":"material-contrast-circle","material/contrast.svg":"material-contrast","material/controller-classic-outline.svg":"material-controller-classic-outline","material/controller-classic.svg":"material-controller-classic","material/cookie-alert-outline.svg":"material-cookie-alert-outline","material/cookie-alert.svg":"material-cookie-alert","material/cookie-check-outline.svg":"material-cookie-check-outline","material/cookie-check.svg":"material-cookie-check","material/cookie-clock-outline.svg":"material-cookie-clock-outline","material/cookie-clock.svg":"material-cookie-clock","material/cookie-cog-outline.svg":"material-cookie-cog-outline","material/cookie-cog.svg":"material-cookie-cog","material/cookie-edit-outline.svg":"material-cookie-edit-outline","material/cookie-edit.svg":"material-cookie-edit","material/cookie-lock-outline.svg":"material-cookie-lock-outline","material/cookie-lock.svg":"material-cookie-lock","material/cookie-minus-outline.svg":"material-cookie-minus-outline","material/cookie-minus.svg":"material-cookie-minus","material/cookie-off-outline.svg":"material-cookie-off-outline","material/cookie-off.svg":"material-cookie-off","material/cookie-outline.svg":"material-cookie-outline","material/cookie-plus-outline.svg":"material-cookie-plus-outline","material/cookie-plus.svg":"material-cookie-plus","material/cookie-refresh-outline.svg":"material-cookie-refresh-outline","material/cookie-refresh.svg":"material-cookie-refresh","material/cookie-remove-outline.svg":"material-cookie-remove-outline","material/cookie-remove.svg":"material-cookie-remove","material/cookie-settings-outline.svg":"material-cookie-settings-outline","material/cookie-settings.svg":"material-cookie-settings","material/cookie.svg":"material-cookie","material/coolant-temperature.svg":"material-coolant-temperature","material/copyright.svg":"material-copyright","material/cordova.svg":"material-cordova","material/corn-off.svg":"material-corn-off","material/corn.svg":"material-corn","material/cosine-wave.svg":"material-cosine-wave","material/counter.svg":"material-counter","material/cow.svg":"material-cow","material/cpu-32-bit.svg":"material-cpu-32-bit","material/cpu-64-bit.svg":"material-cpu-64-bit","material/crane.svg":"material-crane","material/creation.svg":"material-creation","material/creative-commons.svg":"material-creative-commons","material/credit-card-check-outline.svg":"material-credit-card-check-outline","material/credit-card-check.svg":"material-credit-card-check","material/credit-card-clock-outline.svg":"material-credit-card-clock-outline","material/credit-card-clock.svg":"material-credit-card-clock","material/credit-card-marker-outline.svg":"material-credit-card-marker-outline","material/credit-card-marker.svg":"material-credit-card-marker","material/credit-card-minus-outline.svg":"material-credit-card-minus-outline","material/credit-card-minus.svg":"material-credit-card-minus","material/credit-card-multiple-outline.svg":"material-credit-card-multiple-outline","material/credit-card-multiple.svg":"material-credit-card-multiple","material/credit-card-off-outline.svg":"material-credit-card-off-outline","material/credit-card-off.svg":"material-credit-card-off","material/credit-card-outline.svg":"material-credit-card-outline","material/credit-card-plus-outline.svg":"material-credit-card-plus-outline","material/credit-card-plus.svg":"material-credit-card-plus","material/credit-card-refresh-outline.svg":"material-credit-card-refresh-outline","material/credit-card-refresh.svg":"material-credit-card-refresh","material/credit-card-refund-outline.svg":"material-credit-card-refund-outline","material/credit-card-refund.svg":"material-credit-card-refund","material/credit-card-remove-outline.svg":"material-credit-card-remove-outline","material/credit-card-remove.svg":"material-credit-card-remove","material/credit-card-scan-outline.svg":"material-credit-card-scan-outline","material/credit-card-scan.svg":"material-credit-card-scan","material/credit-card-search-outline.svg":"material-credit-card-search-outline","material/credit-card-search.svg":"material-credit-card-search","material/credit-card-settings-outline.svg":"material-credit-card-settings-outline","material/credit-card-settings.svg":"material-credit-card-settings","material/credit-card-sync-outline.svg":"material-credit-card-sync-outline","material/credit-card-sync.svg":"material-credit-card-sync","material/credit-card-wireless-off-outline.svg":"material-credit-card-wireless-off-outline","material/credit-card-wireless-off.svg":"material-credit-card-wireless-off","material/credit-card-wireless-outline.svg":"material-credit-card-wireless-outline","material/credit-card-wireless.svg":"material-credit-card-wireless","material/credit-card.svg":"material-credit-card","material/cricket.svg":"material-cricket","material/crop-free.svg":"material-crop-free","material/crop-landscape.svg":"material-crop-landscape","material/crop-portrait.svg":"material-crop-portrait","material/crop-rotate.svg":"material-crop-rotate","material/crop-square.svg":"material-crop-square","material/crop.svg":"material-crop","material/crosshairs-gps.svg":"material-crosshairs-gps","material/crosshairs-off.svg":"material-crosshairs-off","material/crosshairs-question.svg":"material-crosshairs-question","material/crosshairs.svg":"material-crosshairs","material/crown-outline.svg":"material-crown-outline","material/crown.svg":"material-crown","material/cryengine.svg":"material-cryengine","material/crystal-ball.svg":"material-crystal-ball","material/cube-off-outline.svg":"material-cube-off-outline","material/cube-off.svg":"material-cube-off","material/cube-outline.svg":"material-cube-outline","material/cube-scan.svg":"material-cube-scan","material/cube-send.svg":"material-cube-send","material/cube-unfolded.svg":"material-cube-unfolded","material/cube.svg":"material-cube","material/cup-off-outline.svg":"material-cup-off-outline","material/cup-off.svg":"material-cup-off","material/cup-outline.svg":"material-cup-outline","material/cup-water.svg":"material-cup-water","material/cup.svg":"material-cup","material/cupboard-outline.svg":"material-cupboard-outline","material/cupboard.svg":"material-cupboard","material/cupcake.svg":"material-cupcake","material/curling.svg":"material-curling","material/currency-bdt.svg":"material-currency-bdt","material/currency-brl.svg":"material-currency-brl","material/currency-btc.svg":"material-currency-btc","material/currency-cny.svg":"material-currency-cny","material/currency-eth.svg":"material-currency-eth","material/currency-eur-off.svg":"material-currency-eur-off","material/currency-eur.svg":"material-currency-eur","material/currency-gbp.svg":"material-currency-gbp","material/currency-ils.svg":"material-currency-ils","material/currency-inr.svg":"material-currency-inr","material/currency-jpy.svg":"material-currency-jpy","material/currency-krw.svg":"material-currency-krw","material/currency-kzt.svg":"material-currency-kzt","material/currency-mnt.svg":"material-currency-mnt","material/currency-ngn.svg":"material-currency-ngn","material/currency-php.svg":"material-currency-php","material/currency-rial.svg":"material-currency-rial","material/currency-rub.svg":"material-currency-rub","material/currency-sign.svg":"material-currency-sign","material/currency-try.svg":"material-currency-try","material/currency-twd.svg":"material-currency-twd","material/currency-usd-circle-outline.svg":"material-currency-usd-circle-outline","material/currency-usd-circle.svg":"material-currency-usd-circle","material/currency-usd-off.svg":"material-currency-usd-off","material/currency-usd.svg":"material-currency-usd","material/current-ac.svg":"material-current-ac","material/current-dc.svg":"material-current-dc","material/cursor-default-click-outline.svg":"material-cursor-default-click-outline","material/cursor-default-click.svg":"material-cursor-default-click","material/cursor-default-gesture-outline.svg":"material-cursor-default-gesture-outline","material/cursor-default-gesture.svg":"material-cursor-default-gesture","material/cursor-default-outline.svg":"material-cursor-default-outline","material/cursor-default.svg":"material-cursor-default","material/cursor-move.svg":"material-cursor-move","material/cursor-pointer.svg":"material-cursor-pointer","material/cursor-text.svg":"material-cursor-text","material/dance-ballroom.svg":"material-dance-ballroom","material/dance-pole.svg":"material-dance-pole","material/data-matrix-edit.svg":"material-data-matrix-edit","material/data-matrix-minus.svg":"material-data-matrix-minus","material/data-matrix-plus.svg":"material-data-matrix-plus","material/data-matrix-remove.svg":"material-data-matrix-remove","material/data-matrix-scan.svg":"material-data-matrix-scan","material/data-matrix.svg":"material-data-matrix","material/database-alert-outline.svg":"material-database-alert-outline","material/database-alert.svg":"material-database-alert","material/database-arrow-down-outline.svg":"material-database-arrow-down-outline","material/database-arrow-down.svg":"material-database-arrow-down","material/database-arrow-left-outline.svg":"material-database-arrow-left-outline","material/database-arrow-left.svg":"material-database-arrow-left","material/database-arrow-right-outline.svg":"material-database-arrow-right-outline","material/database-arrow-right.svg":"material-database-arrow-right","material/database-arrow-up-outline.svg":"material-database-arrow-up-outline","material/database-arrow-up.svg":"material-database-arrow-up","material/database-check-outline.svg":"material-database-check-outline","material/database-check.svg":"material-database-check","material/database-clock-outline.svg":"material-database-clock-outline","material/database-clock.svg":"material-database-clock","material/database-cog-outline.svg":"material-database-cog-outline","material/database-cog.svg":"material-database-cog","material/database-edit-outline.svg":"material-database-edit-outline","material/database-edit.svg":"material-database-edit","material/database-export-outline.svg":"material-database-export-outline","material/database-export.svg":"material-database-export","material/database-import-outline.svg":"material-database-import-outline","material/database-import.svg":"material-database-import","material/database-lock-outline.svg":"material-database-lock-outline","material/database-lock.svg":"material-database-lock","material/database-marker-outline.svg":"material-database-marker-outline","material/database-marker.svg":"material-database-marker","material/database-minus-outline.svg":"material-database-minus-outline","material/database-minus.svg":"material-database-minus","material/database-off-outline.svg":"material-database-off-outline","material/database-off.svg":"material-database-off","material/database-outline.svg":"material-database-outline","material/database-plus-outline.svg":"material-database-plus-outline","material/database-plus.svg":"material-database-plus","material/database-refresh-outline.svg":"material-database-refresh-outline","material/database-refresh.svg":"material-database-refresh","material/database-remove-outline.svg":"material-database-remove-outline","material/database-remove.svg":"material-database-remove","material/database-search-outline.svg":"material-database-search-outline","material/database-search.svg":"material-database-search","material/database-settings-outline.svg":"material-database-settings-outline","material/database-settings.svg":"material-database-settings","material/database-sync-outline.svg":"material-database-sync-outline","material/database-sync.svg":"material-database-sync","material/database.svg":"material-database","material/death-star-variant.svg":"material-death-star-variant","material/death-star.svg":"material-death-star","material/deathly-hallows.svg":"material-deathly-hallows","material/debian.svg":"material-debian","material/debug-step-into.svg":"material-debug-step-into","material/debug-step-out.svg":"material-debug-step-out","material/debug-step-over.svg":"material-debug-step-over","material/decagram-outline.svg":"material-decagram-outline","material/decagram.svg":"material-decagram","material/decimal-comma-decrease.svg":"material-decimal-comma-decrease","material/decimal-comma-increase.svg":"material-decimal-comma-increase","material/decimal-comma.svg":"material-decimal-comma","material/decimal-decrease.svg":"material-decimal-decrease","material/decimal-increase.svg":"material-decimal-increase","material/decimal.svg":"material-decimal","material/delete-alert-outline.svg":"material-delete-alert-outline","material/delete-alert.svg":"material-delete-alert","material/delete-circle-outline.svg":"material-delete-circle-outline","material/delete-circle.svg":"material-delete-circle","material/delete-clock-outline.svg":"material-delete-clock-outline","material/delete-clock.svg":"material-delete-clock","material/delete-empty-outline.svg":"material-delete-empty-outline","material/delete-empty.svg":"material-delete-empty","material/delete-forever-outline.svg":"material-delete-forever-outline","material/delete-forever.svg":"material-delete-forever","material/delete-off-outline.svg":"material-delete-off-outline","material/delete-off.svg":"material-delete-off","material/delete-outline.svg":"material-delete-outline","material/delete-restore.svg":"material-delete-restore","material/delete-sweep-outline.svg":"material-delete-sweep-outline","material/delete-sweep.svg":"material-delete-sweep","material/delete-variant.svg":"material-delete-variant","material/delete.svg":"material-delete","material/delta.svg":"material-delta","material/desk-lamp.svg":"material-desk-lamp","material/desk.svg":"material-desk","material/deskphone.svg":"material-deskphone","material/desktop-classic.svg":"material-desktop-classic","material/desktop-mac-dashboard.svg":"material-desktop-mac-dashboard","material/desktop-mac.svg":"material-desktop-mac","material/desktop-tower-monitor.svg":"material-desktop-tower-monitor","material/desktop-tower.svg":"material-desktop-tower","material/details.svg":"material-details","material/dev-to.svg":"material-dev-to","material/developer-board.svg":"material-developer-board","material/deviantart.svg":"material-deviantart","material/devices.svg":"material-devices","material/diabetes.svg":"material-diabetes","material/dialpad.svg":"material-dialpad","material/diameter-outline.svg":"material-diameter-outline","material/diameter-variant.svg":"material-diameter-variant","material/diameter.svg":"material-diameter","material/diamond-outline.svg":"material-diamond-outline","material/diamond-stone.svg":"material-diamond-stone","material/diamond.svg":"material-diamond","material/dice-1-outline.svg":"material-dice-1-outline","material/dice-1.svg":"material-dice-1","material/dice-2-outline.svg":"material-dice-2-outline","material/dice-2.svg":"material-dice-2","material/dice-3-outline.svg":"material-dice-3-outline","material/dice-3.svg":"material-dice-3","material/dice-4-outline.svg":"material-dice-4-outline","material/dice-4.svg":"material-dice-4","material/dice-5-outline.svg":"material-dice-5-outline","material/dice-5.svg":"material-dice-5","material/dice-6-outline.svg":"material-dice-6-outline","material/dice-6.svg":"material-dice-6","material/dice-d10-outline.svg":"material-dice-d10-outline","material/dice-d10.svg":"material-dice-d10","material/dice-d12-outline.svg":"material-dice-d12-outline","material/dice-d12.svg":"material-dice-d12","material/dice-d20-outline.svg":"material-dice-d20-outline","material/dice-d20.svg":"material-dice-d20","material/dice-d4-outline.svg":"material-dice-d4-outline","material/dice-d4.svg":"material-dice-d4","material/dice-d6-outline.svg":"material-dice-d6-outline","material/dice-d6.svg":"material-dice-d6","material/dice-d8-outline.svg":"material-dice-d8-outline","material/dice-d8.svg":"material-dice-d8","material/dice-multiple-outline.svg":"material-dice-multiple-outline","material/dice-multiple.svg":"material-dice-multiple","material/digital-ocean.svg":"material-digital-ocean","material/dip-switch.svg":"material-dip-switch","material/directions-fork.svg":"material-directions-fork","material/directions.svg":"material-directions","material/disc-alert.svg":"material-disc-alert","material/disc-player.svg":"material-disc-player","material/disc.svg":"material-disc","material/discord.svg":"material-discord","material/dishwasher-alert.svg":"material-dishwasher-alert","material/dishwasher-off.svg":"material-dishwasher-off","material/dishwasher.svg":"material-dishwasher","material/disqus.svg":"material-disqus","material/distribute-horizontal-center.svg":"material-distribute-horizontal-center","material/distribute-horizontal-left.svg":"material-distribute-horizontal-left","material/distribute-horizontal-right.svg":"material-distribute-horizontal-right","material/distribute-vertical-bottom.svg":"material-distribute-vertical-bottom","material/distribute-vertical-center.svg":"material-distribute-vertical-center","material/distribute-vertical-top.svg":"material-distribute-vertical-top","material/diving-flippers.svg":"material-diving-flippers","material/diving-helmet.svg":"material-diving-helmet","material/diving-scuba-flag.svg":"material-diving-scuba-flag","material/diving-scuba-tank-multiple.svg":"material-diving-scuba-tank-multiple","material/diving-scuba-tank.svg":"material-diving-scuba-tank","material/diving-scuba.svg":"material-diving-scuba","material/diving-snorkel.svg":"material-diving-snorkel","material/division-box.svg":"material-division-box","material/division.svg":"material-division","material/dlna.svg":"material-dlna","material/dna.svg":"material-dna","material/dns-outline.svg":"material-dns-outline","material/dns.svg":"material-dns","material/do-not-disturb-off.svg":"material-do-not-disturb-off","material/do-not-disturb.svg":"material-do-not-disturb","material/dock-bottom.svg":"material-dock-bottom","material/dock-left.svg":"material-dock-left","material/dock-right.svg":"material-dock-right","material/dock-top.svg":"material-dock-top","material/dock-window.svg":"material-dock-window","material/docker.svg":"material-docker","material/doctor.svg":"material-doctor","material/dog-service.svg":"material-dog-service","material/dog-side-off.svg":"material-dog-side-off","material/dog-side.svg":"material-dog-side","material/dog.svg":"material-dog","material/dolby.svg":"material-dolby","material/dolly.svg":"material-dolly","material/domain-off.svg":"material-domain-off","material/domain-plus.svg":"material-domain-plus","material/domain-remove.svg":"material-domain-remove","material/domain.svg":"material-domain","material/dome-light.svg":"material-dome-light","material/domino-mask.svg":"material-domino-mask","material/donkey.svg":"material-donkey","material/door-closed-lock.svg":"material-door-closed-lock","material/door-closed.svg":"material-door-closed","material/door-open.svg":"material-door-open","material/door.svg":"material-door","material/doorbell-video.svg":"material-doorbell-video","material/doorbell.svg":"material-doorbell","material/dot-net.svg":"material-dot-net","material/dots-grid.svg":"material-dots-grid","material/dots-hexagon.svg":"material-dots-hexagon","material/dots-horizontal-circle-outline.svg":"material-dots-horizontal-circle-outline","material/dots-horizontal-circle.svg":"material-dots-horizontal-circle","material/dots-horizontal.svg":"material-dots-horizontal","material/dots-square.svg":"material-dots-square","material/dots-triangle.svg":"material-dots-triangle","material/dots-vertical-circle-outline.svg":"material-dots-vertical-circle-outline","material/dots-vertical-circle.svg":"material-dots-vertical-circle","material/dots-vertical.svg":"material-dots-vertical","material/douban.svg":"material-douban","material/download-box-outline.svg":"material-download-box-outline","material/download-box.svg":"material-download-box","material/download-circle-outline.svg":"material-download-circle-outline","material/download-circle.svg":"material-download-circle","material/download-lock-outline.svg":"material-download-lock-outline","material/download-lock.svg":"material-download-lock","material/download-multiple.svg":"material-download-multiple","material/download-network-outline.svg":"material-download-network-outline","material/download-network.svg":"material-download-network","material/download-off-outline.svg":"material-download-off-outline","material/download-off.svg":"material-download-off","material/download-outline.svg":"material-download-outline","material/download.svg":"material-download","material/drag-horizontal-variant.svg":"material-drag-horizontal-variant","material/drag-horizontal.svg":"material-drag-horizontal","material/drag-variant.svg":"material-drag-variant","material/drag-vertical-variant.svg":"material-drag-vertical-variant","material/drag-vertical.svg":"material-drag-vertical","material/drag.svg":"material-drag","material/drama-masks.svg":"material-drama-masks","material/draw.svg":"material-draw","material/drawing-box.svg":"material-drawing-box","material/drawing.svg":"material-drawing","material/dresser-outline.svg":"material-dresser-outline","material/dresser.svg":"material-dresser","material/drone.svg":"material-drone","material/dropbox.svg":"material-dropbox","material/drupal.svg":"material-drupal","material/duck.svg":"material-duck","material/dumbbell.svg":"material-dumbbell","material/dump-truck.svg":"material-dump-truck","material/ear-hearing-off.svg":"material-ear-hearing-off","material/ear-hearing.svg":"material-ear-hearing","material/earth-arrow-right.svg":"material-earth-arrow-right","material/earth-box-minus.svg":"material-earth-box-minus","material/earth-box-off.svg":"material-earth-box-off","material/earth-box-plus.svg":"material-earth-box-plus","material/earth-box-remove.svg":"material-earth-box-remove","material/earth-box.svg":"material-earth-box","material/earth-minus.svg":"material-earth-minus","material/earth-off.svg":"material-earth-off","material/earth-plus.svg":"material-earth-plus","material/earth-remove.svg":"material-earth-remove","material/earth.svg":"material-earth","material/egg-easter.svg":"material-egg-easter","material/egg-off-outline.svg":"material-egg-off-outline","material/egg-off.svg":"material-egg-off","material/egg-outline.svg":"material-egg-outline","material/egg.svg":"material-egg","material/eiffel-tower.svg":"material-eiffel-tower","material/eight-track.svg":"material-eight-track","material/eject-outline.svg":"material-eject-outline","material/eject.svg":"material-eject","material/electric-switch-closed.svg":"material-electric-switch-closed","material/electric-switch.svg":"material-electric-switch","material/electron-framework.svg":"material-electron-framework","material/elephant.svg":"material-elephant","material/elevation-decline.svg":"material-elevation-decline","material/elevation-rise.svg":"material-elevation-rise","material/elevator-down.svg":"material-elevator-down","material/elevator-passenger.svg":"material-elevator-passenger","material/elevator-up.svg":"material-elevator-up","material/elevator.svg":"material-elevator","material/ellipse-outline.svg":"material-ellipse-outline","material/ellipse.svg":"material-ellipse","material/email-alert-outline.svg":"material-email-alert-outline","material/email-alert.svg":"material-email-alert","material/email-box.svg":"material-email-box","material/email-check-outline.svg":"material-email-check-outline","material/email-check.svg":"material-email-check","material/email-edit-outline.svg":"material-email-edit-outline","material/email-edit.svg":"material-email-edit","material/email-lock.svg":"material-email-lock","material/email-mark-as-unread.svg":"material-email-mark-as-unread","material/email-minus-outline.svg":"material-email-minus-outline","material/email-minus.svg":"material-email-minus","material/email-multiple-outline.svg":"material-email-multiple-outline","material/email-multiple.svg":"material-email-multiple","material/email-newsletter.svg":"material-email-newsletter","material/email-off-outline.svg":"material-email-off-outline","material/email-off.svg":"material-email-off","material/email-open-multiple-outline.svg":"material-email-open-multiple-outline","material/email-open-multiple.svg":"material-email-open-multiple","material/email-open-outline.svg":"material-email-open-outline","material/email-open.svg":"material-email-open","material/email-outline.svg":"material-email-outline","material/email-plus-outline.svg":"material-email-plus-outline","material/email-plus.svg":"material-email-plus","material/email-receive-outline.svg":"material-email-receive-outline","material/email-receive.svg":"material-email-receive","material/email-remove-outline.svg":"material-email-remove-outline","material/email-remove.svg":"material-email-remove","material/email-search-outline.svg":"material-email-search-outline","material/email-search.svg":"material-email-search","material/email-send-outline.svg":"material-email-send-outline","material/email-send.svg":"material-email-send","material/email-sync-outline.svg":"material-email-sync-outline","material/email-sync.svg":"material-email-sync","material/email-variant.svg":"material-email-variant","material/email.svg":"material-email","material/ember.svg":"material-ember","material/emby.svg":"material-emby","material/emoticon-angry-outline.svg":"material-emoticon-angry-outline","material/emoticon-angry.svg":"material-emoticon-angry","material/emoticon-confused-outline.svg":"material-emoticon-confused-outline","material/emoticon-confused.svg":"material-emoticon-confused","material/emoticon-cool-outline.svg":"material-emoticon-cool-outline","material/emoticon-cool.svg":"material-emoticon-cool","material/emoticon-cry-outline.svg":"material-emoticon-cry-outline","material/emoticon-cry.svg":"material-emoticon-cry","material/emoticon-dead-outline.svg":"material-emoticon-dead-outline","material/emoticon-dead.svg":"material-emoticon-dead","material/emoticon-devil-outline.svg":"material-emoticon-devil-outline","material/emoticon-devil.svg":"material-emoticon-devil","material/emoticon-excited-outline.svg":"material-emoticon-excited-outline","material/emoticon-excited.svg":"material-emoticon-excited","material/emoticon-frown-outline.svg":"material-emoticon-frown-outline","material/emoticon-frown.svg":"material-emoticon-frown","material/emoticon-happy-outline.svg":"material-emoticon-happy-outline","material/emoticon-happy.svg":"material-emoticon-happy","material/emoticon-kiss-outline.svg":"material-emoticon-kiss-outline","material/emoticon-kiss.svg":"material-emoticon-kiss","material/emoticon-lol-outline.svg":"material-emoticon-lol-outline","material/emoticon-lol.svg":"material-emoticon-lol","material/emoticon-neutral-outline.svg":"material-emoticon-neutral-outline","material/emoticon-neutral.svg":"material-emoticon-neutral","material/emoticon-outline.svg":"material-emoticon-outline","material/emoticon-poop-outline.svg":"material-emoticon-poop-outline","material/emoticon-poop.svg":"material-emoticon-poop","material/emoticon-sad-outline.svg":"material-emoticon-sad-outline","material/emoticon-sad.svg":"material-emoticon-sad","material/emoticon-sick-outline.svg":"material-emoticon-sick-outline","material/emoticon-sick.svg":"material-emoticon-sick","material/emoticon-tongue-outline.svg":"material-emoticon-tongue-outline","material/emoticon-tongue.svg":"material-emoticon-tongue","material/emoticon-wink-outline.svg":"material-emoticon-wink-outline","material/emoticon-wink.svg":"material-emoticon-wink","material/emoticon.svg":"material-emoticon","material/engine-off-outline.svg":"material-engine-off-outline","material/engine-off.svg":"material-engine-off","material/engine-outline.svg":"material-engine-outline","material/engine.svg":"material-engine","material/epsilon.svg":"material-epsilon","material/equal-box.svg":"material-equal-box","material/equal.svg":"material-equal","material/equalizer-outline.svg":"material-equalizer-outline","material/equalizer.svg":"material-equalizer","material/eraser-variant.svg":"material-eraser-variant","material/eraser.svg":"material-eraser","material/escalator-box.svg":"material-escalator-box","material/escalator-down.svg":"material-escalator-down","material/escalator-up.svg":"material-escalator-up","material/escalator.svg":"material-escalator","material/eslint.svg":"material-eslint","material/et.svg":"material-et","material/ethereum.svg":"material-ethereum","material/ethernet-cable-off.svg":"material-ethernet-cable-off","material/ethernet-cable.svg":"material-ethernet-cable","material/ethernet.svg":"material-ethernet","material/ev-plug-ccs1.svg":"material-ev-plug-ccs1","material/ev-plug-ccs2.svg":"material-ev-plug-ccs2","material/ev-plug-chademo.svg":"material-ev-plug-chademo","material/ev-plug-tesla.svg":"material-ev-plug-tesla","material/ev-plug-type1.svg":"material-ev-plug-type1","material/ev-plug-type2.svg":"material-ev-plug-type2","material/ev-station.svg":"material-ev-station","material/evernote.svg":"material-evernote","material/excavator.svg":"material-excavator","material/exclamation-thick.svg":"material-exclamation-thick","material/exclamation.svg":"material-exclamation","material/exit-run.svg":"material-exit-run","material/exit-to-app.svg":"material-exit-to-app","material/expand-all-outline.svg":"material-expand-all-outline","material/expand-all.svg":"material-expand-all","material/expansion-card-variant.svg":"material-expansion-card-variant","material/expansion-card.svg":"material-expansion-card","material/exponent-box.svg":"material-exponent-box","material/exponent.svg":"material-exponent","material/export-variant.svg":"material-export-variant","material/export.svg":"material-export","material/eye-check-outline.svg":"material-eye-check-outline","material/eye-check.svg":"material-eye-check","material/eye-circle-outline.svg":"material-eye-circle-outline","material/eye-circle.svg":"material-eye-circle","material/eye-minus-outline.svg":"material-eye-minus-outline","material/eye-minus.svg":"material-eye-minus","material/eye-off-outline.svg":"material-eye-off-outline","material/eye-off.svg":"material-eye-off","material/eye-outline.svg":"material-eye-outline","material/eye-plus-outline.svg":"material-eye-plus-outline","material/eye-plus.svg":"material-eye-plus","material/eye-remove-outline.svg":"material-eye-remove-outline","material/eye-remove.svg":"material-eye-remove","material/eye-settings-outline.svg":"material-eye-settings-outline","material/eye-settings.svg":"material-eye-settings","material/eye.svg":"material-eye","material/eyedropper-minus.svg":"material-eyedropper-minus","material/eyedropper-off.svg":"material-eyedropper-off","material/eyedropper-plus.svg":"material-eyedropper-plus","material/eyedropper-remove.svg":"material-eyedropper-remove","material/eyedropper-variant.svg":"material-eyedropper-variant","material/eyedropper.svg":"material-eyedropper","material/face-agent.svg":"material-face-agent","material/face-mask-outline.svg":"material-face-mask-outline","material/face-mask.svg":"material-face-mask","material/face-outline.svg":"material-face-outline","material/face-profile-woman.svg":"material-face-profile-woman","material/face-profile.svg":"material-face-profile","material/face-recognition.svg":"material-face-recognition","material/face-shimmer-outline.svg":"material-face-shimmer-outline","material/face-shimmer.svg":"material-face-shimmer","material/face-woman-outline.svg":"material-face-woman-outline","material/face-woman-shimmer-outline.svg":"material-face-woman-shimmer-outline","material/face-woman-shimmer.svg":"material-face-woman-shimmer","material/face-woman.svg":"material-face-woman","material/face.svg":"material-face","material/facebook-gaming.svg":"material-facebook-gaming","material/facebook-messenger.svg":"material-facebook-messenger","material/facebook-workplace.svg":"material-facebook-workplace","material/facebook.svg":"material-facebook","material/factory.svg":"material-factory","material/family-tree.svg":"material-family-tree","material/fan-alert.svg":"material-fan-alert","material/fan-auto.svg":"material-fan-auto","material/fan-chevron-down.svg":"material-fan-chevron-down","material/fan-chevron-up.svg":"material-fan-chevron-up","material/fan-minus.svg":"material-fan-minus","material/fan-off.svg":"material-fan-off","material/fan-plus.svg":"material-fan-plus","material/fan-remove.svg":"material-fan-remove","material/fan-speed-1.svg":"material-fan-speed-1","material/fan-speed-2.svg":"material-fan-speed-2","material/fan-speed-3.svg":"material-fan-speed-3","material/fan.svg":"material-fan","material/fast-forward-10.svg":"material-fast-forward-10","material/fast-forward-30.svg":"material-fast-forward-30","material/fast-forward-5.svg":"material-fast-forward-5","material/fast-forward-60.svg":"material-fast-forward-60","material/fast-forward-outline.svg":"material-fast-forward-outline","material/fast-forward.svg":"material-fast-forward","material/fax.svg":"material-fax","material/feather.svg":"material-feather","material/feature-search-outline.svg":"material-feature-search-outline","material/feature-search.svg":"material-feature-search","material/fedora.svg":"material-fedora","material/fencing.svg":"material-fencing","material/ferris-wheel.svg":"material-ferris-wheel","material/ferry.svg":"material-ferry","material/file-account-outline.svg":"material-file-account-outline","material/file-account.svg":"material-file-account","material/file-alert-outline.svg":"material-file-alert-outline","material/file-alert.svg":"material-file-alert","material/file-cabinet.svg":"material-file-cabinet","material/file-cad-box.svg":"material-file-cad-box","material/file-cad.svg":"material-file-cad","material/file-cancel-outline.svg":"material-file-cancel-outline","material/file-cancel.svg":"material-file-cancel","material/file-certificate-outline.svg":"material-file-certificate-outline","material/file-certificate.svg":"material-file-certificate","material/file-chart-outline.svg":"material-file-chart-outline","material/file-chart.svg":"material-file-chart","material/file-check-outline.svg":"material-file-check-outline","material/file-check.svg":"material-file-check","material/file-clock-outline.svg":"material-file-clock-outline","material/file-clock.svg":"material-file-clock","material/file-cloud-outline.svg":"material-file-cloud-outline","material/file-cloud.svg":"material-file-cloud","material/file-code-outline.svg":"material-file-code-outline","material/file-code.svg":"material-file-code","material/file-cog-outline.svg":"material-file-cog-outline","material/file-cog.svg":"material-file-cog","material/file-compare.svg":"material-file-compare","material/file-delimited-outline.svg":"material-file-delimited-outline","material/file-delimited.svg":"material-file-delimited","material/file-document-edit-outline.svg":"material-file-document-edit-outline","material/file-document-edit.svg":"material-file-document-edit","material/file-document-multiple-outline.svg":"material-file-document-multiple-outline","material/file-document-multiple.svg":"material-file-document-multiple","material/file-document-outline.svg":"material-file-document-outline","material/file-document.svg":"material-file-document","material/file-download-outline.svg":"material-file-download-outline","material/file-download.svg":"material-file-download","material/file-edit-outline.svg":"material-file-edit-outline","material/file-edit.svg":"material-file-edit","material/file-excel-box-outline.svg":"material-file-excel-box-outline","material/file-excel-box.svg":"material-file-excel-box","material/file-excel-outline.svg":"material-file-excel-outline","material/file-excel.svg":"material-file-excel","material/file-export-outline.svg":"material-file-export-outline","material/file-export.svg":"material-file-export","material/file-eye-outline.svg":"material-file-eye-outline","material/file-eye.svg":"material-file-eye","material/file-find-outline.svg":"material-file-find-outline","material/file-find.svg":"material-file-find","material/file-hidden.svg":"material-file-hidden","material/file-image-outline.svg":"material-file-image-outline","material/file-image.svg":"material-file-image","material/file-import-outline.svg":"material-file-import-outline","material/file-import.svg":"material-file-import","material/file-key-outline.svg":"material-file-key-outline","material/file-key.svg":"material-file-key","material/file-link-outline.svg":"material-file-link-outline","material/file-link.svg":"material-file-link","material/file-lock-outline.svg":"material-file-lock-outline","material/file-lock.svg":"material-file-lock","material/file-move-outline.svg":"material-file-move-outline","material/file-move.svg":"material-file-move","material/file-multiple-outline.svg":"material-file-multiple-outline","material/file-multiple.svg":"material-file-multiple","material/file-music-outline.svg":"material-file-music-outline","material/file-music.svg":"material-file-music","material/file-outline.svg":"material-file-outline","material/file-pdf-box-outline.svg":"material-file-pdf-box-outline","material/file-pdf-box.svg":"material-file-pdf-box","material/file-pdf-outline.svg":"material-file-pdf-outline","material/file-pdf.svg":"material-file-pdf","material/file-percent-outline.svg":"material-file-percent-outline","material/file-percent.svg":"material-file-percent","material/file-phone-outline.svg":"material-file-phone-outline","material/file-phone.svg":"material-file-phone","material/file-plus-outline.svg":"material-file-plus-outline","material/file-plus.svg":"material-file-plus","material/file-powerpoint-box-outline.svg":"material-file-powerpoint-box-outline","material/file-powerpoint-box.svg":"material-file-powerpoint-box","material/file-powerpoint-outline.svg":"material-file-powerpoint-outline","material/file-powerpoint.svg":"material-file-powerpoint","material/file-presentation-box.svg":"material-file-presentation-box","material/file-question-outline.svg":"material-file-question-outline","material/file-question.svg":"material-file-question","material/file-refresh-outline.svg":"material-file-refresh-outline","material/file-refresh.svg":"material-file-refresh","material/file-remove-outline.svg":"material-file-remove-outline","material/file-remove.svg":"material-file-remove","material/file-replace-outline.svg":"material-file-replace-outline","material/file-replace.svg":"material-file-replace","material/file-restore-outline.svg":"material-file-restore-outline","material/file-restore.svg":"material-file-restore","material/file-search-outline.svg":"material-file-search-outline","material/file-search.svg":"material-file-search","material/file-send-outline.svg":"material-file-send-outline","material/file-send.svg":"material-file-send","material/file-settings-outline.svg":"material-file-settings-outline","material/file-settings.svg":"material-file-settings","material/file-star-outline.svg":"material-file-star-outline","material/file-star.svg":"material-file-star","material/file-swap-outline.svg":"material-file-swap-outline","material/file-swap.svg":"material-file-swap","material/file-sync-outline.svg":"material-file-sync-outline","material/file-sync.svg":"material-file-sync","material/file-table-box-multiple-outline.svg":"material-file-table-box-multiple-outline","material/file-table-box-multiple.svg":"material-file-table-box-multiple","material/file-table-box-outline.svg":"material-file-table-box-outline","material/file-table-box.svg":"material-file-table-box","material/file-table-outline.svg":"material-file-table-outline","material/file-table.svg":"material-file-table","material/file-tree-outline.svg":"material-file-tree-outline","material/file-tree.svg":"material-file-tree","material/file-undo-outline.svg":"material-file-undo-outline","material/file-undo.svg":"material-file-undo","material/file-upload-outline.svg":"material-file-upload-outline","material/file-upload.svg":"material-file-upload","material/file-video-outline.svg":"material-file-video-outline","material/file-video.svg":"material-file-video","material/file-word-box-outline.svg":"material-file-word-box-outline","material/file-word-box.svg":"material-file-word-box","material/file-word-outline.svg":"material-file-word-outline","material/file-word.svg":"material-file-word","material/file.svg":"material-file","material/film.svg":"material-film","material/filmstrip-box-multiple.svg":"material-filmstrip-box-multiple","material/filmstrip-box.svg":"material-filmstrip-box","material/filmstrip-off.svg":"material-filmstrip-off","material/filmstrip.svg":"material-filmstrip","material/filter-menu-outline.svg":"material-filter-menu-outline","material/filter-menu.svg":"material-filter-menu","material/filter-minus-outline.svg":"material-filter-minus-outline","material/filter-minus.svg":"material-filter-minus","material/filter-off-outline.svg":"material-filter-off-outline","material/filter-off.svg":"material-filter-off","material/filter-outline.svg":"material-filter-outline","material/filter-plus-outline.svg":"material-filter-plus-outline","material/filter-plus.svg":"material-filter-plus","material/filter-remove-outline.svg":"material-filter-remove-outline","material/filter-remove.svg":"material-filter-remove","material/filter-variant-minus.svg":"material-filter-variant-minus","material/filter-variant-plus.svg":"material-filter-variant-plus","material/filter-variant-remove.svg":"material-filter-variant-remove","material/filter-variant.svg":"material-filter-variant","material/filter.svg":"material-filter","material/finance.svg":"material-finance","material/find-replace.svg":"material-find-replace","material/fingerprint-off.svg":"material-fingerprint-off","material/fingerprint.svg":"material-fingerprint","material/fire-alert.svg":"material-fire-alert","material/fire-extinguisher.svg":"material-fire-extinguisher","material/fire-hydrant-alert.svg":"material-fire-hydrant-alert","material/fire-hydrant-off.svg":"material-fire-hydrant-off","material/fire-hydrant.svg":"material-fire-hydrant","material/fire-off.svg":"material-fire-off","material/fire-truck.svg":"material-fire-truck","material/fire.svg":"material-fire","material/firebase.svg":"material-firebase","material/firefox.svg":"material-firefox","material/fireplace-off.svg":"material-fireplace-off","material/fireplace.svg":"material-fireplace","material/firework-off.svg":"material-firework-off","material/firework.svg":"material-firework","material/fish-off.svg":"material-fish-off","material/fish.svg":"material-fish","material/fishbowl-outline.svg":"material-fishbowl-outline","material/fishbowl.svg":"material-fishbowl","material/fit-to-page-outline.svg":"material-fit-to-page-outline","material/fit-to-page.svg":"material-fit-to-page","material/flag-checkered.svg":"material-flag-checkered","material/flag-minus-outline.svg":"material-flag-minus-outline","material/flag-minus.svg":"material-flag-minus","material/flag-outline.svg":"material-flag-outline","material/flag-plus-outline.svg":"material-flag-plus-outline","material/flag-plus.svg":"material-flag-plus","material/flag-remove-outline.svg":"material-flag-remove-outline","material/flag-remove.svg":"material-flag-remove","material/flag-triangle.svg":"material-flag-triangle","material/flag-variant-outline.svg":"material-flag-variant-outline","material/flag-variant.svg":"material-flag-variant","material/flag.svg":"material-flag","material/flare.svg":"material-flare","material/flash-alert-outline.svg":"material-flash-alert-outline","material/flash-alert.svg":"material-flash-alert","material/flash-auto.svg":"material-flash-auto","material/flash-circle.svg":"material-flash-circle","material/flash-off.svg":"material-flash-off","material/flash-outline.svg":"material-flash-outline","material/flash-red-eye.svg":"material-flash-red-eye","material/flash.svg":"material-flash","material/flashlight-off.svg":"material-flashlight-off","material/flashlight.svg":"material-flashlight","material/flask-empty-minus-outline.svg":"material-flask-empty-minus-outline","material/flask-empty-minus.svg":"material-flask-empty-minus","material/flask-empty-off-outline.svg":"material-flask-empty-off-outline","material/flask-empty-off.svg":"material-flask-empty-off","material/flask-empty-outline.svg":"material-flask-empty-outline","material/flask-empty-plus-outline.svg":"material-flask-empty-plus-outline","material/flask-empty-plus.svg":"material-flask-empty-plus","material/flask-empty-remove-outline.svg":"material-flask-empty-remove-outline","material/flask-empty-remove.svg":"material-flask-empty-remove","material/flask-empty.svg":"material-flask-empty","material/flask-minus-outline.svg":"material-flask-minus-outline","material/flask-minus.svg":"material-flask-minus","material/flask-off-outline.svg":"material-flask-off-outline","material/flask-off.svg":"material-flask-off","material/flask-outline.svg":"material-flask-outline","material/flask-plus-outline.svg":"material-flask-plus-outline","material/flask-plus.svg":"material-flask-plus","material/flask-remove-outline.svg":"material-flask-remove-outline","material/flask-remove.svg":"material-flask-remove","material/flask-round-bottom-empty-outline.svg":"material-flask-round-bottom-empty-outline","material/flask-round-bottom-empty.svg":"material-flask-round-bottom-empty","material/flask-round-bottom-outline.svg":"material-flask-round-bottom-outline","material/flask-round-bottom.svg":"material-flask-round-bottom","material/flask.svg":"material-flask","material/fleur-de-lis.svg":"material-fleur-de-lis","material/flip-horizontal.svg":"material-flip-horizontal","material/flip-to-back.svg":"material-flip-to-back","material/flip-to-front.svg":"material-flip-to-front","material/flip-vertical.svg":"material-flip-vertical","material/floor-lamp-dual.svg":"material-floor-lamp-dual","material/floor-lamp-variant.svg":"material-floor-lamp-variant","material/floor-lamp.svg":"material-floor-lamp","material/floor-plan.svg":"material-floor-plan","material/floppy-variant.svg":"material-floppy-variant","material/floppy.svg":"material-floppy","material/flower-outline.svg":"material-flower-outline","material/flower-poppy.svg":"material-flower-poppy","material/flower-tulip-outline.svg":"material-flower-tulip-outline","material/flower-tulip.svg":"material-flower-tulip","material/flower.svg":"material-flower","material/focus-auto.svg":"material-focus-auto","material/focus-field-horizontal.svg":"material-focus-field-horizontal","material/focus-field-vertical.svg":"material-focus-field-vertical","material/focus-field.svg":"material-focus-field","material/folder-account-outline.svg":"material-folder-account-outline","material/folder-account.svg":"material-folder-account","material/folder-alert-outline.svg":"material-folder-alert-outline","material/folder-alert.svg":"material-folder-alert","material/folder-clock-outline.svg":"material-folder-clock-outline","material/folder-clock.svg":"material-folder-clock","material/folder-cog-outline.svg":"material-folder-cog-outline","material/folder-cog.svg":"material-folder-cog","material/folder-download-outline.svg":"material-folder-download-outline","material/folder-download.svg":"material-folder-download","material/folder-edit-outline.svg":"material-folder-edit-outline","material/folder-edit.svg":"material-folder-edit","material/folder-google-drive.svg":"material-folder-google-drive","material/folder-heart-outline.svg":"material-folder-heart-outline","material/folder-heart.svg":"material-folder-heart","material/folder-home-outline.svg":"material-folder-home-outline","material/folder-home.svg":"material-folder-home","material/folder-image.svg":"material-folder-image","material/folder-information-outline.svg":"material-folder-information-outline","material/folder-information.svg":"material-folder-information","material/folder-key-network-outline.svg":"material-folder-key-network-outline","material/folder-key-network.svg":"material-folder-key-network","material/folder-key-outline.svg":"material-folder-key-outline","material/folder-key.svg":"material-folder-key","material/folder-lock-open.svg":"material-folder-lock-open","material/folder-lock.svg":"material-folder-lock","material/folder-marker-outline.svg":"material-folder-marker-outline","material/folder-marker.svg":"material-folder-marker","material/folder-move-outline.svg":"material-folder-move-outline","material/folder-move.svg":"material-folder-move","material/folder-multiple-image.svg":"material-folder-multiple-image","material/folder-multiple-outline.svg":"material-folder-multiple-outline","material/folder-multiple-plus-outline.svg":"material-folder-multiple-plus-outline","material/folder-multiple-plus.svg":"material-folder-multiple-plus","material/folder-multiple.svg":"material-folder-multiple","material/folder-music-outline.svg":"material-folder-music-outline","material/folder-music.svg":"material-folder-music","material/folder-network-outline.svg":"material-folder-network-outline","material/folder-network.svg":"material-folder-network","material/folder-open-outline.svg":"material-folder-open-outline","material/folder-open.svg":"material-folder-open","material/folder-outline.svg":"material-folder-outline","material/folder-plus-outline.svg":"material-folder-plus-outline","material/folder-plus.svg":"material-folder-plus","material/folder-pound-outline.svg":"material-folder-pound-outline","material/folder-pound.svg":"material-folder-pound","material/folder-refresh-outline.svg":"material-folder-refresh-outline","material/folder-refresh.svg":"material-folder-refresh","material/folder-remove-outline.svg":"material-folder-remove-outline","material/folder-remove.svg":"material-folder-remove","material/folder-search-outline.svg":"material-folder-search-outline","material/folder-search.svg":"material-folder-search","material/folder-settings-outline.svg":"material-folder-settings-outline","material/folder-settings.svg":"material-folder-settings","material/folder-star-multiple-outline.svg":"material-folder-star-multiple-outline","material/folder-star-multiple.svg":"material-folder-star-multiple","material/folder-star-outline.svg":"material-folder-star-outline","material/folder-star.svg":"material-folder-star","material/folder-swap-outline.svg":"material-folder-swap-outline","material/folder-swap.svg":"material-folder-swap","material/folder-sync-outline.svg":"material-folder-sync-outline","material/folder-sync.svg":"material-folder-sync","material/folder-table-outline.svg":"material-folder-table-outline","material/folder-table.svg":"material-folder-table","material/folder-text-outline.svg":"material-folder-text-outline","material/folder-text.svg":"material-folder-text","material/folder-upload-outline.svg":"material-folder-upload-outline","material/folder-upload.svg":"material-folder-upload","material/folder-zip-outline.svg":"material-folder-zip-outline","material/folder-zip.svg":"material-folder-zip","material/folder.svg":"material-folder","material/font-awesome.svg":"material-font-awesome","material/food-apple-outline.svg":"material-food-apple-outline","material/food-apple.svg":"material-food-apple","material/food-croissant.svg":"material-food-croissant","material/food-drumstick-off-outline.svg":"material-food-drumstick-off-outline","material/food-drumstick-off.svg":"material-food-drumstick-off","material/food-drumstick-outline.svg":"material-food-drumstick-outline","material/food-drumstick.svg":"material-food-drumstick","material/food-fork-drink.svg":"material-food-fork-drink","material/food-halal.svg":"material-food-halal","material/food-kosher.svg":"material-food-kosher","material/food-off.svg":"material-food-off","material/food-steak-off.svg":"material-food-steak-off","material/food-steak.svg":"material-food-steak","material/food-turkey.svg":"material-food-turkey","material/food-variant-off.svg":"material-food-variant-off","material/food-variant.svg":"material-food-variant","material/food.svg":"material-food","material/foot-print.svg":"material-foot-print","material/football-australian.svg":"material-football-australian","material/football-helmet.svg":"material-football-helmet","material/football.svg":"material-football","material/forklift.svg":"material-forklift","material/form-dropdown.svg":"material-form-dropdown","material/form-select.svg":"material-form-select","material/form-textarea.svg":"material-form-textarea","material/form-textbox-lock.svg":"material-form-textbox-lock","material/form-textbox-password.svg":"material-form-textbox-password","material/form-textbox.svg":"material-form-textbox","material/format-align-bottom.svg":"material-format-align-bottom","material/format-align-center.svg":"material-format-align-center","material/format-align-justify.svg":"material-format-align-justify","material/format-align-left.svg":"material-format-align-left","material/format-align-middle.svg":"material-format-align-middle","material/format-align-right.svg":"material-format-align-right","material/format-align-top.svg":"material-format-align-top","material/format-annotation-minus.svg":"material-format-annotation-minus","material/format-annotation-plus.svg":"material-format-annotation-plus","material/format-bold.svg":"material-format-bold","material/format-clear.svg":"material-format-clear","material/format-color-fill.svg":"material-format-color-fill","material/format-color-highlight.svg":"material-format-color-highlight","material/format-color-marker-cancel.svg":"material-format-color-marker-cancel","material/format-color-text.svg":"material-format-color-text","material/format-columns.svg":"material-format-columns","material/format-float-center.svg":"material-format-float-center","material/format-float-left.svg":"material-format-float-left","material/format-float-none.svg":"material-format-float-none","material/format-float-right.svg":"material-format-float-right","material/format-font-size-decrease.svg":"material-format-font-size-decrease","material/format-font-size-increase.svg":"material-format-font-size-increase","material/format-font.svg":"material-format-font","material/format-header-1.svg":"material-format-header-1","material/format-header-2.svg":"material-format-header-2","material/format-header-3.svg":"material-format-header-3","material/format-header-4.svg":"material-format-header-4","material/format-header-5.svg":"material-format-header-5","material/format-header-6.svg":"material-format-header-6","material/format-header-decrease.svg":"material-format-header-decrease","material/format-header-equal.svg":"material-format-header-equal","material/format-header-increase.svg":"material-format-header-increase","material/format-header-pound.svg":"material-format-header-pound","material/format-horizontal-align-center.svg":"material-format-horizontal-align-center","material/format-horizontal-align-left.svg":"material-format-horizontal-align-left","material/format-horizontal-align-right.svg":"material-format-horizontal-align-right","material/format-indent-decrease.svg":"material-format-indent-decrease","material/format-indent-increase.svg":"material-format-indent-increase","material/format-italic.svg":"material-format-italic","material/format-letter-case-lower.svg":"material-format-letter-case-lower","material/format-letter-case-upper.svg":"material-format-letter-case-upper","material/format-letter-case.svg":"material-format-letter-case","material/format-letter-ends-with.svg":"material-format-letter-ends-with","material/format-letter-matches.svg":"material-format-letter-matches","material/format-letter-starts-with.svg":"material-format-letter-starts-with","material/format-line-spacing.svg":"material-format-line-spacing","material/format-line-style.svg":"material-format-line-style","material/format-line-weight.svg":"material-format-line-weight","material/format-list-bulleted-square.svg":"material-format-list-bulleted-square","material/format-list-bulleted-triangle.svg":"material-format-list-bulleted-triangle","material/format-list-bulleted-type.svg":"material-format-list-bulleted-type","material/format-list-bulleted.svg":"material-format-list-bulleted","material/format-list-checkbox.svg":"material-format-list-checkbox","material/format-list-checks.svg":"material-format-list-checks","material/format-list-numbered-rtl.svg":"material-format-list-numbered-rtl","material/format-list-numbered.svg":"material-format-list-numbered","material/format-list-text.svg":"material-format-list-text","material/format-overline.svg":"material-format-overline","material/format-page-break.svg":"material-format-page-break","material/format-paint.svg":"material-format-paint","material/format-paragraph.svg":"material-format-paragraph","material/format-pilcrow.svg":"material-format-pilcrow","material/format-quote-close-outline.svg":"material-format-quote-close-outline","material/format-quote-close.svg":"material-format-quote-close","material/format-quote-open-outline.svg":"material-format-quote-open-outline","material/format-quote-open.svg":"material-format-quote-open","material/format-rotate-90.svg":"material-format-rotate-90","material/format-section.svg":"material-format-section","material/format-size.svg":"material-format-size","material/format-strikethrough-variant.svg":"material-format-strikethrough-variant","material/format-strikethrough.svg":"material-format-strikethrough","material/format-subscript.svg":"material-format-subscript","material/format-superscript.svg":"material-format-superscript","material/format-text-rotation-angle-down.svg":"material-format-text-rotation-angle-down","material/format-text-rotation-angle-up.svg":"material-format-text-rotation-angle-up","material/format-text-rotation-down-vertical.svg":"material-format-text-rotation-down-vertical","material/format-text-rotation-down.svg":"material-format-text-rotation-down","material/format-text-rotation-none.svg":"material-format-text-rotation-none","material/format-text-rotation-up.svg":"material-format-text-rotation-up","material/format-text-rotation-vertical.svg":"material-format-text-rotation-vertical","material/format-text-variant-outline.svg":"material-format-text-variant-outline","material/format-text-variant.svg":"material-format-text-variant","material/format-text-wrapping-clip.svg":"material-format-text-wrapping-clip","material/format-text-wrapping-overflow.svg":"material-format-text-wrapping-overflow","material/format-text-wrapping-wrap.svg":"material-format-text-wrapping-wrap","material/format-text.svg":"material-format-text","material/format-textbox.svg":"material-format-textbox","material/format-textdirection-l-to-r.svg":"material-format-textdirection-l-to-r","material/format-textdirection-r-to-l.svg":"material-format-textdirection-r-to-l","material/format-title.svg":"material-format-title","material/format-underline.svg":"material-format-underline","material/format-vertical-align-bottom.svg":"material-format-vertical-align-bottom","material/format-vertical-align-center.svg":"material-format-vertical-align-center","material/format-vertical-align-top.svg":"material-format-vertical-align-top","material/format-wrap-inline.svg":"material-format-wrap-inline","material/format-wrap-square.svg":"material-format-wrap-square","material/format-wrap-tight.svg":"material-format-wrap-tight","material/format-wrap-top-bottom.svg":"material-format-wrap-top-bottom","material/forum-outline.svg":"material-forum-outline","material/forum.svg":"material-forum","material/forward.svg":"material-forward","material/forwardburger.svg":"material-forwardburger","material/fountain-pen-tip.svg":"material-fountain-pen-tip","material/fountain-pen.svg":"material-fountain-pen","material/fountain.svg":"material-fountain","material/freebsd.svg":"material-freebsd","material/frequently-asked-questions.svg":"material-frequently-asked-questions","material/fridge-alert-outline.svg":"material-fridge-alert-outline","material/fridge-alert.svg":"material-fridge-alert","material/fridge-bottom.svg":"material-fridge-bottom","material/fridge-industrial-alert-outline.svg":"material-fridge-industrial-alert-outline","material/fridge-industrial-alert.svg":"material-fridge-industrial-alert","material/fridge-industrial-off-outline.svg":"material-fridge-industrial-off-outline","material/fridge-industrial-off.svg":"material-fridge-industrial-off","material/fridge-industrial-outline.svg":"material-fridge-industrial-outline","material/fridge-industrial.svg":"material-fridge-industrial","material/fridge-off-outline.svg":"material-fridge-off-outline","material/fridge-off.svg":"material-fridge-off","material/fridge-outline.svg":"material-fridge-outline","material/fridge-top.svg":"material-fridge-top","material/fridge-variant-alert-outline.svg":"material-fridge-variant-alert-outline","material/fridge-variant-alert.svg":"material-fridge-variant-alert","material/fridge-variant-off-outline.svg":"material-fridge-variant-off-outline","material/fridge-variant-off.svg":"material-fridge-variant-off","material/fridge-variant-outline.svg":"material-fridge-variant-outline","material/fridge-variant.svg":"material-fridge-variant","material/fridge.svg":"material-fridge","material/fruit-cherries-off.svg":"material-fruit-cherries-off","material/fruit-cherries.svg":"material-fruit-cherries","material/fruit-citrus-off.svg":"material-fruit-citrus-off","material/fruit-citrus.svg":"material-fruit-citrus","material/fruit-grapes-outline.svg":"material-fruit-grapes-outline","material/fruit-grapes.svg":"material-fruit-grapes","material/fruit-pineapple.svg":"material-fruit-pineapple","material/fruit-watermelon.svg":"material-fruit-watermelon","material/fuel.svg":"material-fuel","material/fullscreen-exit.svg":"material-fullscreen-exit","material/fullscreen.svg":"material-fullscreen","material/function-variant.svg":"material-function-variant","material/function.svg":"material-function","material/furigana-horizontal.svg":"material-furigana-horizontal","material/furigana-vertical.svg":"material-furigana-vertical","material/fuse-alert.svg":"material-fuse-alert","material/fuse-blade.svg":"material-fuse-blade","material/fuse-off.svg":"material-fuse-off","material/fuse.svg":"material-fuse","material/gamepad-circle-down.svg":"material-gamepad-circle-down","material/gamepad-circle-left.svg":"material-gamepad-circle-left","material/gamepad-circle-outline.svg":"material-gamepad-circle-outline","material/gamepad-circle-right.svg":"material-gamepad-circle-right","material/gamepad-circle-up.svg":"material-gamepad-circle-up","material/gamepad-circle.svg":"material-gamepad-circle","material/gamepad-down.svg":"material-gamepad-down","material/gamepad-left.svg":"material-gamepad-left","material/gamepad-right.svg":"material-gamepad-right","material/gamepad-round-down.svg":"material-gamepad-round-down","material/gamepad-round-left.svg":"material-gamepad-round-left","material/gamepad-round-outline.svg":"material-gamepad-round-outline","material/gamepad-round-right.svg":"material-gamepad-round-right","material/gamepad-round-up.svg":"material-gamepad-round-up","material/gamepad-round.svg":"material-gamepad-round","material/gamepad-square-outline.svg":"material-gamepad-square-outline","material/gamepad-square.svg":"material-gamepad-square","material/gamepad-up.svg":"material-gamepad-up","material/gamepad-variant-outline.svg":"material-gamepad-variant-outline","material/gamepad-variant.svg":"material-gamepad-variant","material/gamepad.svg":"material-gamepad","material/gamma.svg":"material-gamma","material/gantry-crane.svg":"material-gantry-crane","material/garage-alert-variant.svg":"material-garage-alert-variant","material/garage-alert.svg":"material-garage-alert","material/garage-open-variant.svg":"material-garage-open-variant","material/garage-open.svg":"material-garage-open","material/garage-variant.svg":"material-garage-variant","material/garage.svg":"material-garage","material/gas-cylinder.svg":"material-gas-cylinder","material/gas-station-off-outline.svg":"material-gas-station-off-outline","material/gas-station-off.svg":"material-gas-station-off","material/gas-station-outline.svg":"material-gas-station-outline","material/gas-station.svg":"material-gas-station","material/gate-and.svg":"material-gate-and","material/gate-arrow-right.svg":"material-gate-arrow-right","material/gate-nand.svg":"material-gate-nand","material/gate-nor.svg":"material-gate-nor","material/gate-not.svg":"material-gate-not","material/gate-open.svg":"material-gate-open","material/gate-or.svg":"material-gate-or","material/gate-xnor.svg":"material-gate-xnor","material/gate-xor.svg":"material-gate-xor","material/gate.svg":"material-gate","material/gatsby.svg":"material-gatsby","material/gauge-empty.svg":"material-gauge-empty","material/gauge-full.svg":"material-gauge-full","material/gauge-low.svg":"material-gauge-low","material/gauge.svg":"material-gauge","material/gavel.svg":"material-gavel","material/gender-female.svg":"material-gender-female","material/gender-male-female-variant.svg":"material-gender-male-female-variant","material/gender-male-female.svg":"material-gender-male-female","material/gender-male.svg":"material-gender-male","material/gender-non-binary.svg":"material-gender-non-binary","material/gender-transgender.svg":"material-gender-transgender","material/gentoo.svg":"material-gentoo","material/gesture-double-tap.svg":"material-gesture-double-tap","material/gesture-pinch.svg":"material-gesture-pinch","material/gesture-spread.svg":"material-gesture-spread","material/gesture-swipe-down.svg":"material-gesture-swipe-down","material/gesture-swipe-horizontal.svg":"material-gesture-swipe-horizontal","material/gesture-swipe-left.svg":"material-gesture-swipe-left","material/gesture-swipe-right.svg":"material-gesture-swipe-right","material/gesture-swipe-up.svg":"material-gesture-swipe-up","material/gesture-swipe-vertical.svg":"material-gesture-swipe-vertical","material/gesture-swipe.svg":"material-gesture-swipe","material/gesture-tap-box.svg":"material-gesture-tap-box","material/gesture-tap-button.svg":"material-gesture-tap-button","material/gesture-tap-hold.svg":"material-gesture-tap-hold","material/gesture-tap.svg":"material-gesture-tap","material/gesture-two-double-tap.svg":"material-gesture-two-double-tap","material/gesture-two-tap.svg":"material-gesture-two-tap","material/gesture.svg":"material-gesture","material/ghost-off-outline.svg":"material-ghost-off-outline","material/ghost-off.svg":"material-ghost-off","material/ghost-outline.svg":"material-ghost-outline","material/ghost.svg":"material-ghost","material/gif.svg":"material-gif","material/gift-off-outline.svg":"material-gift-off-outline","material/gift-off.svg":"material-gift-off","material/gift-open-outline.svg":"material-gift-open-outline","material/gift-open.svg":"material-gift-open","material/gift-outline.svg":"material-gift-outline","material/gift.svg":"material-gift","material/git.svg":"material-git","material/github.svg":"material-github","material/gitlab.svg":"material-gitlab","material/glass-cocktail-off.svg":"material-glass-cocktail-off","material/glass-cocktail.svg":"material-glass-cocktail","material/glass-flute.svg":"material-glass-flute","material/glass-mug-off.svg":"material-glass-mug-off","material/glass-mug-variant-off.svg":"material-glass-mug-variant-off","material/glass-mug-variant.svg":"material-glass-mug-variant","material/glass-mug.svg":"material-glass-mug","material/glass-pint-outline.svg":"material-glass-pint-outline","material/glass-stange.svg":"material-glass-stange","material/glass-tulip.svg":"material-glass-tulip","material/glass-wine.svg":"material-glass-wine","material/glasses.svg":"material-glasses","material/globe-light.svg":"material-globe-light","material/globe-model.svg":"material-globe-model","material/gmail.svg":"material-gmail","material/gnome.svg":"material-gnome","material/go-kart-track.svg":"material-go-kart-track","material/go-kart.svg":"material-go-kart","material/gog.svg":"material-gog","material/gold.svg":"material-gold","material/golf-cart.svg":"material-golf-cart","material/golf-tee.svg":"material-golf-tee","material/golf.svg":"material-golf","material/gondola.svg":"material-gondola","material/goodreads.svg":"material-goodreads","material/google-ads.svg":"material-google-ads","material/google-analytics.svg":"material-google-analytics","material/google-assistant.svg":"material-google-assistant","material/google-cardboard.svg":"material-google-cardboard","material/google-chrome.svg":"material-google-chrome","material/google-circles-communities.svg":"material-google-circles-communities","material/google-circles-extended.svg":"material-google-circles-extended","material/google-circles-group.svg":"material-google-circles-group","material/google-circles.svg":"material-google-circles","material/google-classroom.svg":"material-google-classroom","material/google-cloud.svg":"material-google-cloud","material/google-controller-off.svg":"material-google-controller-off","material/google-controller.svg":"material-google-controller","material/google-downasaur.svg":"material-google-downasaur","material/google-drive.svg":"material-google-drive","material/google-earth.svg":"material-google-earth","material/google-fit.svg":"material-google-fit","material/google-glass.svg":"material-google-glass","material/google-hangouts.svg":"material-google-hangouts","material/google-home.svg":"material-google-home","material/google-keep.svg":"material-google-keep","material/google-lens.svg":"material-google-lens","material/google-maps.svg":"material-google-maps","material/google-my-business.svg":"material-google-my-business","material/google-nearby.svg":"material-google-nearby","material/google-photos.svg":"material-google-photos","material/google-play.svg":"material-google-play","material/google-plus.svg":"material-google-plus","material/google-podcast.svg":"material-google-podcast","material/google-spreadsheet.svg":"material-google-spreadsheet","material/google-street-view.svg":"material-google-street-view","material/google-translate.svg":"material-google-translate","material/google.svg":"material-google","material/gradient.svg":"material-gradient","material/grain.svg":"material-grain","material/graph-outline.svg":"material-graph-outline","material/graph.svg":"material-graph","material/graphql.svg":"material-graphql","material/grass.svg":"material-grass","material/grave-stone.svg":"material-grave-stone","material/grease-pencil.svg":"material-grease-pencil","material/greater-than-or-equal.svg":"material-greater-than-or-equal","material/greater-than.svg":"material-greater-than","material/grid-large.svg":"material-grid-large","material/grid-off.svg":"material-grid-off","material/grid.svg":"material-grid","material/grill-outline.svg":"material-grill-outline","material/grill.svg":"material-grill","material/group.svg":"material-group","material/guitar-acoustic.svg":"material-guitar-acoustic","material/guitar-electric.svg":"material-guitar-electric","material/guitar-pick-outline.svg":"material-guitar-pick-outline","material/guitar-pick.svg":"material-guitar-pick","material/guy-fawkes-mask.svg":"material-guy-fawkes-mask","material/hail.svg":"material-hail","material/hair-dryer-outline.svg":"material-hair-dryer-outline","material/hair-dryer.svg":"material-hair-dryer","material/halloween.svg":"material-halloween","material/hamburger.svg":"material-hamburger","material/hammer-screwdriver.svg":"material-hammer-screwdriver","material/hammer-wrench.svg":"material-hammer-wrench","material/hammer.svg":"material-hammer","material/hand-heart-outline.svg":"material-hand-heart-outline","material/hand-heart.svg":"material-hand-heart","material/hand-left.svg":"material-hand-left","material/hand-okay.svg":"material-hand-okay","material/hand-peace-variant.svg":"material-hand-peace-variant","material/hand-peace.svg":"material-hand-peace","material/hand-pointing-down.svg":"material-hand-pointing-down","material/hand-pointing-left.svg":"material-hand-pointing-left","material/hand-pointing-right.svg":"material-hand-pointing-right","material/hand-pointing-up.svg":"material-hand-pointing-up","material/hand-right.svg":"material-hand-right","material/hand-saw.svg":"material-hand-saw","material/hand-wash-outline.svg":"material-hand-wash-outline","material/hand-wash.svg":"material-hand-wash","material/hand-water.svg":"material-hand-water","material/hand.svg":"material-hand","material/handball.svg":"material-handball","material/handcuffs.svg":"material-handcuffs","material/handshake-outline.svg":"material-handshake-outline","material/handshake.svg":"material-handshake","material/hanger.svg":"material-hanger","material/hard-hat.svg":"material-hard-hat","material/harddisk-plus.svg":"material-harddisk-plus","material/harddisk-remove.svg":"material-harddisk-remove","material/harddisk.svg":"material-harddisk","material/hat-fedora.svg":"material-hat-fedora","material/hazard-lights.svg":"material-hazard-lights","material/hdr-off.svg":"material-hdr-off","material/hdr.svg":"material-hdr","material/head-alert-outline.svg":"material-head-alert-outline","material/head-alert.svg":"material-head-alert","material/head-check-outline.svg":"material-head-check-outline","material/head-check.svg":"material-head-check","material/head-cog-outline.svg":"material-head-cog-outline","material/head-cog.svg":"material-head-cog","material/head-dots-horizontal-outline.svg":"material-head-dots-horizontal-outline","material/head-dots-horizontal.svg":"material-head-dots-horizontal","material/head-flash-outline.svg":"material-head-flash-outline","material/head-flash.svg":"material-head-flash","material/head-heart-outline.svg":"material-head-heart-outline","material/head-heart.svg":"material-head-heart","material/head-lightbulb-outline.svg":"material-head-lightbulb-outline","material/head-lightbulb.svg":"material-head-lightbulb","material/head-minus-outline.svg":"material-head-minus-outline","material/head-minus.svg":"material-head-minus","material/head-outline.svg":"material-head-outline","material/head-plus-outline.svg":"material-head-plus-outline","material/head-plus.svg":"material-head-plus","material/head-question-outline.svg":"material-head-question-outline","material/head-question.svg":"material-head-question","material/head-remove-outline.svg":"material-head-remove-outline","material/head-remove.svg":"material-head-remove","material/head-snowflake-outline.svg":"material-head-snowflake-outline","material/head-snowflake.svg":"material-head-snowflake","material/head-sync-outline.svg":"material-head-sync-outline","material/head-sync.svg":"material-head-sync","material/head.svg":"material-head","material/headphones-bluetooth.svg":"material-headphones-bluetooth","material/headphones-box.svg":"material-headphones-box","material/headphones-off.svg":"material-headphones-off","material/headphones-settings.svg":"material-headphones-settings","material/headphones.svg":"material-headphones","material/headset-dock.svg":"material-headset-dock","material/headset-off.svg":"material-headset-off","material/headset.svg":"material-headset","material/heart-box-outline.svg":"material-heart-box-outline","material/heart-box.svg":"material-heart-box","material/heart-broken-outline.svg":"material-heart-broken-outline","material/heart-broken.svg":"material-heart-broken","material/heart-circle-outline.svg":"material-heart-circle-outline","material/heart-circle.svg":"material-heart-circle","material/heart-cog-outline.svg":"material-heart-cog-outline","material/heart-cog.svg":"material-heart-cog","material/heart-flash.svg":"material-heart-flash","material/heart-half-full.svg":"material-heart-half-full","material/heart-half-outline.svg":"material-heart-half-outline","material/heart-half.svg":"material-heart-half","material/heart-minus-outline.svg":"material-heart-minus-outline","material/heart-minus.svg":"material-heart-minus","material/heart-multiple-outline.svg":"material-heart-multiple-outline","material/heart-multiple.svg":"material-heart-multiple","material/heart-off-outline.svg":"material-heart-off-outline","material/heart-off.svg":"material-heart-off","material/heart-outline.svg":"material-heart-outline","material/heart-plus-outline.svg":"material-heart-plus-outline","material/heart-plus.svg":"material-heart-plus","material/heart-pulse.svg":"material-heart-pulse","material/heart-remove-outline.svg":"material-heart-remove-outline","material/heart-remove.svg":"material-heart-remove","material/heart-settings-outline.svg":"material-heart-settings-outline","material/heart-settings.svg":"material-heart-settings","material/heart.svg":"material-heart","material/helicopter.svg":"material-helicopter","material/help-box.svg":"material-help-box","material/help-circle-outline.svg":"material-help-circle-outline","material/help-circle.svg":"material-help-circle","material/help-network-outline.svg":"material-help-network-outline","material/help-network.svg":"material-help-network","material/help-rhombus-outline.svg":"material-help-rhombus-outline","material/help-rhombus.svg":"material-help-rhombus","material/help.svg":"material-help","material/hexadecimal.svg":"material-hexadecimal","material/hexagon-multiple-outline.svg":"material-hexagon-multiple-outline","material/hexagon-multiple.svg":"material-hexagon-multiple","material/hexagon-outline.svg":"material-hexagon-outline","material/hexagon-slice-1.svg":"material-hexagon-slice-1","material/hexagon-slice-2.svg":"material-hexagon-slice-2","material/hexagon-slice-3.svg":"material-hexagon-slice-3","material/hexagon-slice-4.svg":"material-hexagon-slice-4","material/hexagon-slice-5.svg":"material-hexagon-slice-5","material/hexagon-slice-6.svg":"material-hexagon-slice-6","material/hexagon.svg":"material-hexagon","material/hexagram-outline.svg":"material-hexagram-outline","material/hexagram.svg":"material-hexagram","material/high-definition-box.svg":"material-high-definition-box","material/high-definition.svg":"material-high-definition","material/highway.svg":"material-highway","material/hiking.svg":"material-hiking","material/hinduism.svg":"material-hinduism","material/history.svg":"material-history","material/hockey-puck.svg":"material-hockey-puck","material/hockey-sticks.svg":"material-hockey-sticks","material/hololens.svg":"material-hololens","material/home-account.svg":"material-home-account","material/home-alert-outline.svg":"material-home-alert-outline","material/home-alert.svg":"material-home-alert","material/home-analytics.svg":"material-home-analytics","material/home-assistant.svg":"material-home-assistant","material/home-automation.svg":"material-home-automation","material/home-circle-outline.svg":"material-home-circle-outline","material/home-circle.svg":"material-home-circle","material/home-city-outline.svg":"material-home-city-outline","material/home-city.svg":"material-home-city","material/home-currency-usd.svg":"material-home-currency-usd","material/home-edit-outline.svg":"material-home-edit-outline","material/home-edit.svg":"material-home-edit","material/home-export-outline.svg":"material-home-export-outline","material/home-flood.svg":"material-home-flood","material/home-floor-0.svg":"material-home-floor-0","material/home-floor-1.svg":"material-home-floor-1","material/home-floor-2.svg":"material-home-floor-2","material/home-floor-3.svg":"material-home-floor-3","material/home-floor-a.svg":"material-home-floor-a","material/home-floor-b.svg":"material-home-floor-b","material/home-floor-g.svg":"material-home-floor-g","material/home-floor-l.svg":"material-home-floor-l","material/home-floor-negative-1.svg":"material-home-floor-negative-1","material/home-group.svg":"material-home-group","material/home-heart.svg":"material-home-heart","material/home-import-outline.svg":"material-home-import-outline","material/home-lightbulb-outline.svg":"material-home-lightbulb-outline","material/home-lightbulb.svg":"material-home-lightbulb","material/home-lock-open.svg":"material-home-lock-open","material/home-lock.svg":"material-home-lock","material/home-map-marker.svg":"material-home-map-marker","material/home-minus-outline.svg":"material-home-minus-outline","material/home-minus.svg":"material-home-minus","material/home-modern.svg":"material-home-modern","material/home-outline.svg":"material-home-outline","material/home-plus-outline.svg":"material-home-plus-outline","material/home-plus.svg":"material-home-plus","material/home-remove-outline.svg":"material-home-remove-outline","material/home-remove.svg":"material-home-remove","material/home-roof.svg":"material-home-roof","material/home-search-outline.svg":"material-home-search-outline","material/home-search.svg":"material-home-search","material/home-thermometer-outline.svg":"material-home-thermometer-outline","material/home-thermometer.svg":"material-home-thermometer","material/home-variant-outline.svg":"material-home-variant-outline","material/home-variant.svg":"material-home-variant","material/home.svg":"material-home","material/hook-off.svg":"material-hook-off","material/hook.svg":"material-hook","material/hops.svg":"material-hops","material/horizontal-rotate-clockwise.svg":"material-horizontal-rotate-clockwise","material/horizontal-rotate-counterclockwise.svg":"material-horizontal-rotate-counterclockwise","material/horse-human.svg":"material-horse-human","material/horse-variant.svg":"material-horse-variant","material/horse.svg":"material-horse","material/horseshoe.svg":"material-horseshoe","material/hospital-box-outline.svg":"material-hospital-box-outline","material/hospital-box.svg":"material-hospital-box","material/hospital-building.svg":"material-hospital-building","material/hospital-marker.svg":"material-hospital-marker","material/hospital.svg":"material-hospital","material/hot-tub.svg":"material-hot-tub","material/hours-24.svg":"material-hours-24","material/hubspot.svg":"material-hubspot","material/hulu.svg":"material-hulu","material/human-baby-changing-table.svg":"material-human-baby-changing-table","material/human-cane.svg":"material-human-cane","material/human-capacity-decrease.svg":"material-human-capacity-decrease","material/human-capacity-increase.svg":"material-human-capacity-increase","material/human-child.svg":"material-human-child","material/human-edit.svg":"material-human-edit","material/human-female-boy.svg":"material-human-female-boy","material/human-female-dance.svg":"material-human-female-dance","material/human-female-female.svg":"material-human-female-female","material/human-female-girl.svg":"material-human-female-girl","material/human-female.svg":"material-human-female","material/human-greeting-proximity.svg":"material-human-greeting-proximity","material/human-greeting.svg":"material-human-greeting","material/human-handsdown.svg":"material-human-handsdown","material/human-handsup.svg":"material-human-handsup","material/human-male-boy.svg":"material-human-male-boy","material/human-male-child.svg":"material-human-male-child","material/human-male-female.svg":"material-human-male-female","material/human-male-girl.svg":"material-human-male-girl","material/human-male-height-variant.svg":"material-human-male-height-variant","material/human-male-height.svg":"material-human-male-height","material/human-male-male.svg":"material-human-male-male","material/human-male.svg":"material-human-male","material/human-pregnant.svg":"material-human-pregnant","material/human-queue.svg":"material-human-queue","material/human-scooter.svg":"material-human-scooter","material/human-wheelchair.svg":"material-human-wheelchair","material/human.svg":"material-human","material/humble-bundle.svg":"material-humble-bundle","material/hvac-off.svg":"material-hvac-off","material/hvac.svg":"material-hvac","material/hydraulic-oil-level.svg":"material-hydraulic-oil-level","material/hydraulic-oil-temperature.svg":"material-hydraulic-oil-temperature","material/hydro-power.svg":"material-hydro-power","material/ice-cream-off.svg":"material-ice-cream-off","material/ice-cream.svg":"material-ice-cream","material/ice-pop.svg":"material-ice-pop","material/id-card.svg":"material-id-card","material/identifier.svg":"material-identifier","material/ideogram-cjk-variant.svg":"material-ideogram-cjk-variant","material/ideogram-cjk.svg":"material-ideogram-cjk","material/iframe-array-outline.svg":"material-iframe-array-outline","material/iframe-array.svg":"material-iframe-array","material/iframe-braces-outline.svg":"material-iframe-braces-outline","material/iframe-braces.svg":"material-iframe-braces","material/iframe-outline.svg":"material-iframe-outline","material/iframe-parentheses-outline.svg":"material-iframe-parentheses-outline","material/iframe-parentheses.svg":"material-iframe-parentheses","material/iframe-variable-outline.svg":"material-iframe-variable-outline","material/iframe-variable.svg":"material-iframe-variable","material/iframe.svg":"material-iframe","material/image-album.svg":"material-image-album","material/image-area-close.svg":"material-image-area-close","material/image-area.svg":"material-image-area","material/image-auto-adjust.svg":"material-image-auto-adjust","material/image-broken-variant.svg":"material-image-broken-variant","material/image-broken.svg":"material-image-broken","material/image-edit-outline.svg":"material-image-edit-outline","material/image-edit.svg":"material-image-edit","material/image-filter-black-white.svg":"material-image-filter-black-white","material/image-filter-center-focus-strong-outline.svg":"material-image-filter-center-focus-strong-outline","material/image-filter-center-focus-strong.svg":"material-image-filter-center-focus-strong","material/image-filter-center-focus-weak.svg":"material-image-filter-center-focus-weak","material/image-filter-center-focus.svg":"material-image-filter-center-focus","material/image-filter-drama.svg":"material-image-filter-drama","material/image-filter-frames.svg":"material-image-filter-frames","material/image-filter-hdr.svg":"material-image-filter-hdr","material/image-filter-none.svg":"material-image-filter-none","material/image-filter-tilt-shift.svg":"material-image-filter-tilt-shift","material/image-filter-vintage.svg":"material-image-filter-vintage","material/image-frame.svg":"material-image-frame","material/image-minus.svg":"material-image-minus","material/image-move.svg":"material-image-move","material/image-multiple-outline.svg":"material-image-multiple-outline","material/image-multiple.svg":"material-image-multiple","material/image-off-outline.svg":"material-image-off-outline","material/image-off.svg":"material-image-off","material/image-outline.svg":"material-image-outline","material/image-plus.svg":"material-image-plus","material/image-remove.svg":"material-image-remove","material/image-search-outline.svg":"material-image-search-outline","material/image-search.svg":"material-image-search","material/image-size-select-actual.svg":"material-image-size-select-actual","material/image-size-select-large.svg":"material-image-size-select-large","material/image-size-select-small.svg":"material-image-size-select-small","material/image-text.svg":"material-image-text","material/image.svg":"material-image","material/import.svg":"material-import","material/inbox-arrow-down-outline.svg":"material-inbox-arrow-down-outline","material/inbox-arrow-down.svg":"material-inbox-arrow-down","material/inbox-arrow-up-outline.svg":"material-inbox-arrow-up-outline","material/inbox-arrow-up.svg":"material-inbox-arrow-up","material/inbox-full-outline.svg":"material-inbox-full-outline","material/inbox-full.svg":"material-inbox-full","material/inbox-multiple-outline.svg":"material-inbox-multiple-outline","material/inbox-multiple.svg":"material-inbox-multiple","material/inbox-outline.svg":"material-inbox-outline","material/inbox-remove-outline.svg":"material-inbox-remove-outline","material/inbox-remove.svg":"material-inbox-remove","material/inbox.svg":"material-inbox","material/incognito-circle-off.svg":"material-incognito-circle-off","material/incognito-circle.svg":"material-incognito-circle","material/incognito-off.svg":"material-incognito-off","material/incognito.svg":"material-incognito","material/infinity.svg":"material-infinity","material/information-outline.svg":"material-information-outline","material/information-variant.svg":"material-information-variant","material/information.svg":"material-information","material/instagram.svg":"material-instagram","material/instrument-triangle.svg":"material-instrument-triangle","material/invert-colors-off.svg":"material-invert-colors-off","material/invert-colors.svg":"material-invert-colors","material/iobroker.svg":"material-iobroker","material/ip-network-outline.svg":"material-ip-network-outline","material/ip-network.svg":"material-ip-network","material/ip.svg":"material-ip","material/ipod.svg":"material-ipod","material/islam.svg":"material-islam","material/island.svg":"material-island","material/iv-bag.svg":"material-iv-bag","material/jabber.svg":"material-jabber","material/jeepney.svg":"material-jeepney","material/jellyfish-outline.svg":"material-jellyfish-outline","material/jellyfish.svg":"material-jellyfish","material/jira.svg":"material-jira","material/jquery.svg":"material-jquery","material/jsfiddle.svg":"material-jsfiddle","material/judaism.svg":"material-judaism","material/jump-rope.svg":"material-jump-rope","material/kabaddi.svg":"material-kabaddi","material/kangaroo.svg":"material-kangaroo","material/karate.svg":"material-karate","material/keg.svg":"material-keg","material/kettle-alert-outline.svg":"material-kettle-alert-outline","material/kettle-alert.svg":"material-kettle-alert","material/kettle-off-outline.svg":"material-kettle-off-outline","material/kettle-off.svg":"material-kettle-off","material/kettle-outline.svg":"material-kettle-outline","material/kettle-pour-over.svg":"material-kettle-pour-over","material/kettle-steam-outline.svg":"material-kettle-steam-outline","material/kettle-steam.svg":"material-kettle-steam","material/kettle.svg":"material-kettle","material/kettlebell.svg":"material-kettlebell","material/key-arrow-right.svg":"material-key-arrow-right","material/key-chain-variant.svg":"material-key-chain-variant","material/key-chain.svg":"material-key-chain","material/key-change.svg":"material-key-change","material/key-link.svg":"material-key-link","material/key-minus.svg":"material-key-minus","material/key-outline.svg":"material-key-outline","material/key-plus.svg":"material-key-plus","material/key-remove.svg":"material-key-remove","material/key-star.svg":"material-key-star","material/key-variant.svg":"material-key-variant","material/key-wireless.svg":"material-key-wireless","material/key.svg":"material-key","material/keyboard-backspace.svg":"material-keyboard-backspace","material/keyboard-caps.svg":"material-keyboard-caps","material/keyboard-close.svg":"material-keyboard-close","material/keyboard-esc.svg":"material-keyboard-esc","material/keyboard-f1.svg":"material-keyboard-f1","material/keyboard-f10.svg":"material-keyboard-f10","material/keyboard-f11.svg":"material-keyboard-f11","material/keyboard-f12.svg":"material-keyboard-f12","material/keyboard-f2.svg":"material-keyboard-f2","material/keyboard-f3.svg":"material-keyboard-f3","material/keyboard-f4.svg":"material-keyboard-f4","material/keyboard-f5.svg":"material-keyboard-f5","material/keyboard-f6.svg":"material-keyboard-f6","material/keyboard-f7.svg":"material-keyboard-f7","material/keyboard-f8.svg":"material-keyboard-f8","material/keyboard-f9.svg":"material-keyboard-f9","material/keyboard-off-outline.svg":"material-keyboard-off-outline","material/keyboard-off.svg":"material-keyboard-off","material/keyboard-outline.svg":"material-keyboard-outline","material/keyboard-return.svg":"material-keyboard-return","material/keyboard-settings-outline.svg":"material-keyboard-settings-outline","material/keyboard-settings.svg":"material-keyboard-settings","material/keyboard-space.svg":"material-keyboard-space","material/keyboard-tab.svg":"material-keyboard-tab","material/keyboard-variant.svg":"material-keyboard-variant","material/keyboard.svg":"material-keyboard","material/khanda.svg":"material-khanda","material/kickstarter.svg":"material-kickstarter","material/klingon.svg":"material-klingon","material/knife-military.svg":"material-knife-military","material/knife.svg":"material-knife","material/koala.svg":"material-koala","material/kodi.svg":"material-kodi","material/kubernetes.svg":"material-kubernetes","material/label-multiple-outline.svg":"material-label-multiple-outline","material/label-multiple.svg":"material-label-multiple","material/label-off-outline.svg":"material-label-off-outline","material/label-off.svg":"material-label-off","material/label-outline.svg":"material-label-outline","material/label-percent-outline.svg":"material-label-percent-outline","material/label-percent.svg":"material-label-percent","material/label-variant-outline.svg":"material-label-variant-outline","material/label-variant.svg":"material-label-variant","material/label.svg":"material-label","material/ladder.svg":"material-ladder","material/ladybug.svg":"material-ladybug","material/lambda.svg":"material-lambda","material/lamp.svg":"material-lamp","material/lamps.svg":"material-lamps","material/lan-check.svg":"material-lan-check","material/lan-connect.svg":"material-lan-connect","material/lan-disconnect.svg":"material-lan-disconnect","material/lan-pending.svg":"material-lan-pending","material/lan.svg":"material-lan","material/language-c.svg":"material-language-c","material/language-cpp.svg":"material-language-cpp","material/language-csharp.svg":"material-language-csharp","material/language-css3.svg":"material-language-css3","material/language-fortran.svg":"material-language-fortran","material/language-go.svg":"material-language-go","material/language-haskell.svg":"material-language-haskell","material/language-html5.svg":"material-language-html5","material/language-java.svg":"material-language-java","material/language-javascript.svg":"material-language-javascript","material/language-kotlin.svg":"material-language-kotlin","material/language-lua.svg":"material-language-lua","material/language-markdown-outline.svg":"material-language-markdown-outline","material/language-markdown.svg":"material-language-markdown","material/language-php.svg":"material-language-php","material/language-python.svg":"material-language-python","material/language-r.svg":"material-language-r","material/language-ruby-on-rails.svg":"material-language-ruby-on-rails","material/language-ruby.svg":"material-language-ruby","material/language-rust.svg":"material-language-rust","material/language-swift.svg":"material-language-swift","material/language-typescript.svg":"material-language-typescript","material/language-xaml.svg":"material-language-xaml","material/laptop-chromebook.svg":"material-laptop-chromebook","material/laptop-mac.svg":"material-laptop-mac","material/laptop-off.svg":"material-laptop-off","material/laptop-windows.svg":"material-laptop-windows","material/laptop.svg":"material-laptop","material/laravel.svg":"material-laravel","material/laser-pointer.svg":"material-laser-pointer","material/lasso.svg":"material-lasso","material/lastpass.svg":"material-lastpass","material/latitude.svg":"material-latitude","material/launch.svg":"material-launch","material/lava-lamp.svg":"material-lava-lamp","material/layers-minus.svg":"material-layers-minus","material/layers-off-outline.svg":"material-layers-off-outline","material/layers-off.svg":"material-layers-off","material/layers-outline.svg":"material-layers-outline","material/layers-plus.svg":"material-layers-plus","material/layers-remove.svg":"material-layers-remove","material/layers-search-outline.svg":"material-layers-search-outline","material/layers-search.svg":"material-layers-search","material/layers-triple-outline.svg":"material-layers-triple-outline","material/layers-triple.svg":"material-layers-triple","material/layers.svg":"material-layers","material/lead-pencil.svg":"material-lead-pencil","material/leaf-maple-off.svg":"material-leaf-maple-off","material/leaf-maple.svg":"material-leaf-maple","material/leaf-off.svg":"material-leaf-off","material/leaf.svg":"material-leaf","material/leak-off.svg":"material-leak-off","material/leak.svg":"material-leak","material/led-off.svg":"material-led-off","material/led-on.svg":"material-led-on","material/led-outline.svg":"material-led-outline","material/led-strip-variant.svg":"material-led-strip-variant","material/led-strip.svg":"material-led-strip","material/led-variant-off.svg":"material-led-variant-off","material/led-variant-on.svg":"material-led-variant-on","material/led-variant-outline.svg":"material-led-variant-outline","material/leek.svg":"material-leek","material/less-than-or-equal.svg":"material-less-than-or-equal","material/less-than.svg":"material-less-than","material/library-shelves.svg":"material-library-shelves","material/library.svg":"material-library","material/license.svg":"material-license","material/lifebuoy.svg":"material-lifebuoy","material/light-switch.svg":"material-light-switch","material/lightbulb-cfl-off.svg":"material-lightbulb-cfl-off","material/lightbulb-cfl-spiral-off.svg":"material-lightbulb-cfl-spiral-off","material/lightbulb-cfl-spiral.svg":"material-lightbulb-cfl-spiral","material/lightbulb-cfl.svg":"material-lightbulb-cfl","material/lightbulb-group-off-outline.svg":"material-lightbulb-group-off-outline","material/lightbulb-group-off.svg":"material-lightbulb-group-off","material/lightbulb-group-outline.svg":"material-lightbulb-group-outline","material/lightbulb-group.svg":"material-lightbulb-group","material/lightbulb-multiple-off-outline.svg":"material-lightbulb-multiple-off-outline","material/lightbulb-multiple-off.svg":"material-lightbulb-multiple-off","material/lightbulb-multiple-outline.svg":"material-lightbulb-multiple-outline","material/lightbulb-multiple.svg":"material-lightbulb-multiple","material/lightbulb-off-outline.svg":"material-lightbulb-off-outline","material/lightbulb-off.svg":"material-lightbulb-off","material/lightbulb-on-outline.svg":"material-lightbulb-on-outline","material/lightbulb-on.svg":"material-lightbulb-on","material/lightbulb-outline.svg":"material-lightbulb-outline","material/lightbulb.svg":"material-lightbulb","material/lighthouse-on.svg":"material-lighthouse-on","material/lighthouse.svg":"material-lighthouse","material/lightning-bolt-outline.svg":"material-lightning-bolt-outline","material/lightning-bolt.svg":"material-lightning-bolt","material/lingerie.svg":"material-lingerie","material/link-box-outline.svg":"material-link-box-outline","material/link-box-variant-outline.svg":"material-link-box-variant-outline","material/link-box-variant.svg":"material-link-box-variant","material/link-box.svg":"material-link-box","material/link-lock.svg":"material-link-lock","material/link-off.svg":"material-link-off","material/link-plus.svg":"material-link-plus","material/link-variant-minus.svg":"material-link-variant-minus","material/link-variant-off.svg":"material-link-variant-off","material/link-variant-plus.svg":"material-link-variant-plus","material/link-variant-remove.svg":"material-link-variant-remove","material/link-variant.svg":"material-link-variant","material/link.svg":"material-link","material/linkedin.svg":"material-linkedin","material/linux-mint.svg":"material-linux-mint","material/linux.svg":"material-linux","material/lipstick.svg":"material-lipstick","material/list-status.svg":"material-list-status","material/litecoin.svg":"material-litecoin","material/loading.svg":"material-loading","material/location-enter.svg":"material-location-enter","material/location-exit.svg":"material-location-exit","material/lock-alert-outline.svg":"material-lock-alert-outline","material/lock-alert.svg":"material-lock-alert","material/lock-check-outline.svg":"material-lock-check-outline","material/lock-check.svg":"material-lock-check","material/lock-clock.svg":"material-lock-clock","material/lock-minus-outline.svg":"material-lock-minus-outline","material/lock-minus.svg":"material-lock-minus","material/lock-off-outline.svg":"material-lock-off-outline","material/lock-off.svg":"material-lock-off","material/lock-open-alert-outline.svg":"material-lock-open-alert-outline","material/lock-open-alert.svg":"material-lock-open-alert","material/lock-open-check-outline.svg":"material-lock-open-check-outline","material/lock-open-check.svg":"material-lock-open-check","material/lock-open-minus-outline.svg":"material-lock-open-minus-outline","material/lock-open-minus.svg":"material-lock-open-minus","material/lock-open-outline.svg":"material-lock-open-outline","material/lock-open-plus-outline.svg":"material-lock-open-plus-outline","material/lock-open-plus.svg":"material-lock-open-plus","material/lock-open-remove-outline.svg":"material-lock-open-remove-outline","material/lock-open-remove.svg":"material-lock-open-remove","material/lock-open-variant-outline.svg":"material-lock-open-variant-outline","material/lock-open-variant.svg":"material-lock-open-variant","material/lock-open.svg":"material-lock-open","material/lock-outline.svg":"material-lock-outline","material/lock-pattern.svg":"material-lock-pattern","material/lock-plus-outline.svg":"material-lock-plus-outline","material/lock-plus.svg":"material-lock-plus","material/lock-question.svg":"material-lock-question","material/lock-remove-outline.svg":"material-lock-remove-outline","material/lock-remove.svg":"material-lock-remove","material/lock-reset.svg":"material-lock-reset","material/lock-smart.svg":"material-lock-smart","material/lock.svg":"material-lock","material/locker-multiple.svg":"material-locker-multiple","material/locker.svg":"material-locker","material/login-variant.svg":"material-login-variant","material/login.svg":"material-login","material/logout-variant.svg":"material-logout-variant","material/logout.svg":"material-logout","material/longitude.svg":"material-longitude","material/looks.svg":"material-looks","material/lotion-outline.svg":"material-lotion-outline","material/lotion-plus-outline.svg":"material-lotion-plus-outline","material/lotion-plus.svg":"material-lotion-plus","material/lotion.svg":"material-lotion","material/loupe.svg":"material-loupe","material/lumx.svg":"material-lumx","material/lungs.svg":"material-lungs","material/magnet-on.svg":"material-magnet-on","material/magnet.svg":"material-magnet","material/magnify-close.svg":"material-magnify-close","material/magnify-minus-cursor.svg":"material-magnify-minus-cursor","material/magnify-minus-outline.svg":"material-magnify-minus-outline","material/magnify-minus.svg":"material-magnify-minus","material/magnify-plus-cursor.svg":"material-magnify-plus-cursor","material/magnify-plus-outline.svg":"material-magnify-plus-outline","material/magnify-plus.svg":"material-magnify-plus","material/magnify-remove-cursor.svg":"material-magnify-remove-cursor","material/magnify-remove-outline.svg":"material-magnify-remove-outline","material/magnify-scan.svg":"material-magnify-scan","material/magnify.svg":"material-magnify","material/mail.svg":"material-mail","material/mailbox-open-outline.svg":"material-mailbox-open-outline","material/mailbox-open-up-outline.svg":"material-mailbox-open-up-outline","material/mailbox-open-up.svg":"material-mailbox-open-up","material/mailbox-open.svg":"material-mailbox-open","material/mailbox-outline.svg":"material-mailbox-outline","material/mailbox-up-outline.svg":"material-mailbox-up-outline","material/mailbox-up.svg":"material-mailbox-up","material/mailbox.svg":"material-mailbox","material/manjaro.svg":"material-manjaro","material/map-check-outline.svg":"material-map-check-outline","material/map-check.svg":"material-map-check","material/map-clock-outline.svg":"material-map-clock-outline","material/map-clock.svg":"material-map-clock","material/map-legend.svg":"material-map-legend","material/map-marker-alert-outline.svg":"material-map-marker-alert-outline","material/map-marker-alert.svg":"material-map-marker-alert","material/map-marker-check-outline.svg":"material-map-marker-check-outline","material/map-marker-check.svg":"material-map-marker-check","material/map-marker-circle.svg":"material-map-marker-circle","material/map-marker-distance.svg":"material-map-marker-distance","material/map-marker-down.svg":"material-map-marker-down","material/map-marker-left-outline.svg":"material-map-marker-left-outline","material/map-marker-left.svg":"material-map-marker-left","material/map-marker-minus-outline.svg":"material-map-marker-minus-outline","material/map-marker-minus.svg":"material-map-marker-minus","material/map-marker-multiple-outline.svg":"material-map-marker-multiple-outline","material/map-marker-multiple.svg":"material-map-marker-multiple","material/map-marker-off-outline.svg":"material-map-marker-off-outline","material/map-marker-off.svg":"material-map-marker-off","material/map-marker-outline.svg":"material-map-marker-outline","material/map-marker-path.svg":"material-map-marker-path","material/map-marker-plus-outline.svg":"material-map-marker-plus-outline","material/map-marker-plus.svg":"material-map-marker-plus","material/map-marker-question-outline.svg":"material-map-marker-question-outline","material/map-marker-question.svg":"material-map-marker-question","material/map-marker-radius-outline.svg":"material-map-marker-radius-outline","material/map-marker-radius.svg":"material-map-marker-radius","material/map-marker-remove-outline.svg":"material-map-marker-remove-outline","material/map-marker-remove-variant.svg":"material-map-marker-remove-variant","material/map-marker-remove.svg":"material-map-marker-remove","material/map-marker-right-outline.svg":"material-map-marker-right-outline","material/map-marker-right.svg":"material-map-marker-right","material/map-marker-star-outline.svg":"material-map-marker-star-outline","material/map-marker-star.svg":"material-map-marker-star","material/map-marker-up.svg":"material-map-marker-up","material/map-marker.svg":"material-map-marker","material/map-minus.svg":"material-map-minus","material/map-outline.svg":"material-map-outline","material/map-plus.svg":"material-map-plus","material/map-search-outline.svg":"material-map-search-outline","material/map-search.svg":"material-map-search","material/map.svg":"material-map","material/mapbox.svg":"material-mapbox","material/margin.svg":"material-margin","material/marker-cancel.svg":"material-marker-cancel","material/marker-check.svg":"material-marker-check","material/marker.svg":"material-marker","material/mastodon.svg":"material-mastodon","material/material-design.svg":"material-material-design","material/material-ui.svg":"material-material-ui","material/math-compass.svg":"material-math-compass","material/math-cos.svg":"material-math-cos","material/math-integral-box.svg":"material-math-integral-box","material/math-integral.svg":"material-math-integral","material/math-log.svg":"material-math-log","material/math-norm-box.svg":"material-math-norm-box","material/math-norm.svg":"material-math-norm","material/math-sin.svg":"material-math-sin","material/math-tan.svg":"material-math-tan","material/matrix.svg":"material-matrix","material/medal-outline.svg":"material-medal-outline","material/medal.svg":"material-medal","material/medical-bag.svg":"material-medical-bag","material/meditation.svg":"material-meditation","material/memory.svg":"material-memory","material/menu-down-outline.svg":"material-menu-down-outline","material/menu-down.svg":"material-menu-down","material/menu-left-outline.svg":"material-menu-left-outline","material/menu-left.svg":"material-menu-left","material/menu-open.svg":"material-menu-open","material/menu-right-outline.svg":"material-menu-right-outline","material/menu-right.svg":"material-menu-right","material/menu-swap-outline.svg":"material-menu-swap-outline","material/menu-swap.svg":"material-menu-swap","material/menu-up-outline.svg":"material-menu-up-outline","material/menu-up.svg":"material-menu-up","material/menu.svg":"material-menu","material/merge.svg":"material-merge","material/message-alert-outline.svg":"material-message-alert-outline","material/message-alert.svg":"material-message-alert","material/message-arrow-left-outline.svg":"material-message-arrow-left-outline","material/message-arrow-left.svg":"material-message-arrow-left","material/message-arrow-right-outline.svg":"material-message-arrow-right-outline","material/message-arrow-right.svg":"material-message-arrow-right","material/message-bookmark-outline.svg":"material-message-bookmark-outline","material/message-bookmark.svg":"material-message-bookmark","material/message-bulleted-off.svg":"material-message-bulleted-off","material/message-bulleted.svg":"material-message-bulleted","material/message-cog-outline.svg":"material-message-cog-outline","material/message-cog.svg":"material-message-cog","material/message-draw.svg":"material-message-draw","material/message-flash-outline.svg":"material-message-flash-outline","material/message-flash.svg":"material-message-flash","material/message-image-outline.svg":"material-message-image-outline","material/message-image.svg":"material-message-image","material/message-lock-outline.svg":"material-message-lock-outline","material/message-lock.svg":"material-message-lock","material/message-minus-outline.svg":"material-message-minus-outline","material/message-minus.svg":"material-message-minus","material/message-off-outline.svg":"material-message-off-outline","material/message-off.svg":"material-message-off","material/message-outline.svg":"material-message-outline","material/message-plus-outline.svg":"material-message-plus-outline","material/message-plus.svg":"material-message-plus","material/message-processing-outline.svg":"material-message-processing-outline","material/message-processing.svg":"material-message-processing","material/message-question-outline.svg":"material-message-question-outline","material/message-question.svg":"material-message-question","material/message-reply-outline.svg":"material-message-reply-outline","material/message-reply-text-outline.svg":"material-message-reply-text-outline","material/message-reply-text.svg":"material-message-reply-text","material/message-reply.svg":"material-message-reply","material/message-settings-outline.svg":"material-message-settings-outline","material/message-settings.svg":"material-message-settings","material/message-text-clock-outline.svg":"material-message-text-clock-outline","material/message-text-clock.svg":"material-message-text-clock","material/message-text-lock-outline.svg":"material-message-text-lock-outline","material/message-text-lock.svg":"material-message-text-lock","material/message-text-outline.svg":"material-message-text-outline","material/message-text.svg":"material-message-text","material/message-video.svg":"material-message-video","material/message.svg":"material-message","material/meteor.svg":"material-meteor","material/metronome-tick.svg":"material-metronome-tick","material/metronome.svg":"material-metronome","material/micro-sd.svg":"material-micro-sd","material/microphone-minus.svg":"material-microphone-minus","material/microphone-off.svg":"material-microphone-off","material/microphone-outline.svg":"material-microphone-outline","material/microphone-plus.svg":"material-microphone-plus","material/microphone-settings.svg":"material-microphone-settings","material/microphone-variant-off.svg":"material-microphone-variant-off","material/microphone-variant.svg":"material-microphone-variant","material/microphone.svg":"material-microphone","material/microscope.svg":"material-microscope","material/microsoft-access.svg":"material-microsoft-access","material/microsoft-azure-devops.svg":"material-microsoft-azure-devops","material/microsoft-azure.svg":"material-microsoft-azure","material/microsoft-bing.svg":"material-microsoft-bing","material/microsoft-dynamics-365.svg":"material-microsoft-dynamics-365","material/microsoft-edge-legacy.svg":"material-microsoft-edge-legacy","material/microsoft-edge.svg":"material-microsoft-edge","material/microsoft-excel.svg":"material-microsoft-excel","material/microsoft-internet-explorer.svg":"material-microsoft-internet-explorer","material/microsoft-office.svg":"material-microsoft-office","material/microsoft-onedrive.svg":"material-microsoft-onedrive","material/microsoft-onenote.svg":"material-microsoft-onenote","material/microsoft-outlook.svg":"material-microsoft-outlook","material/microsoft-powerpoint.svg":"material-microsoft-powerpoint","material/microsoft-sharepoint.svg":"material-microsoft-sharepoint","material/microsoft-teams.svg":"material-microsoft-teams","material/microsoft-visual-studio-code.svg":"material-microsoft-visual-studio-code","material/microsoft-visual-studio.svg":"material-microsoft-visual-studio","material/microsoft-windows-classic.svg":"material-microsoft-windows-classic","material/microsoft-windows.svg":"material-microsoft-windows","material/microsoft-word.svg":"material-microsoft-word","material/microsoft-xbox-controller-battery-alert.svg":"material-microsoft-xbox-controller-battery-alert","material/microsoft-xbox-controller-battery-charging.svg":"material-microsoft-xbox-controller-battery-charging","material/microsoft-xbox-controller-battery-empty.svg":"material-microsoft-xbox-controller-battery-empty","material/microsoft-xbox-controller-battery-full.svg":"material-microsoft-xbox-controller-battery-full","material/microsoft-xbox-controller-battery-low.svg":"material-microsoft-xbox-controller-battery-low","material/microsoft-xbox-controller-battery-medium.svg":"material-microsoft-xbox-controller-battery-medium","material/microsoft-xbox-controller-battery-unknown.svg":"material-microsoft-xbox-controller-battery-unknown","material/microsoft-xbox-controller-menu.svg":"material-microsoft-xbox-controller-menu","material/microsoft-xbox-controller-off.svg":"material-microsoft-xbox-controller-off","material/microsoft-xbox-controller-view.svg":"material-microsoft-xbox-controller-view","material/microsoft-xbox-controller.svg":"material-microsoft-xbox-controller","material/microsoft-xbox.svg":"material-microsoft-xbox","material/microsoft-yammer.svg":"material-microsoft-yammer","material/microsoft.svg":"material-microsoft","material/microwave-off.svg":"material-microwave-off","material/microwave.svg":"material-microwave","material/middleware-outline.svg":"material-middleware-outline","material/middleware.svg":"material-middleware","material/midi-port.svg":"material-midi-port","material/midi.svg":"material-midi","material/mine.svg":"material-mine","material/minecraft.svg":"material-minecraft","material/mini-sd.svg":"material-mini-sd","material/minidisc.svg":"material-minidisc","material/minus-box-multiple-outline.svg":"material-minus-box-multiple-outline","material/minus-box-multiple.svg":"material-minus-box-multiple","material/minus-box-outline.svg":"material-minus-box-outline","material/minus-box.svg":"material-minus-box","material/minus-circle-multiple-outline.svg":"material-minus-circle-multiple-outline","material/minus-circle-multiple.svg":"material-minus-circle-multiple","material/minus-circle-off-outline.svg":"material-minus-circle-off-outline","material/minus-circle-off.svg":"material-minus-circle-off","material/minus-circle-outline.svg":"material-minus-circle-outline","material/minus-circle.svg":"material-minus-circle","material/minus-network-outline.svg":"material-minus-network-outline","material/minus-network.svg":"material-minus-network","material/minus-thick.svg":"material-minus-thick","material/minus.svg":"material-minus","material/mirror.svg":"material-mirror","material/mixed-martial-arts.svg":"material-mixed-martial-arts","material/mixed-reality.svg":"material-mixed-reality","material/molecule-co.svg":"material-molecule-co","material/molecule-co2.svg":"material-molecule-co2","material/molecule.svg":"material-molecule","material/monitor-cellphone-star.svg":"material-monitor-cellphone-star","material/monitor-cellphone.svg":"material-monitor-cellphone","material/monitor-clean.svg":"material-monitor-clean","material/monitor-dashboard.svg":"material-monitor-dashboard","material/monitor-edit.svg":"material-monitor-edit","material/monitor-eye.svg":"material-monitor-eye","material/monitor-lock.svg":"material-monitor-lock","material/monitor-multiple.svg":"material-monitor-multiple","material/monitor-off.svg":"material-monitor-off","material/monitor-screenshot.svg":"material-monitor-screenshot","material/monitor-share.svg":"material-monitor-share","material/monitor-speaker-off.svg":"material-monitor-speaker-off","material/monitor-speaker.svg":"material-monitor-speaker","material/monitor-star.svg":"material-monitor-star","material/monitor.svg":"material-monitor","material/moon-first-quarter.svg":"material-moon-first-quarter","material/moon-full.svg":"material-moon-full","material/moon-last-quarter.svg":"material-moon-last-quarter","material/moon-new.svg":"material-moon-new","material/moon-waning-crescent.svg":"material-moon-waning-crescent","material/moon-waning-gibbous.svg":"material-moon-waning-gibbous","material/moon-waxing-crescent.svg":"material-moon-waxing-crescent","material/moon-waxing-gibbous.svg":"material-moon-waxing-gibbous","material/moped-electric-outline.svg":"material-moped-electric-outline","material/moped-electric.svg":"material-moped-electric","material/moped-outline.svg":"material-moped-outline","material/moped.svg":"material-moped","material/more.svg":"material-more","material/mother-heart.svg":"material-mother-heart","material/mother-nurse.svg":"material-mother-nurse","material/motion-outline.svg":"material-motion-outline","material/motion-pause-outline.svg":"material-motion-pause-outline","material/motion-pause.svg":"material-motion-pause","material/motion-play-outline.svg":"material-motion-play-outline","material/motion-play.svg":"material-motion-play","material/motion-sensor-off.svg":"material-motion-sensor-off","material/motion-sensor.svg":"material-motion-sensor","material/motion.svg":"material-motion","material/motorbike-electric.svg":"material-motorbike-electric","material/motorbike.svg":"material-motorbike","material/mouse-bluetooth.svg":"material-mouse-bluetooth","material/mouse-move-down.svg":"material-mouse-move-down","material/mouse-move-up.svg":"material-mouse-move-up","material/mouse-move-vertical.svg":"material-mouse-move-vertical","material/mouse-off.svg":"material-mouse-off","material/mouse-variant-off.svg":"material-mouse-variant-off","material/mouse-variant.svg":"material-mouse-variant","material/mouse.svg":"material-mouse","material/move-resize-variant.svg":"material-move-resize-variant","material/move-resize.svg":"material-move-resize","material/movie-check-outline.svg":"material-movie-check-outline","material/movie-check.svg":"material-movie-check","material/movie-cog-outline.svg":"material-movie-cog-outline","material/movie-cog.svg":"material-movie-cog","material/movie-edit-outline.svg":"material-movie-edit-outline","material/movie-edit.svg":"material-movie-edit","material/movie-filter-outline.svg":"material-movie-filter-outline","material/movie-filter.svg":"material-movie-filter","material/movie-minus-outline.svg":"material-movie-minus-outline","material/movie-minus.svg":"material-movie-minus","material/movie-off-outline.svg":"material-movie-off-outline","material/movie-off.svg":"material-movie-off","material/movie-open-check-outline.svg":"material-movie-open-check-outline","material/movie-open-check.svg":"material-movie-open-check","material/movie-open-cog-outline.svg":"material-movie-open-cog-outline","material/movie-open-cog.svg":"material-movie-open-cog","material/movie-open-edit-outline.svg":"material-movie-open-edit-outline","material/movie-open-edit.svg":"material-movie-open-edit","material/movie-open-minus-outline.svg":"material-movie-open-minus-outline","material/movie-open-minus.svg":"material-movie-open-minus","material/movie-open-off-outline.svg":"material-movie-open-off-outline","material/movie-open-off.svg":"material-movie-open-off","material/movie-open-outline.svg":"material-movie-open-outline","material/movie-open-play-outline.svg":"material-movie-open-play-outline","material/movie-open-play.svg":"material-movie-open-play","material/movie-open-plus-outline.svg":"material-movie-open-plus-outline","material/movie-open-plus.svg":"material-movie-open-plus","material/movie-open-remove-outline.svg":"material-movie-open-remove-outline","material/movie-open-remove.svg":"material-movie-open-remove","material/movie-open-settings-outline.svg":"material-movie-open-settings-outline","material/movie-open-settings.svg":"material-movie-open-settings","material/movie-open-star-outline.svg":"material-movie-open-star-outline","material/movie-open-star.svg":"material-movie-open-star","material/movie-open.svg":"material-movie-open","material/movie-outline.svg":"material-movie-outline","material/movie-play-outline.svg":"material-movie-play-outline","material/movie-play.svg":"material-movie-play","material/movie-plus-outline.svg":"material-movie-plus-outline","material/movie-plus.svg":"material-movie-plus","material/movie-remove-outline.svg":"material-movie-remove-outline","material/movie-remove.svg":"material-movie-remove","material/movie-roll.svg":"material-movie-roll","material/movie-search-outline.svg":"material-movie-search-outline","material/movie-search.svg":"material-movie-search","material/movie-settings-outline.svg":"material-movie-settings-outline","material/movie-settings.svg":"material-movie-settings","material/movie-star-outline.svg":"material-movie-star-outline","material/movie-star.svg":"material-movie-star","material/movie.svg":"material-movie","material/mower-bag.svg":"material-mower-bag","material/mower.svg":"material-mower","material/muffin.svg":"material-muffin","material/multiplication-box.svg":"material-multiplication-box","material/multiplication.svg":"material-multiplication","material/mushroom-off-outline.svg":"material-mushroom-off-outline","material/mushroom-off.svg":"material-mushroom-off","material/mushroom-outline.svg":"material-mushroom-outline","material/mushroom.svg":"material-mushroom","material/music-accidental-double-flat.svg":"material-music-accidental-double-flat","material/music-accidental-double-sharp.svg":"material-music-accidental-double-sharp","material/music-accidental-flat.svg":"material-music-accidental-flat","material/music-accidental-natural.svg":"material-music-accidental-natural","material/music-accidental-sharp.svg":"material-music-accidental-sharp","material/music-box-multiple-outline.svg":"material-music-box-multiple-outline","material/music-box-multiple.svg":"material-music-box-multiple","material/music-box-outline.svg":"material-music-box-outline","material/music-box.svg":"material-music-box","material/music-circle-outline.svg":"material-music-circle-outline","material/music-circle.svg":"material-music-circle","material/music-clef-alto.svg":"material-music-clef-alto","material/music-clef-bass.svg":"material-music-clef-bass","material/music-clef-treble.svg":"material-music-clef-treble","material/music-note-bluetooth-off.svg":"material-music-note-bluetooth-off","material/music-note-bluetooth.svg":"material-music-note-bluetooth","material/music-note-eighth-dotted.svg":"material-music-note-eighth-dotted","material/music-note-eighth.svg":"material-music-note-eighth","material/music-note-half-dotted.svg":"material-music-note-half-dotted","material/music-note-half.svg":"material-music-note-half","material/music-note-off-outline.svg":"material-music-note-off-outline","material/music-note-off.svg":"material-music-note-off","material/music-note-outline.svg":"material-music-note-outline","material/music-note-plus.svg":"material-music-note-plus","material/music-note-quarter-dotted.svg":"material-music-note-quarter-dotted","material/music-note-quarter.svg":"material-music-note-quarter","material/music-note-sixteenth-dotted.svg":"material-music-note-sixteenth-dotted","material/music-note-sixteenth.svg":"material-music-note-sixteenth","material/music-note-whole-dotted.svg":"material-music-note-whole-dotted","material/music-note-whole.svg":"material-music-note-whole","material/music-note.svg":"material-music-note","material/music-off.svg":"material-music-off","material/music-rest-eighth.svg":"material-music-rest-eighth","material/music-rest-half.svg":"material-music-rest-half","material/music-rest-quarter.svg":"material-music-rest-quarter","material/music-rest-sixteenth.svg":"material-music-rest-sixteenth","material/music-rest-whole.svg":"material-music-rest-whole","material/music.svg":"material-music","material/mustache.svg":"material-mustache","material/nail.svg":"material-nail","material/nas.svg":"material-nas","material/nativescript.svg":"material-nativescript","material/nature-people.svg":"material-nature-people","material/nature.svg":"material-nature","material/navigation-outline.svg":"material-navigation-outline","material/navigation.svg":"material-navigation","material/near-me.svg":"material-near-me","material/necklace.svg":"material-necklace","material/needle.svg":"material-needle","material/netflix.svg":"material-netflix","material/network-off-outline.svg":"material-network-off-outline","material/network-off.svg":"material-network-off","material/network-outline.svg":"material-network-outline","material/network-strength-1-alert.svg":"material-network-strength-1-alert","material/network-strength-1.svg":"material-network-strength-1","material/network-strength-2-alert.svg":"material-network-strength-2-alert","material/network-strength-2.svg":"material-network-strength-2","material/network-strength-3-alert.svg":"material-network-strength-3-alert","material/network-strength-3.svg":"material-network-strength-3","material/network-strength-4-alert.svg":"material-network-strength-4-alert","material/network-strength-4.svg":"material-network-strength-4","material/network-strength-off-outline.svg":"material-network-strength-off-outline","material/network-strength-off.svg":"material-network-strength-off","material/network-strength-outline.svg":"material-network-strength-outline","material/network.svg":"material-network","material/new-box.svg":"material-new-box","material/newspaper-minus.svg":"material-newspaper-minus","material/newspaper-plus.svg":"material-newspaper-plus","material/newspaper-variant-multiple-outline.svg":"material-newspaper-variant-multiple-outline","material/newspaper-variant-multiple.svg":"material-newspaper-variant-multiple","material/newspaper-variant-outline.svg":"material-newspaper-variant-outline","material/newspaper-variant.svg":"material-newspaper-variant","material/newspaper.svg":"material-newspaper","material/nfc-search-variant.svg":"material-nfc-search-variant","material/nfc-tap.svg":"material-nfc-tap","material/nfc-variant-off.svg":"material-nfc-variant-off","material/nfc-variant.svg":"material-nfc-variant","material/nfc.svg":"material-nfc","material/ninja.svg":"material-ninja","material/nintendo-game-boy.svg":"material-nintendo-game-boy","material/nintendo-switch.svg":"material-nintendo-switch","material/nintendo-wii.svg":"material-nintendo-wii","material/nintendo-wiiu.svg":"material-nintendo-wiiu","material/nix.svg":"material-nix","material/nodejs.svg":"material-nodejs","material/noodles.svg":"material-noodles","material/not-equal-variant.svg":"material-not-equal-variant","material/not-equal.svg":"material-not-equal","material/note-minus-outline.svg":"material-note-minus-outline","material/note-minus.svg":"material-note-minus","material/note-multiple-outline.svg":"material-note-multiple-outline","material/note-multiple.svg":"material-note-multiple","material/note-outline.svg":"material-note-outline","material/note-plus-outline.svg":"material-note-plus-outline","material/note-plus.svg":"material-note-plus","material/note-remove-outline.svg":"material-note-remove-outline","material/note-remove.svg":"material-note-remove","material/note-search-outline.svg":"material-note-search-outline","material/note-search.svg":"material-note-search","material/note-text-outline.svg":"material-note-text-outline","material/note-text.svg":"material-note-text","material/note.svg":"material-note","material/notebook-check-outline.svg":"material-notebook-check-outline","material/notebook-check.svg":"material-notebook-check","material/notebook-edit-outline.svg":"material-notebook-edit-outline","material/notebook-edit.svg":"material-notebook-edit","material/notebook-minus-outline.svg":"material-notebook-minus-outline","material/notebook-minus.svg":"material-notebook-minus","material/notebook-multiple.svg":"material-notebook-multiple","material/notebook-outline.svg":"material-notebook-outline","material/notebook-plus-outline.svg":"material-notebook-plus-outline","material/notebook-plus.svg":"material-notebook-plus","material/notebook-remove-outline.svg":"material-notebook-remove-outline","material/notebook-remove.svg":"material-notebook-remove","material/notebook.svg":"material-notebook","material/notification-clear-all.svg":"material-notification-clear-all","material/npm.svg":"material-npm","material/nuke.svg":"material-nuke","material/null.svg":"material-null","material/numeric-0-box-multiple-outline.svg":"material-numeric-0-box-multiple-outline","material/numeric-0-box-multiple.svg":"material-numeric-0-box-multiple","material/numeric-0-box-outline.svg":"material-numeric-0-box-outline","material/numeric-0-box.svg":"material-numeric-0-box","material/numeric-0-circle-outline.svg":"material-numeric-0-circle-outline","material/numeric-0-circle.svg":"material-numeric-0-circle","material/numeric-0.svg":"material-numeric-0","material/numeric-1-box-multiple-outline.svg":"material-numeric-1-box-multiple-outline","material/numeric-1-box-multiple.svg":"material-numeric-1-box-multiple","material/numeric-1-box-outline.svg":"material-numeric-1-box-outline","material/numeric-1-box.svg":"material-numeric-1-box","material/numeric-1-circle-outline.svg":"material-numeric-1-circle-outline","material/numeric-1-circle.svg":"material-numeric-1-circle","material/numeric-1.svg":"material-numeric-1","material/numeric-10-box-multiple-outline.svg":"material-numeric-10-box-multiple-outline","material/numeric-10-box-multiple.svg":"material-numeric-10-box-multiple","material/numeric-10-box-outline.svg":"material-numeric-10-box-outline","material/numeric-10-box.svg":"material-numeric-10-box","material/numeric-10-circle-outline.svg":"material-numeric-10-circle-outline","material/numeric-10-circle.svg":"material-numeric-10-circle","material/numeric-10.svg":"material-numeric-10","material/numeric-2-box-multiple-outline.svg":"material-numeric-2-box-multiple-outline","material/numeric-2-box-multiple.svg":"material-numeric-2-box-multiple","material/numeric-2-box-outline.svg":"material-numeric-2-box-outline","material/numeric-2-box.svg":"material-numeric-2-box","material/numeric-2-circle-outline.svg":"material-numeric-2-circle-outline","material/numeric-2-circle.svg":"material-numeric-2-circle","material/numeric-2.svg":"material-numeric-2","material/numeric-3-box-multiple-outline.svg":"material-numeric-3-box-multiple-outline","material/numeric-3-box-multiple.svg":"material-numeric-3-box-multiple","material/numeric-3-box-outline.svg":"material-numeric-3-box-outline","material/numeric-3-box.svg":"material-numeric-3-box","material/numeric-3-circle-outline.svg":"material-numeric-3-circle-outline","material/numeric-3-circle.svg":"material-numeric-3-circle","material/numeric-3.svg":"material-numeric-3","material/numeric-4-box-multiple-outline.svg":"material-numeric-4-box-multiple-outline","material/numeric-4-box-multiple.svg":"material-numeric-4-box-multiple","material/numeric-4-box-outline.svg":"material-numeric-4-box-outline","material/numeric-4-box.svg":"material-numeric-4-box","material/numeric-4-circle-outline.svg":"material-numeric-4-circle-outline","material/numeric-4-circle.svg":"material-numeric-4-circle","material/numeric-4.svg":"material-numeric-4","material/numeric-5-box-multiple-outline.svg":"material-numeric-5-box-multiple-outline","material/numeric-5-box-multiple.svg":"material-numeric-5-box-multiple","material/numeric-5-box-outline.svg":"material-numeric-5-box-outline","material/numeric-5-box.svg":"material-numeric-5-box","material/numeric-5-circle-outline.svg":"material-numeric-5-circle-outline","material/numeric-5-circle.svg":"material-numeric-5-circle","material/numeric-5.svg":"material-numeric-5","material/numeric-6-box-multiple-outline.svg":"material-numeric-6-box-multiple-outline","material/numeric-6-box-multiple.svg":"material-numeric-6-box-multiple","material/numeric-6-box-outline.svg":"material-numeric-6-box-outline","material/numeric-6-box.svg":"material-numeric-6-box","material/numeric-6-circle-outline.svg":"material-numeric-6-circle-outline","material/numeric-6-circle.svg":"material-numeric-6-circle","material/numeric-6.svg":"material-numeric-6","material/numeric-7-box-multiple-outline.svg":"material-numeric-7-box-multiple-outline","material/numeric-7-box-multiple.svg":"material-numeric-7-box-multiple","material/numeric-7-box-outline.svg":"material-numeric-7-box-outline","material/numeric-7-box.svg":"material-numeric-7-box","material/numeric-7-circle-outline.svg":"material-numeric-7-circle-outline","material/numeric-7-circle.svg":"material-numeric-7-circle","material/numeric-7.svg":"material-numeric-7","material/numeric-8-box-multiple-outline.svg":"material-numeric-8-box-multiple-outline","material/numeric-8-box-multiple.svg":"material-numeric-8-box-multiple","material/numeric-8-box-outline.svg":"material-numeric-8-box-outline","material/numeric-8-box.svg":"material-numeric-8-box","material/numeric-8-circle-outline.svg":"material-numeric-8-circle-outline","material/numeric-8-circle.svg":"material-numeric-8-circle","material/numeric-8.svg":"material-numeric-8","material/numeric-9-box-multiple-outline.svg":"material-numeric-9-box-multiple-outline","material/numeric-9-box-multiple.svg":"material-numeric-9-box-multiple","material/numeric-9-box-outline.svg":"material-numeric-9-box-outline","material/numeric-9-box.svg":"material-numeric-9-box","material/numeric-9-circle-outline.svg":"material-numeric-9-circle-outline","material/numeric-9-circle.svg":"material-numeric-9-circle","material/numeric-9-plus-box-multiple-outline.svg":"material-numeric-9-plus-box-multiple-outline","material/numeric-9-plus-box-multiple.svg":"material-numeric-9-plus-box-multiple","material/numeric-9-plus-box-outline.svg":"material-numeric-9-plus-box-outline","material/numeric-9-plus-box.svg":"material-numeric-9-plus-box","material/numeric-9-plus-circle-outline.svg":"material-numeric-9-plus-circle-outline","material/numeric-9-plus-circle.svg":"material-numeric-9-plus-circle","material/numeric-9-plus.svg":"material-numeric-9-plus","material/numeric-9.svg":"material-numeric-9","material/numeric-negative-1.svg":"material-numeric-negative-1","material/numeric-positive-1.svg":"material-numeric-positive-1","material/numeric.svg":"material-numeric","material/nut.svg":"material-nut","material/nutrition.svg":"material-nutrition","material/nuxt.svg":"material-nuxt","material/oar.svg":"material-oar","material/ocarina.svg":"material-ocarina","material/oci.svg":"material-oci","material/ocr.svg":"material-ocr","material/octagon-outline.svg":"material-octagon-outline","material/octagon.svg":"material-octagon","material/octagram-outline.svg":"material-octagram-outline","material/octagram.svg":"material-octagram","material/odnoklassniki.svg":"material-odnoklassniki","material/offer.svg":"material-offer","material/office-building-marker-outline.svg":"material-office-building-marker-outline","material/office-building-marker.svg":"material-office-building-marker","material/office-building-outline.svg":"material-office-building-outline","material/office-building.svg":"material-office-building","material/oil-lamp.svg":"material-oil-lamp","material/oil-level.svg":"material-oil-level","material/oil-temperature.svg":"material-oil-temperature","material/oil.svg":"material-oil","material/omega.svg":"material-omega","material/one-up.svg":"material-one-up","material/onepassword.svg":"material-onepassword","material/opacity.svg":"material-opacity","material/open-in-app.svg":"material-open-in-app","material/open-in-new.svg":"material-open-in-new","material/open-source-initiative.svg":"material-open-source-initiative","material/openid.svg":"material-openid","material/opera.svg":"material-opera","material/orbit-variant.svg":"material-orbit-variant","material/orbit.svg":"material-orbit","material/order-alphabetical-ascending.svg":"material-order-alphabetical-ascending","material/order-alphabetical-descending.svg":"material-order-alphabetical-descending","material/order-bool-ascending-variant.svg":"material-order-bool-ascending-variant","material/order-bool-ascending.svg":"material-order-bool-ascending","material/order-bool-descending-variant.svg":"material-order-bool-descending-variant","material/order-bool-descending.svg":"material-order-bool-descending","material/order-numeric-ascending.svg":"material-order-numeric-ascending","material/order-numeric-descending.svg":"material-order-numeric-descending","material/origin.svg":"material-origin","material/ornament-variant.svg":"material-ornament-variant","material/ornament.svg":"material-ornament","material/outdoor-lamp.svg":"material-outdoor-lamp","material/overscan.svg":"material-overscan","material/owl.svg":"material-owl","material/pac-man.svg":"material-pac-man","material/package-down.svg":"material-package-down","material/package-up.svg":"material-package-up","material/package-variant-closed.svg":"material-package-variant-closed","material/package-variant.svg":"material-package-variant","material/package.svg":"material-package","material/page-first.svg":"material-page-first","material/page-last.svg":"material-page-last","material/page-layout-body.svg":"material-page-layout-body","material/page-layout-footer.svg":"material-page-layout-footer","material/page-layout-header-footer.svg":"material-page-layout-header-footer","material/page-layout-header.svg":"material-page-layout-header","material/page-layout-sidebar-left.svg":"material-page-layout-sidebar-left","material/page-layout-sidebar-right.svg":"material-page-layout-sidebar-right","material/page-next-outline.svg":"material-page-next-outline","material/page-next.svg":"material-page-next","material/page-previous-outline.svg":"material-page-previous-outline","material/page-previous.svg":"material-page-previous","material/pail-minus-outline.svg":"material-pail-minus-outline","material/pail-minus.svg":"material-pail-minus","material/pail-off-outline.svg":"material-pail-off-outline","material/pail-off.svg":"material-pail-off","material/pail-outline.svg":"material-pail-outline","material/pail-plus-outline.svg":"material-pail-plus-outline","material/pail-plus.svg":"material-pail-plus","material/pail-remove-outline.svg":"material-pail-remove-outline","material/pail-remove.svg":"material-pail-remove","material/pail.svg":"material-pail","material/palette-advanced.svg":"material-palette-advanced","material/palette-outline.svg":"material-palette-outline","material/palette-swatch-outline.svg":"material-palette-swatch-outline","material/palette-swatch.svg":"material-palette-swatch","material/palette.svg":"material-palette","material/palm-tree.svg":"material-palm-tree","material/pan-bottom-left.svg":"material-pan-bottom-left","material/pan-bottom-right.svg":"material-pan-bottom-right","material/pan-down.svg":"material-pan-down","material/pan-horizontal.svg":"material-pan-horizontal","material/pan-left.svg":"material-pan-left","material/pan-right.svg":"material-pan-right","material/pan-top-left.svg":"material-pan-top-left","material/pan-top-right.svg":"material-pan-top-right","material/pan-up.svg":"material-pan-up","material/pan-vertical.svg":"material-pan-vertical","material/pan.svg":"material-pan","material/panda.svg":"material-panda","material/pandora.svg":"material-pandora","material/panorama-fisheye.svg":"material-panorama-fisheye","material/panorama-horizontal.svg":"material-panorama-horizontal","material/panorama-vertical.svg":"material-panorama-vertical","material/panorama-wide-angle.svg":"material-panorama-wide-angle","material/panorama.svg":"material-panorama","material/paper-cut-vertical.svg":"material-paper-cut-vertical","material/paper-roll-outline.svg":"material-paper-roll-outline","material/paper-roll.svg":"material-paper-roll","material/paperclip.svg":"material-paperclip","material/parachute-outline.svg":"material-parachute-outline","material/parachute.svg":"material-parachute","material/parking.svg":"material-parking","material/party-popper.svg":"material-party-popper","material/passport-biometric.svg":"material-passport-biometric","material/passport.svg":"material-passport","material/pasta.svg":"material-pasta","material/patio-heater.svg":"material-patio-heater","material/patreon.svg":"material-patreon","material/pause-circle-outline.svg":"material-pause-circle-outline","material/pause-circle.svg":"material-pause-circle","material/pause-octagon-outline.svg":"material-pause-octagon-outline","material/pause-octagon.svg":"material-pause-octagon","material/pause.svg":"material-pause","material/paw-off-outline.svg":"material-paw-off-outline","material/paw-off.svg":"material-paw-off","material/paw-outline.svg":"material-paw-outline","material/paw.svg":"material-paw","material/pdf-box.svg":"material-pdf-box","material/peace.svg":"material-peace","material/peanut-off-outline.svg":"material-peanut-off-outline","material/peanut-off.svg":"material-peanut-off","material/peanut-outline.svg":"material-peanut-outline","material/peanut.svg":"material-peanut","material/pen-lock.svg":"material-pen-lock","material/pen-minus.svg":"material-pen-minus","material/pen-off.svg":"material-pen-off","material/pen-plus.svg":"material-pen-plus","material/pen-remove.svg":"material-pen-remove","material/pen.svg":"material-pen","material/pencil-box-multiple-outline.svg":"material-pencil-box-multiple-outline","material/pencil-box-multiple.svg":"material-pencil-box-multiple","material/pencil-box-outline.svg":"material-pencil-box-outline","material/pencil-box.svg":"material-pencil-box","material/pencil-circle-outline.svg":"material-pencil-circle-outline","material/pencil-circle.svg":"material-pencil-circle","material/pencil-lock-outline.svg":"material-pencil-lock-outline","material/pencil-lock.svg":"material-pencil-lock","material/pencil-minus-outline.svg":"material-pencil-minus-outline","material/pencil-minus.svg":"material-pencil-minus","material/pencil-off-outline.svg":"material-pencil-off-outline","material/pencil-off.svg":"material-pencil-off","material/pencil-outline.svg":"material-pencil-outline","material/pencil-plus-outline.svg":"material-pencil-plus-outline","material/pencil-plus.svg":"material-pencil-plus","material/pencil-remove-outline.svg":"material-pencil-remove-outline","material/pencil-remove.svg":"material-pencil-remove","material/pencil-ruler.svg":"material-pencil-ruler","material/pencil.svg":"material-pencil","material/penguin.svg":"material-penguin","material/pentagon-outline.svg":"material-pentagon-outline","material/pentagon.svg":"material-pentagon","material/pentagram.svg":"material-pentagram","material/percent-outline.svg":"material-percent-outline","material/percent.svg":"material-percent","material/periodic-table.svg":"material-periodic-table","material/perspective-less.svg":"material-perspective-less","material/perspective-more.svg":"material-perspective-more","material/pharmacy.svg":"material-pharmacy","material/phone-alert-outline.svg":"material-phone-alert-outline","material/phone-alert.svg":"material-phone-alert","material/phone-bluetooth-outline.svg":"material-phone-bluetooth-outline","material/phone-bluetooth.svg":"material-phone-bluetooth","material/phone-cancel-outline.svg":"material-phone-cancel-outline","material/phone-cancel.svg":"material-phone-cancel","material/phone-check-outline.svg":"material-phone-check-outline","material/phone-check.svg":"material-phone-check","material/phone-classic-off.svg":"material-phone-classic-off","material/phone-classic.svg":"material-phone-classic","material/phone-dial-outline.svg":"material-phone-dial-outline","material/phone-dial.svg":"material-phone-dial","material/phone-forward-outline.svg":"material-phone-forward-outline","material/phone-forward.svg":"material-phone-forward","material/phone-hangup-outline.svg":"material-phone-hangup-outline","material/phone-hangup.svg":"material-phone-hangup","material/phone-in-talk-outline.svg":"material-phone-in-talk-outline","material/phone-in-talk.svg":"material-phone-in-talk","material/phone-incoming-outline.svg":"material-phone-incoming-outline","material/phone-incoming.svg":"material-phone-incoming","material/phone-lock-outline.svg":"material-phone-lock-outline","material/phone-lock.svg":"material-phone-lock","material/phone-log-outline.svg":"material-phone-log-outline","material/phone-log.svg":"material-phone-log","material/phone-message-outline.svg":"material-phone-message-outline","material/phone-message.svg":"material-phone-message","material/phone-minus-outline.svg":"material-phone-minus-outline","material/phone-minus.svg":"material-phone-minus","material/phone-missed-outline.svg":"material-phone-missed-outline","material/phone-missed.svg":"material-phone-missed","material/phone-off-outline.svg":"material-phone-off-outline","material/phone-off.svg":"material-phone-off","material/phone-outgoing-outline.svg":"material-phone-outgoing-outline","material/phone-outgoing.svg":"material-phone-outgoing","material/phone-outline.svg":"material-phone-outline","material/phone-paused-outline.svg":"material-phone-paused-outline","material/phone-paused.svg":"material-phone-paused","material/phone-plus-outline.svg":"material-phone-plus-outline","material/phone-plus.svg":"material-phone-plus","material/phone-remove-outline.svg":"material-phone-remove-outline","material/phone-remove.svg":"material-phone-remove","material/phone-return-outline.svg":"material-phone-return-outline","material/phone-return.svg":"material-phone-return","material/phone-ring-outline.svg":"material-phone-ring-outline","material/phone-ring.svg":"material-phone-ring","material/phone-rotate-landscape.svg":"material-phone-rotate-landscape","material/phone-rotate-portrait.svg":"material-phone-rotate-portrait","material/phone-settings-outline.svg":"material-phone-settings-outline","material/phone-settings.svg":"material-phone-settings","material/phone-voip.svg":"material-phone-voip","material/phone.svg":"material-phone","material/pi-box.svg":"material-pi-box","material/pi-hole.svg":"material-pi-hole","material/pi.svg":"material-pi","material/piano.svg":"material-piano","material/pickaxe.svg":"material-pickaxe","material/picture-in-picture-bottom-right-outline.svg":"material-picture-in-picture-bottom-right-outline","material/picture-in-picture-bottom-right.svg":"material-picture-in-picture-bottom-right","material/picture-in-picture-top-right-outline.svg":"material-picture-in-picture-top-right-outline","material/picture-in-picture-top-right.svg":"material-picture-in-picture-top-right","material/pier-crane.svg":"material-pier-crane","material/pier.svg":"material-pier","material/pig-variant-outline.svg":"material-pig-variant-outline","material/pig-variant.svg":"material-pig-variant","material/pig.svg":"material-pig","material/piggy-bank-outline.svg":"material-piggy-bank-outline","material/piggy-bank.svg":"material-piggy-bank","material/pill.svg":"material-pill","material/pillar.svg":"material-pillar","material/pin-off-outline.svg":"material-pin-off-outline","material/pin-off.svg":"material-pin-off","material/pin-outline.svg":"material-pin-outline","material/pin.svg":"material-pin","material/pine-tree-box.svg":"material-pine-tree-box","material/pine-tree-fire.svg":"material-pine-tree-fire","material/pine-tree.svg":"material-pine-tree","material/pinterest.svg":"material-pinterest","material/pinwheel-outline.svg":"material-pinwheel-outline","material/pinwheel.svg":"material-pinwheel","material/pipe-disconnected.svg":"material-pipe-disconnected","material/pipe-leak.svg":"material-pipe-leak","material/pipe-wrench.svg":"material-pipe-wrench","material/pipe.svg":"material-pipe","material/pirate.svg":"material-pirate","material/pistol.svg":"material-pistol","material/piston.svg":"material-piston","material/pitchfork.svg":"material-pitchfork","material/pizza.svg":"material-pizza","material/play-box-multiple-outline.svg":"material-play-box-multiple-outline","material/play-box-multiple.svg":"material-play-box-multiple","material/play-box-outline.svg":"material-play-box-outline","material/play-box.svg":"material-play-box","material/play-circle-outline.svg":"material-play-circle-outline","material/play-circle.svg":"material-play-circle","material/play-network-outline.svg":"material-play-network-outline","material/play-network.svg":"material-play-network","material/play-outline.svg":"material-play-outline","material/play-pause.svg":"material-play-pause","material/play-protected-content.svg":"material-play-protected-content","material/play-speed.svg":"material-play-speed","material/play.svg":"material-play","material/playlist-check.svg":"material-playlist-check","material/playlist-edit.svg":"material-playlist-edit","material/playlist-minus.svg":"material-playlist-minus","material/playlist-music-outline.svg":"material-playlist-music-outline","material/playlist-music.svg":"material-playlist-music","material/playlist-play.svg":"material-playlist-play","material/playlist-plus.svg":"material-playlist-plus","material/playlist-remove.svg":"material-playlist-remove","material/playlist-star.svg":"material-playlist-star","material/plex.svg":"material-plex","material/plus-box-multiple-outline.svg":"material-plus-box-multiple-outline","material/plus-box-multiple.svg":"material-plus-box-multiple","material/plus-box-outline.svg":"material-plus-box-outline","material/plus-box.svg":"material-plus-box","material/plus-circle-multiple-outline.svg":"material-plus-circle-multiple-outline","material/plus-circle-multiple.svg":"material-plus-circle-multiple","material/plus-circle-outline.svg":"material-plus-circle-outline","material/plus-circle.svg":"material-plus-circle","material/plus-minus-box.svg":"material-plus-minus-box","material/plus-minus-variant.svg":"material-plus-minus-variant","material/plus-minus.svg":"material-plus-minus","material/plus-network-outline.svg":"material-plus-network-outline","material/plus-network.svg":"material-plus-network","material/plus-one.svg":"material-plus-one","material/plus-outline.svg":"material-plus-outline","material/plus-thick.svg":"material-plus-thick","material/plus.svg":"material-plus","material/podcast.svg":"material-podcast","material/podium-bronze.svg":"material-podium-bronze","material/podium-gold.svg":"material-podium-gold","material/podium-silver.svg":"material-podium-silver","material/podium.svg":"material-podium","material/point-of-sale.svg":"material-point-of-sale","material/pokeball.svg":"material-pokeball","material/pokemon-go.svg":"material-pokemon-go","material/poker-chip.svg":"material-poker-chip","material/polaroid.svg":"material-polaroid","material/police-badge-outline.svg":"material-police-badge-outline","material/police-badge.svg":"material-police-badge","material/poll-box-outline.svg":"material-poll-box-outline","material/poll-box.svg":"material-poll-box","material/poll.svg":"material-poll","material/polo.svg":"material-polo","material/polymer.svg":"material-polymer","material/pool.svg":"material-pool","material/popcorn.svg":"material-popcorn","material/post-outline.svg":"material-post-outline","material/post.svg":"material-post","material/postage-stamp.svg":"material-postage-stamp","material/pot-mix-outline.svg":"material-pot-mix-outline","material/pot-mix.svg":"material-pot-mix","material/pot-outline.svg":"material-pot-outline","material/pot-steam-outline.svg":"material-pot-steam-outline","material/pot-steam.svg":"material-pot-steam","material/pot.svg":"material-pot","material/pound-box-outline.svg":"material-pound-box-outline","material/pound-box.svg":"material-pound-box","material/pound.svg":"material-pound","material/power-cycle.svg":"material-power-cycle","material/power-off.svg":"material-power-off","material/power-on.svg":"material-power-on","material/power-plug-off-outline.svg":"material-power-plug-off-outline","material/power-plug-off.svg":"material-power-plug-off","material/power-plug-outline.svg":"material-power-plug-outline","material/power-plug.svg":"material-power-plug","material/power-settings.svg":"material-power-settings","material/power-sleep.svg":"material-power-sleep","material/power-socket-au.svg":"material-power-socket-au","material/power-socket-de.svg":"material-power-socket-de","material/power-socket-eu.svg":"material-power-socket-eu","material/power-socket-fr.svg":"material-power-socket-fr","material/power-socket-it.svg":"material-power-socket-it","material/power-socket-jp.svg":"material-power-socket-jp","material/power-socket-uk.svg":"material-power-socket-uk","material/power-socket-us.svg":"material-power-socket-us","material/power-socket.svg":"material-power-socket","material/power-standby.svg":"material-power-standby","material/power.svg":"material-power","material/powershell.svg":"material-powershell","material/prescription.svg":"material-prescription","material/presentation-play.svg":"material-presentation-play","material/presentation.svg":"material-presentation","material/pretzel.svg":"material-pretzel","material/printer-3d-nozzle-alert-outline.svg":"material-printer-3d-nozzle-alert-outline","material/printer-3d-nozzle-alert.svg":"material-printer-3d-nozzle-alert","material/printer-3d-nozzle-outline.svg":"material-printer-3d-nozzle-outline","material/printer-3d-nozzle.svg":"material-printer-3d-nozzle","material/printer-3d.svg":"material-printer-3d","material/printer-alert.svg":"material-printer-alert","material/printer-check.svg":"material-printer-check","material/printer-eye.svg":"material-printer-eye","material/printer-off.svg":"material-printer-off","material/printer-pos.svg":"material-printer-pos","material/printer-search.svg":"material-printer-search","material/printer-settings.svg":"material-printer-settings","material/printer-wireless.svg":"material-printer-wireless","material/printer.svg":"material-printer","material/priority-high.svg":"material-priority-high","material/priority-low.svg":"material-priority-low","material/professional-hexagon.svg":"material-professional-hexagon","material/progress-alert.svg":"material-progress-alert","material/progress-check.svg":"material-progress-check","material/progress-clock.svg":"material-progress-clock","material/progress-close.svg":"material-progress-close","material/progress-download.svg":"material-progress-download","material/progress-question.svg":"material-progress-question","material/progress-upload.svg":"material-progress-upload","material/progress-wrench.svg":"material-progress-wrench","material/projector-screen-outline.svg":"material-projector-screen-outline","material/projector-screen.svg":"material-projector-screen","material/projector.svg":"material-projector","material/propane-tank-outline.svg":"material-propane-tank-outline","material/propane-tank.svg":"material-propane-tank","material/protocol.svg":"material-protocol","material/publish.svg":"material-publish","material/pulse.svg":"material-pulse","material/pump.svg":"material-pump","material/pumpkin.svg":"material-pumpkin","material/purse-outline.svg":"material-purse-outline","material/purse.svg":"material-purse","material/puzzle-check-outline.svg":"material-puzzle-check-outline","material/puzzle-check.svg":"material-puzzle-check","material/puzzle-edit-outline.svg":"material-puzzle-edit-outline","material/puzzle-edit.svg":"material-puzzle-edit","material/puzzle-heart-outline.svg":"material-puzzle-heart-outline","material/puzzle-heart.svg":"material-puzzle-heart","material/puzzle-minus-outline.svg":"material-puzzle-minus-outline","material/puzzle-minus.svg":"material-puzzle-minus","material/puzzle-outline.svg":"material-puzzle-outline","material/puzzle-plus-outline.svg":"material-puzzle-plus-outline","material/puzzle-plus.svg":"material-puzzle-plus","material/puzzle-remove-outline.svg":"material-puzzle-remove-outline","material/puzzle-remove.svg":"material-puzzle-remove","material/puzzle-star-outline.svg":"material-puzzle-star-outline","material/puzzle-star.svg":"material-puzzle-star","material/puzzle.svg":"material-puzzle","material/qi.svg":"material-qi","material/qqchat.svg":"material-qqchat","material/qrcode-edit.svg":"material-qrcode-edit","material/qrcode-minus.svg":"material-qrcode-minus","material/qrcode-plus.svg":"material-qrcode-plus","material/qrcode-remove.svg":"material-qrcode-remove","material/qrcode-scan.svg":"material-qrcode-scan","material/qrcode.svg":"material-qrcode","material/quadcopter.svg":"material-quadcopter","material/quality-high.svg":"material-quality-high","material/quality-low.svg":"material-quality-low","material/quality-medium.svg":"material-quality-medium","material/quora.svg":"material-quora","material/rabbit.svg":"material-rabbit","material/racing-helmet.svg":"material-racing-helmet","material/racquetball.svg":"material-racquetball","material/radar.svg":"material-radar","material/radiator-disabled.svg":"material-radiator-disabled","material/radiator-off.svg":"material-radiator-off","material/radiator.svg":"material-radiator","material/radio-am.svg":"material-radio-am","material/radio-fm.svg":"material-radio-fm","material/radio-handheld.svg":"material-radio-handheld","material/radio-off.svg":"material-radio-off","material/radio-tower.svg":"material-radio-tower","material/radio.svg":"material-radio","material/radioactive-off.svg":"material-radioactive-off","material/radioactive.svg":"material-radioactive","material/radiobox-blank.svg":"material-radiobox-blank","material/radiobox-marked.svg":"material-radiobox-marked","material/radiology-box-outline.svg":"material-radiology-box-outline","material/radiology-box.svg":"material-radiology-box","material/radius-outline.svg":"material-radius-outline","material/radius.svg":"material-radius","material/railroad-light.svg":"material-railroad-light","material/rake.svg":"material-rake","material/raspberry-pi.svg":"material-raspberry-pi","material/ray-end-arrow.svg":"material-ray-end-arrow","material/ray-end.svg":"material-ray-end","material/ray-start-arrow.svg":"material-ray-start-arrow","material/ray-start-end.svg":"material-ray-start-end","material/ray-start-vertex-end.svg":"material-ray-start-vertex-end","material/ray-start.svg":"material-ray-start","material/ray-vertex.svg":"material-ray-vertex","material/react.svg":"material-react","material/read.svg":"material-read","material/receipt.svg":"material-receipt","material/record-circle-outline.svg":"material-record-circle-outline","material/record-circle.svg":"material-record-circle","material/record-player.svg":"material-record-player","material/record-rec.svg":"material-record-rec","material/record.svg":"material-record","material/rectangle-outline.svg":"material-rectangle-outline","material/rectangle.svg":"material-rectangle","material/recycle-variant.svg":"material-recycle-variant","material/recycle.svg":"material-recycle","material/reddit.svg":"material-reddit","material/redhat.svg":"material-redhat","material/redo-variant.svg":"material-redo-variant","material/redo.svg":"material-redo","material/reflect-horizontal.svg":"material-reflect-horizontal","material/reflect-vertical.svg":"material-reflect-vertical","material/refresh-circle.svg":"material-refresh-circle","material/refresh.svg":"material-refresh","material/regex.svg":"material-regex","material/registered-trademark.svg":"material-registered-trademark","material/reiterate.svg":"material-reiterate","material/relation-many-to-many.svg":"material-relation-many-to-many","material/relation-many-to-one-or-many.svg":"material-relation-many-to-one-or-many","material/relation-many-to-one.svg":"material-relation-many-to-one","material/relation-many-to-only-one.svg":"material-relation-many-to-only-one","material/relation-many-to-zero-or-many.svg":"material-relation-many-to-zero-or-many","material/relation-many-to-zero-or-one.svg":"material-relation-many-to-zero-or-one","material/relation-one-or-many-to-many.svg":"material-relation-one-or-many-to-many","material/relation-one-or-many-to-one-or-many.svg":"material-relation-one-or-many-to-one-or-many","material/relation-one-or-many-to-one.svg":"material-relation-one-or-many-to-one","material/relation-one-or-many-to-only-one.svg":"material-relation-one-or-many-to-only-one","material/relation-one-or-many-to-zero-or-many.svg":"material-relation-one-or-many-to-zero-or-many","material/relation-one-or-many-to-zero-or-one.svg":"material-relation-one-or-many-to-zero-or-one","material/relation-one-to-many.svg":"material-relation-one-to-many","material/relation-one-to-one-or-many.svg":"material-relation-one-to-one-or-many","material/relation-one-to-one.svg":"material-relation-one-to-one","material/relation-one-to-only-one.svg":"material-relation-one-to-only-one","material/relation-one-to-zero-or-many.svg":"material-relation-one-to-zero-or-many","material/relation-one-to-zero-or-one.svg":"material-relation-one-to-zero-or-one","material/relation-only-one-to-many.svg":"material-relation-only-one-to-many","material/relation-only-one-to-one-or-many.svg":"material-relation-only-one-to-one-or-many","material/relation-only-one-to-one.svg":"material-relation-only-one-to-one","material/relation-only-one-to-only-one.svg":"material-relation-only-one-to-only-one","material/relation-only-one-to-zero-or-many.svg":"material-relation-only-one-to-zero-or-many","material/relation-only-one-to-zero-or-one.svg":"material-relation-only-one-to-zero-or-one","material/relation-zero-or-many-to-many.svg":"material-relation-zero-or-many-to-many","material/relation-zero-or-many-to-one-or-many.svg":"material-relation-zero-or-many-to-one-or-many","material/relation-zero-or-many-to-one.svg":"material-relation-zero-or-many-to-one","material/relation-zero-or-many-to-only-one.svg":"material-relation-zero-or-many-to-only-one","material/relation-zero-or-many-to-zero-or-many.svg":"material-relation-zero-or-many-to-zero-or-many","material/relation-zero-or-many-to-zero-or-one.svg":"material-relation-zero-or-many-to-zero-or-one","material/relation-zero-or-one-to-many.svg":"material-relation-zero-or-one-to-many","material/relation-zero-or-one-to-one-or-many.svg":"material-relation-zero-or-one-to-one-or-many","material/relation-zero-or-one-to-one.svg":"material-relation-zero-or-one-to-one","material/relation-zero-or-one-to-only-one.svg":"material-relation-zero-or-one-to-only-one","material/relation-zero-or-one-to-zero-or-many.svg":"material-relation-zero-or-one-to-zero-or-many","material/relation-zero-or-one-to-zero-or-one.svg":"material-relation-zero-or-one-to-zero-or-one","material/relative-scale.svg":"material-relative-scale","material/reload-alert.svg":"material-reload-alert","material/reload.svg":"material-reload","material/reminder.svg":"material-reminder","material/remote-desktop.svg":"material-remote-desktop","material/remote-off.svg":"material-remote-off","material/remote-tv-off.svg":"material-remote-tv-off","material/remote-tv.svg":"material-remote-tv","material/remote.svg":"material-remote","material/rename-box.svg":"material-rename-box","material/reorder-horizontal.svg":"material-reorder-horizontal","material/reorder-vertical.svg":"material-reorder-vertical","material/repeat-off.svg":"material-repeat-off","material/repeat-once.svg":"material-repeat-once","material/repeat.svg":"material-repeat","material/replay.svg":"material-replay","material/reply-all-outline.svg":"material-reply-all-outline","material/reply-all.svg":"material-reply-all","material/reply-circle.svg":"material-reply-circle","material/reply-outline.svg":"material-reply-outline","material/reply.svg":"material-reply","material/reproduction.svg":"material-reproduction","material/resistor-nodes.svg":"material-resistor-nodes","material/resistor.svg":"material-resistor","material/resize-bottom-right.svg":"material-resize-bottom-right","material/resize.svg":"material-resize","material/responsive.svg":"material-responsive","material/restart-alert.svg":"material-restart-alert","material/restart-off.svg":"material-restart-off","material/restart.svg":"material-restart","material/restore-alert.svg":"material-restore-alert","material/restore.svg":"material-restore","material/rewind-10.svg":"material-rewind-10","material/rewind-30.svg":"material-rewind-30","material/rewind-5.svg":"material-rewind-5","material/rewind-60.svg":"material-rewind-60","material/rewind-outline.svg":"material-rewind-outline","material/rewind.svg":"material-rewind","material/rhombus-medium-outline.svg":"material-rhombus-medium-outline","material/rhombus-medium.svg":"material-rhombus-medium","material/rhombus-outline.svg":"material-rhombus-outline","material/rhombus-split-outline.svg":"material-rhombus-split-outline","material/rhombus-split.svg":"material-rhombus-split","material/rhombus.svg":"material-rhombus","material/ribbon.svg":"material-ribbon","material/rice.svg":"material-rice","material/rickshaw-electric.svg":"material-rickshaw-electric","material/rickshaw.svg":"material-rickshaw","material/ring.svg":"material-ring","material/rivet.svg":"material-rivet","material/road-variant.svg":"material-road-variant","material/road.svg":"material-road","material/robber.svg":"material-robber","material/robot-angry-outline.svg":"material-robot-angry-outline","material/robot-angry.svg":"material-robot-angry","material/robot-confused-outline.svg":"material-robot-confused-outline","material/robot-confused.svg":"material-robot-confused","material/robot-dead-outline.svg":"material-robot-dead-outline","material/robot-dead.svg":"material-robot-dead","material/robot-excited-outline.svg":"material-robot-excited-outline","material/robot-excited.svg":"material-robot-excited","material/robot-happy-outline.svg":"material-robot-happy-outline","material/robot-happy.svg":"material-robot-happy","material/robot-industrial.svg":"material-robot-industrial","material/robot-love-outline.svg":"material-robot-love-outline","material/robot-love.svg":"material-robot-love","material/robot-mower-outline.svg":"material-robot-mower-outline","material/robot-mower.svg":"material-robot-mower","material/robot-off-outline.svg":"material-robot-off-outline","material/robot-off.svg":"material-robot-off","material/robot-outline.svg":"material-robot-outline","material/robot-vacuum-variant.svg":"material-robot-vacuum-variant","material/robot-vacuum.svg":"material-robot-vacuum","material/robot.svg":"material-robot","material/rocket-launch-outline.svg":"material-rocket-launch-outline","material/rocket-launch.svg":"material-rocket-launch","material/rocket-outline.svg":"material-rocket-outline","material/rocket.svg":"material-rocket","material/rodent.svg":"material-rodent","material/roller-skate-off.svg":"material-roller-skate-off","material/roller-skate.svg":"material-roller-skate","material/rollerblade-off.svg":"material-rollerblade-off","material/rollerblade.svg":"material-rollerblade","material/rollupjs.svg":"material-rollupjs","material/roman-numeral-1.svg":"material-roman-numeral-1","material/roman-numeral-10.svg":"material-roman-numeral-10","material/roman-numeral-2.svg":"material-roman-numeral-2","material/roman-numeral-3.svg":"material-roman-numeral-3","material/roman-numeral-4.svg":"material-roman-numeral-4","material/roman-numeral-5.svg":"material-roman-numeral-5","material/roman-numeral-6.svg":"material-roman-numeral-6","material/roman-numeral-7.svg":"material-roman-numeral-7","material/roman-numeral-8.svg":"material-roman-numeral-8","material/roman-numeral-9.svg":"material-roman-numeral-9","material/room-service-outline.svg":"material-room-service-outline","material/room-service.svg":"material-room-service","material/rotate-3d-variant.svg":"material-rotate-3d-variant","material/rotate-3d.svg":"material-rotate-3d","material/rotate-left-variant.svg":"material-rotate-left-variant","material/rotate-left.svg":"material-rotate-left","material/rotate-orbit.svg":"material-rotate-orbit","material/rotate-right-variant.svg":"material-rotate-right-variant","material/rotate-right.svg":"material-rotate-right","material/rounded-corner.svg":"material-rounded-corner","material/router-network.svg":"material-router-network","material/router-wireless-off.svg":"material-router-wireless-off","material/router-wireless-settings.svg":"material-router-wireless-settings","material/router-wireless.svg":"material-router-wireless","material/router.svg":"material-router","material/routes-clock.svg":"material-routes-clock","material/routes.svg":"material-routes","material/rowing.svg":"material-rowing","material/rss-box.svg":"material-rss-box","material/rss-off.svg":"material-rss-off","material/rss.svg":"material-rss","material/rug.svg":"material-rug","material/rugby.svg":"material-rugby","material/ruler-square-compass.svg":"material-ruler-square-compass","material/ruler-square.svg":"material-ruler-square","material/ruler.svg":"material-ruler","material/run-fast.svg":"material-run-fast","material/run.svg":"material-run","material/rv-truck.svg":"material-rv-truck","material/sack-percent.svg":"material-sack-percent","material/sack.svg":"material-sack","material/safe-square-outline.svg":"material-safe-square-outline","material/safe-square.svg":"material-safe-square","material/safe.svg":"material-safe","material/safety-goggles.svg":"material-safety-goggles","material/sail-boat.svg":"material-sail-boat","material/sale.svg":"material-sale","material/salesforce.svg":"material-salesforce","material/sass.svg":"material-sass","material/satellite-uplink.svg":"material-satellite-uplink","material/satellite-variant.svg":"material-satellite-variant","material/satellite.svg":"material-satellite","material/sausage.svg":"material-sausage","material/saw-blade.svg":"material-saw-blade","material/sawtooth-wave.svg":"material-sawtooth-wave","material/saxophone.svg":"material-saxophone","material/scale-balance.svg":"material-scale-balance","material/scale-bathroom.svg":"material-scale-bathroom","material/scale-off.svg":"material-scale-off","material/scale.svg":"material-scale","material/scan-helper.svg":"material-scan-helper","material/scanner-off.svg":"material-scanner-off","material/scanner.svg":"material-scanner","material/scatter-plot-outline.svg":"material-scatter-plot-outline","material/scatter-plot.svg":"material-scatter-plot","material/school-outline.svg":"material-school-outline","material/school.svg":"material-school","material/scissors-cutting.svg":"material-scissors-cutting","material/scooter-electric.svg":"material-scooter-electric","material/scooter.svg":"material-scooter","material/scoreboard-outline.svg":"material-scoreboard-outline","material/scoreboard.svg":"material-scoreboard","material/screen-rotation-lock.svg":"material-screen-rotation-lock","material/screen-rotation.svg":"material-screen-rotation","material/screw-flat-top.svg":"material-screw-flat-top","material/screw-lag.svg":"material-screw-lag","material/screw-machine-flat-top.svg":"material-screw-machine-flat-top","material/screw-machine-round-top.svg":"material-screw-machine-round-top","material/screw-round-top.svg":"material-screw-round-top","material/screwdriver.svg":"material-screwdriver","material/script-outline.svg":"material-script-outline","material/script-text-key-outline.svg":"material-script-text-key-outline","material/script-text-key.svg":"material-script-text-key","material/script-text-outline.svg":"material-script-text-outline","material/script-text-play-outline.svg":"material-script-text-play-outline","material/script-text-play.svg":"material-script-text-play","material/script-text.svg":"material-script-text","material/script.svg":"material-script","material/sd.svg":"material-sd","material/seal-variant.svg":"material-seal-variant","material/seal.svg":"material-seal","material/search-web.svg":"material-search-web","material/seat-flat-angled.svg":"material-seat-flat-angled","material/seat-flat.svg":"material-seat-flat","material/seat-individual-suite.svg":"material-seat-individual-suite","material/seat-legroom-extra.svg":"material-seat-legroom-extra","material/seat-legroom-normal.svg":"material-seat-legroom-normal","material/seat-legroom-reduced.svg":"material-seat-legroom-reduced","material/seat-outline.svg":"material-seat-outline","material/seat-passenger.svg":"material-seat-passenger","material/seat-recline-extra.svg":"material-seat-recline-extra","material/seat-recline-normal.svg":"material-seat-recline-normal","material/seat.svg":"material-seat","material/seatbelt.svg":"material-seatbelt","material/security-network.svg":"material-security-network","material/security.svg":"material-security","material/seed-off-outline.svg":"material-seed-off-outline","material/seed-off.svg":"material-seed-off","material/seed-outline.svg":"material-seed-outline","material/seed.svg":"material-seed","material/seesaw.svg":"material-seesaw","material/segment.svg":"material-segment","material/select-all.svg":"material-select-all","material/select-color.svg":"material-select-color","material/select-compare.svg":"material-select-compare","material/select-drag.svg":"material-select-drag","material/select-group.svg":"material-select-group","material/select-inverse.svg":"material-select-inverse","material/select-marker.svg":"material-select-marker","material/select-multiple-marker.svg":"material-select-multiple-marker","material/select-multiple.svg":"material-select-multiple","material/select-off.svg":"material-select-off","material/select-place.svg":"material-select-place","material/select-search.svg":"material-select-search","material/select.svg":"material-select","material/selection-drag.svg":"material-selection-drag","material/selection-ellipse-arrow-inside.svg":"material-selection-ellipse-arrow-inside","material/selection-ellipse.svg":"material-selection-ellipse","material/selection-marker.svg":"material-selection-marker","material/selection-multiple-marker.svg":"material-selection-multiple-marker","material/selection-multiple.svg":"material-selection-multiple","material/selection-off.svg":"material-selection-off","material/selection-search.svg":"material-selection-search","material/selection.svg":"material-selection","material/semantic-web.svg":"material-semantic-web","material/send-check-outline.svg":"material-send-check-outline","material/send-check.svg":"material-send-check","material/send-circle-outline.svg":"material-send-circle-outline","material/send-circle.svg":"material-send-circle","material/send-clock-outline.svg":"material-send-clock-outline","material/send-clock.svg":"material-send-clock","material/send-lock-outline.svg":"material-send-lock-outline","material/send-lock.svg":"material-send-lock","material/send-outline.svg":"material-send-outline","material/send.svg":"material-send","material/serial-port.svg":"material-serial-port","material/server-minus.svg":"material-server-minus","material/server-network-off.svg":"material-server-network-off","material/server-network.svg":"material-server-network","material/server-off.svg":"material-server-off","material/server-plus.svg":"material-server-plus","material/server-remove.svg":"material-server-remove","material/server-security.svg":"material-server-security","material/server.svg":"material-server","material/set-all.svg":"material-set-all","material/set-center-right.svg":"material-set-center-right","material/set-center.svg":"material-set-center","material/set-left-center.svg":"material-set-left-center","material/set-left-right.svg":"material-set-left-right","material/set-left.svg":"material-set-left","material/set-merge.svg":"material-set-merge","material/set-none.svg":"material-set-none","material/set-right.svg":"material-set-right","material/set-split.svg":"material-set-split","material/set-square.svg":"material-set-square","material/set-top-box.svg":"material-set-top-box","material/settings-helper.svg":"material-settings-helper","material/shaker-outline.svg":"material-shaker-outline","material/shaker.svg":"material-shaker","material/shape-circle-plus.svg":"material-shape-circle-plus","material/shape-outline.svg":"material-shape-outline","material/shape-oval-plus.svg":"material-shape-oval-plus","material/shape-plus.svg":"material-shape-plus","material/shape-polygon-plus.svg":"material-shape-polygon-plus","material/shape-rectangle-plus.svg":"material-shape-rectangle-plus","material/shape-square-plus.svg":"material-shape-square-plus","material/shape-square-rounded-plus.svg":"material-shape-square-rounded-plus","material/shape.svg":"material-shape","material/share-all-outline.svg":"material-share-all-outline","material/share-all.svg":"material-share-all","material/share-circle.svg":"material-share-circle","material/share-off-outline.svg":"material-share-off-outline","material/share-off.svg":"material-share-off","material/share-outline.svg":"material-share-outline","material/share-variant-outline.svg":"material-share-variant-outline","material/share-variant.svg":"material-share-variant","material/share.svg":"material-share","material/shark-fin-outline.svg":"material-shark-fin-outline","material/shark-fin.svg":"material-shark-fin","material/sheep.svg":"material-sheep","material/shield-account-outline.svg":"material-shield-account-outline","material/shield-account-variant-outline.svg":"material-shield-account-variant-outline","material/shield-account-variant.svg":"material-shield-account-variant","material/shield-account.svg":"material-shield-account","material/shield-airplane-outline.svg":"material-shield-airplane-outline","material/shield-airplane.svg":"material-shield-airplane","material/shield-alert-outline.svg":"material-shield-alert-outline","material/shield-alert.svg":"material-shield-alert","material/shield-bug-outline.svg":"material-shield-bug-outline","material/shield-bug.svg":"material-shield-bug","material/shield-car.svg":"material-shield-car","material/shield-check-outline.svg":"material-shield-check-outline","material/shield-check.svg":"material-shield-check","material/shield-cross-outline.svg":"material-shield-cross-outline","material/shield-cross.svg":"material-shield-cross","material/shield-edit-outline.svg":"material-shield-edit-outline","material/shield-edit.svg":"material-shield-edit","material/shield-half-full.svg":"material-shield-half-full","material/shield-half.svg":"material-shield-half","material/shield-home-outline.svg":"material-shield-home-outline","material/shield-home.svg":"material-shield-home","material/shield-key-outline.svg":"material-shield-key-outline","material/shield-key.svg":"material-shield-key","material/shield-link-variant-outline.svg":"material-shield-link-variant-outline","material/shield-link-variant.svg":"material-shield-link-variant","material/shield-lock-outline.svg":"material-shield-lock-outline","material/shield-lock.svg":"material-shield-lock","material/shield-off-outline.svg":"material-shield-off-outline","material/shield-off.svg":"material-shield-off","material/shield-outline.svg":"material-shield-outline","material/shield-plus-outline.svg":"material-shield-plus-outline","material/shield-plus.svg":"material-shield-plus","material/shield-refresh-outline.svg":"material-shield-refresh-outline","material/shield-refresh.svg":"material-shield-refresh","material/shield-remove-outline.svg":"material-shield-remove-outline","material/shield-remove.svg":"material-shield-remove","material/shield-search.svg":"material-shield-search","material/shield-star-outline.svg":"material-shield-star-outline","material/shield-star.svg":"material-shield-star","material/shield-sun-outline.svg":"material-shield-sun-outline","material/shield-sun.svg":"material-shield-sun","material/shield-sync-outline.svg":"material-shield-sync-outline","material/shield-sync.svg":"material-shield-sync","material/shield.svg":"material-shield","material/ship-wheel.svg":"material-ship-wheel","material/shoe-ballet.svg":"material-shoe-ballet","material/shoe-cleat.svg":"material-shoe-cleat","material/shoe-formal.svg":"material-shoe-formal","material/shoe-heel.svg":"material-shoe-heel","material/shoe-print.svg":"material-shoe-print","material/shoe-sneaker.svg":"material-shoe-sneaker","material/shopping-music.svg":"material-shopping-music","material/shopping-outline.svg":"material-shopping-outline","material/shopping-search.svg":"material-shopping-search","material/shopping.svg":"material-shopping","material/shore.svg":"material-shore","material/shovel-off.svg":"material-shovel-off","material/shovel.svg":"material-shovel","material/shower-head.svg":"material-shower-head","material/shower.svg":"material-shower","material/shredder.svg":"material-shredder","material/shuffle-disabled.svg":"material-shuffle-disabled","material/shuffle-variant.svg":"material-shuffle-variant","material/shuffle.svg":"material-shuffle","material/shuriken.svg":"material-shuriken","material/sigma-lower.svg":"material-sigma-lower","material/sigma.svg":"material-sigma","material/sign-caution.svg":"material-sign-caution","material/sign-direction-minus.svg":"material-sign-direction-minus","material/sign-direction-plus.svg":"material-sign-direction-plus","material/sign-direction-remove.svg":"material-sign-direction-remove","material/sign-direction.svg":"material-sign-direction","material/sign-pole.svg":"material-sign-pole","material/sign-real-estate.svg":"material-sign-real-estate","material/sign-text.svg":"material-sign-text","material/signal-2g.svg":"material-signal-2g","material/signal-3g.svg":"material-signal-3g","material/signal-4g.svg":"material-signal-4g","material/signal-5g.svg":"material-signal-5g","material/signal-cellular-1.svg":"material-signal-cellular-1","material/signal-cellular-2.svg":"material-signal-cellular-2","material/signal-cellular-3.svg":"material-signal-cellular-3","material/signal-cellular-outline.svg":"material-signal-cellular-outline","material/signal-distance-variant.svg":"material-signal-distance-variant","material/signal-hspa-plus.svg":"material-signal-hspa-plus","material/signal-hspa.svg":"material-signal-hspa","material/signal-off.svg":"material-signal-off","material/signal-variant.svg":"material-signal-variant","material/signal.svg":"material-signal","material/signature-freehand.svg":"material-signature-freehand","material/signature-image.svg":"material-signature-image","material/signature-text.svg":"material-signature-text","material/signature.svg":"material-signature","material/silo.svg":"material-silo","material/silverware-clean.svg":"material-silverware-clean","material/silverware-fork-knife.svg":"material-silverware-fork-knife","material/silverware-fork.svg":"material-silverware-fork","material/silverware-spoon.svg":"material-silverware-spoon","material/silverware-variant.svg":"material-silverware-variant","material/silverware.svg":"material-silverware","material/sim-alert-outline.svg":"material-sim-alert-outline","material/sim-alert.svg":"material-sim-alert","material/sim-off-outline.svg":"material-sim-off-outline","material/sim-off.svg":"material-sim-off","material/sim-outline.svg":"material-sim-outline","material/sim.svg":"material-sim","material/simple-icons.svg":"material-simple-icons","material/sina-weibo.svg":"material-sina-weibo","material/sine-wave.svg":"material-sine-wave","material/sitemap.svg":"material-sitemap","material/size-l.svg":"material-size-l","material/size-m.svg":"material-size-m","material/size-s.svg":"material-size-s","material/size-xl.svg":"material-size-xl","material/size-xs.svg":"material-size-xs","material/size-xxl.svg":"material-size-xxl","material/size-xxs.svg":"material-size-xxs","material/size-xxxl.svg":"material-size-xxxl","material/skate.svg":"material-skate","material/skateboard.svg":"material-skateboard","material/skew-less.svg":"material-skew-less","material/skew-more.svg":"material-skew-more","material/ski-cross-country.svg":"material-ski-cross-country","material/ski-water.svg":"material-ski-water","material/ski.svg":"material-ski","material/skip-backward-outline.svg":"material-skip-backward-outline","material/skip-backward.svg":"material-skip-backward","material/skip-forward-outline.svg":"material-skip-forward-outline","material/skip-forward.svg":"material-skip-forward","material/skip-next-circle-outline.svg":"material-skip-next-circle-outline","material/skip-next-circle.svg":"material-skip-next-circle","material/skip-next-outline.svg":"material-skip-next-outline","material/skip-next.svg":"material-skip-next","material/skip-previous-circle-outline.svg":"material-skip-previous-circle-outline","material/skip-previous-circle.svg":"material-skip-previous-circle","material/skip-previous-outline.svg":"material-skip-previous-outline","material/skip-previous.svg":"material-skip-previous","material/skull-crossbones-outline.svg":"material-skull-crossbones-outline","material/skull-crossbones.svg":"material-skull-crossbones","material/skull-outline.svg":"material-skull-outline","material/skull-scan-outline.svg":"material-skull-scan-outline","material/skull-scan.svg":"material-skull-scan","material/skull.svg":"material-skull","material/skype-business.svg":"material-skype-business","material/skype.svg":"material-skype","material/slack.svg":"material-slack","material/slash-forward-box.svg":"material-slash-forward-box","material/slash-forward.svg":"material-slash-forward","material/sleep-off.svg":"material-sleep-off","material/sleep.svg":"material-sleep","material/slide.svg":"material-slide","material/slope-downhill.svg":"material-slope-downhill","material/slope-uphill.svg":"material-slope-uphill","material/slot-machine-outline.svg":"material-slot-machine-outline","material/slot-machine.svg":"material-slot-machine","material/smart-card-outline.svg":"material-smart-card-outline","material/smart-card-reader-outline.svg":"material-smart-card-reader-outline","material/smart-card-reader.svg":"material-smart-card-reader","material/smart-card.svg":"material-smart-card","material/smog.svg":"material-smog","material/smoke-detector.svg":"material-smoke-detector","material/smoking-off.svg":"material-smoking-off","material/smoking-pipe-off.svg":"material-smoking-pipe-off","material/smoking-pipe.svg":"material-smoking-pipe","material/smoking.svg":"material-smoking","material/snail.svg":"material-snail","material/snake.svg":"material-snake","material/snapchat.svg":"material-snapchat","material/snowboard.svg":"material-snowboard","material/snowflake-alert.svg":"material-snowflake-alert","material/snowflake-melt.svg":"material-snowflake-melt","material/snowflake-off.svg":"material-snowflake-off","material/snowflake-variant.svg":"material-snowflake-variant","material/snowflake.svg":"material-snowflake","material/snowman.svg":"material-snowman","material/soccer-field.svg":"material-soccer-field","material/soccer.svg":"material-soccer","material/social-distance-2-meters.svg":"material-social-distance-2-meters","material/social-distance-6-feet.svg":"material-social-distance-6-feet","material/sofa-outline.svg":"material-sofa-outline","material/sofa-single-outline.svg":"material-sofa-single-outline","material/sofa-single.svg":"material-sofa-single","material/sofa.svg":"material-sofa","material/solar-panel-large.svg":"material-solar-panel-large","material/solar-panel.svg":"material-solar-panel","material/solar-power.svg":"material-solar-power","material/soldering-iron.svg":"material-soldering-iron","material/solid.svg":"material-solid","material/sony-playstation.svg":"material-sony-playstation","material/sort-alphabetical-ascending-variant.svg":"material-sort-alphabetical-ascending-variant","material/sort-alphabetical-ascending.svg":"material-sort-alphabetical-ascending","material/sort-alphabetical-descending-variant.svg":"material-sort-alphabetical-descending-variant","material/sort-alphabetical-descending.svg":"material-sort-alphabetical-descending","material/sort-alphabetical-variant.svg":"material-sort-alphabetical-variant","material/sort-ascending.svg":"material-sort-ascending","material/sort-bool-ascending-variant.svg":"material-sort-bool-ascending-variant","material/sort-bool-ascending.svg":"material-sort-bool-ascending","material/sort-bool-descending-variant.svg":"material-sort-bool-descending-variant","material/sort-bool-descending.svg":"material-sort-bool-descending","material/sort-calendar-ascending.svg":"material-sort-calendar-ascending","material/sort-calendar-descending.svg":"material-sort-calendar-descending","material/sort-clock-ascending-outline.svg":"material-sort-clock-ascending-outline","material/sort-clock-ascending.svg":"material-sort-clock-ascending","material/sort-clock-descending-outline.svg":"material-sort-clock-descending-outline","material/sort-clock-descending.svg":"material-sort-clock-descending","material/sort-descending.svg":"material-sort-descending","material/sort-numeric-ascending-variant.svg":"material-sort-numeric-ascending-variant","material/sort-numeric-ascending.svg":"material-sort-numeric-ascending","material/sort-numeric-descending-variant.svg":"material-sort-numeric-descending-variant","material/sort-numeric-descending.svg":"material-sort-numeric-descending","material/sort-numeric-variant.svg":"material-sort-numeric-variant","material/sort-reverse-variant.svg":"material-sort-reverse-variant","material/sort-variant-lock-open.svg":"material-sort-variant-lock-open","material/sort-variant-lock.svg":"material-sort-variant-lock","material/sort-variant-remove.svg":"material-sort-variant-remove","material/sort-variant.svg":"material-sort-variant","material/sort.svg":"material-sort","material/soundcloud.svg":"material-soundcloud","material/source-branch-check.svg":"material-source-branch-check","material/source-branch-minus.svg":"material-source-branch-minus","material/source-branch-plus.svg":"material-source-branch-plus","material/source-branch-refresh.svg":"material-source-branch-refresh","material/source-branch-remove.svg":"material-source-branch-remove","material/source-branch-sync.svg":"material-source-branch-sync","material/source-branch.svg":"material-source-branch","material/source-commit-end-local.svg":"material-source-commit-end-local","material/source-commit-end.svg":"material-source-commit-end","material/source-commit-local.svg":"material-source-commit-local","material/source-commit-next-local.svg":"material-source-commit-next-local","material/source-commit-start-next-local.svg":"material-source-commit-start-next-local","material/source-commit-start.svg":"material-source-commit-start","material/source-commit.svg":"material-source-commit","material/source-fork.svg":"material-source-fork","material/source-merge.svg":"material-source-merge","material/source-pull.svg":"material-source-pull","material/source-repository-multiple.svg":"material-source-repository-multiple","material/source-repository.svg":"material-source-repository","material/soy-sauce-off.svg":"material-soy-sauce-off","material/soy-sauce.svg":"material-soy-sauce","material/spa-outline.svg":"material-spa-outline","material/spa.svg":"material-spa","material/space-invaders.svg":"material-space-invaders","material/space-station.svg":"material-space-station","material/spade.svg":"material-spade","material/sparkles.svg":"material-sparkles","material/speaker-bluetooth.svg":"material-speaker-bluetooth","material/speaker-multiple.svg":"material-speaker-multiple","material/speaker-off.svg":"material-speaker-off","material/speaker-wireless.svg":"material-speaker-wireless","material/speaker.svg":"material-speaker","material/speedometer-medium.svg":"material-speedometer-medium","material/speedometer-slow.svg":"material-speedometer-slow","material/speedometer.svg":"material-speedometer","material/spellcheck.svg":"material-spellcheck","material/spider-thread.svg":"material-spider-thread","material/spider-web.svg":"material-spider-web","material/spider.svg":"material-spider","material/spirit-level.svg":"material-spirit-level","material/spoon-sugar.svg":"material-spoon-sugar","material/spotify.svg":"material-spotify","material/spotlight-beam.svg":"material-spotlight-beam","material/spotlight.svg":"material-spotlight","material/spray-bottle.svg":"material-spray-bottle","material/spray.svg":"material-spray","material/sprinkler-variant.svg":"material-sprinkler-variant","material/sprinkler.svg":"material-sprinkler","material/sprout-outline.svg":"material-sprout-outline","material/sprout.svg":"material-sprout","material/square-circle.svg":"material-square-circle","material/square-edit-outline.svg":"material-square-edit-outline","material/square-medium-outline.svg":"material-square-medium-outline","material/square-medium.svg":"material-square-medium","material/square-off-outline.svg":"material-square-off-outline","material/square-off.svg":"material-square-off","material/square-outline.svg":"material-square-outline","material/square-root-box.svg":"material-square-root-box","material/square-root.svg":"material-square-root","material/square-rounded-outline.svg":"material-square-rounded-outline","material/square-rounded.svg":"material-square-rounded","material/square-small.svg":"material-square-small","material/square-wave.svg":"material-square-wave","material/square.svg":"material-square","material/squeegee.svg":"material-squeegee","material/ssh.svg":"material-ssh","material/stack-exchange.svg":"material-stack-exchange","material/stack-overflow.svg":"material-stack-overflow","material/stackpath.svg":"material-stackpath","material/stadium-variant.svg":"material-stadium-variant","material/stadium.svg":"material-stadium","material/stairs-box.svg":"material-stairs-box","material/stairs-down.svg":"material-stairs-down","material/stairs-up.svg":"material-stairs-up","material/stairs.svg":"material-stairs","material/stamper.svg":"material-stamper","material/standard-definition.svg":"material-standard-definition","material/star-box-multiple-outline.svg":"material-star-box-multiple-outline","material/star-box-multiple.svg":"material-star-box-multiple","material/star-box-outline.svg":"material-star-box-outline","material/star-box.svg":"material-star-box","material/star-check-outline.svg":"material-star-check-outline","material/star-check.svg":"material-star-check","material/star-circle-outline.svg":"material-star-circle-outline","material/star-circle.svg":"material-star-circle","material/star-cog-outline.svg":"material-star-cog-outline","material/star-cog.svg":"material-star-cog","material/star-face.svg":"material-star-face","material/star-four-points-outline.svg":"material-star-four-points-outline","material/star-four-points.svg":"material-star-four-points","material/star-half-full.svg":"material-star-half-full","material/star-half.svg":"material-star-half","material/star-minus-outline.svg":"material-star-minus-outline","material/star-minus.svg":"material-star-minus","material/star-off-outline.svg":"material-star-off-outline","material/star-off.svg":"material-star-off","material/star-outline.svg":"material-star-outline","material/star-plus-outline.svg":"material-star-plus-outline","material/star-plus.svg":"material-star-plus","material/star-remove-outline.svg":"material-star-remove-outline","material/star-remove.svg":"material-star-remove","material/star-settings-outline.svg":"material-star-settings-outline","material/star-settings.svg":"material-star-settings","material/star-shooting-outline.svg":"material-star-shooting-outline","material/star-shooting.svg":"material-star-shooting","material/star-three-points-outline.svg":"material-star-three-points-outline","material/star-three-points.svg":"material-star-three-points","material/star.svg":"material-star","material/state-machine.svg":"material-state-machine","material/steam.svg":"material-steam","material/steering-off.svg":"material-steering-off","material/steering.svg":"material-steering","material/step-backward-2.svg":"material-step-backward-2","material/step-backward.svg":"material-step-backward","material/step-forward-2.svg":"material-step-forward-2","material/step-forward.svg":"material-step-forward","material/stethoscope.svg":"material-stethoscope","material/sticker-alert-outline.svg":"material-sticker-alert-outline","material/sticker-alert.svg":"material-sticker-alert","material/sticker-check-outline.svg":"material-sticker-check-outline","material/sticker-check.svg":"material-sticker-check","material/sticker-circle-outline.svg":"material-sticker-circle-outline","material/sticker-emoji.svg":"material-sticker-emoji","material/sticker-minus-outline.svg":"material-sticker-minus-outline","material/sticker-minus.svg":"material-sticker-minus","material/sticker-outline.svg":"material-sticker-outline","material/sticker-plus-outline.svg":"material-sticker-plus-outline","material/sticker-plus.svg":"material-sticker-plus","material/sticker-remove-outline.svg":"material-sticker-remove-outline","material/sticker-remove.svg":"material-sticker-remove","material/sticker.svg":"material-sticker","material/stocking.svg":"material-stocking","material/stomach.svg":"material-stomach","material/stop-circle-outline.svg":"material-stop-circle-outline","material/stop-circle.svg":"material-stop-circle","material/stop.svg":"material-stop","material/store-24-hour.svg":"material-store-24-hour","material/store-minus.svg":"material-store-minus","material/store-outline.svg":"material-store-outline","material/store-plus.svg":"material-store-plus","material/store-remove.svg":"material-store-remove","material/store.svg":"material-store","material/storefront-outline.svg":"material-storefront-outline","material/storefront.svg":"material-storefront","material/stove.svg":"material-stove","material/strategy.svg":"material-strategy","material/stretch-to-page-outline.svg":"material-stretch-to-page-outline","material/stretch-to-page.svg":"material-stretch-to-page","material/string-lights-off.svg":"material-string-lights-off","material/string-lights.svg":"material-string-lights","material/subdirectory-arrow-left.svg":"material-subdirectory-arrow-left","material/subdirectory-arrow-right.svg":"material-subdirectory-arrow-right","material/submarine.svg":"material-submarine","material/subtitles-outline.svg":"material-subtitles-outline","material/subtitles.svg":"material-subtitles","material/subway-alert-variant.svg":"material-subway-alert-variant","material/subway-variant.svg":"material-subway-variant","material/subway.svg":"material-subway","material/summit.svg":"material-summit","material/sunglasses.svg":"material-sunglasses","material/surround-sound-2-0.svg":"material-surround-sound-2-0","material/surround-sound-2-1.svg":"material-surround-sound-2-1","material/surround-sound-3-1.svg":"material-surround-sound-3-1","material/surround-sound-5-1-2.svg":"material-surround-sound-5-1-2","material/surround-sound-5-1.svg":"material-surround-sound-5-1","material/surround-sound-7-1.svg":"material-surround-sound-7-1","material/surround-sound.svg":"material-surround-sound","material/svg.svg":"material-svg","material/swap-horizontal-bold.svg":"material-swap-horizontal-bold","material/swap-horizontal-circle-outline.svg":"material-swap-horizontal-circle-outline","material/swap-horizontal-circle.svg":"material-swap-horizontal-circle","material/swap-horizontal-variant.svg":"material-swap-horizontal-variant","material/swap-horizontal.svg":"material-swap-horizontal","material/swap-vertical-bold.svg":"material-swap-vertical-bold","material/swap-vertical-circle-outline.svg":"material-swap-vertical-circle-outline","material/swap-vertical-circle.svg":"material-swap-vertical-circle","material/swap-vertical-variant.svg":"material-swap-vertical-variant","material/swap-vertical.svg":"material-swap-vertical","material/swim.svg":"material-swim","material/switch.svg":"material-switch","material/sword-cross.svg":"material-sword-cross","material/sword.svg":"material-sword","material/syllabary-hangul.svg":"material-syllabary-hangul","material/syllabary-hiragana.svg":"material-syllabary-hiragana","material/syllabary-katakana-halfwidth.svg":"material-syllabary-katakana-halfwidth","material/syllabary-katakana.svg":"material-syllabary-katakana","material/symbol.svg":"material-symbol","material/symfony.svg":"material-symfony","material/sync-alert.svg":"material-sync-alert","material/sync-circle.svg":"material-sync-circle","material/sync-off.svg":"material-sync-off","material/sync.svg":"material-sync","material/tab-minus.svg":"material-tab-minus","material/tab-plus.svg":"material-tab-plus","material/tab-remove.svg":"material-tab-remove","material/tab-unselected.svg":"material-tab-unselected","material/tab.svg":"material-tab","material/table-account.svg":"material-table-account","material/table-alert.svg":"material-table-alert","material/table-arrow-down.svg":"material-table-arrow-down","material/table-arrow-left.svg":"material-table-arrow-left","material/table-arrow-right.svg":"material-table-arrow-right","material/table-arrow-up.svg":"material-table-arrow-up","material/table-border.svg":"material-table-border","material/table-cancel.svg":"material-table-cancel","material/table-chair.svg":"material-table-chair","material/table-check.svg":"material-table-check","material/table-clock.svg":"material-table-clock","material/table-cog.svg":"material-table-cog","material/table-column-plus-after.svg":"material-table-column-plus-after","material/table-column-plus-before.svg":"material-table-column-plus-before","material/table-column-remove.svg":"material-table-column-remove","material/table-column-width.svg":"material-table-column-width","material/table-column.svg":"material-table-column","material/table-edit.svg":"material-table-edit","material/table-eye-off.svg":"material-table-eye-off","material/table-eye.svg":"material-table-eye","material/table-furniture.svg":"material-table-furniture","material/table-headers-eye-off.svg":"material-table-headers-eye-off","material/table-headers-eye.svg":"material-table-headers-eye","material/table-heart.svg":"material-table-heart","material/table-key.svg":"material-table-key","material/table-large-plus.svg":"material-table-large-plus","material/table-large-remove.svg":"material-table-large-remove","material/table-large.svg":"material-table-large","material/table-lock.svg":"material-table-lock","material/table-merge-cells.svg":"material-table-merge-cells","material/table-minus.svg":"material-table-minus","material/table-multiple.svg":"material-table-multiple","material/table-network.svg":"material-table-network","material/table-of-contents.svg":"material-table-of-contents","material/table-off.svg":"material-table-off","material/table-picnic.svg":"material-table-picnic","material/table-plus.svg":"material-table-plus","material/table-refresh.svg":"material-table-refresh","material/table-remove.svg":"material-table-remove","material/table-row-height.svg":"material-table-row-height","material/table-row-plus-after.svg":"material-table-row-plus-after","material/table-row-plus-before.svg":"material-table-row-plus-before","material/table-row-remove.svg":"material-table-row-remove","material/table-row.svg":"material-table-row","material/table-search.svg":"material-table-search","material/table-settings.svg":"material-table-settings","material/table-split-cell.svg":"material-table-split-cell","material/table-star.svg":"material-table-star","material/table-sync.svg":"material-table-sync","material/table-tennis.svg":"material-table-tennis","material/table.svg":"material-table","material/tablet-android.svg":"material-tablet-android","material/tablet-cellphone.svg":"material-tablet-cellphone","material/tablet-dashboard.svg":"material-tablet-dashboard","material/tablet-ipad.svg":"material-tablet-ipad","material/tablet.svg":"material-tablet","material/taco.svg":"material-taco","material/tag-arrow-down-outline.svg":"material-tag-arrow-down-outline","material/tag-arrow-down.svg":"material-tag-arrow-down","material/tag-arrow-left-outline.svg":"material-tag-arrow-left-outline","material/tag-arrow-left.svg":"material-tag-arrow-left","material/tag-arrow-right-outline.svg":"material-tag-arrow-right-outline","material/tag-arrow-right.svg":"material-tag-arrow-right","material/tag-arrow-up-outline.svg":"material-tag-arrow-up-outline","material/tag-arrow-up.svg":"material-tag-arrow-up","material/tag-faces.svg":"material-tag-faces","material/tag-heart-outline.svg":"material-tag-heart-outline","material/tag-heart.svg":"material-tag-heart","material/tag-minus-outline.svg":"material-tag-minus-outline","material/tag-minus.svg":"material-tag-minus","material/tag-multiple-outline.svg":"material-tag-multiple-outline","material/tag-multiple.svg":"material-tag-multiple","material/tag-off-outline.svg":"material-tag-off-outline","material/tag-off.svg":"material-tag-off","material/tag-outline.svg":"material-tag-outline","material/tag-plus-outline.svg":"material-tag-plus-outline","material/tag-plus.svg":"material-tag-plus","material/tag-remove-outline.svg":"material-tag-remove-outline","material/tag-remove.svg":"material-tag-remove","material/tag-text-outline.svg":"material-tag-text-outline","material/tag-text.svg":"material-tag-text","material/tag.svg":"material-tag","material/tailwind.svg":"material-tailwind","material/tank.svg":"material-tank","material/tanker-truck.svg":"material-tanker-truck","material/tape-drive.svg":"material-tape-drive","material/tape-measure.svg":"material-tape-measure","material/target-account.svg":"material-target-account","material/target-variant.svg":"material-target-variant","material/target.svg":"material-target","material/taxi.svg":"material-taxi","material/tea-outline.svg":"material-tea-outline","material/tea.svg":"material-tea","material/teach.svg":"material-teach","material/teamviewer.svg":"material-teamviewer","material/telegram.svg":"material-telegram","material/telescope.svg":"material-telescope","material/television-ambient-light.svg":"material-television-ambient-light","material/television-box.svg":"material-television-box","material/television-classic-off.svg":"material-television-classic-off","material/television-classic.svg":"material-television-classic","material/television-clean.svg":"material-television-clean","material/television-guide.svg":"material-television-guide","material/television-off.svg":"material-television-off","material/television-pause.svg":"material-television-pause","material/television-play.svg":"material-television-play","material/television-stop.svg":"material-television-stop","material/television.svg":"material-television","material/temperature-celsius.svg":"material-temperature-celsius","material/temperature-fahrenheit.svg":"material-temperature-fahrenheit","material/temperature-kelvin.svg":"material-temperature-kelvin","material/tennis-ball.svg":"material-tennis-ball","material/tennis.svg":"material-tennis","material/tent.svg":"material-tent","material/terraform.svg":"material-terraform","material/terrain.svg":"material-terrain","material/test-tube-empty.svg":"material-test-tube-empty","material/test-tube-off.svg":"material-test-tube-off","material/test-tube.svg":"material-test-tube","material/text-account.svg":"material-text-account","material/text-box-check-outline.svg":"material-text-box-check-outline","material/text-box-check.svg":"material-text-box-check","material/text-box-minus-outline.svg":"material-text-box-minus-outline","material/text-box-minus.svg":"material-text-box-minus","material/text-box-multiple-outline.svg":"material-text-box-multiple-outline","material/text-box-multiple.svg":"material-text-box-multiple","material/text-box-outline.svg":"material-text-box-outline","material/text-box-plus-outline.svg":"material-text-box-plus-outline","material/text-box-plus.svg":"material-text-box-plus","material/text-box-remove-outline.svg":"material-text-box-remove-outline","material/text-box-remove.svg":"material-text-box-remove","material/text-box-search-outline.svg":"material-text-box-search-outline","material/text-box-search.svg":"material-text-box-search","material/text-box.svg":"material-text-box","material/text-recognition.svg":"material-text-recognition","material/text-search.svg":"material-text-search","material/text-shadow.svg":"material-text-shadow","material/text-short.svg":"material-text-short","material/text-subject.svg":"material-text-subject","material/text-to-speech-off.svg":"material-text-to-speech-off","material/text-to-speech.svg":"material-text-to-speech","material/text.svg":"material-text","material/texture-box.svg":"material-texture-box","material/texture.svg":"material-texture","material/theater.svg":"material-theater","material/theme-light-dark.svg":"material-theme-light-dark","material/thermometer-alert.svg":"material-thermometer-alert","material/thermometer-chevron-down.svg":"material-thermometer-chevron-down","material/thermometer-chevron-up.svg":"material-thermometer-chevron-up","material/thermometer-high.svg":"material-thermometer-high","material/thermometer-lines.svg":"material-thermometer-lines","material/thermometer-low.svg":"material-thermometer-low","material/thermometer-minus.svg":"material-thermometer-minus","material/thermometer-off.svg":"material-thermometer-off","material/thermometer-plus.svg":"material-thermometer-plus","material/thermometer.svg":"material-thermometer","material/thermostat-box.svg":"material-thermostat-box","material/thermostat.svg":"material-thermostat","material/thought-bubble-outline.svg":"material-thought-bubble-outline","material/thought-bubble.svg":"material-thought-bubble","material/thumb-down-outline.svg":"material-thumb-down-outline","material/thumb-down.svg":"material-thumb-down","material/thumb-up-outline.svg":"material-thumb-up-outline","material/thumb-up.svg":"material-thumb-up","material/thumbs-up-down.svg":"material-thumbs-up-down","material/ticket-account.svg":"material-ticket-account","material/ticket-confirmation-outline.svg":"material-ticket-confirmation-outline","material/ticket-confirmation.svg":"material-ticket-confirmation","material/ticket-outline.svg":"material-ticket-outline","material/ticket-percent-outline.svg":"material-ticket-percent-outline","material/ticket-percent.svg":"material-ticket-percent","material/ticket.svg":"material-ticket","material/tie.svg":"material-tie","material/tilde.svg":"material-tilde","material/timelapse.svg":"material-timelapse","material/timeline-alert-outline.svg":"material-timeline-alert-outline","material/timeline-alert.svg":"material-timeline-alert","material/timeline-check-outline.svg":"material-timeline-check-outline","material/timeline-check.svg":"material-timeline-check","material/timeline-clock-outline.svg":"material-timeline-clock-outline","material/timeline-clock.svg":"material-timeline-clock","material/timeline-help-outline.svg":"material-timeline-help-outline","material/timeline-help.svg":"material-timeline-help","material/timeline-minus-outline.svg":"material-timeline-minus-outline","material/timeline-minus.svg":"material-timeline-minus","material/timeline-outline.svg":"material-timeline-outline","material/timeline-plus-outline.svg":"material-timeline-plus-outline","material/timeline-plus.svg":"material-timeline-plus","material/timeline-remove-outline.svg":"material-timeline-remove-outline","material/timeline-remove.svg":"material-timeline-remove","material/timeline-text-outline.svg":"material-timeline-text-outline","material/timeline-text.svg":"material-timeline-text","material/timeline.svg":"material-timeline","material/timer-10.svg":"material-timer-10","material/timer-3.svg":"material-timer-3","material/timer-off-outline.svg":"material-timer-off-outline","material/timer-off.svg":"material-timer-off","material/timer-outline.svg":"material-timer-outline","material/timer-sand-empty.svg":"material-timer-sand-empty","material/timer-sand-full.svg":"material-timer-sand-full","material/timer-sand.svg":"material-timer-sand","material/timer.svg":"material-timer","material/timetable.svg":"material-timetable","material/toaster-off.svg":"material-toaster-off","material/toaster-oven.svg":"material-toaster-oven","material/toaster.svg":"material-toaster","material/toggle-switch-off-outline.svg":"material-toggle-switch-off-outline","material/toggle-switch-off.svg":"material-toggle-switch-off","material/toggle-switch-outline.svg":"material-toggle-switch-outline","material/toggle-switch.svg":"material-toggle-switch","material/toilet.svg":"material-toilet","material/toolbox-outline.svg":"material-toolbox-outline","material/toolbox.svg":"material-toolbox","material/tools.svg":"material-tools","material/tooltip-account.svg":"material-tooltip-account","material/tooltip-check-outline.svg":"material-tooltip-check-outline","material/tooltip-check.svg":"material-tooltip-check","material/tooltip-edit-outline.svg":"material-tooltip-edit-outline","material/tooltip-edit.svg":"material-tooltip-edit","material/tooltip-image-outline.svg":"material-tooltip-image-outline","material/tooltip-image.svg":"material-tooltip-image","material/tooltip-minus-outline.svg":"material-tooltip-minus-outline","material/tooltip-minus.svg":"material-tooltip-minus","material/tooltip-outline.svg":"material-tooltip-outline","material/tooltip-plus-outline.svg":"material-tooltip-plus-outline","material/tooltip-plus.svg":"material-tooltip-plus","material/tooltip-remove-outline.svg":"material-tooltip-remove-outline","material/tooltip-remove.svg":"material-tooltip-remove","material/tooltip-text-outline.svg":"material-tooltip-text-outline","material/tooltip-text.svg":"material-tooltip-text","material/tooltip.svg":"material-tooltip","material/tooth-outline.svg":"material-tooth-outline","material/tooth.svg":"material-tooth","material/toothbrush-electric.svg":"material-toothbrush-electric","material/toothbrush-paste.svg":"material-toothbrush-paste","material/toothbrush.svg":"material-toothbrush","material/torch.svg":"material-torch","material/tortoise.svg":"material-tortoise","material/toslink.svg":"material-toslink","material/tournament.svg":"material-tournament","material/tow-truck.svg":"material-tow-truck","material/tower-beach.svg":"material-tower-beach","material/tower-fire.svg":"material-tower-fire","material/toy-brick-marker-outline.svg":"material-toy-brick-marker-outline","material/toy-brick-marker.svg":"material-toy-brick-marker","material/toy-brick-minus-outline.svg":"material-toy-brick-minus-outline","material/toy-brick-minus.svg":"material-toy-brick-minus","material/toy-brick-outline.svg":"material-toy-brick-outline","material/toy-brick-plus-outline.svg":"material-toy-brick-plus-outline","material/toy-brick-plus.svg":"material-toy-brick-plus","material/toy-brick-remove-outline.svg":"material-toy-brick-remove-outline","material/toy-brick-remove.svg":"material-toy-brick-remove","material/toy-brick-search-outline.svg":"material-toy-brick-search-outline","material/toy-brick-search.svg":"material-toy-brick-search","material/toy-brick.svg":"material-toy-brick","material/track-light.svg":"material-track-light","material/trackpad-lock.svg":"material-trackpad-lock","material/trackpad.svg":"material-trackpad","material/tractor-variant.svg":"material-tractor-variant","material/tractor.svg":"material-tractor","material/trademark.svg":"material-trademark","material/traffic-cone.svg":"material-traffic-cone","material/traffic-light.svg":"material-traffic-light","material/train-car-passenger-door-open.svg":"material-train-car-passenger-door-open","material/train-car-passenger-door.svg":"material-train-car-passenger-door","material/train-car-passenger-variant.svg":"material-train-car-passenger-variant","material/train-car-passenger.svg":"material-train-car-passenger","material/train-car.svg":"material-train-car","material/train-variant.svg":"material-train-variant","material/train.svg":"material-train","material/tram-side.svg":"material-tram-side","material/tram.svg":"material-tram","material/transcribe-close.svg":"material-transcribe-close","material/transcribe.svg":"material-transcribe","material/transfer-down.svg":"material-transfer-down","material/transfer-left.svg":"material-transfer-left","material/transfer-right.svg":"material-transfer-right","material/transfer-up.svg":"material-transfer-up","material/transfer.svg":"material-transfer","material/transit-connection-horizontal.svg":"material-transit-connection-horizontal","material/transit-connection-variant.svg":"material-transit-connection-variant","material/transit-connection.svg":"material-transit-connection","material/transit-detour.svg":"material-transit-detour","material/transit-skip.svg":"material-transit-skip","material/transit-transfer.svg":"material-transit-transfer","material/transition-masked.svg":"material-transition-masked","material/transition.svg":"material-transition","material/translate-off.svg":"material-translate-off","material/translate.svg":"material-translate","material/transmission-tower.svg":"material-transmission-tower","material/trash-can-outline.svg":"material-trash-can-outline","material/trash-can.svg":"material-trash-can","material/tray-alert.svg":"material-tray-alert","material/tray-full.svg":"material-tray-full","material/tray-minus.svg":"material-tray-minus","material/tray-plus.svg":"material-tray-plus","material/tray-remove.svg":"material-tray-remove","material/tray.svg":"material-tray","material/treasure-chest.svg":"material-treasure-chest","material/tree-outline.svg":"material-tree-outline","material/tree.svg":"material-tree","material/trello.svg":"material-trello","material/trending-down.svg":"material-trending-down","material/trending-neutral.svg":"material-trending-neutral","material/trending-up.svg":"material-trending-up","material/triangle-outline.svg":"material-triangle-outline","material/triangle-wave.svg":"material-triangle-wave","material/triangle.svg":"material-triangle","material/triforce.svg":"material-triforce","material/trophy-award.svg":"material-trophy-award","material/trophy-broken.svg":"material-trophy-broken","material/trophy-outline.svg":"material-trophy-outline","material/trophy-variant-outline.svg":"material-trophy-variant-outline","material/trophy-variant.svg":"material-trophy-variant","material/trophy.svg":"material-trophy","material/truck-check-outline.svg":"material-truck-check-outline","material/truck-check.svg":"material-truck-check","material/truck-delivery-outline.svg":"material-truck-delivery-outline","material/truck-delivery.svg":"material-truck-delivery","material/truck-fast-outline.svg":"material-truck-fast-outline","material/truck-fast.svg":"material-truck-fast","material/truck-outline.svg":"material-truck-outline","material/truck-trailer.svg":"material-truck-trailer","material/truck.svg":"material-truck","material/trumpet.svg":"material-trumpet","material/tshirt-crew-outline.svg":"material-tshirt-crew-outline","material/tshirt-crew.svg":"material-tshirt-crew","material/tshirt-v-outline.svg":"material-tshirt-v-outline","material/tshirt-v.svg":"material-tshirt-v","material/tumble-dryer-alert.svg":"material-tumble-dryer-alert","material/tumble-dryer-off.svg":"material-tumble-dryer-off","material/tumble-dryer.svg":"material-tumble-dryer","material/tune-variant.svg":"material-tune-variant","material/tune-vertical-variant.svg":"material-tune-vertical-variant","material/tune-vertical.svg":"material-tune-vertical","material/tune.svg":"material-tune","material/turkey.svg":"material-turkey","material/turnstile-outline.svg":"material-turnstile-outline","material/turnstile.svg":"material-turnstile","material/turtle.svg":"material-turtle","material/twitch.svg":"material-twitch","material/twitter-retweet.svg":"material-twitter-retweet","material/twitter.svg":"material-twitter","material/two-factor-authentication.svg":"material-two-factor-authentication","material/typewriter.svg":"material-typewriter","material/ubisoft.svg":"material-ubisoft","material/ubuntu.svg":"material-ubuntu","material/ufo-outline.svg":"material-ufo-outline","material/ufo.svg":"material-ufo","material/ultra-high-definition.svg":"material-ultra-high-definition","material/umbraco.svg":"material-umbraco","material/umbrella-closed-outline.svg":"material-umbrella-closed-outline","material/umbrella-closed-variant.svg":"material-umbrella-closed-variant","material/umbrella-closed.svg":"material-umbrella-closed","material/umbrella-outline.svg":"material-umbrella-outline","material/umbrella.svg":"material-umbrella","material/undo-variant.svg":"material-undo-variant","material/undo.svg":"material-undo","material/unfold-less-horizontal.svg":"material-unfold-less-horizontal","material/unfold-less-vertical.svg":"material-unfold-less-vertical","material/unfold-more-horizontal.svg":"material-unfold-more-horizontal","material/unfold-more-vertical.svg":"material-unfold-more-vertical","material/ungroup.svg":"material-ungroup","material/unicode.svg":"material-unicode","material/unicorn-variant.svg":"material-unicorn-variant","material/unicorn.svg":"material-unicorn","material/unicycle.svg":"material-unicycle","material/unity.svg":"material-unity","material/unreal.svg":"material-unreal","material/untappd.svg":"material-untappd","material/update.svg":"material-update","material/upload-lock-outline.svg":"material-upload-lock-outline","material/upload-lock.svg":"material-upload-lock","material/upload-multiple.svg":"material-upload-multiple","material/upload-network-outline.svg":"material-upload-network-outline","material/upload-network.svg":"material-upload-network","material/upload-off-outline.svg":"material-upload-off-outline","material/upload-off.svg":"material-upload-off","material/upload-outline.svg":"material-upload-outline","material/upload.svg":"material-upload","material/usb-flash-drive-outline.svg":"material-usb-flash-drive-outline","material/usb-flash-drive.svg":"material-usb-flash-drive","material/usb-port.svg":"material-usb-port","material/usb.svg":"material-usb","material/valve-closed.svg":"material-valve-closed","material/valve-open.svg":"material-valve-open","material/valve.svg":"material-valve","material/van-passenger.svg":"material-van-passenger","material/van-utility.svg":"material-van-utility","material/vanish-quarter.svg":"material-vanish-quarter","material/vanish.svg":"material-vanish","material/vanity-light.svg":"material-vanity-light","material/variable-box.svg":"material-variable-box","material/variable.svg":"material-variable","material/vector-arrange-above.svg":"material-vector-arrange-above","material/vector-arrange-below.svg":"material-vector-arrange-below","material/vector-bezier.svg":"material-vector-bezier","material/vector-circle-variant.svg":"material-vector-circle-variant","material/vector-circle.svg":"material-vector-circle","material/vector-combine.svg":"material-vector-combine","material/vector-curve.svg":"material-vector-curve","material/vector-difference-ab.svg":"material-vector-difference-ab","material/vector-difference-ba.svg":"material-vector-difference-ba","material/vector-difference.svg":"material-vector-difference","material/vector-ellipse.svg":"material-vector-ellipse","material/vector-intersection.svg":"material-vector-intersection","material/vector-line.svg":"material-vector-line","material/vector-link.svg":"material-vector-link","material/vector-point.svg":"material-vector-point","material/vector-polygon.svg":"material-vector-polygon","material/vector-polyline-edit.svg":"material-vector-polyline-edit","material/vector-polyline-minus.svg":"material-vector-polyline-minus","material/vector-polyline-plus.svg":"material-vector-polyline-plus","material/vector-polyline-remove.svg":"material-vector-polyline-remove","material/vector-polyline.svg":"material-vector-polyline","material/vector-radius.svg":"material-vector-radius","material/vector-rectangle.svg":"material-vector-rectangle","material/vector-selection.svg":"material-vector-selection","material/vector-square.svg":"material-vector-square","material/vector-triangle.svg":"material-vector-triangle","material/vector-union.svg":"material-vector-union","material/vhs.svg":"material-vhs","material/vibrate-off.svg":"material-vibrate-off","material/vibrate.svg":"material-vibrate","material/video-3d-off.svg":"material-video-3d-off","material/video-3d-variant.svg":"material-video-3d-variant","material/video-3d.svg":"material-video-3d","material/video-4k-box.svg":"material-video-4k-box","material/video-account.svg":"material-video-account","material/video-box-off.svg":"material-video-box-off","material/video-box.svg":"material-video-box","material/video-check-outline.svg":"material-video-check-outline","material/video-check.svg":"material-video-check","material/video-high-definition.svg":"material-video-high-definition","material/video-image.svg":"material-video-image","material/video-input-antenna.svg":"material-video-input-antenna","material/video-input-component.svg":"material-video-input-component","material/video-input-hdmi.svg":"material-video-input-hdmi","material/video-input-scart.svg":"material-video-input-scart","material/video-input-svideo.svg":"material-video-input-svideo","material/video-minus-outline.svg":"material-video-minus-outline","material/video-minus.svg":"material-video-minus","material/video-off-outline.svg":"material-video-off-outline","material/video-off.svg":"material-video-off","material/video-outline.svg":"material-video-outline","material/video-plus-outline.svg":"material-video-plus-outline","material/video-plus.svg":"material-video-plus","material/video-stabilization.svg":"material-video-stabilization","material/video-switch-outline.svg":"material-video-switch-outline","material/video-switch.svg":"material-video-switch","material/video-vintage.svg":"material-video-vintage","material/video-wireless-outline.svg":"material-video-wireless-outline","material/video-wireless.svg":"material-video-wireless","material/video.svg":"material-video","material/view-agenda-outline.svg":"material-view-agenda-outline","material/view-agenda.svg":"material-view-agenda","material/view-array-outline.svg":"material-view-array-outline","material/view-array.svg":"material-view-array","material/view-carousel-outline.svg":"material-view-carousel-outline","material/view-carousel.svg":"material-view-carousel","material/view-column-outline.svg":"material-view-column-outline","material/view-column.svg":"material-view-column","material/view-comfy-outline.svg":"material-view-comfy-outline","material/view-comfy.svg":"material-view-comfy","material/view-compact-outline.svg":"material-view-compact-outline","material/view-compact.svg":"material-view-compact","material/view-dashboard-outline.svg":"material-view-dashboard-outline","material/view-dashboard-variant-outline.svg":"material-view-dashboard-variant-outline","material/view-dashboard-variant.svg":"material-view-dashboard-variant","material/view-dashboard.svg":"material-view-dashboard","material/view-day-outline.svg":"material-view-day-outline","material/view-day.svg":"material-view-day","material/view-grid-outline.svg":"material-view-grid-outline","material/view-grid-plus-outline.svg":"material-view-grid-plus-outline","material/view-grid-plus.svg":"material-view-grid-plus","material/view-grid.svg":"material-view-grid","material/view-headline.svg":"material-view-headline","material/view-list-outline.svg":"material-view-list-outline","material/view-list.svg":"material-view-list","material/view-module-outline.svg":"material-view-module-outline","material/view-module.svg":"material-view-module","material/view-parallel-outline.svg":"material-view-parallel-outline","material/view-parallel.svg":"material-view-parallel","material/view-quilt-outline.svg":"material-view-quilt-outline","material/view-quilt.svg":"material-view-quilt","material/view-sequential-outline.svg":"material-view-sequential-outline","material/view-sequential.svg":"material-view-sequential","material/view-split-horizontal.svg":"material-view-split-horizontal","material/view-split-vertical.svg":"material-view-split-vertical","material/view-stream-outline.svg":"material-view-stream-outline","material/view-stream.svg":"material-view-stream","material/view-week-outline.svg":"material-view-week-outline","material/view-week.svg":"material-view-week","material/vimeo.svg":"material-vimeo","material/violin.svg":"material-violin","material/virtual-reality.svg":"material-virtual-reality","material/virus-outline.svg":"material-virus-outline","material/virus.svg":"material-virus","material/vk.svg":"material-vk","material/vlc.svg":"material-vlc","material/voice-off.svg":"material-voice-off","material/voicemail.svg":"material-voicemail","material/volleyball.svg":"material-volleyball","material/volume-high.svg":"material-volume-high","material/volume-low.svg":"material-volume-low","material/volume-medium.svg":"material-volume-medium","material/volume-minus.svg":"material-volume-minus","material/volume-mute.svg":"material-volume-mute","material/volume-off.svg":"material-volume-off","material/volume-plus.svg":"material-volume-plus","material/volume-source.svg":"material-volume-source","material/volume-variant-off.svg":"material-volume-variant-off","material/volume-vibrate.svg":"material-volume-vibrate","material/vote-outline.svg":"material-vote-outline","material/vote.svg":"material-vote","material/vpn.svg":"material-vpn","material/vuejs.svg":"material-vuejs","material/vuetify.svg":"material-vuetify","material/walk.svg":"material-walk","material/wall-sconce-flat-variant.svg":"material-wall-sconce-flat-variant","material/wall-sconce-flat.svg":"material-wall-sconce-flat","material/wall-sconce-round-variant.svg":"material-wall-sconce-round-variant","material/wall-sconce-round.svg":"material-wall-sconce-round","material/wall-sconce.svg":"material-wall-sconce","material/wall.svg":"material-wall","material/wallet-giftcard.svg":"material-wallet-giftcard","material/wallet-membership.svg":"material-wallet-membership","material/wallet-outline.svg":"material-wallet-outline","material/wallet-plus-outline.svg":"material-wallet-plus-outline","material/wallet-plus.svg":"material-wallet-plus","material/wallet-travel.svg":"material-wallet-travel","material/wallet.svg":"material-wallet","material/wallpaper.svg":"material-wallpaper","material/wan.svg":"material-wan","material/wardrobe-outline.svg":"material-wardrobe-outline","material/wardrobe.svg":"material-wardrobe","material/warehouse.svg":"material-warehouse","material/washing-machine-alert.svg":"material-washing-machine-alert","material/washing-machine-off.svg":"material-washing-machine-off","material/washing-machine.svg":"material-washing-machine","material/watch-export-variant.svg":"material-watch-export-variant","material/watch-export.svg":"material-watch-export","material/watch-import-variant.svg":"material-watch-import-variant","material/watch-import.svg":"material-watch-import","material/watch-variant.svg":"material-watch-variant","material/watch-vibrate-off.svg":"material-watch-vibrate-off","material/watch-vibrate.svg":"material-watch-vibrate","material/watch.svg":"material-watch","material/water-alert-outline.svg":"material-water-alert-outline","material/water-alert.svg":"material-water-alert","material/water-boiler-alert.svg":"material-water-boiler-alert","material/water-boiler-off.svg":"material-water-boiler-off","material/water-boiler.svg":"material-water-boiler","material/water-check-outline.svg":"material-water-check-outline","material/water-check.svg":"material-water-check","material/water-minus-outline.svg":"material-water-minus-outline","material/water-minus.svg":"material-water-minus","material/water-off-outline.svg":"material-water-off-outline","material/water-off.svg":"material-water-off","material/water-outline.svg":"material-water-outline","material/water-percent-alert.svg":"material-water-percent-alert","material/water-percent.svg":"material-water-percent","material/water-plus-outline.svg":"material-water-plus-outline","material/water-plus.svg":"material-water-plus","material/water-polo.svg":"material-water-polo","material/water-pump-off.svg":"material-water-pump-off","material/water-pump.svg":"material-water-pump","material/water-remove-outline.svg":"material-water-remove-outline","material/water-remove.svg":"material-water-remove","material/water-well-outline.svg":"material-water-well-outline","material/water-well.svg":"material-water-well","material/water.svg":"material-water","material/watering-can-outline.svg":"material-watering-can-outline","material/watering-can.svg":"material-watering-can","material/watermark.svg":"material-watermark","material/wave.svg":"material-wave","material/waveform.svg":"material-waveform","material/waves.svg":"material-waves","material/waze.svg":"material-waze","material/weather-cloudy-alert.svg":"material-weather-cloudy-alert","material/weather-cloudy-arrow-right.svg":"material-weather-cloudy-arrow-right","material/weather-cloudy.svg":"material-weather-cloudy","material/weather-fog.svg":"material-weather-fog","material/weather-hail.svg":"material-weather-hail","material/weather-hazy.svg":"material-weather-hazy","material/weather-hurricane.svg":"material-weather-hurricane","material/weather-lightning-rainy.svg":"material-weather-lightning-rainy","material/weather-lightning.svg":"material-weather-lightning","material/weather-night-partly-cloudy.svg":"material-weather-night-partly-cloudy","material/weather-night.svg":"material-weather-night","material/weather-partly-cloudy.svg":"material-weather-partly-cloudy","material/weather-partly-lightning.svg":"material-weather-partly-lightning","material/weather-partly-rainy.svg":"material-weather-partly-rainy","material/weather-partly-snowy-rainy.svg":"material-weather-partly-snowy-rainy","material/weather-partly-snowy.svg":"material-weather-partly-snowy","material/weather-pouring.svg":"material-weather-pouring","material/weather-rainy.svg":"material-weather-rainy","material/weather-snowy-heavy.svg":"material-weather-snowy-heavy","material/weather-snowy-rainy.svg":"material-weather-snowy-rainy","material/weather-snowy.svg":"material-weather-snowy","material/weather-sunny-alert.svg":"material-weather-sunny-alert","material/weather-sunny-off.svg":"material-weather-sunny-off","material/weather-sunny.svg":"material-weather-sunny","material/weather-sunset-down.svg":"material-weather-sunset-down","material/weather-sunset-up.svg":"material-weather-sunset-up","material/weather-sunset.svg":"material-weather-sunset","material/weather-tornado.svg":"material-weather-tornado","material/weather-windy-variant.svg":"material-weather-windy-variant","material/weather-windy.svg":"material-weather-windy","material/web-box.svg":"material-web-box","material/web-clock.svg":"material-web-clock","material/web.svg":"material-web","material/webcam-off.svg":"material-webcam-off","material/webcam.svg":"material-webcam","material/webhook.svg":"material-webhook","material/webpack.svg":"material-webpack","material/webrtc.svg":"material-webrtc","material/wechat.svg":"material-wechat","material/weight-gram.svg":"material-weight-gram","material/weight-kilogram.svg":"material-weight-kilogram","material/weight-lifter.svg":"material-weight-lifter","material/weight-pound.svg":"material-weight-pound","material/weight.svg":"material-weight","material/whatsapp.svg":"material-whatsapp","material/wheel-barrow.svg":"material-wheel-barrow","material/wheelchair-accessibility.svg":"material-wheelchair-accessibility","material/whistle-outline.svg":"material-whistle-outline","material/whistle.svg":"material-whistle","material/white-balance-auto.svg":"material-white-balance-auto","material/white-balance-incandescent.svg":"material-white-balance-incandescent","material/white-balance-iridescent.svg":"material-white-balance-iridescent","material/white-balance-sunny.svg":"material-white-balance-sunny","material/widgets-outline.svg":"material-widgets-outline","material/widgets.svg":"material-widgets","material/wifi-alert.svg":"material-wifi-alert","material/wifi-arrow-down.svg":"material-wifi-arrow-down","material/wifi-arrow-left-right.svg":"material-wifi-arrow-left-right","material/wifi-arrow-left.svg":"material-wifi-arrow-left","material/wifi-arrow-right.svg":"material-wifi-arrow-right","material/wifi-arrow-up-down.svg":"material-wifi-arrow-up-down","material/wifi-arrow-up.svg":"material-wifi-arrow-up","material/wifi-cancel.svg":"material-wifi-cancel","material/wifi-check.svg":"material-wifi-check","material/wifi-cog.svg":"material-wifi-cog","material/wifi-lock-open.svg":"material-wifi-lock-open","material/wifi-lock.svg":"material-wifi-lock","material/wifi-marker.svg":"material-wifi-marker","material/wifi-minus.svg":"material-wifi-minus","material/wifi-off.svg":"material-wifi-off","material/wifi-plus.svg":"material-wifi-plus","material/wifi-refresh.svg":"material-wifi-refresh","material/wifi-remove.svg":"material-wifi-remove","material/wifi-settings.svg":"material-wifi-settings","material/wifi-star.svg":"material-wifi-star","material/wifi-strength-1-alert.svg":"material-wifi-strength-1-alert","material/wifi-strength-1-lock-open.svg":"material-wifi-strength-1-lock-open","material/wifi-strength-1-lock.svg":"material-wifi-strength-1-lock","material/wifi-strength-1.svg":"material-wifi-strength-1","material/wifi-strength-2-alert.svg":"material-wifi-strength-2-alert","material/wifi-strength-2-lock-open.svg":"material-wifi-strength-2-lock-open","material/wifi-strength-2-lock.svg":"material-wifi-strength-2-lock","material/wifi-strength-2.svg":"material-wifi-strength-2","material/wifi-strength-3-alert.svg":"material-wifi-strength-3-alert","material/wifi-strength-3-lock-open.svg":"material-wifi-strength-3-lock-open","material/wifi-strength-3-lock.svg":"material-wifi-strength-3-lock","material/wifi-strength-3.svg":"material-wifi-strength-3","material/wifi-strength-4-alert.svg":"material-wifi-strength-4-alert","material/wifi-strength-4-lock-open.svg":"material-wifi-strength-4-lock-open","material/wifi-strength-4-lock.svg":"material-wifi-strength-4-lock","material/wifi-strength-4.svg":"material-wifi-strength-4","material/wifi-strength-alert-outline.svg":"material-wifi-strength-alert-outline","material/wifi-strength-lock-open-outline.svg":"material-wifi-strength-lock-open-outline","material/wifi-strength-lock-outline.svg":"material-wifi-strength-lock-outline","material/wifi-strength-off-outline.svg":"material-wifi-strength-off-outline","material/wifi-strength-off.svg":"material-wifi-strength-off","material/wifi-strength-outline.svg":"material-wifi-strength-outline","material/wifi-sync.svg":"material-wifi-sync","material/wifi.svg":"material-wifi","material/wikipedia.svg":"material-wikipedia","material/wind-turbine.svg":"material-wind-turbine","material/window-close.svg":"material-window-close","material/window-closed-variant.svg":"material-window-closed-variant","material/window-closed.svg":"material-window-closed","material/window-maximize.svg":"material-window-maximize","material/window-minimize.svg":"material-window-minimize","material/window-open-variant.svg":"material-window-open-variant","material/window-open.svg":"material-window-open","material/window-restore.svg":"material-window-restore","material/window-shutter-alert.svg":"material-window-shutter-alert","material/window-shutter-open.svg":"material-window-shutter-open","material/window-shutter.svg":"material-window-shutter","material/windsock.svg":"material-windsock","material/wiper-wash.svg":"material-wiper-wash","material/wiper.svg":"material-wiper","material/wizard-hat.svg":"material-wizard-hat","material/wordpress.svg":"material-wordpress","material/wrap-disabled.svg":"material-wrap-disabled","material/wrap.svg":"material-wrap","material/wrench-outline.svg":"material-wrench-outline","material/wrench.svg":"material-wrench","material/xamarin-outline.svg":"material-xamarin-outline","material/xamarin.svg":"material-xamarin","material/xing.svg":"material-xing","material/xml.svg":"material-xml","material/xmpp.svg":"material-xmpp","material/y-combinator.svg":"material-y-combinator","material/yahoo.svg":"material-yahoo","material/yeast.svg":"material-yeast","material/yin-yang.svg":"material-yin-yang","material/yoga.svg":"material-yoga","material/youtube-gaming.svg":"material-youtube-gaming","material/youtube-studio.svg":"material-youtube-studio","material/youtube-subscription.svg":"material-youtube-subscription","material/youtube-tv.svg":"material-youtube-tv","material/youtube.svg":"material-youtube","material/yurt.svg":"material-yurt","material/z-wave.svg":"material-z-wave","material/zend.svg":"material-zend","material/zigbee.svg":"material-zigbee","material/zip-box-outline.svg":"material-zip-box-outline","material/zip-box.svg":"material-zip-box","material/zip-disk.svg":"material-zip-disk","material/zodiac-aquarius.svg":"material-zodiac-aquarius","material/zodiac-aries.svg":"material-zodiac-aries","material/zodiac-cancer.svg":"material-zodiac-cancer","material/zodiac-capricorn.svg":"material-zodiac-capricorn","material/zodiac-gemini.svg":"material-zodiac-gemini","material/zodiac-leo.svg":"material-zodiac-leo","material/zodiac-libra.svg":"material-zodiac-libra","material/zodiac-pisces.svg":"material-zodiac-pisces","material/zodiac-sagittarius.svg":"material-zodiac-sagittarius","material/zodiac-scorpio.svg":"material-zodiac-scorpio","material/zodiac-taurus.svg":"material-zodiac-taurus","material/zodiac-virgo.svg":"material-zodiac-virgo","octicons/alert-16.svg":"octicons-alert-16","octicons/alert-24.svg":"octicons-alert-24","octicons/archive-16.svg":"octicons-archive-16","octicons/archive-24.svg":"octicons-archive-24","octicons/arrow-both-16.svg":"octicons-arrow-both-16","octicons/arrow-both-24.svg":"octicons-arrow-both-24","octicons/arrow-down-16.svg":"octicons-arrow-down-16","octicons/arrow-down-24.svg":"octicons-arrow-down-24","octicons/arrow-down-left-24.svg":"octicons-arrow-down-left-24","octicons/arrow-down-right-24.svg":"octicons-arrow-down-right-24","octicons/arrow-left-16.svg":"octicons-arrow-left-16","octicons/arrow-left-24.svg":"octicons-arrow-left-24","octicons/arrow-right-16.svg":"octicons-arrow-right-16","octicons/arrow-right-24.svg":"octicons-arrow-right-24","octicons/arrow-switch-16.svg":"octicons-arrow-switch-16","octicons/arrow-switch-24.svg":"octicons-arrow-switch-24","octicons/arrow-up-16.svg":"octicons-arrow-up-16","octicons/arrow-up-24.svg":"octicons-arrow-up-24","octicons/arrow-up-left-24.svg":"octicons-arrow-up-left-24","octicons/arrow-up-right-24.svg":"octicons-arrow-up-right-24","octicons/beaker-16.svg":"octicons-beaker-16","octicons/beaker-24.svg":"octicons-beaker-24","octicons/bell-16.svg":"octicons-bell-16","octicons/bell-24.svg":"octicons-bell-24","octicons/bell-fill-24.svg":"octicons-bell-fill-24","octicons/bell-slash-16.svg":"octicons-bell-slash-16","octicons/bell-slash-24.svg":"octicons-bell-slash-24","octicons/bold-16.svg":"octicons-bold-16","octicons/bold-24.svg":"octicons-bold-24","octicons/book-16.svg":"octicons-book-16","octicons/book-24.svg":"octicons-book-24","octicons/bookmark-16.svg":"octicons-bookmark-16","octicons/bookmark-24.svg":"octicons-bookmark-24","octicons/bookmark-fill-24.svg":"octicons-bookmark-fill-24","octicons/bookmark-slash-16.svg":"octicons-bookmark-slash-16","octicons/bookmark-slash-24.svg":"octicons-bookmark-slash-24","octicons/bookmark-slash-fill-24.svg":"octicons-bookmark-slash-fill-24","octicons/briefcase-16.svg":"octicons-briefcase-16","octicons/briefcase-24.svg":"octicons-briefcase-24","octicons/broadcast-16.svg":"octicons-broadcast-16","octicons/broadcast-24.svg":"octicons-broadcast-24","octicons/browser-16.svg":"octicons-browser-16","octicons/bug-16.svg":"octicons-bug-16","octicons/bug-24.svg":"octicons-bug-24","octicons/calendar-16.svg":"octicons-calendar-16","octicons/calendar-24.svg":"octicons-calendar-24","octicons/check-16.svg":"octicons-check-16","octicons/check-24.svg":"octicons-check-24","octicons/check-circle-16.svg":"octicons-check-circle-16","octicons/check-circle-24.svg":"octicons-check-circle-24","octicons/check-circle-fill-16.svg":"octicons-check-circle-fill-16","octicons/check-circle-fill-24.svg":"octicons-check-circle-fill-24","octicons/checklist-16.svg":"octicons-checklist-16","octicons/checklist-24.svg":"octicons-checklist-24","octicons/chevron-down-16.svg":"octicons-chevron-down-16","octicons/chevron-down-24.svg":"octicons-chevron-down-24","octicons/chevron-left-16.svg":"octicons-chevron-left-16","octicons/chevron-left-24.svg":"octicons-chevron-left-24","octicons/chevron-right-16.svg":"octicons-chevron-right-16","octicons/chevron-right-24.svg":"octicons-chevron-right-24","octicons/chevron-up-16.svg":"octicons-chevron-up-16","octicons/chevron-up-24.svg":"octicons-chevron-up-24","octicons/circle-16.svg":"octicons-circle-16","octicons/circle-24.svg":"octicons-circle-24","octicons/circle-slash-16.svg":"octicons-circle-slash-16","octicons/circle-slash-24.svg":"octicons-circle-slash-24","octicons/clippy-16.svg":"octicons-clippy-16","octicons/clippy-24.svg":"octicons-clippy-24","octicons/clock-16.svg":"octicons-clock-16","octicons/clock-24.svg":"octicons-clock-24","octicons/code-16.svg":"octicons-code-16","octicons/code-24.svg":"octicons-code-24","octicons/code-review-16.svg":"octicons-code-review-16","octicons/code-review-24.svg":"octicons-code-review-24","octicons/code-square-16.svg":"octicons-code-square-16","octicons/code-square-24.svg":"octicons-code-square-24","octicons/comment-16.svg":"octicons-comment-16","octicons/comment-24.svg":"octicons-comment-24","octicons/comment-discussion-16.svg":"octicons-comment-discussion-16","octicons/comment-discussion-24.svg":"octicons-comment-discussion-24","octicons/commit-24.svg":"octicons-commit-24","octicons/container-16.svg":"octicons-container-16","octicons/container-24.svg":"octicons-container-24","octicons/copy-24.svg":"octicons-copy-24","octicons/cpu-16.svg":"octicons-cpu-16","octicons/cpu-24.svg":"octicons-cpu-24","octicons/credit-card-16.svg":"octicons-credit-card-16","octicons/credit-card-24.svg":"octicons-credit-card-24","octicons/cross-reference-16.svg":"octicons-cross-reference-16","octicons/cross-reference-24.svg":"octicons-cross-reference-24","octicons/dash-16.svg":"octicons-dash-16","octicons/dash-24.svg":"octicons-dash-24","octicons/database-16.svg":"octicons-database-16","octicons/database-24.svg":"octicons-database-24","octicons/desktop-download-16.svg":"octicons-desktop-download-16","octicons/desktop-download-24.svg":"octicons-desktop-download-24","octicons/device-camera-16.svg":"octicons-device-camera-16","octicons/device-camera-video-16.svg":"octicons-device-camera-video-16","octicons/device-camera-video-24.svg":"octicons-device-camera-video-24","octicons/device-desktop-16.svg":"octicons-device-desktop-16","octicons/device-desktop-24.svg":"octicons-device-desktop-24","octicons/device-mobile-16.svg":"octicons-device-mobile-16","octicons/device-mobile-24.svg":"octicons-device-mobile-24","octicons/diff-16.svg":"octicons-diff-16","octicons/diff-24.svg":"octicons-diff-24","octicons/diff-added-16.svg":"octicons-diff-added-16","octicons/diff-ignored-16.svg":"octicons-diff-ignored-16","octicons/diff-modified-16.svg":"octicons-diff-modified-16","octicons/diff-removed-16.svg":"octicons-diff-removed-16","octicons/diff-renamed-16.svg":"octicons-diff-renamed-16","octicons/dot-16.svg":"octicons-dot-16","octicons/dot-24.svg":"octicons-dot-24","octicons/dot-fill-16.svg":"octicons-dot-fill-16","octicons/dot-fill-24.svg":"octicons-dot-fill-24","octicons/download-16.svg":"octicons-download-16","octicons/download-24.svg":"octicons-download-24","octicons/ellipsis-16.svg":"octicons-ellipsis-16","octicons/eye-16.svg":"octicons-eye-16","octicons/eye-24.svg":"octicons-eye-24","octicons/eye-closed-16.svg":"octicons-eye-closed-16","octicons/eye-closed-24.svg":"octicons-eye-closed-24","octicons/file-16.svg":"octicons-file-16","octicons/file-24.svg":"octicons-file-24","octicons/file-badge-16.svg":"octicons-file-badge-16","octicons/file-binary-16.svg":"octicons-file-binary-16","octicons/file-binary-24.svg":"octicons-file-binary-24","octicons/file-code-16.svg":"octicons-file-code-16","octicons/file-code-24.svg":"octicons-file-code-24","octicons/file-diff-16.svg":"octicons-file-diff-16","octicons/file-diff-24.svg":"octicons-file-diff-24","octicons/file-directory-16.svg":"octicons-file-directory-16","octicons/file-directory-24.svg":"octicons-file-directory-24","octicons/file-directory-fill-24.svg":"octicons-file-directory-fill-24","octicons/file-media-24.svg":"octicons-file-media-24","octicons/file-submodule-16.svg":"octicons-file-submodule-16","octicons/file-submodule-24.svg":"octicons-file-submodule-24","octicons/file-symlink-file-16.svg":"octicons-file-symlink-file-16","octicons/file-symlink-file-24.svg":"octicons-file-symlink-file-24","octicons/file-zip-16.svg":"octicons-file-zip-16","octicons/file-zip-24.svg":"octicons-file-zip-24","octicons/filter-16.svg":"octicons-filter-16","octicons/filter-24.svg":"octicons-filter-24","octicons/flame-16.svg":"octicons-flame-16","octicons/flame-24.svg":"octicons-flame-24","octicons/fold-16.svg":"octicons-fold-16","octicons/fold-24.svg":"octicons-fold-24","octicons/fold-down-16.svg":"octicons-fold-down-16","octicons/fold-down-24.svg":"octicons-fold-down-24","octicons/fold-up-16.svg":"octicons-fold-up-16","octicons/fold-up-24.svg":"octicons-fold-up-24","octicons/gear-16.svg":"octicons-gear-16","octicons/gear-24.svg":"octicons-gear-24","octicons/gift-16.svg":"octicons-gift-16","octicons/gift-24.svg":"octicons-gift-24","octicons/git-branch-16.svg":"octicons-git-branch-16","octicons/git-branch-24.svg":"octicons-git-branch-24","octicons/git-commit-16.svg":"octicons-git-commit-16","octicons/git-commit-24.svg":"octicons-git-commit-24","octicons/git-compare-16.svg":"octicons-git-compare-16","octicons/git-compare-24.svg":"octicons-git-compare-24","octicons/git-fork-24.svg":"octicons-git-fork-24","octicons/git-merge-16.svg":"octicons-git-merge-16","octicons/git-merge-24.svg":"octicons-git-merge-24","octicons/git-pull-request-16.svg":"octicons-git-pull-request-16","octicons/git-pull-request-24.svg":"octicons-git-pull-request-24","octicons/globe-16.svg":"octicons-globe-16","octicons/globe-24.svg":"octicons-globe-24","octicons/grabber-16.svg":"octicons-grabber-16","octicons/grabber-24.svg":"octicons-grabber-24","octicons/graph-16.svg":"octicons-graph-16","octicons/graph-24.svg":"octicons-graph-24","octicons/heading-16.svg":"octicons-heading-16","octicons/heading-24.svg":"octicons-heading-24","octicons/heart-16.svg":"octicons-heart-16","octicons/heart-24.svg":"octicons-heart-24","octicons/heart-fill-16.svg":"octicons-heart-fill-16","octicons/heart-fill-24.svg":"octicons-heart-fill-24","octicons/history-16.svg":"octicons-history-16","octicons/history-24.svg":"octicons-history-24","octicons/home-16.svg":"octicons-home-16","octicons/home-24.svg":"octicons-home-24","octicons/home-fill-24.svg":"octicons-home-fill-24","octicons/horizontal-rule-16.svg":"octicons-horizontal-rule-16","octicons/horizontal-rule-24.svg":"octicons-horizontal-rule-24","octicons/hourglass-16.svg":"octicons-hourglass-16","octicons/hourglass-24.svg":"octicons-hourglass-24","octicons/hubot-16.svg":"octicons-hubot-16","octicons/hubot-24.svg":"octicons-hubot-24","octicons/image-16.svg":"octicons-image-16","octicons/image-24.svg":"octicons-image-24","octicons/inbox-16.svg":"octicons-inbox-16","octicons/inbox-24.svg":"octicons-inbox-24","octicons/infinity-16.svg":"octicons-infinity-16","octicons/infinity-24.svg":"octicons-infinity-24","octicons/info-16.svg":"octicons-info-16","octicons/info-24.svg":"octicons-info-24","octicons/insights-24.svg":"octicons-insights-24","octicons/issue-closed-16.svg":"octicons-issue-closed-16","octicons/issue-closed-24.svg":"octicons-issue-closed-24","octicons/issue-opened-16.svg":"octicons-issue-opened-16","octicons/issue-opened-24.svg":"octicons-issue-opened-24","octicons/issue-reopened-16.svg":"octicons-issue-reopened-16","octicons/issue-reopened-24.svg":"octicons-issue-reopened-24","octicons/italic-16.svg":"octicons-italic-16","octicons/italic-24.svg":"octicons-italic-24","octicons/kebab-horizontal-16.svg":"octicons-kebab-horizontal-16","octicons/kebab-horizontal-24.svg":"octicons-kebab-horizontal-24","octicons/key-16.svg":"octicons-key-16","octicons/key-24.svg":"octicons-key-24","octicons/law-16.svg":"octicons-law-16","octicons/law-24.svg":"octicons-law-24","octicons/light-bulb-16.svg":"octicons-light-bulb-16","octicons/light-bulb-24.svg":"octicons-light-bulb-24","octicons/link-16.svg":"octicons-link-16","octicons/link-24.svg":"octicons-link-24","octicons/link-external-16.svg":"octicons-link-external-16","octicons/link-external-24.svg":"octicons-link-external-24","octicons/list-ordered-16.svg":"octicons-list-ordered-16","octicons/list-ordered-24.svg":"octicons-list-ordered-24","octicons/list-unordered-16.svg":"octicons-list-unordered-16","octicons/list-unordered-24.svg":"octicons-list-unordered-24","octicons/location-16.svg":"octicons-location-16","octicons/location-24.svg":"octicons-location-24","octicons/lock-16.svg":"octicons-lock-16","octicons/lock-24.svg":"octicons-lock-24","octicons/logo-gist-16.svg":"octicons-logo-gist-16","octicons/logo-github-16.svg":"octicons-logo-github-16","octicons/mail-16.svg":"octicons-mail-16","octicons/mail-24.svg":"octicons-mail-24","octicons/mark-github-16.svg":"octicons-mark-github-16","octicons/markdown-16.svg":"octicons-markdown-16","octicons/megaphone-16.svg":"octicons-megaphone-16","octicons/megaphone-24.svg":"octicons-megaphone-24","octicons/mention-16.svg":"octicons-mention-16","octicons/mention-24.svg":"octicons-mention-24","octicons/meter-16.svg":"octicons-meter-16","octicons/milestone-16.svg":"octicons-milestone-16","octicons/milestone-24.svg":"octicons-milestone-24","octicons/mirror-16.svg":"octicons-mirror-16","octicons/mirror-24.svg":"octicons-mirror-24","octicons/moon-16.svg":"octicons-moon-16","octicons/moon-24.svg":"octicons-moon-24","octicons/mortar-board-16.svg":"octicons-mortar-board-16","octicons/mortar-board-24.svg":"octicons-mortar-board-24","octicons/multi-select-16.svg":"octicons-multi-select-16","octicons/multi-select-24.svg":"octicons-multi-select-24","octicons/mute-16.svg":"octicons-mute-16","octicons/mute-24.svg":"octicons-mute-24","octicons/no-entry-16.svg":"octicons-no-entry-16","octicons/no-entry-24.svg":"octicons-no-entry-24","octicons/north-star-16.svg":"octicons-north-star-16","octicons/north-star-24.svg":"octicons-north-star-24","octicons/note-16.svg":"octicons-note-16","octicons/note-24.svg":"octicons-note-24","octicons/number-16.svg":"octicons-number-16","octicons/number-24.svg":"octicons-number-24","octicons/octoface-16.svg":"octicons-octoface-16","octicons/octoface-24.svg":"octicons-octoface-24","octicons/organization-16.svg":"octicons-organization-16","octicons/organization-24.svg":"octicons-organization-24","octicons/package-16.svg":"octicons-package-16","octicons/package-24.svg":"octicons-package-24","octicons/package-dependencies-16.svg":"octicons-package-dependencies-16","octicons/package-dependencies-24.svg":"octicons-package-dependencies-24","octicons/package-dependents-16.svg":"octicons-package-dependents-16","octicons/package-dependents-24.svg":"octicons-package-dependents-24","octicons/paintbrush-16.svg":"octicons-paintbrush-16","octicons/paper-airplane-16.svg":"octicons-paper-airplane-16","octicons/paper-airplane-24.svg":"octicons-paper-airplane-24","octicons/pencil-16.svg":"octicons-pencil-16","octicons/pencil-24.svg":"octicons-pencil-24","octicons/people-16.svg":"octicons-people-16","octicons/people-24.svg":"octicons-people-24","octicons/person-16.svg":"octicons-person-16","octicons/person-24.svg":"octicons-person-24","octicons/pin-16.svg":"octicons-pin-16","octicons/pin-24.svg":"octicons-pin-24","octicons/play-16.svg":"octicons-play-16","octicons/play-24.svg":"octicons-play-24","octicons/plug-16.svg":"octicons-plug-16","octicons/plug-24.svg":"octicons-plug-24","octicons/plus-16.svg":"octicons-plus-16","octicons/plus-24.svg":"octicons-plus-24","octicons/plus-circle-16.svg":"octicons-plus-circle-16","octicons/plus-circle-24.svg":"octicons-plus-circle-24","octicons/project-16.svg":"octicons-project-16","octicons/project-24.svg":"octicons-project-24","octicons/pulse-16.svg":"octicons-pulse-16","octicons/pulse-24.svg":"octicons-pulse-24","octicons/question-16.svg":"octicons-question-16","octicons/question-24.svg":"octicons-question-24","octicons/quote-16.svg":"octicons-quote-16","octicons/quote-24.svg":"octicons-quote-24","octicons/reply-16.svg":"octicons-reply-16","octicons/reply-24.svg":"octicons-reply-24","octicons/repo-16.svg":"octicons-repo-16","octicons/repo-24.svg":"octicons-repo-24","octicons/repo-clone-16.svg":"octicons-repo-clone-16","octicons/repo-forked-16.svg":"octicons-repo-forked-16","octicons/repo-pull-16.svg":"octicons-repo-pull-16","octicons/repo-push-16.svg":"octicons-repo-push-16","octicons/repo-push-24.svg":"octicons-repo-push-24","octicons/repo-template-16.svg":"octicons-repo-template-16","octicons/repo-template-24.svg":"octicons-repo-template-24","octicons/report-16.svg":"octicons-report-16","octicons/report-24.svg":"octicons-report-24","octicons/rocket-16.svg":"octicons-rocket-16","octicons/rocket-24.svg":"octicons-rocket-24","octicons/rss-16.svg":"octicons-rss-16","octicons/rss-24.svg":"octicons-rss-24","octicons/ruby-16.svg":"octicons-ruby-16","octicons/ruby-24.svg":"octicons-ruby-24","octicons/screen-full-16.svg":"octicons-screen-full-16","octicons/screen-full-24.svg":"octicons-screen-full-24","octicons/screen-normal-16.svg":"octicons-screen-normal-16","octicons/screen-normal-24.svg":"octicons-screen-normal-24","octicons/search-16.svg":"octicons-search-16","octicons/search-24.svg":"octicons-search-24","octicons/server-16.svg":"octicons-server-16","octicons/server-24.svg":"octicons-server-24","octicons/share-16.svg":"octicons-share-16","octicons/share-24.svg":"octicons-share-24","octicons/share-android-16.svg":"octicons-share-android-16","octicons/share-android-24.svg":"octicons-share-android-24","octicons/shield-16.svg":"octicons-shield-16","octicons/shield-24.svg":"octicons-shield-24","octicons/shield-check-16.svg":"octicons-shield-check-16","octicons/shield-check-24.svg":"octicons-shield-check-24","octicons/shield-lock-16.svg":"octicons-shield-lock-16","octicons/shield-lock-24.svg":"octicons-shield-lock-24","octicons/shield-x-16.svg":"octicons-shield-x-16","octicons/shield-x-24.svg":"octicons-shield-x-24","octicons/sign-in-16.svg":"octicons-sign-in-16","octicons/sign-in-24.svg":"octicons-sign-in-24","octicons/sign-out-16.svg":"octicons-sign-out-16","octicons/sign-out-24.svg":"octicons-sign-out-24","octicons/skip-16.svg":"octicons-skip-16","octicons/skip-24.svg":"octicons-skip-24","octicons/smiley-16.svg":"octicons-smiley-16","octicons/smiley-24.svg":"octicons-smiley-24","octicons/square-16.svg":"octicons-square-16","octicons/square-24.svg":"octicons-square-24","octicons/square-fill-16.svg":"octicons-square-fill-16","octicons/square-fill-24.svg":"octicons-square-fill-24","octicons/squirrel-16.svg":"octicons-squirrel-16","octicons/squirrel-24.svg":"octicons-squirrel-24","octicons/star-16.svg":"octicons-star-16","octicons/star-24.svg":"octicons-star-24","octicons/star-fill-16.svg":"octicons-star-fill-16","octicons/star-fill-24.svg":"octicons-star-fill-24","octicons/stop-16.svg":"octicons-stop-16","octicons/stop-24.svg":"octicons-stop-24","octicons/stopwatch-16.svg":"octicons-stopwatch-16","octicons/stopwatch-24.svg":"octicons-stopwatch-24","octicons/strikethrough-16.svg":"octicons-strikethrough-16","octicons/strikethrough-24.svg":"octicons-strikethrough-24","octicons/sun-16.svg":"octicons-sun-16","octicons/sun-24.svg":"octicons-sun-24","octicons/sync-16.svg":"octicons-sync-16","octicons/sync-24.svg":"octicons-sync-24","octicons/tab-24.svg":"octicons-tab-24","octicons/tag-16.svg":"octicons-tag-16","octicons/tag-24.svg":"octicons-tag-24","octicons/tasklist-16.svg":"octicons-tasklist-16","octicons/tasklist-24.svg":"octicons-tasklist-24","octicons/telescope-16.svg":"octicons-telescope-16","octicons/telescope-24.svg":"octicons-telescope-24","octicons/terminal-16.svg":"octicons-terminal-16","octicons/terminal-24.svg":"octicons-terminal-24","octicons/three-bars-16.svg":"octicons-three-bars-16","octicons/thumbsdown-16.svg":"octicons-thumbsdown-16","octicons/thumbsdown-24.svg":"octicons-thumbsdown-24","octicons/thumbsup-16.svg":"octicons-thumbsup-16","octicons/thumbsup-24.svg":"octicons-thumbsup-24","octicons/tools-16.svg":"octicons-tools-16","octicons/tools-24.svg":"octicons-tools-24","octicons/trash-16.svg":"octicons-trash-16","octicons/trash-24.svg":"octicons-trash-24","octicons/triangle-down-16.svg":"octicons-triangle-down-16","octicons/triangle-down-24.svg":"octicons-triangle-down-24","octicons/triangle-left-16.svg":"octicons-triangle-left-16","octicons/triangle-left-24.svg":"octicons-triangle-left-24","octicons/triangle-right-16.svg":"octicons-triangle-right-16","octicons/triangle-right-24.svg":"octicons-triangle-right-24","octicons/triangle-up-16.svg":"octicons-triangle-up-16","octicons/triangle-up-24.svg":"octicons-triangle-up-24","octicons/typography-16.svg":"octicons-typography-16","octicons/typography-24.svg":"octicons-typography-24","octicons/unfold-16.svg":"octicons-unfold-16","octicons/unfold-24.svg":"octicons-unfold-24","octicons/unlock-16.svg":"octicons-unlock-16","octicons/unlock-24.svg":"octicons-unlock-24","octicons/unmute-16.svg":"octicons-unmute-16","octicons/unmute-24.svg":"octicons-unmute-24","octicons/unverified-16.svg":"octicons-unverified-16","octicons/unverified-24.svg":"octicons-unverified-24","octicons/upload-16.svg":"octicons-upload-16","octicons/upload-24.svg":"octicons-upload-24","octicons/verified-16.svg":"octicons-verified-16","octicons/verified-24.svg":"octicons-verified-24","octicons/versions-16.svg":"octicons-versions-16","octicons/versions-24.svg":"octicons-versions-24","octicons/video-16.svg":"octicons-video-16","octicons/video-24.svg":"octicons-video-24","octicons/workflow-16.svg":"octicons-workflow-16","octicons/workflow-24.svg":"octicons-workflow-24","octicons/x-16.svg":"octicons-x-16","octicons/x-24.svg":"octicons-x-24","octicons/x-circle-16.svg":"octicons-x-circle-16","octicons/x-circle-24.svg":"octicons-x-circle-24","octicons/x-circle-fill-16.svg":"octicons-x-circle-fill-16","octicons/x-circle-fill-24.svg":"octicons-x-circle-fill-24","octicons/zap-16.svg":"octicons-zap-16","octicons/zap-24.svg":"octicons-zap-24"}},"emojis":{"base":"https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/","data":{"100":"1f4af.svg","1234":"1f522.svg","8ball":"1f3b1.svg","a":"1f170.svg","ab":"1f18e.svg","abacus":"1f9ee.svg","abc":"1f524.svg","abcd":"1f521.svg","accept":"1f251.svg","adhesive_bandage":"1fa79.svg","adult":"1f9d1.svg","adult_tone1":"1f9d1-1f3fb.svg","adult_tone2":"1f9d1-1f3fc.svg","adult_tone3":"1f9d1-1f3fd.svg","adult_tone4":"1f9d1-1f3fe.svg","adult_tone5":"1f9d1-1f3ff.svg","aerial_tramway":"1f6a1.svg","airplane":"2708.svg","airplane_arriving":"1f6ec.svg","airplane_departure":"1f6eb.svg","airplane_small":"1f6e9.svg","alarm_clock":"23f0.svg","alembic":"2697.svg","alien":"1f47d.svg","ambulance":"1f691.svg","amphora":"1f3fa.svg","anchor":"2693.svg","angel":"1f47c.svg","angel_tone1":"1f47c-1f3fb.svg","angel_tone2":"1f47c-1f3fc.svg","angel_tone3":"1f47c-1f3fd.svg","angel_tone4":"1f47c-1f3fe.svg","angel_tone5":"1f47c-1f3ff.svg","anger":"1f4a2.svg","anger_right":"1f5ef.svg","angry":"1f620.svg","anguished":"1f627.svg","ant":"1f41c.svg","apple":"1f34e.svg","aquarius":"2652.svg","aries":"2648.svg","arrow_backward":"25c0.svg","arrow_double_down":"23ec.svg","arrow_double_up":"23eb.svg","arrow_down":"2b07.svg","arrow_down_small":"1f53d.svg","arrow_forward":"25b6.svg","arrow_heading_down":"2935.svg","arrow_heading_up":"2934.svg","arrow_left":"2b05.svg","arrow_lower_left":"2199.svg","arrow_lower_right":"2198.svg","arrow_right":"27a1.svg","arrow_right_hook":"21aa.svg","arrow_up":"2b06.svg","arrow_up_down":"2195.svg","arrow_up_small":"1f53c.svg","arrow_upper_left":"2196.svg","arrow_upper_right":"2197.svg","arrows_clockwise":"1f503.svg","arrows_counterclockwise":"1f504.svg","art":"1f3a8.svg","articulated_lorry":"1f69b.svg","artist":"1f9d1-200d-1f3a8.svg","artist_tone1":"1f9d1-1f3fb-200d-1f3a8.svg","artist_tone2":"1f9d1-1f3fc-200d-1f3a8.svg","artist_tone3":"1f9d1-1f3fd-200d-1f3a8.svg","artist_tone4":"1f9d1-1f3fe-200d-1f3a8.svg","artist_tone5":"1f9d1-1f3ff-200d-1f3a8.svg","asterisk":"2a-20e3.svg","astonished":"1f632.svg","astronaut":"1f9d1-200d-1f680.svg","astronaut_tone1":"1f9d1-1f3fb-200d-1f680.svg","astronaut_tone2":"1f9d1-1f3fc-200d-1f680.svg","astronaut_tone3":"1f9d1-1f3fd-200d-1f680.svg","astronaut_tone4":"1f9d1-1f3fe-200d-1f680.svg","astronaut_tone5":"1f9d1-1f3ff-200d-1f680.svg","athletic_shoe":"1f45f.svg","atm":"1f3e7.svg","atom":"269b.svg","auto_rickshaw":"1f6fa.svg","avocado":"1f951.svg","axe":"1fa93.svg","b":"1f171.svg","baby":"1f476.svg","baby_bottle":"1f37c.svg","baby_chick":"1f424.svg","baby_symbol":"1f6bc.svg","baby_tone1":"1f476-1f3fb.svg","baby_tone2":"1f476-1f3fc.svg","baby_tone3":"1f476-1f3fd.svg","baby_tone4":"1f476-1f3fe.svg","baby_tone5":"1f476-1f3ff.svg","back":"1f519.svg","bacon":"1f953.svg","badger":"1f9a1.svg","badminton":"1f3f8.svg","bagel":"1f96f.svg","baggage_claim":"1f6c4.svg","bald":"1f9b2.svg","ballet_shoes":"1fa70.svg","balloon":"1f388.svg","ballot_box":"1f5f3.svg","ballot_box_with_check":"2611.svg","bamboo":"1f38d.svg","banana":"1f34c.svg","bangbang":"203c.svg","banjo":"1fa95.svg","bank":"1f3e6.svg","bar_chart":"1f4ca.svg","barber":"1f488.svg","baseball":"26be.svg","basket":"1f9fa.svg","basketball":"1f3c0.svg","bat":"1f987.svg","bath":"1f6c0.svg","bath_tone1":"1f6c0-1f3fb.svg","bath_tone2":"1f6c0-1f3fc.svg","bath_tone3":"1f6c0-1f3fd.svg","bath_tone4":"1f6c0-1f3fe.svg","bath_tone5":"1f6c0-1f3ff.svg","bathtub":"1f6c1.svg","battery":"1f50b.svg","beach":"1f3d6.svg","beach_umbrella":"26f1.svg","bear":"1f43b.svg","bearded_person":"1f9d4.svg","bearded_person_tone1":"1f9d4-1f3fb.svg","bearded_person_tone2":"1f9d4-1f3fc.svg","bearded_person_tone3":"1f9d4-1f3fd.svg","bearded_person_tone4":"1f9d4-1f3fe.svg","bearded_person_tone5":"1f9d4-1f3ff.svg","bed":"1f6cf.svg","bee":"1f41d.svg","beer":"1f37a.svg","beers":"1f37b.svg","beetle":"1f41e.svg","beginner":"1f530.svg","bell":"1f514.svg","bellhop":"1f6ce.svg","bento":"1f371.svg","beverage_box":"1f9c3.svg","bike":"1f6b2.svg","bikini":"1f459.svg","billed_cap":"1f9e2.svg","biohazard":"2623.svg","bird":"1f426.svg","birthday":"1f382.svg","black_circle":"26ab.svg","black_heart":"1f5a4.svg","black_joker":"1f0cf.svg","black_large_square":"2b1b.svg","black_medium_small_square":"25fe.svg","black_medium_square":"25fc.svg","black_nib":"2712.svg","black_small_square":"25aa.svg","black_square_button":"1f532.svg","blond-haired_man":"1f471-200d-2642-fe0f.svg","blond-haired_man_tone1":"1f471-1f3fb-200d-2642-fe0f.svg","blond-haired_man_tone2":"1f471-1f3fc-200d-2642-fe0f.svg","blond-haired_man_tone3":"1f471-1f3fd-200d-2642-fe0f.svg","blond-haired_man_tone4":"1f471-1f3fe-200d-2642-fe0f.svg","blond-haired_man_tone5":"1f471-1f3ff-200d-2642-fe0f.svg","blond-haired_woman":"1f471-200d-2640-fe0f.svg","blond-haired_woman_tone1":"1f471-1f3fb-200d-2640-fe0f.svg","blond-haired_woman_tone2":"1f471-1f3fc-200d-2640-fe0f.svg","blond-haired_woman_tone3":"1f471-1f3fd-200d-2640-fe0f.svg","blond-haired_woman_tone4":"1f471-1f3fe-200d-2640-fe0f.svg","blond-haired_woman_tone5":"1f471-1f3ff-200d-2640-fe0f.svg","blond_haired_person":"1f471.svg","blond_haired_person_tone1":"1f471-1f3fb.svg","blond_haired_person_tone2":"1f471-1f3fc.svg","blond_haired_person_tone3":"1f471-1f3fd.svg","blond_haired_person_tone4":"1f471-1f3fe.svg","blond_haired_person_tone5":"1f471-1f3ff.svg","blossom":"1f33c.svg","blowfish":"1f421.svg","blue_book":"1f4d8.svg","blue_car":"1f699.svg","blue_circle":"1f535.svg","blue_heart":"1f499.svg","blue_square":"1f7e6.svg","blush":"1f60a.svg","boar":"1f417.svg","bomb":"1f4a3.svg","bone":"1f9b4.svg","book":"1f4d6.svg","bookmark":"1f516.svg","bookmark_tabs":"1f4d1.svg","books":"1f4da.svg","boom":"1f4a5.svg","boot":"1f462.svg","bouquet":"1f490.svg","bow_and_arrow":"1f3f9.svg","bowl_with_spoon":"1f963.svg","bowling":"1f3b3.svg","boxing_glove":"1f94a.svg","boy":"1f466.svg","boy_tone1":"1f466-1f3fb.svg","boy_tone2":"1f466-1f3fc.svg","boy_tone3":"1f466-1f3fd.svg","boy_tone4":"1f466-1f3fe.svg","boy_tone5":"1f466-1f3ff.svg","brain":"1f9e0.svg","bread":"1f35e.svg","breast_feeding":"1f931.svg","breast_feeding_tone1":"1f931-1f3fb.svg","breast_feeding_tone2":"1f931-1f3fc.svg","breast_feeding_tone3":"1f931-1f3fd.svg","breast_feeding_tone4":"1f931-1f3fe.svg","breast_feeding_tone5":"1f931-1f3ff.svg","bricks":"1f9f1.svg","bride_with_veil":"1f470.svg","bride_with_veil_tone1":"1f470-1f3fb.svg","bride_with_veil_tone2":"1f470-1f3fc.svg","bride_with_veil_tone3":"1f470-1f3fd.svg","bride_with_veil_tone4":"1f470-1f3fe.svg","bride_with_veil_tone5":"1f470-1f3ff.svg","bridge_at_night":"1f309.svg","briefcase":"1f4bc.svg","briefs":"1fa72.svg","broccoli":"1f966.svg","broken_heart":"1f494.svg","broom":"1f9f9.svg","brown_circle":"1f7e4.svg","brown_heart":"1f90e.svg","brown_square":"1f7eb.svg","bug":"1f41b.svg","bulb":"1f4a1.svg","bullettrain_front":"1f685.svg","bullettrain_side":"1f684.svg","burrito":"1f32f.svg","bus":"1f68c.svg","busstop":"1f68f.svg","bust_in_silhouette":"1f464.svg","busts_in_silhouette":"1f465.svg","butter":"1f9c8.svg","butterfly":"1f98b.svg","cactus":"1f335.svg","cake":"1f370.svg","calendar":"1f4c6.svg","calendar_spiral":"1f5d3.svg","call_me":"1f919.svg","call_me_tone1":"1f919-1f3fb.svg","call_me_tone2":"1f919-1f3fc.svg","call_me_tone3":"1f919-1f3fd.svg","call_me_tone4":"1f919-1f3fe.svg","call_me_tone5":"1f919-1f3ff.svg","calling":"1f4f2.svg","camel":"1f42b.svg","camera":"1f4f7.svg","camera_with_flash":"1f4f8.svg","camping":"1f3d5.svg","cancer":"264b.svg","candle":"1f56f.svg","candy":"1f36c.svg","canned_food":"1f96b.svg","canoe":"1f6f6.svg","capital_abcd":"1f520.svg","capricorn":"2651.svg","card_box":"1f5c3.svg","card_index":"1f4c7.svg","carousel_horse":"1f3a0.svg","carrot":"1f955.svg","cat2":"1f408.svg","cat":"1f431.svg","cd":"1f4bf.svg","chains":"26d3.svg","chair":"1fa91.svg","champagne":"1f37e.svg","champagne_glass":"1f942.svg","chart":"1f4b9.svg","chart_with_downwards_trend":"1f4c9.svg","chart_with_upwards_trend":"1f4c8.svg","checkered_flag":"1f3c1.svg","cheese":"1f9c0.svg","cherries":"1f352.svg","cherry_blossom":"1f338.svg","chess_pawn":"265f.svg","chestnut":"1f330.svg","chicken":"1f414.svg","child":"1f9d2.svg","child_tone1":"1f9d2-1f3fb.svg","child_tone2":"1f9d2-1f3fc.svg","child_tone3":"1f9d2-1f3fd.svg","child_tone4":"1f9d2-1f3fe.svg","child_tone5":"1f9d2-1f3ff.svg","children_crossing":"1f6b8.svg","chipmunk":"1f43f.svg","chocolate_bar":"1f36b.svg","chopsticks":"1f962.svg","christmas_tree":"1f384.svg","church":"26ea.svg","cinema":"1f3a6.svg","circus_tent":"1f3aa.svg","city_dusk":"1f306.svg","city_sunset":"1f307.svg","cityscape":"1f3d9.svg","cl":"1f191.svg","clap":"1f44f.svg","clap_tone1":"1f44f-1f3fb.svg","clap_tone2":"1f44f-1f3fc.svg","clap_tone3":"1f44f-1f3fd.svg","clap_tone4":"1f44f-1f3fe.svg","clap_tone5":"1f44f-1f3ff.svg","clapper":"1f3ac.svg","classical_building":"1f3db.svg","clipboard":"1f4cb.svg","clock1030":"1f565.svg","clock10":"1f559.svg","clock1130":"1f566.svg","clock11":"1f55a.svg","clock1230":"1f567.svg","clock12":"1f55b.svg","clock130":"1f55c.svg","clock1":"1f550.svg","clock230":"1f55d.svg","clock2":"1f551.svg","clock330":"1f55e.svg","clock3":"1f552.svg","clock430":"1f55f.svg","clock4":"1f553.svg","clock530":"1f560.svg","clock5":"1f554.svg","clock630":"1f561.svg","clock6":"1f555.svg","clock730":"1f562.svg","clock7":"1f556.svg","clock830":"1f563.svg","clock8":"1f557.svg","clock930":"1f564.svg","clock9":"1f558.svg","clock":"1f570.svg","closed_book":"1f4d5.svg","closed_lock_with_key":"1f510.svg","closed_umbrella":"1f302.svg","cloud":"2601.svg","cloud_lightning":"1f329.svg","cloud_rain":"1f327.svg","cloud_snow":"1f328.svg","cloud_tornado":"1f32a.svg","clown":"1f921.svg","clubs":"2663.svg","coat":"1f9e5.svg","cocktail":"1f378.svg","coconut":"1f965.svg","coffee":"2615.svg","coffin":"26b0.svg","cold_face":"1f976.svg","cold_sweat":"1f630.svg","comet":"2604.svg","compass":"1f9ed.svg","compression":"1f5dc.svg","computer":"1f4bb.svg","confetti_ball":"1f38a.svg","confounded":"1f616.svg","confused":"1f615.svg","congratulations":"3297.svg","construction":"1f6a7.svg","construction_site":"1f3d7.svg","construction_worker":"1f477.svg","construction_worker_tone1":"1f477-1f3fb.svg","construction_worker_tone2":"1f477-1f3fc.svg","construction_worker_tone3":"1f477-1f3fd.svg","construction_worker_tone4":"1f477-1f3fe.svg","construction_worker_tone5":"1f477-1f3ff.svg","control_knobs":"1f39b.svg","convenience_store":"1f3ea.svg","cook":"1f9d1-200d-1f373.svg","cook_tone1":"1f9d1-1f3fb-200d-1f373.svg","cook_tone2":"1f9d1-1f3fc-200d-1f373.svg","cook_tone3":"1f9d1-1f3fd-200d-1f373.svg","cook_tone4":"1f9d1-1f3fe-200d-1f373.svg","cook_tone5":"1f9d1-1f3ff-200d-1f373.svg","cookie":"1f36a.svg","cooking":"1f373.svg","cool":"1f192.svg","copyright":"a9.svg","corn":"1f33d.svg","couch":"1f6cb.svg","couple":"1f46b.svg","couple_mm":"1f468-200d-2764-fe0f-200d-1f468.svg","couple_with_heart":"1f491.svg","couple_with_heart_woman_man":"1f469-200d-2764-fe0f-200d-1f468.svg","couple_ww":"1f469-200d-2764-fe0f-200d-1f469.svg","couplekiss":"1f48f.svg","cow2":"1f404.svg","cow":"1f42e.svg","cowboy":"1f920.svg","crab":"1f980.svg","crayon":"1f58d.svg","credit_card":"1f4b3.svg","crescent_moon":"1f319.svg","cricket":"1f997.svg","cricket_game":"1f3cf.svg","crocodile":"1f40a.svg","croissant":"1f950.svg","cross":"271d.svg","crossed_flags":"1f38c.svg","crossed_swords":"2694.svg","crown":"1f451.svg","cruise_ship":"1f6f3.svg","cry":"1f622.svg","crying_cat_face":"1f63f.svg","crystal_ball":"1f52e.svg","cucumber":"1f952.svg","cup_with_straw":"1f964.svg","cupcake":"1f9c1.svg","cupid":"1f498.svg","curling_stone":"1f94c.svg","curly_haired":"1f9b1.svg","curly_loop":"27b0.svg","currency_exchange":"1f4b1.svg","curry":"1f35b.svg","custard":"1f36e.svg","customs":"1f6c3.svg","cut_of_meat":"1f969.svg","cyclone":"1f300.svg","dagger":"1f5e1.svg","dancer":"1f483.svg","dancer_tone1":"1f483-1f3fb.svg","dancer_tone2":"1f483-1f3fc.svg","dancer_tone3":"1f483-1f3fd.svg","dancer_tone4":"1f483-1f3fe.svg","dancer_tone5":"1f483-1f3ff.svg","dango":"1f361.svg","dark_sunglasses":"1f576.svg","dart":"1f3af.svg","dash":"1f4a8.svg","date":"1f4c5.svg","deaf_man":"1f9cf-200d-2642-fe0f.svg","deaf_man_tone1":"1f9cf-1f3fb-200d-2642-fe0f.svg","deaf_man_tone2":"1f9cf-1f3fc-200d-2642-fe0f.svg","deaf_man_tone3":"1f9cf-1f3fd-200d-2642-fe0f.svg","deaf_man_tone4":"1f9cf-1f3fe-200d-2642-fe0f.svg","deaf_man_tone5":"1f9cf-1f3ff-200d-2642-fe0f.svg","deaf_person":"1f9cf.svg","deaf_person_tone1":"1f9cf-1f3fb.svg","deaf_person_tone2":"1f9cf-1f3fc.svg","deaf_person_tone3":"1f9cf-1f3fd.svg","deaf_person_tone4":"1f9cf-1f3fe.svg","deaf_person_tone5":"1f9cf-1f3ff.svg","deaf_woman":"1f9cf-200d-2640-fe0f.svg","deaf_woman_tone1":"1f9cf-1f3fb-200d-2640-fe0f.svg","deaf_woman_tone2":"1f9cf-1f3fc-200d-2640-fe0f.svg","deaf_woman_tone3":"1f9cf-1f3fd-200d-2640-fe0f.svg","deaf_woman_tone4":"1f9cf-1f3fe-200d-2640-fe0f.svg","deaf_woman_tone5":"1f9cf-1f3ff-200d-2640-fe0f.svg","deciduous_tree":"1f333.svg","deer":"1f98c.svg","department_store":"1f3ec.svg","desert":"1f3dc.svg","desktop":"1f5a5.svg","detective":"1f575.svg","detective_tone1":"1f575-1f3fb.svg","detective_tone2":"1f575-1f3fc.svg","detective_tone3":"1f575-1f3fd.svg","detective_tone4":"1f575-1f3fe.svg","detective_tone5":"1f575-1f3ff.svg","diamond_shape_with_a_dot_inside":"1f4a0.svg","diamonds":"2666.svg","disappointed":"1f61e.svg","disappointed_relieved":"1f625.svg","dividers":"1f5c2.svg","diving_mask":"1f93f.svg","diya_lamp":"1fa94.svg","dizzy":"1f4ab.svg","dizzy_face":"1f635.svg","dna":"1f9ec.svg","do_not_litter":"1f6af.svg","dog2":"1f415.svg","dog":"1f436.svg","dollar":"1f4b5.svg","dolls":"1f38e.svg","dolphin":"1f42c.svg","door":"1f6aa.svg","doughnut":"1f369.svg","dove":"1f54a.svg","dragon":"1f409.svg","dragon_face":"1f432.svg","dress":"1f457.svg","dromedary_camel":"1f42a.svg","drooling_face":"1f924.svg","drop_of_blood":"1fa78.svg","droplet":"1f4a7.svg","drum":"1f941.svg","duck":"1f986.svg","dumpling":"1f95f.svg","dvd":"1f4c0.svg","e-mail":"1f4e7.svg","eagle":"1f985.svg","ear":"1f442.svg","ear_of_rice":"1f33e.svg","ear_tone1":"1f442-1f3fb.svg","ear_tone2":"1f442-1f3fc.svg","ear_tone3":"1f442-1f3fd.svg","ear_tone4":"1f442-1f3fe.svg","ear_tone5":"1f442-1f3ff.svg","ear_with_hearing_aid":"1f9bb.svg","ear_with_hearing_aid_tone1":"1f9bb-1f3fb.svg","ear_with_hearing_aid_tone2":"1f9bb-1f3fc.svg","ear_with_hearing_aid_tone3":"1f9bb-1f3fd.svg","ear_with_hearing_aid_tone4":"1f9bb-1f3fe.svg","ear_with_hearing_aid_tone5":"1f9bb-1f3ff.svg","earth_africa":"1f30d.svg","earth_americas":"1f30e.svg","earth_asia":"1f30f.svg","egg":"1f95a.svg","eggplant":"1f346.svg","eight":"38-20e3.svg","eight_pointed_black_star":"2734.svg","eight_spoked_asterisk":"2733.svg","eject":"23cf.svg","electric_plug":"1f50c.svg","elephant":"1f418.svg","elf":"1f9dd.svg","elf_tone1":"1f9dd-1f3fb.svg","elf_tone2":"1f9dd-1f3fc.svg","elf_tone3":"1f9dd-1f3fd.svg","elf_tone4":"1f9dd-1f3fe.svg","elf_tone5":"1f9dd-1f3ff.svg","end":"1f51a.svg","england":"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg","envelope":"2709.svg","envelope_with_arrow":"1f4e9.svg","euro":"1f4b6.svg","european_castle":"1f3f0.svg","european_post_office":"1f3e4.svg","evergreen_tree":"1f332.svg","exclamation":"2757.svg","exploding_head":"1f92f.svg","expressionless":"1f611.svg","eye":"1f441.svg","eye_in_speech_bubble":"1f441-200d-1f5e8.svg","eyeglasses":"1f453.svg","eyes":"1f440.svg","face_vomiting":"1f92e.svg","face_with_hand_over_mouth":"1f92d.svg","face_with_monocle":"1f9d0.svg","face_with_raised_eyebrow":"1f928.svg","face_with_symbols_over_mouth":"1f92c.svg","factory":"1f3ed.svg","factory_worker":"1f9d1-200d-1f3ed.svg","factory_worker_tone1":"1f9d1-1f3fb-200d-1f3ed.svg","factory_worker_tone2":"1f9d1-1f3fc-200d-1f3ed.svg","factory_worker_tone3":"1f9d1-1f3fd-200d-1f3ed.svg","factory_worker_tone4":"1f9d1-1f3fe-200d-1f3ed.svg","factory_worker_tone5":"1f9d1-1f3ff-200d-1f3ed.svg","fairy":"1f9da.svg","fairy_tone1":"1f9da-1f3fb.svg","fairy_tone2":"1f9da-1f3fc.svg","fairy_tone3":"1f9da-1f3fd.svg","fairy_tone4":"1f9da-1f3fe.svg","fairy_tone5":"1f9da-1f3ff.svg","falafel":"1f9c6.svg","fallen_leaf":"1f342.svg","family":"1f46a.svg","family_man_boy":"1f468-200d-1f466.svg","family_man_boy_boy":"1f468-200d-1f466-200d-1f466.svg","family_man_girl":"1f468-200d-1f467.svg","family_man_girl_boy":"1f468-200d-1f467-200d-1f466.svg","family_man_girl_girl":"1f468-200d-1f467-200d-1f467.svg","family_man_woman_boy":"1f468-200d-1f469-200d-1f466.svg","family_mmb":"1f468-200d-1f468-200d-1f466.svg","family_mmbb":"1f468-200d-1f468-200d-1f466-200d-1f466.svg","family_mmg":"1f468-200d-1f468-200d-1f467.svg","family_mmgb":"1f468-200d-1f468-200d-1f467-200d-1f466.svg","family_mmgg":"1f468-200d-1f468-200d-1f467-200d-1f467.svg","family_mwbb":"1f468-200d-1f469-200d-1f466-200d-1f466.svg","family_mwg":"1f468-200d-1f469-200d-1f467.svg","family_mwgb":"1f468-200d-1f469-200d-1f467-200d-1f466.svg","family_mwgg":"1f468-200d-1f469-200d-1f467-200d-1f467.svg","family_woman_boy":"1f469-200d-1f466.svg","family_woman_boy_boy":"1f469-200d-1f466-200d-1f466.svg","family_woman_girl":"1f469-200d-1f467.svg","family_woman_girl_boy":"1f469-200d-1f467-200d-1f466.svg","family_woman_girl_girl":"1f469-200d-1f467-200d-1f467.svg","family_wwb":"1f469-200d-1f469-200d-1f466.svg","family_wwbb":"1f469-200d-1f469-200d-1f466-200d-1f466.svg","family_wwg":"1f469-200d-1f469-200d-1f467.svg","family_wwgb":"1f469-200d-1f469-200d-1f467-200d-1f466.svg","family_wwgg":"1f469-200d-1f469-200d-1f467-200d-1f467.svg","farmer":"1f9d1-200d-1f33e.svg","farmer_tone1":"1f9d1-1f3fb-200d-1f33e.svg","farmer_tone2":"1f9d1-1f3fc-200d-1f33e.svg","farmer_tone3":"1f9d1-1f3fd-200d-1f33e.svg","farmer_tone4":"1f9d1-1f3fe-200d-1f33e.svg","farmer_tone5":"1f9d1-1f3ff-200d-1f33e.svg","fast_forward":"23e9.svg","fax":"1f4e0.svg","fearful":"1f628.svg","feet":"1f43e.svg","female_sign":"2640.svg","ferris_wheel":"1f3a1.svg","ferry":"26f4.svg","field_hockey":"1f3d1.svg","file_cabinet":"1f5c4.svg","file_folder":"1f4c1.svg","film_frames":"1f39e.svg","fingers_crossed":"1f91e.svg","fingers_crossed_tone1":"1f91e-1f3fb.svg","fingers_crossed_tone2":"1f91e-1f3fc.svg","fingers_crossed_tone3":"1f91e-1f3fd.svg","fingers_crossed_tone4":"1f91e-1f3fe.svg","fingers_crossed_tone5":"1f91e-1f3ff.svg","fire":"1f525.svg","fire_engine":"1f692.svg","fire_extinguisher":"1f9ef.svg","firecracker":"1f9e8.svg","firefighter":"1f9d1-200d-1f692.svg","firefighter_tone1":"1f9d1-1f3fb-200d-1f692.svg","firefighter_tone2":"1f9d1-1f3fc-200d-1f692.svg","firefighter_tone3":"1f9d1-1f3fd-200d-1f692.svg","firefighter_tone4":"1f9d1-1f3fe-200d-1f692.svg","firefighter_tone5":"1f9d1-1f3ff-200d-1f692.svg","fireworks":"1f386.svg","first_place":"1f947.svg","first_quarter_moon":"1f313.svg","first_quarter_moon_with_face":"1f31b.svg","fish":"1f41f.svg","fish_cake":"1f365.svg","fishing_pole_and_fish":"1f3a3.svg","fist":"270a.svg","fist_tone1":"270a-1f3fb.svg","fist_tone2":"270a-1f3fc.svg","fist_tone3":"270a-1f3fd.svg","fist_tone4":"270a-1f3fe.svg","fist_tone5":"270a-1f3ff.svg","five":"35-20e3.svg","flag_ac":"1f1e6-1f1e8.svg","flag_ad":"1f1e6-1f1e9.svg","flag_ae":"1f1e6-1f1ea.svg","flag_af":"1f1e6-1f1eb.svg","flag_ag":"1f1e6-1f1ec.svg","flag_ai":"1f1e6-1f1ee.svg","flag_al":"1f1e6-1f1f1.svg","flag_am":"1f1e6-1f1f2.svg","flag_ao":"1f1e6-1f1f4.svg","flag_aq":"1f1e6-1f1f6.svg","flag_ar":"1f1e6-1f1f7.svg","flag_as":"1f1e6-1f1f8.svg","flag_at":"1f1e6-1f1f9.svg","flag_au":"1f1e6-1f1fa.svg","flag_aw":"1f1e6-1f1fc.svg","flag_ax":"1f1e6-1f1fd.svg","flag_az":"1f1e6-1f1ff.svg","flag_ba":"1f1e7-1f1e6.svg","flag_bb":"1f1e7-1f1e7.svg","flag_bd":"1f1e7-1f1e9.svg","flag_be":"1f1e7-1f1ea.svg","flag_bf":"1f1e7-1f1eb.svg","flag_bg":"1f1e7-1f1ec.svg","flag_bh":"1f1e7-1f1ed.svg","flag_bi":"1f1e7-1f1ee.svg","flag_bj":"1f1e7-1f1ef.svg","flag_bl":"1f1e7-1f1f1.svg","flag_black":"1f3f4.svg","flag_bm":"1f1e7-1f1f2.svg","flag_bn":"1f1e7-1f1f3.svg","flag_bo":"1f1e7-1f1f4.svg","flag_bq":"1f1e7-1f1f6.svg","flag_br":"1f1e7-1f1f7.svg","flag_bs":"1f1e7-1f1f8.svg","flag_bt":"1f1e7-1f1f9.svg","flag_bv":"1f1e7-1f1fb.svg","flag_bw":"1f1e7-1f1fc.svg","flag_by":"1f1e7-1f1fe.svg","flag_bz":"1f1e7-1f1ff.svg","flag_ca":"1f1e8-1f1e6.svg","flag_cc":"1f1e8-1f1e8.svg","flag_cd":"1f1e8-1f1e9.svg","flag_cf":"1f1e8-1f1eb.svg","flag_cg":"1f1e8-1f1ec.svg","flag_ch":"1f1e8-1f1ed.svg","flag_ci":"1f1e8-1f1ee.svg","flag_ck":"1f1e8-1f1f0.svg","flag_cl":"1f1e8-1f1f1.svg","flag_cm":"1f1e8-1f1f2.svg","flag_cn":"1f1e8-1f1f3.svg","flag_co":"1f1e8-1f1f4.svg","flag_cp":"1f1e8-1f1f5.svg","flag_cr":"1f1e8-1f1f7.svg","flag_cu":"1f1e8-1f1fa.svg","flag_cv":"1f1e8-1f1fb.svg","flag_cw":"1f1e8-1f1fc.svg","flag_cx":"1f1e8-1f1fd.svg","flag_cy":"1f1e8-1f1fe.svg","flag_cz":"1f1e8-1f1ff.svg","flag_de":"1f1e9-1f1ea.svg","flag_dg":"1f1e9-1f1ec.svg","flag_dj":"1f1e9-1f1ef.svg","flag_dk":"1f1e9-1f1f0.svg","flag_dm":"1f1e9-1f1f2.svg","flag_do":"1f1e9-1f1f4.svg","flag_dz":"1f1e9-1f1ff.svg","flag_ea":"1f1ea-1f1e6.svg","flag_ec":"1f1ea-1f1e8.svg","flag_ee":"1f1ea-1f1ea.svg","flag_eg":"1f1ea-1f1ec.svg","flag_eh":"1f1ea-1f1ed.svg","flag_er":"1f1ea-1f1f7.svg","flag_es":"1f1ea-1f1f8.svg","flag_et":"1f1ea-1f1f9.svg","flag_eu":"1f1ea-1f1fa.svg","flag_fi":"1f1eb-1f1ee.svg","flag_fj":"1f1eb-1f1ef.svg","flag_fk":"1f1eb-1f1f0.svg","flag_fm":"1f1eb-1f1f2.svg","flag_fo":"1f1eb-1f1f4.svg","flag_fr":"1f1eb-1f1f7.svg","flag_ga":"1f1ec-1f1e6.svg","flag_gb":"1f1ec-1f1e7.svg","flag_gd":"1f1ec-1f1e9.svg","flag_ge":"1f1ec-1f1ea.svg","flag_gf":"1f1ec-1f1eb.svg","flag_gg":"1f1ec-1f1ec.svg","flag_gh":"1f1ec-1f1ed.svg","flag_gi":"1f1ec-1f1ee.svg","flag_gl":"1f1ec-1f1f1.svg","flag_gm":"1f1ec-1f1f2.svg","flag_gn":"1f1ec-1f1f3.svg","flag_gp":"1f1ec-1f1f5.svg","flag_gq":"1f1ec-1f1f6.svg","flag_gr":"1f1ec-1f1f7.svg","flag_gs":"1f1ec-1f1f8.svg","flag_gt":"1f1ec-1f1f9.svg","flag_gu":"1f1ec-1f1fa.svg","flag_gw":"1f1ec-1f1fc.svg","flag_gy":"1f1ec-1f1fe.svg","flag_hk":"1f1ed-1f1f0.svg","flag_hm":"1f1ed-1f1f2.svg","flag_hn":"1f1ed-1f1f3.svg","flag_hr":"1f1ed-1f1f7.svg","flag_ht":"1f1ed-1f1f9.svg","flag_hu":"1f1ed-1f1fa.svg","flag_ic":"1f1ee-1f1e8.svg","flag_id":"1f1ee-1f1e9.svg","flag_ie":"1f1ee-1f1ea.svg","flag_il":"1f1ee-1f1f1.svg","flag_im":"1f1ee-1f1f2.svg","flag_in":"1f1ee-1f1f3.svg","flag_io":"1f1ee-1f1f4.svg","flag_iq":"1f1ee-1f1f6.svg","flag_ir":"1f1ee-1f1f7.svg","flag_is":"1f1ee-1f1f8.svg","flag_it":"1f1ee-1f1f9.svg","flag_je":"1f1ef-1f1ea.svg","flag_jm":"1f1ef-1f1f2.svg","flag_jo":"1f1ef-1f1f4.svg","flag_jp":"1f1ef-1f1f5.svg","flag_ke":"1f1f0-1f1ea.svg","flag_kg":"1f1f0-1f1ec.svg","flag_kh":"1f1f0-1f1ed.svg","flag_ki":"1f1f0-1f1ee.svg","flag_km":"1f1f0-1f1f2.svg","flag_kn":"1f1f0-1f1f3.svg","flag_kp":"1f1f0-1f1f5.svg","flag_kr":"1f1f0-1f1f7.svg","flag_kw":"1f1f0-1f1fc.svg","flag_ky":"1f1f0-1f1fe.svg","flag_kz":"1f1f0-1f1ff.svg","flag_la":"1f1f1-1f1e6.svg","flag_lb":"1f1f1-1f1e7.svg","flag_lc":"1f1f1-1f1e8.svg","flag_li":"1f1f1-1f1ee.svg","flag_lk":"1f1f1-1f1f0.svg","flag_lr":"1f1f1-1f1f7.svg","flag_ls":"1f1f1-1f1f8.svg","flag_lt":"1f1f1-1f1f9.svg","flag_lu":"1f1f1-1f1fa.svg","flag_lv":"1f1f1-1f1fb.svg","flag_ly":"1f1f1-1f1fe.svg","flag_ma":"1f1f2-1f1e6.svg","flag_mc":"1f1f2-1f1e8.svg","flag_md":"1f1f2-1f1e9.svg","flag_me":"1f1f2-1f1ea.svg","flag_mf":"1f1f2-1f1eb.svg","flag_mg":"1f1f2-1f1ec.svg","flag_mh":"1f1f2-1f1ed.svg","flag_mk":"1f1f2-1f1f0.svg","flag_ml":"1f1f2-1f1f1.svg","flag_mm":"1f1f2-1f1f2.svg","flag_mn":"1f1f2-1f1f3.svg","flag_mo":"1f1f2-1f1f4.svg","flag_mp":"1f1f2-1f1f5.svg","flag_mq":"1f1f2-1f1f6.svg","flag_mr":"1f1f2-1f1f7.svg","flag_ms":"1f1f2-1f1f8.svg","flag_mt":"1f1f2-1f1f9.svg","flag_mu":"1f1f2-1f1fa.svg","flag_mv":"1f1f2-1f1fb.svg","flag_mw":"1f1f2-1f1fc.svg","flag_mx":"1f1f2-1f1fd.svg","flag_my":"1f1f2-1f1fe.svg","flag_mz":"1f1f2-1f1ff.svg","flag_na":"1f1f3-1f1e6.svg","flag_nc":"1f1f3-1f1e8.svg","flag_ne":"1f1f3-1f1ea.svg","flag_nf":"1f1f3-1f1eb.svg","flag_ng":"1f1f3-1f1ec.svg","flag_ni":"1f1f3-1f1ee.svg","flag_nl":"1f1f3-1f1f1.svg","flag_no":"1f1f3-1f1f4.svg","flag_np":"1f1f3-1f1f5.svg","flag_nr":"1f1f3-1f1f7.svg","flag_nu":"1f1f3-1f1fa.svg","flag_nz":"1f1f3-1f1ff.svg","flag_om":"1f1f4-1f1f2.svg","flag_pa":"1f1f5-1f1e6.svg","flag_pe":"1f1f5-1f1ea.svg","flag_pf":"1f1f5-1f1eb.svg","flag_pg":"1f1f5-1f1ec.svg","flag_ph":"1f1f5-1f1ed.svg","flag_pk":"1f1f5-1f1f0.svg","flag_pl":"1f1f5-1f1f1.svg","flag_pm":"1f1f5-1f1f2.svg","flag_pn":"1f1f5-1f1f3.svg","flag_pr":"1f1f5-1f1f7.svg","flag_ps":"1f1f5-1f1f8.svg","flag_pt":"1f1f5-1f1f9.svg","flag_pw":"1f1f5-1f1fc.svg","flag_py":"1f1f5-1f1fe.svg","flag_qa":"1f1f6-1f1e6.svg","flag_re":"1f1f7-1f1ea.svg","flag_ro":"1f1f7-1f1f4.svg","flag_rs":"1f1f7-1f1f8.svg","flag_ru":"1f1f7-1f1fa.svg","flag_rw":"1f1f7-1f1fc.svg","flag_sa":"1f1f8-1f1e6.svg","flag_sb":"1f1f8-1f1e7.svg","flag_sc":"1f1f8-1f1e8.svg","flag_sd":"1f1f8-1f1e9.svg","flag_se":"1f1f8-1f1ea.svg","flag_sg":"1f1f8-1f1ec.svg","flag_sh":"1f1f8-1f1ed.svg","flag_si":"1f1f8-1f1ee.svg","flag_sj":"1f1f8-1f1ef.svg","flag_sk":"1f1f8-1f1f0.svg","flag_sl":"1f1f8-1f1f1.svg","flag_sm":"1f1f8-1f1f2.svg","flag_sn":"1f1f8-1f1f3.svg","flag_so":"1f1f8-1f1f4.svg","flag_sr":"1f1f8-1f1f7.svg","flag_ss":"1f1f8-1f1f8.svg","flag_st":"1f1f8-1f1f9.svg","flag_sv":"1f1f8-1f1fb.svg","flag_sx":"1f1f8-1f1fd.svg","flag_sy":"1f1f8-1f1fe.svg","flag_sz":"1f1f8-1f1ff.svg","flag_ta":"1f1f9-1f1e6.svg","flag_tc":"1f1f9-1f1e8.svg","flag_td":"1f1f9-1f1e9.svg","flag_tf":"1f1f9-1f1eb.svg","flag_tg":"1f1f9-1f1ec.svg","flag_th":"1f1f9-1f1ed.svg","flag_tj":"1f1f9-1f1ef.svg","flag_tk":"1f1f9-1f1f0.svg","flag_tl":"1f1f9-1f1f1.svg","flag_tm":"1f1f9-1f1f2.svg","flag_tn":"1f1f9-1f1f3.svg","flag_to":"1f1f9-1f1f4.svg","flag_tr":"1f1f9-1f1f7.svg","flag_tt":"1f1f9-1f1f9.svg","flag_tv":"1f1f9-1f1fb.svg","flag_tw":"1f1f9-1f1fc.svg","flag_tz":"1f1f9-1f1ff.svg","flag_ua":"1f1fa-1f1e6.svg","flag_ug":"1f1fa-1f1ec.svg","flag_um":"1f1fa-1f1f2.svg","flag_us":"1f1fa-1f1f8.svg","flag_uy":"1f1fa-1f1fe.svg","flag_uz":"1f1fa-1f1ff.svg","flag_va":"1f1fb-1f1e6.svg","flag_vc":"1f1fb-1f1e8.svg","flag_ve":"1f1fb-1f1ea.svg","flag_vg":"1f1fb-1f1ec.svg","flag_vi":"1f1fb-1f1ee.svg","flag_vn":"1f1fb-1f1f3.svg","flag_vu":"1f1fb-1f1fa.svg","flag_wf":"1f1fc-1f1eb.svg","flag_white":"1f3f3.svg","flag_ws":"1f1fc-1f1f8.svg","flag_xk":"1f1fd-1f1f0.svg","flag_ye":"1f1fe-1f1ea.svg","flag_yt":"1f1fe-1f1f9.svg","flag_za":"1f1ff-1f1e6.svg","flag_zm":"1f1ff-1f1f2.svg","flag_zw":"1f1ff-1f1fc.svg","flags":"1f38f.svg","flamingo":"1f9a9.svg","flashlight":"1f526.svg","fleur-de-lis":"269c.svg","floppy_disk":"1f4be.svg","flower_playing_cards":"1f3b4.svg","flushed":"1f633.svg","flying_disc":"1f94f.svg","flying_saucer":"1f6f8.svg","fog":"1f32b.svg","foggy":"1f301.svg","foot":"1f9b6.svg","foot_tone1":"1f9b6-1f3fb.svg","foot_tone2":"1f9b6-1f3fc.svg","foot_tone3":"1f9b6-1f3fd.svg","foot_tone4":"1f9b6-1f3fe.svg","foot_tone5":"1f9b6-1f3ff.svg","football":"1f3c8.svg","footprints":"1f463.svg","fork_and_knife":"1f374.svg","fork_knife_plate":"1f37d.svg","fortune_cookie":"1f960.svg","fountain":"26f2.svg","four":"34-20e3.svg","four_leaf_clover":"1f340.svg","fox":"1f98a.svg","frame_photo":"1f5bc.svg","free":"1f193.svg","french_bread":"1f956.svg","fried_shrimp":"1f364.svg","fries":"1f35f.svg","frog":"1f438.svg","frowning2":"2639.svg","frowning":"1f626.svg","fuelpump":"26fd.svg","full_moon":"1f315.svg","full_moon_with_face":"1f31d.svg","game_die":"1f3b2.svg","garlic":"1f9c4.svg","gear":"2699.svg","gem":"1f48e.svg","gemini":"264a.svg","genie":"1f9de.svg","ghost":"1f47b.svg","gift":"1f381.svg","gift_heart":"1f49d.svg","giraffe":"1f992.svg","girl":"1f467.svg","girl_tone1":"1f467-1f3fb.svg","girl_tone2":"1f467-1f3fc.svg","girl_tone3":"1f467-1f3fd.svg","girl_tone4":"1f467-1f3fe.svg","girl_tone5":"1f467-1f3ff.svg","globe_with_meridians":"1f310.svg","gloves":"1f9e4.svg","goal":"1f945.svg","goat":"1f410.svg","goggles":"1f97d.svg","golf":"26f3.svg","gorilla":"1f98d.svg","grapes":"1f347.svg","green_apple":"1f34f.svg","green_book":"1f4d7.svg","green_circle":"1f7e2.svg","green_heart":"1f49a.svg","green_square":"1f7e9.svg","grey_exclamation":"2755.svg","grey_question":"2754.svg","grimacing":"1f62c.svg","grin":"1f601.svg","grinning":"1f600.svg","guard":"1f482.svg","guard_tone1":"1f482-1f3fb.svg","guard_tone2":"1f482-1f3fc.svg","guard_tone3":"1f482-1f3fd.svg","guard_tone4":"1f482-1f3fe.svg","guard_tone5":"1f482-1f3ff.svg","guide_dog":"1f9ae.svg","guitar":"1f3b8.svg","gun":"1f52b.svg","hamburger":"1f354.svg","hammer":"1f528.svg","hammer_pick":"2692.svg","hamster":"1f439.svg","hand_splayed":"1f590.svg","hand_splayed_tone1":"1f590-1f3fb.svg","hand_splayed_tone2":"1f590-1f3fc.svg","hand_splayed_tone3":"1f590-1f3fd.svg","hand_splayed_tone4":"1f590-1f3fe.svg","hand_splayed_tone5":"1f590-1f3ff.svg","handbag":"1f45c.svg","handshake":"1f91d.svg","hash":"23-20e3.svg","hatched_chick":"1f425.svg","hatching_chick":"1f423.svg","head_bandage":"1f915.svg","headphones":"1f3a7.svg","health_worker":"1f9d1-200d-2695-fe0f.svg","health_worker_tone1":"1f9d1-1f3fb-200d-2695-fe0f.svg","health_worker_tone2":"1f9d1-1f3fc-200d-2695-fe0f.svg","health_worker_tone3":"1f9d1-1f3fd-200d-2695-fe0f.svg","health_worker_tone4":"1f9d1-1f3fe-200d-2695-fe0f.svg","health_worker_tone5":"1f9d1-1f3ff-200d-2695-fe0f.svg","hear_no_evil":"1f649.svg","heart":"2764.svg","heart_decoration":"1f49f.svg","heart_exclamation":"2763.svg","heart_eyes":"1f60d.svg","heart_eyes_cat":"1f63b.svg","heartbeat":"1f493.svg","heartpulse":"1f497.svg","hearts":"2665.svg","heavy_check_mark":"2714.svg","heavy_division_sign":"2797.svg","heavy_dollar_sign":"1f4b2.svg","heavy_minus_sign":"2796.svg","heavy_multiplication_x":"2716.svg","heavy_plus_sign":"2795.svg","hedgehog":"1f994.svg","helicopter":"1f681.svg","helmet_with_cross":"26d1.svg","herb":"1f33f.svg","hibiscus":"1f33a.svg","high_brightness":"1f506.svg","high_heel":"1f460.svg","hiking_boot":"1f97e.svg","hindu_temple":"1f6d5.svg","hippopotamus":"1f99b.svg","hockey":"1f3d2.svg","hole":"1f573.svg","homes":"1f3d8.svg","honey_pot":"1f36f.svg","horse":"1f434.svg","horse_racing":"1f3c7.svg","horse_racing_tone1":"1f3c7-1f3fb.svg","horse_racing_tone2":"1f3c7-1f3fc.svg","horse_racing_tone3":"1f3c7-1f3fd.svg","horse_racing_tone4":"1f3c7-1f3fe.svg","horse_racing_tone5":"1f3c7-1f3ff.svg","hospital":"1f3e5.svg","hot_face":"1f975.svg","hot_pepper":"1f336.svg","hotdog":"1f32d.svg","hotel":"1f3e8.svg","hotsprings":"2668.svg","hourglass":"231b.svg","hourglass_flowing_sand":"23f3.svg","house":"1f3e0.svg","house_abandoned":"1f3da.svg","house_with_garden":"1f3e1.svg","hugging":"1f917.svg","hushed":"1f62f.svg","ice_cream":"1f368.svg","ice_cube":"1f9ca.svg","ice_skate":"26f8.svg","icecream":"1f366.svg","id":"1f194.svg","ideograph_advantage":"1f250.svg","imp":"1f47f.svg","inbox_tray":"1f4e5.svg","incoming_envelope":"1f4e8.svg","infinity":"267e.svg","information_source":"2139.svg","innocent":"1f607.svg","interrobang":"2049.svg","island":"1f3dd.svg","izakaya_lantern":"1f3ee.svg","jack_o_lantern":"1f383.svg","japan":"1f5fe.svg","japanese_castle":"1f3ef.svg","japanese_goblin":"1f47a.svg","japanese_ogre":"1f479.svg","jeans":"1f456.svg","jigsaw":"1f9e9.svg","joy":"1f602.svg","joy_cat":"1f639.svg","joystick":"1f579.svg","judge":"1f9d1-200d-2696-fe0f.svg","judge_tone1":"1f9d1-1f3fb-200d-2696-fe0f.svg","judge_tone2":"1f9d1-1f3fc-200d-2696-fe0f.svg","judge_tone3":"1f9d1-1f3fd-200d-2696-fe0f.svg","judge_tone4":"1f9d1-1f3fe-200d-2696-fe0f.svg","judge_tone5":"1f9d1-1f3ff-200d-2696-fe0f.svg","kaaba":"1f54b.svg","kangaroo":"1f998.svg","key2":"1f5dd.svg","key":"1f511.svg","keyboard":"2328.svg","keycap_ten":"1f51f.svg","kimono":"1f458.svg","kiss":"1f48b.svg","kiss_mm":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg","kiss_woman_man":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg","kiss_ww":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg","kissing":"1f617.svg","kissing_cat":"1f63d.svg","kissing_closed_eyes":"1f61a.svg","kissing_heart":"1f618.svg","kissing_smiling_eyes":"1f619.svg","kite":"1fa81.svg","kiwi":"1f95d.svg","knife":"1f52a.svg","koala":"1f428.svg","koko":"1f201.svg","lab_coat":"1f97c.svg","label":"1f3f7.svg","lacrosse":"1f94d.svg","large_blue_diamond":"1f537.svg","large_orange_diamond":"1f536.svg","last_quarter_moon":"1f317.svg","last_quarter_moon_with_face":"1f31c.svg","laughing":"1f606.svg","leafy_green":"1f96c.svg","leaves":"1f343.svg","ledger":"1f4d2.svg","left_facing_fist":"1f91b.svg","left_facing_fist_tone1":"1f91b-1f3fb.svg","left_facing_fist_tone2":"1f91b-1f3fc.svg","left_facing_fist_tone3":"1f91b-1f3fd.svg","left_facing_fist_tone4":"1f91b-1f3fe.svg","left_facing_fist_tone5":"1f91b-1f3ff.svg","left_luggage":"1f6c5.svg","left_right_arrow":"2194.svg","leftwards_arrow_with_hook":"21a9.svg","leg":"1f9b5.svg","leg_tone1":"1f9b5-1f3fb.svg","leg_tone2":"1f9b5-1f3fc.svg","leg_tone3":"1f9b5-1f3fd.svg","leg_tone4":"1f9b5-1f3fe.svg","leg_tone5":"1f9b5-1f3ff.svg","lemon":"1f34b.svg","leo":"264c.svg","leopard":"1f406.svg","level_slider":"1f39a.svg","levitate":"1f574.svg","levitate_tone1":"1f574-1f3fb.svg","levitate_tone2":"1f574-1f3fc.svg","levitate_tone3":"1f574-1f3fd.svg","levitate_tone4":"1f574-1f3fe.svg","levitate_tone5":"1f574-1f3ff.svg","libra":"264e.svg","light_rail":"1f688.svg","link":"1f517.svg","lion_face":"1f981.svg","lips":"1f444.svg","lipstick":"1f484.svg","lizard":"1f98e.svg","llama":"1f999.svg","lobster":"1f99e.svg","lock":"1f512.svg","lock_with_ink_pen":"1f50f.svg","lollipop":"1f36d.svg","loop":"27bf.svg","loud_sound":"1f50a.svg","loudspeaker":"1f4e2.svg","love_hotel":"1f3e9.svg","love_letter":"1f48c.svg","love_you_gesture":"1f91f.svg","love_you_gesture_tone1":"1f91f-1f3fb.svg","love_you_gesture_tone2":"1f91f-1f3fc.svg","love_you_gesture_tone3":"1f91f-1f3fd.svg","love_you_gesture_tone4":"1f91f-1f3fe.svg","love_you_gesture_tone5":"1f91f-1f3ff.svg","low_brightness":"1f505.svg","luggage":"1f9f3.svg","lying_face":"1f925.svg","m":"24c2.svg","mag":"1f50d.svg","mag_right":"1f50e.svg","mage":"1f9d9.svg","mage_tone1":"1f9d9-1f3fb.svg","mage_tone2":"1f9d9-1f3fc.svg","mage_tone3":"1f9d9-1f3fd.svg","mage_tone4":"1f9d9-1f3fe.svg","mage_tone5":"1f9d9-1f3ff.svg","magnet":"1f9f2.svg","mahjong":"1f004.svg","mailbox":"1f4eb.svg","mailbox_closed":"1f4ea.svg","mailbox_with_mail":"1f4ec.svg","mailbox_with_no_mail":"1f4ed.svg","male_sign":"2642.svg","man":"1f468.svg","man_artist":"1f468-200d-1f3a8.svg","man_artist_tone1":"1f468-1f3fb-200d-1f3a8.svg","man_artist_tone2":"1f468-1f3fc-200d-1f3a8.svg","man_artist_tone3":"1f468-1f3fd-200d-1f3a8.svg","man_artist_tone4":"1f468-1f3fe-200d-1f3a8.svg","man_artist_tone5":"1f468-1f3ff-200d-1f3a8.svg","man_astronaut":"1f468-200d-1f680.svg","man_astronaut_tone1":"1f468-1f3fb-200d-1f680.svg","man_astronaut_tone2":"1f468-1f3fc-200d-1f680.svg","man_astronaut_tone3":"1f468-1f3fd-200d-1f680.svg","man_astronaut_tone4":"1f468-1f3fe-200d-1f680.svg","man_astronaut_tone5":"1f468-1f3ff-200d-1f680.svg","man_bald":"1f468-200d-1f9b2.svg","man_bald_tone1":"1f468-1f3fb-200d-1f9b2.svg","man_bald_tone2":"1f468-1f3fc-200d-1f9b2.svg","man_bald_tone3":"1f468-1f3fd-200d-1f9b2.svg","man_bald_tone4":"1f468-1f3fe-200d-1f9b2.svg","man_bald_tone5":"1f468-1f3ff-200d-1f9b2.svg","man_biking":"1f6b4-200d-2642-fe0f.svg","man_biking_tone1":"1f6b4-1f3fb-200d-2642-fe0f.svg","man_biking_tone2":"1f6b4-1f3fc-200d-2642-fe0f.svg","man_biking_tone3":"1f6b4-1f3fd-200d-2642-fe0f.svg","man_biking_tone4":"1f6b4-1f3fe-200d-2642-fe0f.svg","man_biking_tone5":"1f6b4-1f3ff-200d-2642-fe0f.svg","man_bouncing_ball":"26f9-fe0f-200d-2642-fe0f.svg","man_bouncing_ball_tone1":"26f9-1f3fb-200d-2642-fe0f.svg","man_bouncing_ball_tone2":"26f9-1f3fc-200d-2642-fe0f.svg","man_bouncing_ball_tone3":"26f9-1f3fd-200d-2642-fe0f.svg","man_bouncing_ball_tone4":"26f9-1f3fe-200d-2642-fe0f.svg","man_bouncing_ball_tone5":"26f9-1f3ff-200d-2642-fe0f.svg","man_bowing":"1f647-200d-2642-fe0f.svg","man_bowing_tone1":"1f647-1f3fb-200d-2642-fe0f.svg","man_bowing_tone2":"1f647-1f3fc-200d-2642-fe0f.svg","man_bowing_tone3":"1f647-1f3fd-200d-2642-fe0f.svg","man_bowing_tone4":"1f647-1f3fe-200d-2642-fe0f.svg","man_bowing_tone5":"1f647-1f3ff-200d-2642-fe0f.svg","man_cartwheeling":"1f938-200d-2642-fe0f.svg","man_cartwheeling_tone1":"1f938-1f3fb-200d-2642-fe0f.svg","man_cartwheeling_tone2":"1f938-1f3fc-200d-2642-fe0f.svg","man_cartwheeling_tone3":"1f938-1f3fd-200d-2642-fe0f.svg","man_cartwheeling_tone4":"1f938-1f3fe-200d-2642-fe0f.svg","man_cartwheeling_tone5":"1f938-1f3ff-200d-2642-fe0f.svg","man_climbing":"1f9d7-200d-2642-fe0f.svg","man_climbing_tone1":"1f9d7-1f3fb-200d-2642-fe0f.svg","man_climbing_tone2":"1f9d7-1f3fc-200d-2642-fe0f.svg","man_climbing_tone3":"1f9d7-1f3fd-200d-2642-fe0f.svg","man_climbing_tone4":"1f9d7-1f3fe-200d-2642-fe0f.svg","man_climbing_tone5":"1f9d7-1f3ff-200d-2642-fe0f.svg","man_construction_worker":"1f477-200d-2642-fe0f.svg","man_construction_worker_tone1":"1f477-1f3fb-200d-2642-fe0f.svg","man_construction_worker_tone2":"1f477-1f3fc-200d-2642-fe0f.svg","man_construction_worker_tone3":"1f477-1f3fd-200d-2642-fe0f.svg","man_construction_worker_tone4":"1f477-1f3fe-200d-2642-fe0f.svg","man_construction_worker_tone5":"1f477-1f3ff-200d-2642-fe0f.svg","man_cook":"1f468-200d-1f373.svg","man_cook_tone1":"1f468-1f3fb-200d-1f373.svg","man_cook_tone2":"1f468-1f3fc-200d-1f373.svg","man_cook_tone3":"1f468-1f3fd-200d-1f373.svg","man_cook_tone4":"1f468-1f3fe-200d-1f373.svg","man_cook_tone5":"1f468-1f3ff-200d-1f373.svg","man_curly_haired":"1f468-200d-1f9b1.svg","man_curly_haired_tone1":"1f468-1f3fb-200d-1f9b1.svg","man_curly_haired_tone2":"1f468-1f3fc-200d-1f9b1.svg","man_curly_haired_tone3":"1f468-1f3fd-200d-1f9b1.svg","man_curly_haired_tone4":"1f468-1f3fe-200d-1f9b1.svg","man_curly_haired_tone5":"1f468-1f3ff-200d-1f9b1.svg","man_dancing":"1f57a.svg","man_dancing_tone1":"1f57a-1f3fb.svg","man_dancing_tone2":"1f57a-1f3fc.svg","man_dancing_tone3":"1f57a-1f3fd.svg","man_dancing_tone4":"1f57a-1f3fe.svg","man_dancing_tone5":"1f57a-1f3ff.svg","man_detective":"1f575-fe0f-200d-2642-fe0f.svg","man_detective_tone1":"1f575-1f3fb-200d-2642-fe0f.svg","man_detective_tone2":"1f575-1f3fc-200d-2642-fe0f.svg","man_detective_tone3":"1f575-1f3fd-200d-2642-fe0f.svg","man_detective_tone4":"1f575-1f3fe-200d-2642-fe0f.svg","man_detective_tone5":"1f575-1f3ff-200d-2642-fe0f.svg","man_elf":"1f9dd-200d-2642-fe0f.svg","man_elf_tone1":"1f9dd-1f3fb-200d-2642-fe0f.svg","man_elf_tone2":"1f9dd-1f3fc-200d-2642-fe0f.svg","man_elf_tone3":"1f9dd-1f3fd-200d-2642-fe0f.svg","man_elf_tone4":"1f9dd-1f3fe-200d-2642-fe0f.svg","man_elf_tone5":"1f9dd-1f3ff-200d-2642-fe0f.svg","man_facepalming":"1f926-200d-2642-fe0f.svg","man_facepalming_tone1":"1f926-1f3fb-200d-2642-fe0f.svg","man_facepalming_tone2":"1f926-1f3fc-200d-2642-fe0f.svg","man_facepalming_tone3":"1f926-1f3fd-200d-2642-fe0f.svg","man_facepalming_tone4":"1f926-1f3fe-200d-2642-fe0f.svg","man_facepalming_tone5":"1f926-1f3ff-200d-2642-fe0f.svg","man_factory_worker":"1f468-200d-1f3ed.svg","man_factory_worker_tone1":"1f468-1f3fb-200d-1f3ed.svg","man_factory_worker_tone2":"1f468-1f3fc-200d-1f3ed.svg","man_factory_worker_tone3":"1f468-1f3fd-200d-1f3ed.svg","man_factory_worker_tone4":"1f468-1f3fe-200d-1f3ed.svg","man_factory_worker_tone5":"1f468-1f3ff-200d-1f3ed.svg","man_fairy":"1f9da-200d-2642-fe0f.svg","man_fairy_tone1":"1f9da-1f3fb-200d-2642-fe0f.svg","man_fairy_tone2":"1f9da-1f3fc-200d-2642-fe0f.svg","man_fairy_tone3":"1f9da-1f3fd-200d-2642-fe0f.svg","man_fairy_tone4":"1f9da-1f3fe-200d-2642-fe0f.svg","man_fairy_tone5":"1f9da-1f3ff-200d-2642-fe0f.svg","man_farmer":"1f468-200d-1f33e.svg","man_farmer_tone1":"1f468-1f3fb-200d-1f33e.svg","man_farmer_tone2":"1f468-1f3fc-200d-1f33e.svg","man_farmer_tone3":"1f468-1f3fd-200d-1f33e.svg","man_farmer_tone4":"1f468-1f3fe-200d-1f33e.svg","man_farmer_tone5":"1f468-1f3ff-200d-1f33e.svg","man_firefighter":"1f468-200d-1f692.svg","man_firefighter_tone1":"1f468-1f3fb-200d-1f692.svg","man_firefighter_tone2":"1f468-1f3fc-200d-1f692.svg","man_firefighter_tone3":"1f468-1f3fd-200d-1f692.svg","man_firefighter_tone4":"1f468-1f3fe-200d-1f692.svg","man_firefighter_tone5":"1f468-1f3ff-200d-1f692.svg","man_frowning":"1f64d-200d-2642-fe0f.svg","man_frowning_tone1":"1f64d-1f3fb-200d-2642-fe0f.svg","man_frowning_tone2":"1f64d-1f3fc-200d-2642-fe0f.svg","man_frowning_tone3":"1f64d-1f3fd-200d-2642-fe0f.svg","man_frowning_tone4":"1f64d-1f3fe-200d-2642-fe0f.svg","man_frowning_tone5":"1f64d-1f3ff-200d-2642-fe0f.svg","man_genie":"1f9de-200d-2642-fe0f.svg","man_gesturing_no":"1f645-200d-2642-fe0f.svg","man_gesturing_no_tone1":"1f645-1f3fb-200d-2642-fe0f.svg","man_gesturing_no_tone2":"1f645-1f3fc-200d-2642-fe0f.svg","man_gesturing_no_tone3":"1f645-1f3fd-200d-2642-fe0f.svg","man_gesturing_no_tone4":"1f645-1f3fe-200d-2642-fe0f.svg","man_gesturing_no_tone5":"1f645-1f3ff-200d-2642-fe0f.svg","man_gesturing_ok":"1f646-200d-2642-fe0f.svg","man_gesturing_ok_tone1":"1f646-1f3fb-200d-2642-fe0f.svg","man_gesturing_ok_tone2":"1f646-1f3fc-200d-2642-fe0f.svg","man_gesturing_ok_tone3":"1f646-1f3fd-200d-2642-fe0f.svg","man_gesturing_ok_tone4":"1f646-1f3fe-200d-2642-fe0f.svg","man_gesturing_ok_tone5":"1f646-1f3ff-200d-2642-fe0f.svg","man_getting_face_massage":"1f486-200d-2642-fe0f.svg","man_getting_face_massage_tone1":"1f486-1f3fb-200d-2642-fe0f.svg","man_getting_face_massage_tone2":"1f486-1f3fc-200d-2642-fe0f.svg","man_getting_face_massage_tone3":"1f486-1f3fd-200d-2642-fe0f.svg","man_getting_face_massage_tone4":"1f486-1f3fe-200d-2642-fe0f.svg","man_getting_face_massage_tone5":"1f486-1f3ff-200d-2642-fe0f.svg","man_getting_haircut":"1f487-200d-2642-fe0f.svg","man_getting_haircut_tone1":"1f487-1f3fb-200d-2642-fe0f.svg","man_getting_haircut_tone2":"1f487-1f3fc-200d-2642-fe0f.svg","man_getting_haircut_tone3":"1f487-1f3fd-200d-2642-fe0f.svg","man_getting_haircut_tone4":"1f487-1f3fe-200d-2642-fe0f.svg","man_getting_haircut_tone5":"1f487-1f3ff-200d-2642-fe0f.svg","man_golfing":"1f3cc-fe0f-200d-2642-fe0f.svg","man_golfing_tone1":"1f3cc-1f3fb-200d-2642-fe0f.svg","man_golfing_tone2":"1f3cc-1f3fc-200d-2642-fe0f.svg","man_golfing_tone3":"1f3cc-1f3fd-200d-2642-fe0f.svg","man_golfing_tone4":"1f3cc-1f3fe-200d-2642-fe0f.svg","man_golfing_tone5":"1f3cc-1f3ff-200d-2642-fe0f.svg","man_guard":"1f482-200d-2642-fe0f.svg","man_guard_tone1":"1f482-1f3fb-200d-2642-fe0f.svg","man_guard_tone2":"1f482-1f3fc-200d-2642-fe0f.svg","man_guard_tone3":"1f482-1f3fd-200d-2642-fe0f.svg","man_guard_tone4":"1f482-1f3fe-200d-2642-fe0f.svg","man_guard_tone5":"1f482-1f3ff-200d-2642-fe0f.svg","man_health_worker":"1f468-200d-2695-fe0f.svg","man_health_worker_tone1":"1f468-1f3fb-200d-2695-fe0f.svg","man_health_worker_tone2":"1f468-1f3fc-200d-2695-fe0f.svg","man_health_worker_tone3":"1f468-1f3fd-200d-2695-fe0f.svg","man_health_worker_tone4":"1f468-1f3fe-200d-2695-fe0f.svg","man_health_worker_tone5":"1f468-1f3ff-200d-2695-fe0f.svg","man_in_lotus_position":"1f9d8-200d-2642-fe0f.svg","man_in_lotus_position_tone1":"1f9d8-1f3fb-200d-2642-fe0f.svg","man_in_lotus_position_tone2":"1f9d8-1f3fc-200d-2642-fe0f.svg","man_in_lotus_position_tone3":"1f9d8-1f3fd-200d-2642-fe0f.svg","man_in_lotus_position_tone4":"1f9d8-1f3fe-200d-2642-fe0f.svg","man_in_lotus_position_tone5":"1f9d8-1f3ff-200d-2642-fe0f.svg","man_in_manual_wheelchair":"1f468-200d-1f9bd.svg","man_in_manual_wheelchair_tone1":"1f468-1f3fb-200d-1f9bd.svg","man_in_manual_wheelchair_tone2":"1f468-1f3fc-200d-1f9bd.svg","man_in_manual_wheelchair_tone3":"1f468-1f3fd-200d-1f9bd.svg","man_in_manual_wheelchair_tone4":"1f468-1f3fe-200d-1f9bd.svg","man_in_manual_wheelchair_tone5":"1f468-1f3ff-200d-1f9bd.svg","man_in_motorized_wheelchair":"1f468-200d-1f9bc.svg","man_in_motorized_wheelchair_tone1":"1f468-1f3fb-200d-1f9bc.svg","man_in_motorized_wheelchair_tone2":"1f468-1f3fc-200d-1f9bc.svg","man_in_motorized_wheelchair_tone3":"1f468-1f3fd-200d-1f9bc.svg","man_in_motorized_wheelchair_tone4":"1f468-1f3fe-200d-1f9bc.svg","man_in_motorized_wheelchair_tone5":"1f468-1f3ff-200d-1f9bc.svg","man_in_steamy_room":"1f9d6-200d-2642-fe0f.svg","man_in_steamy_room_tone1":"1f9d6-1f3fb-200d-2642-fe0f.svg","man_in_steamy_room_tone2":"1f9d6-1f3fc-200d-2642-fe0f.svg","man_in_steamy_room_tone3":"1f9d6-1f3fd-200d-2642-fe0f.svg","man_in_steamy_room_tone4":"1f9d6-1f3fe-200d-2642-fe0f.svg","man_in_steamy_room_tone5":"1f9d6-1f3ff-200d-2642-fe0f.svg","man_in_tuxedo":"1f935.svg","man_in_tuxedo_tone1":"1f935-1f3fb.svg","man_in_tuxedo_tone2":"1f935-1f3fc.svg","man_in_tuxedo_tone3":"1f935-1f3fd.svg","man_in_tuxedo_tone4":"1f935-1f3fe.svg","man_in_tuxedo_tone5":"1f935-1f3ff.svg","man_judge":"1f468-200d-2696-fe0f.svg","man_judge_tone1":"1f468-1f3fb-200d-2696-fe0f.svg","man_judge_tone2":"1f468-1f3fc-200d-2696-fe0f.svg","man_judge_tone3":"1f468-1f3fd-200d-2696-fe0f.svg","man_judge_tone4":"1f468-1f3fe-200d-2696-fe0f.svg","man_judge_tone5":"1f468-1f3ff-200d-2696-fe0f.svg","man_juggling":"1f939-200d-2642-fe0f.svg","man_juggling_tone1":"1f939-1f3fb-200d-2642-fe0f.svg","man_juggling_tone2":"1f939-1f3fc-200d-2642-fe0f.svg","man_juggling_tone3":"1f939-1f3fd-200d-2642-fe0f.svg","man_juggling_tone4":"1f939-1f3fe-200d-2642-fe0f.svg","man_juggling_tone5":"1f939-1f3ff-200d-2642-fe0f.svg","man_kneeling":"1f9ce-200d-2642-fe0f.svg","man_kneeling_tone1":"1f9ce-1f3fb-200d-2642-fe0f.svg","man_kneeling_tone2":"1f9ce-1f3fc-200d-2642-fe0f.svg","man_kneeling_tone3":"1f9ce-1f3fd-200d-2642-fe0f.svg","man_kneeling_tone4":"1f9ce-1f3fe-200d-2642-fe0f.svg","man_kneeling_tone5":"1f9ce-1f3ff-200d-2642-fe0f.svg","man_lifting_weights":"1f3cb-fe0f-200d-2642-fe0f.svg","man_lifting_weights_tone1":"1f3cb-1f3fb-200d-2642-fe0f.svg","man_lifting_weights_tone2":"1f3cb-1f3fc-200d-2642-fe0f.svg","man_lifting_weights_tone3":"1f3cb-1f3fd-200d-2642-fe0f.svg","man_lifting_weights_tone4":"1f3cb-1f3fe-200d-2642-fe0f.svg","man_lifting_weights_tone5":"1f3cb-1f3ff-200d-2642-fe0f.svg","man_mage":"1f9d9-200d-2642-fe0f.svg","man_mage_tone1":"1f9d9-1f3fb-200d-2642-fe0f.svg","man_mage_tone2":"1f9d9-1f3fc-200d-2642-fe0f.svg","man_mage_tone3":"1f9d9-1f3fd-200d-2642-fe0f.svg","man_mage_tone4":"1f9d9-1f3fe-200d-2642-fe0f.svg","man_mage_tone5":"1f9d9-1f3ff-200d-2642-fe0f.svg","man_mechanic":"1f468-200d-1f527.svg","man_mechanic_tone1":"1f468-1f3fb-200d-1f527.svg","man_mechanic_tone2":"1f468-1f3fc-200d-1f527.svg","man_mechanic_tone3":"1f468-1f3fd-200d-1f527.svg","man_mechanic_tone4":"1f468-1f3fe-200d-1f527.svg","man_mechanic_tone5":"1f468-1f3ff-200d-1f527.svg","man_mountain_biking":"1f6b5-200d-2642-fe0f.svg","man_mountain_biking_tone1":"1f6b5-1f3fb-200d-2642-fe0f.svg","man_mountain_biking_tone2":"1f6b5-1f3fc-200d-2642-fe0f.svg","man_mountain_biking_tone3":"1f6b5-1f3fd-200d-2642-fe0f.svg","man_mountain_biking_tone4":"1f6b5-1f3fe-200d-2642-fe0f.svg","man_mountain_biking_tone5":"1f6b5-1f3ff-200d-2642-fe0f.svg","man_office_worker":"1f468-200d-1f4bc.svg","man_office_worker_tone1":"1f468-1f3fb-200d-1f4bc.svg","man_office_worker_tone2":"1f468-1f3fc-200d-1f4bc.svg","man_office_worker_tone3":"1f468-1f3fd-200d-1f4bc.svg","man_office_worker_tone4":"1f468-1f3fe-200d-1f4bc.svg","man_office_worker_tone5":"1f468-1f3ff-200d-1f4bc.svg","man_pilot":"1f468-200d-2708-fe0f.svg","man_pilot_tone1":"1f468-1f3fb-200d-2708-fe0f.svg","man_pilot_tone2":"1f468-1f3fc-200d-2708-fe0f.svg","man_pilot_tone3":"1f468-1f3fd-200d-2708-fe0f.svg","man_pilot_tone4":"1f468-1f3fe-200d-2708-fe0f.svg","man_pilot_tone5":"1f468-1f3ff-200d-2708-fe0f.svg","man_playing_handball":"1f93e-200d-2642-fe0f.svg","man_playing_handball_tone1":"1f93e-1f3fb-200d-2642-fe0f.svg","man_playing_handball_tone2":"1f93e-1f3fc-200d-2642-fe0f.svg","man_playing_handball_tone3":"1f93e-1f3fd-200d-2642-fe0f.svg","man_playing_handball_tone4":"1f93e-1f3fe-200d-2642-fe0f.svg","man_playing_handball_tone5":"1f93e-1f3ff-200d-2642-fe0f.svg","man_playing_water_polo":"1f93d-200d-2642-fe0f.svg","man_playing_water_polo_tone1":"1f93d-1f3fb-200d-2642-fe0f.svg","man_playing_water_polo_tone2":"1f93d-1f3fc-200d-2642-fe0f.svg","man_playing_water_polo_tone3":"1f93d-1f3fd-200d-2642-fe0f.svg","man_playing_water_polo_tone4":"1f93d-1f3fe-200d-2642-fe0f.svg","man_playing_water_polo_tone5":"1f93d-1f3ff-200d-2642-fe0f.svg","man_police_officer":"1f46e-200d-2642-fe0f.svg","man_police_officer_tone1":"1f46e-1f3fb-200d-2642-fe0f.svg","man_police_officer_tone2":"1f46e-1f3fc-200d-2642-fe0f.svg","man_police_officer_tone3":"1f46e-1f3fd-200d-2642-fe0f.svg","man_police_officer_tone4":"1f46e-1f3fe-200d-2642-fe0f.svg","man_police_officer_tone5":"1f46e-1f3ff-200d-2642-fe0f.svg","man_pouting":"1f64e-200d-2642-fe0f.svg","man_pouting_tone1":"1f64e-1f3fb-200d-2642-fe0f.svg","man_pouting_tone2":"1f64e-1f3fc-200d-2642-fe0f.svg","man_pouting_tone3":"1f64e-1f3fd-200d-2642-fe0f.svg","man_pouting_tone4":"1f64e-1f3fe-200d-2642-fe0f.svg","man_pouting_tone5":"1f64e-1f3ff-200d-2642-fe0f.svg","man_raising_hand":"1f64b-200d-2642-fe0f.svg","man_raising_hand_tone1":"1f64b-1f3fb-200d-2642-fe0f.svg","man_raising_hand_tone2":"1f64b-1f3fc-200d-2642-fe0f.svg","man_raising_hand_tone3":"1f64b-1f3fd-200d-2642-fe0f.svg","man_raising_hand_tone4":"1f64b-1f3fe-200d-2642-fe0f.svg","man_raising_hand_tone5":"1f64b-1f3ff-200d-2642-fe0f.svg","man_red_haired":"1f468-200d-1f9b0.svg","man_red_haired_tone1":"1f468-1f3fb-200d-1f9b0.svg","man_red_haired_tone2":"1f468-1f3fc-200d-1f9b0.svg","man_red_haired_tone3":"1f468-1f3fd-200d-1f9b0.svg","man_red_haired_tone4":"1f468-1f3fe-200d-1f9b0.svg","man_red_haired_tone5":"1f468-1f3ff-200d-1f9b0.svg","man_rowing_boat":"1f6a3-200d-2642-fe0f.svg","man_rowing_boat_tone1":"1f6a3-1f3fb-200d-2642-fe0f.svg","man_rowing_boat_tone2":"1f6a3-1f3fc-200d-2642-fe0f.svg","man_rowing_boat_tone3":"1f6a3-1f3fd-200d-2642-fe0f.svg","man_rowing_boat_tone4":"1f6a3-1f3fe-200d-2642-fe0f.svg","man_rowing_boat_tone5":"1f6a3-1f3ff-200d-2642-fe0f.svg","man_running":"1f3c3-200d-2642-fe0f.svg","man_running_tone1":"1f3c3-1f3fb-200d-2642-fe0f.svg","man_running_tone2":"1f3c3-1f3fc-200d-2642-fe0f.svg","man_running_tone3":"1f3c3-1f3fd-200d-2642-fe0f.svg","man_running_tone4":"1f3c3-1f3fe-200d-2642-fe0f.svg","man_running_tone5":"1f3c3-1f3ff-200d-2642-fe0f.svg","man_scientist":"1f468-200d-1f52c.svg","man_scientist_tone1":"1f468-1f3fb-200d-1f52c.svg","man_scientist_tone2":"1f468-1f3fc-200d-1f52c.svg","man_scientist_tone3":"1f468-1f3fd-200d-1f52c.svg","man_scientist_tone4":"1f468-1f3fe-200d-1f52c.svg","man_scientist_tone5":"1f468-1f3ff-200d-1f52c.svg","man_shrugging":"1f937-200d-2642-fe0f.svg","man_shrugging_tone1":"1f937-1f3fb-200d-2642-fe0f.svg","man_shrugging_tone2":"1f937-1f3fc-200d-2642-fe0f.svg","man_shrugging_tone3":"1f937-1f3fd-200d-2642-fe0f.svg","man_shrugging_tone4":"1f937-1f3fe-200d-2642-fe0f.svg","man_shrugging_tone5":"1f937-1f3ff-200d-2642-fe0f.svg","man_singer":"1f468-200d-1f3a4.svg","man_singer_tone1":"1f468-1f3fb-200d-1f3a4.svg","man_singer_tone2":"1f468-1f3fc-200d-1f3a4.svg","man_singer_tone3":"1f468-1f3fd-200d-1f3a4.svg","man_singer_tone4":"1f468-1f3fe-200d-1f3a4.svg","man_singer_tone5":"1f468-1f3ff-200d-1f3a4.svg","man_standing":"1f9cd-200d-2642-fe0f.svg","man_standing_tone1":"1f9cd-1f3fb-200d-2642-fe0f.svg","man_standing_tone2":"1f9cd-1f3fc-200d-2642-fe0f.svg","man_standing_tone3":"1f9cd-1f3fd-200d-2642-fe0f.svg","man_standing_tone4":"1f9cd-1f3fe-200d-2642-fe0f.svg","man_standing_tone5":"1f9cd-1f3ff-200d-2642-fe0f.svg","man_student":"1f468-200d-1f393.svg","man_student_tone1":"1f468-1f3fb-200d-1f393.svg","man_student_tone2":"1f468-1f3fc-200d-1f393.svg","man_student_tone3":"1f468-1f3fd-200d-1f393.svg","man_student_tone4":"1f468-1f3fe-200d-1f393.svg","man_student_tone5":"1f468-1f3ff-200d-1f393.svg","man_superhero":"1f9b8-200d-2642-fe0f.svg","man_superhero_tone1":"1f9b8-1f3fb-200d-2642-fe0f.svg","man_superhero_tone2":"1f9b8-1f3fc-200d-2642-fe0f.svg","man_superhero_tone3":"1f9b8-1f3fd-200d-2642-fe0f.svg","man_superhero_tone4":"1f9b8-1f3fe-200d-2642-fe0f.svg","man_superhero_tone5":"1f9b8-1f3ff-200d-2642-fe0f.svg","man_supervillain":"1f9b9-200d-2642-fe0f.svg","man_supervillain_tone1":"1f9b9-1f3fb-200d-2642-fe0f.svg","man_supervillain_tone2":"1f9b9-1f3fc-200d-2642-fe0f.svg","man_supervillain_tone3":"1f9b9-1f3fd-200d-2642-fe0f.svg","man_supervillain_tone4":"1f9b9-1f3fe-200d-2642-fe0f.svg","man_supervillain_tone5":"1f9b9-1f3ff-200d-2642-fe0f.svg","man_surfing":"1f3c4-200d-2642-fe0f.svg","man_surfing_tone1":"1f3c4-1f3fb-200d-2642-fe0f.svg","man_surfing_tone2":"1f3c4-1f3fc-200d-2642-fe0f.svg","man_surfing_tone3":"1f3c4-1f3fd-200d-2642-fe0f.svg","man_surfing_tone4":"1f3c4-1f3fe-200d-2642-fe0f.svg","man_surfing_tone5":"1f3c4-1f3ff-200d-2642-fe0f.svg","man_swimming":"1f3ca-200d-2642-fe0f.svg","man_swimming_tone1":"1f3ca-1f3fb-200d-2642-fe0f.svg","man_swimming_tone2":"1f3ca-1f3fc-200d-2642-fe0f.svg","man_swimming_tone3":"1f3ca-1f3fd-200d-2642-fe0f.svg","man_swimming_tone4":"1f3ca-1f3fe-200d-2642-fe0f.svg","man_swimming_tone5":"1f3ca-1f3ff-200d-2642-fe0f.svg","man_teacher":"1f468-200d-1f3eb.svg","man_teacher_tone1":"1f468-1f3fb-200d-1f3eb.svg","man_teacher_tone2":"1f468-1f3fc-200d-1f3eb.svg","man_teacher_tone3":"1f468-1f3fd-200d-1f3eb.svg","man_teacher_tone4":"1f468-1f3fe-200d-1f3eb.svg","man_teacher_tone5":"1f468-1f3ff-200d-1f3eb.svg","man_technologist":"1f468-200d-1f4bb.svg","man_technologist_tone1":"1f468-1f3fb-200d-1f4bb.svg","man_technologist_tone2":"1f468-1f3fc-200d-1f4bb.svg","man_technologist_tone3":"1f468-1f3fd-200d-1f4bb.svg","man_technologist_tone4":"1f468-1f3fe-200d-1f4bb.svg","man_technologist_tone5":"1f468-1f3ff-200d-1f4bb.svg","man_tipping_hand":"1f481-200d-2642-fe0f.svg","man_tipping_hand_tone1":"1f481-1f3fb-200d-2642-fe0f.svg","man_tipping_hand_tone2":"1f481-1f3fc-200d-2642-fe0f.svg","man_tipping_hand_tone3":"1f481-1f3fd-200d-2642-fe0f.svg","man_tipping_hand_tone4":"1f481-1f3fe-200d-2642-fe0f.svg","man_tipping_hand_tone5":"1f481-1f3ff-200d-2642-fe0f.svg","man_tone1":"1f468-1f3fb.svg","man_tone2":"1f468-1f3fc.svg","man_tone3":"1f468-1f3fd.svg","man_tone4":"1f468-1f3fe.svg","man_tone5":"1f468-1f3ff.svg","man_vampire":"1f9db-200d-2642-fe0f.svg","man_vampire_tone1":"1f9db-1f3fb-200d-2642-fe0f.svg","man_vampire_tone2":"1f9db-1f3fc-200d-2642-fe0f.svg","man_vampire_tone3":"1f9db-1f3fd-200d-2642-fe0f.svg","man_vampire_tone4":"1f9db-1f3fe-200d-2642-fe0f.svg","man_vampire_tone5":"1f9db-1f3ff-200d-2642-fe0f.svg","man_walking":"1f6b6-200d-2642-fe0f.svg","man_walking_tone1":"1f6b6-1f3fb-200d-2642-fe0f.svg","man_walking_tone2":"1f6b6-1f3fc-200d-2642-fe0f.svg","man_walking_tone3":"1f6b6-1f3fd-200d-2642-fe0f.svg","man_walking_tone4":"1f6b6-1f3fe-200d-2642-fe0f.svg","man_walking_tone5":"1f6b6-1f3ff-200d-2642-fe0f.svg","man_wearing_turban":"1f473-200d-2642-fe0f.svg","man_wearing_turban_tone1":"1f473-1f3fb-200d-2642-fe0f.svg","man_wearing_turban_tone2":"1f473-1f3fc-200d-2642-fe0f.svg","man_wearing_turban_tone3":"1f473-1f3fd-200d-2642-fe0f.svg","man_wearing_turban_tone4":"1f473-1f3fe-200d-2642-fe0f.svg","man_wearing_turban_tone5":"1f473-1f3ff-200d-2642-fe0f.svg","man_white_haired":"1f468-200d-1f9b3.svg","man_white_haired_tone1":"1f468-1f3fb-200d-1f9b3.svg","man_white_haired_tone2":"1f468-1f3fc-200d-1f9b3.svg","man_white_haired_tone3":"1f468-1f3fd-200d-1f9b3.svg","man_white_haired_tone4":"1f468-1f3fe-200d-1f9b3.svg","man_white_haired_tone5":"1f468-1f3ff-200d-1f9b3.svg","man_with_chinese_cap":"1f472.svg","man_with_chinese_cap_tone1":"1f472-1f3fb.svg","man_with_chinese_cap_tone2":"1f472-1f3fc.svg","man_with_chinese_cap_tone3":"1f472-1f3fd.svg","man_with_chinese_cap_tone4":"1f472-1f3fe.svg","man_with_chinese_cap_tone5":"1f472-1f3ff.svg","man_with_probing_cane":"1f468-200d-1f9af.svg","man_with_probing_cane_tone1":"1f468-1f3fb-200d-1f9af.svg","man_with_probing_cane_tone2":"1f468-1f3fc-200d-1f9af.svg","man_with_probing_cane_tone3":"1f468-1f3fd-200d-1f9af.svg","man_with_probing_cane_tone4":"1f468-1f3fe-200d-1f9af.svg","man_with_probing_cane_tone5":"1f468-1f3ff-200d-1f9af.svg","man_zombie":"1f9df-200d-2642-fe0f.svg","mango":"1f96d.svg","mans_shoe":"1f45e.svg","manual_wheelchair":"1f9bd.svg","map":"1f5fa.svg","maple_leaf":"1f341.svg","martial_arts_uniform":"1f94b.svg","mask":"1f637.svg","mate":"1f9c9.svg","meat_on_bone":"1f356.svg","mechanic":"1f9d1-200d-1f527.svg","mechanic_tone1":"1f9d1-1f3fb-200d-1f527.svg","mechanic_tone2":"1f9d1-1f3fc-200d-1f527.svg","mechanic_tone3":"1f9d1-1f3fd-200d-1f527.svg","mechanic_tone4":"1f9d1-1f3fe-200d-1f527.svg","mechanic_tone5":"1f9d1-1f3ff-200d-1f527.svg","mechanical_arm":"1f9be.svg","mechanical_leg":"1f9bf.svg","medal":"1f3c5.svg","medical_symbol":"2695.svg","mega":"1f4e3.svg","melon":"1f348.svg","men_holding_hands_tone1":"1f46c-1f3fb.svg","men_holding_hands_tone1_tone2":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg","men_holding_hands_tone1_tone3":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg","men_holding_hands_tone1_tone4":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg","men_holding_hands_tone1_tone5":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg","men_holding_hands_tone2":"1f46c-1f3fc.svg","men_holding_hands_tone2_tone1":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg","men_holding_hands_tone2_tone3":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg","men_holding_hands_tone2_tone4":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg","men_holding_hands_tone2_tone5":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg","men_holding_hands_tone3":"1f46c-1f3fd.svg","men_holding_hands_tone3_tone1":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg","men_holding_hands_tone3_tone2":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg","men_holding_hands_tone3_tone4":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg","men_holding_hands_tone3_tone5":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg","men_holding_hands_tone4":"1f46c-1f3fe.svg","men_holding_hands_tone4_tone1":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg","men_holding_hands_tone4_tone2":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg","men_holding_hands_tone4_tone3":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg","men_holding_hands_tone4_tone5":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg","men_holding_hands_tone5":"1f46c-1f3ff.svg","men_holding_hands_tone5_tone1":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg","men_holding_hands_tone5_tone2":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg","men_holding_hands_tone5_tone3":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg","men_holding_hands_tone5_tone4":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg","men_with_bunny_ears_partying":"1f46f-200d-2642-fe0f.svg","men_wrestling":"1f93c-200d-2642-fe0f.svg","menorah":"1f54e.svg","mens":"1f6b9.svg","mermaid":"1f9dc-200d-2640-fe0f.svg","mermaid_tone1":"1f9dc-1f3fb-200d-2640-fe0f.svg","mermaid_tone2":"1f9dc-1f3fc-200d-2640-fe0f.svg","mermaid_tone3":"1f9dc-1f3fd-200d-2640-fe0f.svg","mermaid_tone4":"1f9dc-1f3fe-200d-2640-fe0f.svg","mermaid_tone5":"1f9dc-1f3ff-200d-2640-fe0f.svg","merman":"1f9dc-200d-2642-fe0f.svg","merman_tone1":"1f9dc-1f3fb-200d-2642-fe0f.svg","merman_tone2":"1f9dc-1f3fc-200d-2642-fe0f.svg","merman_tone3":"1f9dc-1f3fd-200d-2642-fe0f.svg","merman_tone4":"1f9dc-1f3fe-200d-2642-fe0f.svg","merman_tone5":"1f9dc-1f3ff-200d-2642-fe0f.svg","merperson":"1f9dc.svg","merperson_tone1":"1f9dc-1f3fb.svg","merperson_tone2":"1f9dc-1f3fc.svg","merperson_tone3":"1f9dc-1f3fd.svg","merperson_tone4":"1f9dc-1f3fe.svg","merperson_tone5":"1f9dc-1f3ff.svg","metal":"1f918.svg","metal_tone1":"1f918-1f3fb.svg","metal_tone2":"1f918-1f3fc.svg","metal_tone3":"1f918-1f3fd.svg","metal_tone4":"1f918-1f3fe.svg","metal_tone5":"1f918-1f3ff.svg","metro":"1f687.svg","microbe":"1f9a0.svg","microphone2":"1f399.svg","microphone":"1f3a4.svg","microscope":"1f52c.svg","middle_finger":"1f595.svg","middle_finger_tone1":"1f595-1f3fb.svg","middle_finger_tone2":"1f595-1f3fc.svg","middle_finger_tone3":"1f595-1f3fd.svg","middle_finger_tone4":"1f595-1f3fe.svg","middle_finger_tone5":"1f595-1f3ff.svg","military_medal":"1f396.svg","milk":"1f95b.svg","milky_way":"1f30c.svg","minibus":"1f690.svg","minidisc":"1f4bd.svg","mobile_phone":"1f4f1.svg","mobile_phone_off":"1f4f4.svg","money_mouth":"1f911.svg","money_with_wings":"1f4b8.svg","moneybag":"1f4b0.svg","monkey":"1f412.svg","monkey_face":"1f435.svg","monorail":"1f69d.svg","moon_cake":"1f96e.svg","mortar_board":"1f393.svg","mosque":"1f54c.svg","mosquito":"1f99f.svg","motor_scooter":"1f6f5.svg","motorboat":"1f6e5.svg","motorcycle":"1f3cd.svg","motorized_wheelchair":"1f9bc.svg","motorway":"1f6e3.svg","mount_fuji":"1f5fb.svg","mountain":"26f0.svg","mountain_cableway":"1f6a0.svg","mountain_railway":"1f69e.svg","mountain_snow":"1f3d4.svg","mouse2":"1f401.svg","mouse":"1f42d.svg","mouse_three_button":"1f5b1.svg","movie_camera":"1f3a5.svg","moyai":"1f5ff.svg","mrs_claus":"1f936.svg","mrs_claus_tone1":"1f936-1f3fb.svg","mrs_claus_tone2":"1f936-1f3fc.svg","mrs_claus_tone3":"1f936-1f3fd.svg","mrs_claus_tone4":"1f936-1f3fe.svg","mrs_claus_tone5":"1f936-1f3ff.svg","muscle":"1f4aa.svg","muscle_tone1":"1f4aa-1f3fb.svg","muscle_tone2":"1f4aa-1f3fc.svg","muscle_tone3":"1f4aa-1f3fd.svg","muscle_tone4":"1f4aa-1f3fe.svg","muscle_tone5":"1f4aa-1f3ff.svg","mushroom":"1f344.svg","musical_keyboard":"1f3b9.svg","musical_note":"1f3b5.svg","musical_score":"1f3bc.svg","mute":"1f507.svg","nail_care":"1f485.svg","nail_care_tone1":"1f485-1f3fb.svg","nail_care_tone2":"1f485-1f3fc.svg","nail_care_tone3":"1f485-1f3fd.svg","nail_care_tone4":"1f485-1f3fe.svg","nail_care_tone5":"1f485-1f3ff.svg","name_badge":"1f4db.svg","nauseated_face":"1f922.svg","nazar_amulet":"1f9ff.svg","necktie":"1f454.svg","negative_squared_cross_mark":"274e.svg","nerd":"1f913.svg","neutral_face":"1f610.svg","new":"1f195.svg","new_moon":"1f311.svg","new_moon_with_face":"1f31a.svg","newspaper2":"1f5de.svg","newspaper":"1f4f0.svg","ng":"1f196.svg","night_with_stars":"1f303.svg","nine":"39-20e3.svg","no_bell":"1f515.svg","no_bicycles":"1f6b3.svg","no_entry":"26d4.svg","no_entry_sign":"1f6ab.svg","no_mobile_phones":"1f4f5.svg","no_mouth":"1f636.svg","no_pedestrians":"1f6b7.svg","no_smoking":"1f6ad.svg","non-potable_water":"1f6b1.svg","nose":"1f443.svg","nose_tone1":"1f443-1f3fb.svg","nose_tone2":"1f443-1f3fc.svg","nose_tone3":"1f443-1f3fd.svg","nose_tone4":"1f443-1f3fe.svg","nose_tone5":"1f443-1f3ff.svg","notebook":"1f4d3.svg","notebook_with_decorative_cover":"1f4d4.svg","notepad_spiral":"1f5d2.svg","notes":"1f3b6.svg","nut_and_bolt":"1f529.svg","o2":"1f17e.svg","o":"2b55.svg","ocean":"1f30a.svg","octagonal_sign":"1f6d1.svg","octopus":"1f419.svg","oden":"1f362.svg","office":"1f3e2.svg","office_worker":"1f9d1-200d-1f4bc.svg","office_worker_tone1":"1f9d1-1f3fb-200d-1f4bc.svg","office_worker_tone2":"1f9d1-1f3fc-200d-1f4bc.svg","office_worker_tone3":"1f9d1-1f3fd-200d-1f4bc.svg","office_worker_tone4":"1f9d1-1f3fe-200d-1f4bc.svg","office_worker_tone5":"1f9d1-1f3ff-200d-1f4bc.svg","oil":"1f6e2.svg","ok":"1f197.svg","ok_hand":"1f44c.svg","ok_hand_tone1":"1f44c-1f3fb.svg","ok_hand_tone2":"1f44c-1f3fc.svg","ok_hand_tone3":"1f44c-1f3fd.svg","ok_hand_tone4":"1f44c-1f3fe.svg","ok_hand_tone5":"1f44c-1f3ff.svg","older_adult":"1f9d3.svg","older_adult_tone1":"1f9d3-1f3fb.svg","older_adult_tone2":"1f9d3-1f3fc.svg","older_adult_tone3":"1f9d3-1f3fd.svg","older_adult_tone4":"1f9d3-1f3fe.svg","older_adult_tone5":"1f9d3-1f3ff.svg","older_man":"1f474.svg","older_man_tone1":"1f474-1f3fb.svg","older_man_tone2":"1f474-1f3fc.svg","older_man_tone3":"1f474-1f3fd.svg","older_man_tone4":"1f474-1f3fe.svg","older_man_tone5":"1f474-1f3ff.svg","older_woman":"1f475.svg","older_woman_tone1":"1f475-1f3fb.svg","older_woman_tone2":"1f475-1f3fc.svg","older_woman_tone3":"1f475-1f3fd.svg","older_woman_tone4":"1f475-1f3fe.svg","older_woman_tone5":"1f475-1f3ff.svg","om_symbol":"1f549.svg","on":"1f51b.svg","oncoming_automobile":"1f698.svg","oncoming_bus":"1f68d.svg","oncoming_police_car":"1f694.svg","oncoming_taxi":"1f696.svg","one":"31-20e3.svg","one_piece_swimsuit":"1fa71.svg","onion":"1f9c5.svg","open_file_folder":"1f4c2.svg","open_hands":"1f450.svg","open_hands_tone1":"1f450-1f3fb.svg","open_hands_tone2":"1f450-1f3fc.svg","open_hands_tone3":"1f450-1f3fd.svg","open_hands_tone4":"1f450-1f3fe.svg","open_hands_tone5":"1f450-1f3ff.svg","open_mouth":"1f62e.svg","ophiuchus":"26ce.svg","orange_book":"1f4d9.svg","orange_circle":"1f7e0.svg","orange_heart":"1f9e1.svg","orange_square":"1f7e7.svg","orangutan":"1f9a7.svg","orthodox_cross":"2626.svg","otter":"1f9a6.svg","outbox_tray":"1f4e4.svg","owl":"1f989.svg","ox":"1f402.svg","oyster":"1f9aa.svg","package":"1f4e6.svg","page_facing_up":"1f4c4.svg","page_with_curl":"1f4c3.svg","pager":"1f4df.svg","paintbrush":"1f58c.svg","palm_tree":"1f334.svg","palms_up_together":"1f932.svg","palms_up_together_tone1":"1f932-1f3fb.svg","palms_up_together_tone2":"1f932-1f3fc.svg","palms_up_together_tone3":"1f932-1f3fd.svg","palms_up_together_tone4":"1f932-1f3fe.svg","palms_up_together_tone5":"1f932-1f3ff.svg","pancakes":"1f95e.svg","panda_face":"1f43c.svg","paperclip":"1f4ce.svg","paperclips":"1f587.svg","parachute":"1fa82.svg","park":"1f3de.svg","parking":"1f17f.svg","parrot":"1f99c.svg","part_alternation_mark":"303d.svg","partly_sunny":"26c5.svg","partying_face":"1f973.svg","passport_control":"1f6c2.svg","pause_button":"23f8.svg","peace":"262e.svg","peach":"1f351.svg","peacock":"1f99a.svg","peanuts":"1f95c.svg","pear":"1f350.svg","pen_ballpoint":"1f58a.svg","pen_fountain":"1f58b.svg","pencil2":"270f.svg","pencil":"1f4dd.svg","penguin":"1f427.svg","pensive":"1f614.svg","people_holding_hands":"1f9d1-200d-1f91d-200d-1f9d1.svg","people_holding_hands_tone1":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone1_tone2":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone1_tone3":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone1_tone4":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe.svg","people_holding_hands_tone1_tone5":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone2":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone2_tone1":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone2_tone3":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone2_tone4":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe.svg","people_holding_hands_tone2_tone5":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone3":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone3_tone1":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone3_tone2":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone3_tone4":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe.svg","people_holding_hands_tone3_tone5":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone4":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe.svg","people_holding_hands_tone4_tone1":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone4_tone2":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone4_tone3":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone4_tone5":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone5":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff.svg","people_holding_hands_tone5_tone1":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb.svg","people_holding_hands_tone5_tone2":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc.svg","people_holding_hands_tone5_tone3":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd.svg","people_holding_hands_tone5_tone4":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe.svg","people_with_bunny_ears_partying":"1f46f.svg","people_wrestling":"1f93c.svg","performing_arts":"1f3ad.svg","persevere":"1f623.svg","person_bald":"1f9d1-200d-1f9b2.svg","person_biking":"1f6b4.svg","person_biking_tone1":"1f6b4-1f3fb.svg","person_biking_tone2":"1f6b4-1f3fc.svg","person_biking_tone3":"1f6b4-1f3fd.svg","person_biking_tone4":"1f6b4-1f3fe.svg","person_biking_tone5":"1f6b4-1f3ff.svg","person_bouncing_ball":"26f9.svg","person_bouncing_ball_tone1":"26f9-1f3fb.svg","person_bouncing_ball_tone2":"26f9-1f3fc.svg","person_bouncing_ball_tone3":"26f9-1f3fd.svg","person_bouncing_ball_tone4":"26f9-1f3fe.svg","person_bouncing_ball_tone5":"26f9-1f3ff.svg","person_bowing":"1f647.svg","person_bowing_tone1":"1f647-1f3fb.svg","person_bowing_tone2":"1f647-1f3fc.svg","person_bowing_tone3":"1f647-1f3fd.svg","person_bowing_tone4":"1f647-1f3fe.svg","person_bowing_tone5":"1f647-1f3ff.svg","person_climbing":"1f9d7.svg","person_climbing_tone1":"1f9d7-1f3fb.svg","person_climbing_tone2":"1f9d7-1f3fc.svg","person_climbing_tone3":"1f9d7-1f3fd.svg","person_climbing_tone4":"1f9d7-1f3fe.svg","person_climbing_tone5":"1f9d7-1f3ff.svg","person_curly_hair":"1f9d1-200d-1f9b1.svg","person_doing_cartwheel":"1f938.svg","person_doing_cartwheel_tone1":"1f938-1f3fb.svg","person_doing_cartwheel_tone2":"1f938-1f3fc.svg","person_doing_cartwheel_tone3":"1f938-1f3fd.svg","person_doing_cartwheel_tone4":"1f938-1f3fe.svg","person_doing_cartwheel_tone5":"1f938-1f3ff.svg","person_facepalming":"1f926.svg","person_facepalming_tone1":"1f926-1f3fb.svg","person_facepalming_tone2":"1f926-1f3fc.svg","person_facepalming_tone3":"1f926-1f3fd.svg","person_facepalming_tone4":"1f926-1f3fe.svg","person_facepalming_tone5":"1f926-1f3ff.svg","person_fencing":"1f93a.svg","person_frowning":"1f64d.svg","person_frowning_tone1":"1f64d-1f3fb.svg","person_frowning_tone2":"1f64d-1f3fc.svg","person_frowning_tone3":"1f64d-1f3fd.svg","person_frowning_tone4":"1f64d-1f3fe.svg","person_frowning_tone5":"1f64d-1f3ff.svg","person_gesturing_no":"1f645.svg","person_gesturing_no_tone1":"1f645-1f3fb.svg","person_gesturing_no_tone2":"1f645-1f3fc.svg","person_gesturing_no_tone3":"1f645-1f3fd.svg","person_gesturing_no_tone4":"1f645-1f3fe.svg","person_gesturing_no_tone5":"1f645-1f3ff.svg","person_gesturing_ok":"1f646.svg","person_gesturing_ok_tone1":"1f646-1f3fb.svg","person_gesturing_ok_tone2":"1f646-1f3fc.svg","person_gesturing_ok_tone3":"1f646-1f3fd.svg","person_gesturing_ok_tone4":"1f646-1f3fe.svg","person_gesturing_ok_tone5":"1f646-1f3ff.svg","person_getting_haircut":"1f487.svg","person_getting_haircut_tone1":"1f487-1f3fb.svg","person_getting_haircut_tone2":"1f487-1f3fc.svg","person_getting_haircut_tone3":"1f487-1f3fd.svg","person_getting_haircut_tone4":"1f487-1f3fe.svg","person_getting_haircut_tone5":"1f487-1f3ff.svg","person_getting_massage":"1f486.svg","person_getting_massage_tone1":"1f486-1f3fb.svg","person_getting_massage_tone2":"1f486-1f3fc.svg","person_getting_massage_tone3":"1f486-1f3fd.svg","person_getting_massage_tone4":"1f486-1f3fe.svg","person_getting_massage_tone5":"1f486-1f3ff.svg","person_golfing":"1f3cc.svg","person_golfing_tone1":"1f3cc-1f3fb.svg","person_golfing_tone2":"1f3cc-1f3fc.svg","person_golfing_tone3":"1f3cc-1f3fd.svg","person_golfing_tone4":"1f3cc-1f3fe.svg","person_golfing_tone5":"1f3cc-1f3ff.svg","person_in_bed_tone1":"1f6cc-1f3fb.svg","person_in_bed_tone2":"1f6cc-1f3fc.svg","person_in_bed_tone3":"1f6cc-1f3fd.svg","person_in_bed_tone4":"1f6cc-1f3fe.svg","person_in_bed_tone5":"1f6cc-1f3ff.svg","person_in_lotus_position":"1f9d8.svg","person_in_lotus_position_tone1":"1f9d8-1f3fb.svg","person_in_lotus_position_tone2":"1f9d8-1f3fc.svg","person_in_lotus_position_tone3":"1f9d8-1f3fd.svg","person_in_lotus_position_tone4":"1f9d8-1f3fe.svg","person_in_lotus_position_tone5":"1f9d8-1f3ff.svg","person_in_manual_wheelchair":"1f9d1-200d-1f9bd.svg","person_in_manual_wheelchair_tone1":"1f9d1-1f3fb-200d-1f9bd.svg","person_in_manual_wheelchair_tone2":"1f9d1-1f3fc-200d-1f9bd.svg","person_in_manual_wheelchair_tone3":"1f9d1-1f3fd-200d-1f9bd.svg","person_in_manual_wheelchair_tone4":"1f9d1-1f3fe-200d-1f9bd.svg","person_in_manual_wheelchair_tone5":"1f9d1-1f3ff-200d-1f9bd.svg","person_in_motorized_wheelchair":"1f9d1-200d-1f9bc.svg","person_in_motorized_wheelchair_tone1":"1f9d1-1f3fb-200d-1f9bc.svg","person_in_motorized_wheelchair_tone2":"1f9d1-1f3fc-200d-1f9bc.svg","person_in_motorized_wheelchair_tone3":"1f9d1-1f3fd-200d-1f9bc.svg","person_in_motorized_wheelchair_tone4":"1f9d1-1f3fe-200d-1f9bc.svg","person_in_motorized_wheelchair_tone5":"1f9d1-1f3ff-200d-1f9bc.svg","person_in_steamy_room":"1f9d6.svg","person_in_steamy_room_tone1":"1f9d6-1f3fb.svg","person_in_steamy_room_tone2":"1f9d6-1f3fc.svg","person_in_steamy_room_tone3":"1f9d6-1f3fd.svg","person_in_steamy_room_tone4":"1f9d6-1f3fe.svg","person_in_steamy_room_tone5":"1f9d6-1f3ff.svg","person_juggling":"1f939.svg","person_juggling_tone1":"1f939-1f3fb.svg","person_juggling_tone2":"1f939-1f3fc.svg","person_juggling_tone3":"1f939-1f3fd.svg","person_juggling_tone4":"1f939-1f3fe.svg","person_juggling_tone5":"1f939-1f3ff.svg","person_kneeling":"1f9ce.svg","person_kneeling_tone1":"1f9ce-1f3fb.svg","person_kneeling_tone2":"1f9ce-1f3fc.svg","person_kneeling_tone3":"1f9ce-1f3fd.svg","person_kneeling_tone4":"1f9ce-1f3fe.svg","person_kneeling_tone5":"1f9ce-1f3ff.svg","person_lifting_weights":"1f3cb.svg","person_lifting_weights_tone1":"1f3cb-1f3fb.svg","person_lifting_weights_tone2":"1f3cb-1f3fc.svg","person_lifting_weights_tone3":"1f3cb-1f3fd.svg","person_lifting_weights_tone4":"1f3cb-1f3fe.svg","person_lifting_weights_tone5":"1f3cb-1f3ff.svg","person_mountain_biking":"1f6b5.svg","person_mountain_biking_tone1":"1f6b5-1f3fb.svg","person_mountain_biking_tone2":"1f6b5-1f3fc.svg","person_mountain_biking_tone3":"1f6b5-1f3fd.svg","person_mountain_biking_tone4":"1f6b5-1f3fe.svg","person_mountain_biking_tone5":"1f6b5-1f3ff.svg","person_playing_handball":"1f93e.svg","person_playing_handball_tone1":"1f93e-1f3fb.svg","person_playing_handball_tone2":"1f93e-1f3fc.svg","person_playing_handball_tone3":"1f93e-1f3fd.svg","person_playing_handball_tone4":"1f93e-1f3fe.svg","person_playing_handball_tone5":"1f93e-1f3ff.svg","person_playing_water_polo":"1f93d.svg","person_playing_water_polo_tone1":"1f93d-1f3fb.svg","person_playing_water_polo_tone2":"1f93d-1f3fc.svg","person_playing_water_polo_tone3":"1f93d-1f3fd.svg","person_playing_water_polo_tone4":"1f93d-1f3fe.svg","person_playing_water_polo_tone5":"1f93d-1f3ff.svg","person_pouting":"1f64e.svg","person_pouting_tone1":"1f64e-1f3fb.svg","person_pouting_tone2":"1f64e-1f3fc.svg","person_pouting_tone3":"1f64e-1f3fd.svg","person_pouting_tone4":"1f64e-1f3fe.svg","person_pouting_tone5":"1f64e-1f3ff.svg","person_raising_hand":"1f64b.svg","person_raising_hand_tone1":"1f64b-1f3fb.svg","person_raising_hand_tone2":"1f64b-1f3fc.svg","person_raising_hand_tone3":"1f64b-1f3fd.svg","person_raising_hand_tone4":"1f64b-1f3fe.svg","person_raising_hand_tone5":"1f64b-1f3ff.svg","person_red_hair":"1f9d1-200d-1f9b0.svg","person_rowing_boat":"1f6a3.svg","person_rowing_boat_tone1":"1f6a3-1f3fb.svg","person_rowing_boat_tone2":"1f6a3-1f3fc.svg","person_rowing_boat_tone3":"1f6a3-1f3fd.svg","person_rowing_boat_tone4":"1f6a3-1f3fe.svg","person_rowing_boat_tone5":"1f6a3-1f3ff.svg","person_running":"1f3c3.svg","person_running_tone1":"1f3c3-1f3fb.svg","person_running_tone2":"1f3c3-1f3fc.svg","person_running_tone3":"1f3c3-1f3fd.svg","person_running_tone4":"1f3c3-1f3fe.svg","person_running_tone5":"1f3c3-1f3ff.svg","person_shrugging":"1f937.svg","person_shrugging_tone1":"1f937-1f3fb.svg","person_shrugging_tone2":"1f937-1f3fc.svg","person_shrugging_tone3":"1f937-1f3fd.svg","person_shrugging_tone4":"1f937-1f3fe.svg","person_shrugging_tone5":"1f937-1f3ff.svg","person_standing":"1f9cd.svg","person_standing_tone1":"1f9cd-1f3fb.svg","person_standing_tone2":"1f9cd-1f3fc.svg","person_standing_tone3":"1f9cd-1f3fd.svg","person_standing_tone4":"1f9cd-1f3fe.svg","person_standing_tone5":"1f9cd-1f3ff.svg","person_surfing":"1f3c4.svg","person_surfing_tone1":"1f3c4-1f3fb.svg","person_surfing_tone2":"1f3c4-1f3fc.svg","person_surfing_tone3":"1f3c4-1f3fd.svg","person_surfing_tone4":"1f3c4-1f3fe.svg","person_surfing_tone5":"1f3c4-1f3ff.svg","person_swimming":"1f3ca.svg","person_swimming_tone1":"1f3ca-1f3fb.svg","person_swimming_tone2":"1f3ca-1f3fc.svg","person_swimming_tone3":"1f3ca-1f3fd.svg","person_swimming_tone4":"1f3ca-1f3fe.svg","person_swimming_tone5":"1f3ca-1f3ff.svg","person_tipping_hand":"1f481.svg","person_tipping_hand_tone1":"1f481-1f3fb.svg","person_tipping_hand_tone2":"1f481-1f3fc.svg","person_tipping_hand_tone3":"1f481-1f3fd.svg","person_tipping_hand_tone4":"1f481-1f3fe.svg","person_tipping_hand_tone5":"1f481-1f3ff.svg","person_tone1_bald":"1f9d1-1f3fb-200d-1f9b2.svg","person_tone1_curly_hair":"1f9d1-1f3fb-200d-1f9b1.svg","person_tone1_red_hair":"1f9d1-1f3fb-200d-1f9b0.svg","person_tone1_white_hair":"1f9d1-1f3fb-200d-1f9b3.svg","person_tone2_bald":"1f9d1-1f3fc-200d-1f9b2.svg","person_tone2_curly_hair":"1f9d1-1f3fc-200d-1f9b1.svg","person_tone2_red_hair":"1f9d1-1f3fc-200d-1f9b0.svg","person_tone2_white_hair":"1f9d1-1f3fc-200d-1f9b3.svg","person_tone3_bald":"1f9d1-1f3fd-200d-1f9b2.svg","person_tone3_curly_hair":"1f9d1-1f3fd-200d-1f9b1.svg","person_tone3_red_hair":"1f9d1-1f3fd-200d-1f9b0.svg","person_tone3_white_hair":"1f9d1-1f3fd-200d-1f9b3.svg","person_tone4_bald":"1f9d1-1f3fe-200d-1f9b2.svg","person_tone4_curly_hair":"1f9d1-1f3fe-200d-1f9b1.svg","person_tone4_red_hair":"1f9d1-1f3fe-200d-1f9b0.svg","person_tone4_white_hair":"1f9d1-1f3fe-200d-1f9b3.svg","person_tone5_bald":"1f9d1-1f3ff-200d-1f9b2.svg","person_tone5_curly_hair":"1f9d1-1f3ff-200d-1f9b1.svg","person_tone5_red_hair":"1f9d1-1f3ff-200d-1f9b0.svg","person_tone5_white_hair":"1f9d1-1f3ff-200d-1f9b3.svg","person_walking":"1f6b6.svg","person_walking_tone1":"1f6b6-1f3fb.svg","person_walking_tone2":"1f6b6-1f3fc.svg","person_walking_tone3":"1f6b6-1f3fd.svg","person_walking_tone4":"1f6b6-1f3fe.svg","person_walking_tone5":"1f6b6-1f3ff.svg","person_wearing_turban":"1f473.svg","person_wearing_turban_tone1":"1f473-1f3fb.svg","person_wearing_turban_tone2":"1f473-1f3fc.svg","person_wearing_turban_tone3":"1f473-1f3fd.svg","person_wearing_turban_tone4":"1f473-1f3fe.svg","person_wearing_turban_tone5":"1f473-1f3ff.svg","person_white_hair":"1f9d1-200d-1f9b3.svg","person_with_probing_cane":"1f9d1-200d-1f9af.svg","person_with_probing_cane_tone1":"1f9d1-1f3fb-200d-1f9af.svg","person_with_probing_cane_tone2":"1f9d1-1f3fc-200d-1f9af.svg","person_with_probing_cane_tone3":"1f9d1-1f3fd-200d-1f9af.svg","person_with_probing_cane_tone4":"1f9d1-1f3fe-200d-1f9af.svg","person_with_probing_cane_tone5":"1f9d1-1f3ff-200d-1f9af.svg","petri_dish":"1f9eb.svg","pick":"26cf.svg","pie":"1f967.svg","pig2":"1f416.svg","pig":"1f437.svg","pig_nose":"1f43d.svg","pill":"1f48a.svg","pilot":"1f9d1-200d-2708-fe0f.svg","pilot_tone1":"1f9d1-1f3fb-200d-2708-fe0f.svg","pilot_tone2":"1f9d1-1f3fc-200d-2708-fe0f.svg","pilot_tone3":"1f9d1-1f3fd-200d-2708-fe0f.svg","pilot_tone4":"1f9d1-1f3fe-200d-2708-fe0f.svg","pilot_tone5":"1f9d1-1f3ff-200d-2708-fe0f.svg","pinching_hand":"1f90f.svg","pinching_hand_tone1":"1f90f-1f3fb.svg","pinching_hand_tone2":"1f90f-1f3fc.svg","pinching_hand_tone3":"1f90f-1f3fd.svg","pinching_hand_tone4":"1f90f-1f3fe.svg","pinching_hand_tone5":"1f90f-1f3ff.svg","pineapple":"1f34d.svg","ping_pong":"1f3d3.svg","pirate_flag":"1f3f4-200d-2620-fe0f.svg","pisces":"2653.svg","pizza":"1f355.svg","place_of_worship":"1f6d0.svg","play_pause":"23ef.svg","pleading_face":"1f97a.svg","point_down":"1f447.svg","point_down_tone1":"1f447-1f3fb.svg","point_down_tone2":"1f447-1f3fc.svg","point_down_tone3":"1f447-1f3fd.svg","point_down_tone4":"1f447-1f3fe.svg","point_down_tone5":"1f447-1f3ff.svg","point_left":"1f448.svg","point_left_tone1":"1f448-1f3fb.svg","point_left_tone2":"1f448-1f3fc.svg","point_left_tone3":"1f448-1f3fd.svg","point_left_tone4":"1f448-1f3fe.svg","point_left_tone5":"1f448-1f3ff.svg","point_right":"1f449.svg","point_right_tone1":"1f449-1f3fb.svg","point_right_tone2":"1f449-1f3fc.svg","point_right_tone3":"1f449-1f3fd.svg","point_right_tone4":"1f449-1f3fe.svg","point_right_tone5":"1f449-1f3ff.svg","point_up":"261d.svg","point_up_2":"1f446.svg","point_up_2_tone1":"1f446-1f3fb.svg","point_up_2_tone2":"1f446-1f3fc.svg","point_up_2_tone3":"1f446-1f3fd.svg","point_up_2_tone4":"1f446-1f3fe.svg","point_up_2_tone5":"1f446-1f3ff.svg","point_up_tone1":"261d-1f3fb.svg","point_up_tone2":"261d-1f3fc.svg","point_up_tone3":"261d-1f3fd.svg","point_up_tone4":"261d-1f3fe.svg","point_up_tone5":"261d-1f3ff.svg","police_car":"1f693.svg","police_officer":"1f46e.svg","police_officer_tone1":"1f46e-1f3fb.svg","police_officer_tone2":"1f46e-1f3fc.svg","police_officer_tone3":"1f46e-1f3fd.svg","police_officer_tone4":"1f46e-1f3fe.svg","police_officer_tone5":"1f46e-1f3ff.svg","poodle":"1f429.svg","poop":"1f4a9.svg","popcorn":"1f37f.svg","post_office":"1f3e3.svg","postal_horn":"1f4ef.svg","postbox":"1f4ee.svg","potable_water":"1f6b0.svg","potato":"1f954.svg","pouch":"1f45d.svg","poultry_leg":"1f357.svg","pound":"1f4b7.svg","pouting_cat":"1f63e.svg","pray":"1f64f.svg","pray_tone1":"1f64f-1f3fb.svg","pray_tone2":"1f64f-1f3fc.svg","pray_tone3":"1f64f-1f3fd.svg","pray_tone4":"1f64f-1f3fe.svg","pray_tone5":"1f64f-1f3ff.svg","prayer_beads":"1f4ff.svg","pregnant_woman":"1f930.svg","pregnant_woman_tone1":"1f930-1f3fb.svg","pregnant_woman_tone2":"1f930-1f3fc.svg","pregnant_woman_tone3":"1f930-1f3fd.svg","pregnant_woman_tone4":"1f930-1f3fe.svg","pregnant_woman_tone5":"1f930-1f3ff.svg","pretzel":"1f968.svg","prince":"1f934.svg","prince_tone1":"1f934-1f3fb.svg","prince_tone2":"1f934-1f3fc.svg","prince_tone3":"1f934-1f3fd.svg","prince_tone4":"1f934-1f3fe.svg","prince_tone5":"1f934-1f3ff.svg","princess":"1f478.svg","princess_tone1":"1f478-1f3fb.svg","princess_tone2":"1f478-1f3fc.svg","princess_tone3":"1f478-1f3fd.svg","princess_tone4":"1f478-1f3fe.svg","princess_tone5":"1f478-1f3ff.svg","printer":"1f5a8.svg","probing_cane":"1f9af.svg","projector":"1f4fd.svg","punch":"1f44a.svg","punch_tone1":"1f44a-1f3fb.svg","punch_tone2":"1f44a-1f3fc.svg","punch_tone3":"1f44a-1f3fd.svg","punch_tone4":"1f44a-1f3fe.svg","punch_tone5":"1f44a-1f3ff.svg","purple_circle":"1f7e3.svg","purple_heart":"1f49c.svg","purple_square":"1f7ea.svg","purse":"1f45b.svg","pushpin":"1f4cc.svg","put_litter_in_its_place":"1f6ae.svg","question":"2753.svg","rabbit2":"1f407.svg","rabbit":"1f430.svg","raccoon":"1f99d.svg","race_car":"1f3ce.svg","racehorse":"1f40e.svg","radio":"1f4fb.svg","radio_button":"1f518.svg","radioactive":"2622.svg","rage":"1f621.svg","railway_car":"1f683.svg","railway_track":"1f6e4.svg","rainbow":"1f308.svg","rainbow_flag":"1f3f3-fe0f-200d-1f308.svg","raised_back_of_hand":"1f91a.svg","raised_back_of_hand_tone1":"1f91a-1f3fb.svg","raised_back_of_hand_tone2":"1f91a-1f3fc.svg","raised_back_of_hand_tone3":"1f91a-1f3fd.svg","raised_back_of_hand_tone4":"1f91a-1f3fe.svg","raised_back_of_hand_tone5":"1f91a-1f3ff.svg","raised_hand":"270b.svg","raised_hand_tone1":"270b-1f3fb.svg","raised_hand_tone2":"270b-1f3fc.svg","raised_hand_tone3":"270b-1f3fd.svg","raised_hand_tone4":"270b-1f3fe.svg","raised_hand_tone5":"270b-1f3ff.svg","raised_hands":"1f64c.svg","raised_hands_tone1":"1f64c-1f3fb.svg","raised_hands_tone2":"1f64c-1f3fc.svg","raised_hands_tone3":"1f64c-1f3fd.svg","raised_hands_tone4":"1f64c-1f3fe.svg","raised_hands_tone5":"1f64c-1f3ff.svg","ram":"1f40f.svg","ramen":"1f35c.svg","rat":"1f400.svg","razor":"1fa92.svg","receipt":"1f9fe.svg","record_button":"23fa.svg","recycle":"267b.svg","red_car":"1f697.svg","red_circle":"1f534.svg","red_envelope":"1f9e7.svg","red_haired":"1f9b0.svg","red_square":"1f7e5.svg","regional_indicator_a":"1f1e6.svg","regional_indicator_b":"1f1e7.svg","regional_indicator_c":"1f1e8.svg","regional_indicator_d":"1f1e9.svg","regional_indicator_e":"1f1ea.svg","regional_indicator_f":"1f1eb.svg","regional_indicator_g":"1f1ec.svg","regional_indicator_h":"1f1ed.svg","regional_indicator_i":"1f1ee.svg","regional_indicator_j":"1f1ef.svg","regional_indicator_k":"1f1f0.svg","regional_indicator_l":"1f1f1.svg","regional_indicator_m":"1f1f2.svg","regional_indicator_n":"1f1f3.svg","regional_indicator_o":"1f1f4.svg","regional_indicator_p":"1f1f5.svg","regional_indicator_q":"1f1f6.svg","regional_indicator_r":"1f1f7.svg","regional_indicator_s":"1f1f8.svg","regional_indicator_t":"1f1f9.svg","regional_indicator_u":"1f1fa.svg","regional_indicator_v":"1f1fb.svg","regional_indicator_w":"1f1fc.svg","regional_indicator_x":"1f1fd.svg","regional_indicator_y":"1f1fe.svg","regional_indicator_z":"1f1ff.svg","registered":"ae.svg","relaxed":"263a.svg","relieved":"1f60c.svg","reminder_ribbon":"1f397.svg","repeat":"1f501.svg","repeat_one":"1f502.svg","restroom":"1f6bb.svg","revolving_hearts":"1f49e.svg","rewind":"23ea.svg","rhino":"1f98f.svg","ribbon":"1f380.svg","rice":"1f35a.svg","rice_ball":"1f359.svg","rice_cracker":"1f358.svg","rice_scene":"1f391.svg","right_facing_fist":"1f91c.svg","right_facing_fist_tone1":"1f91c-1f3fb.svg","right_facing_fist_tone2":"1f91c-1f3fc.svg","right_facing_fist_tone3":"1f91c-1f3fd.svg","right_facing_fist_tone4":"1f91c-1f3fe.svg","right_facing_fist_tone5":"1f91c-1f3ff.svg","ring":"1f48d.svg","ringed_planet":"1fa90.svg","robot":"1f916.svg","rocket":"1f680.svg","rofl":"1f923.svg","roll_of_paper":"1f9fb.svg","roller_coaster":"1f3a2.svg","rolling_eyes":"1f644.svg","rooster":"1f413.svg","rose":"1f339.svg","rosette":"1f3f5.svg","rotating_light":"1f6a8.svg","round_pushpin":"1f4cd.svg","rugby_football":"1f3c9.svg","running_shirt_with_sash":"1f3bd.svg","sa":"1f202.svg","safety_pin":"1f9f7.svg","safety_vest":"1f9ba.svg","sagittarius":"2650.svg","sailboat":"26f5.svg","sake":"1f376.svg","salad":"1f957.svg","salt":"1f9c2.svg","sandal":"1f461.svg","sandwich":"1f96a.svg","santa":"1f385.svg","santa_tone1":"1f385-1f3fb.svg","santa_tone2":"1f385-1f3fc.svg","santa_tone3":"1f385-1f3fd.svg","santa_tone4":"1f385-1f3fe.svg","santa_tone5":"1f385-1f3ff.svg","sari":"1f97b.svg","satellite":"1f4e1.svg","satellite_orbital":"1f6f0.svg","sauropod":"1f995.svg","saxophone":"1f3b7.svg","scales":"2696.svg","scarf":"1f9e3.svg","school":"1f3eb.svg","school_satchel":"1f392.svg","scientist":"1f9d1-200d-1f52c.svg","scientist_tone1":"1f9d1-1f3fb-200d-1f52c.svg","scientist_tone2":"1f9d1-1f3fc-200d-1f52c.svg","scientist_tone3":"1f9d1-1f3fd-200d-1f52c.svg","scientist_tone4":"1f9d1-1f3fe-200d-1f52c.svg","scientist_tone5":"1f9d1-1f3ff-200d-1f52c.svg","scissors":"2702.svg","scooter":"1f6f4.svg","scorpion":"1f982.svg","scorpius":"264f.svg","scotland":"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg","scream":"1f631.svg","scream_cat":"1f640.svg","scroll":"1f4dc.svg","seat":"1f4ba.svg","second_place":"1f948.svg","secret":"3299.svg","see_no_evil":"1f648.svg","seedling":"1f331.svg","selfie":"1f933.svg","selfie_tone1":"1f933-1f3fb.svg","selfie_tone2":"1f933-1f3fc.svg","selfie_tone3":"1f933-1f3fd.svg","selfie_tone4":"1f933-1f3fe.svg","selfie_tone5":"1f933-1f3ff.svg","service_dog":"1f415-200d-1f9ba.svg","seven":"37-20e3.svg","shallow_pan_of_food":"1f958.svg","shamrock":"2618.svg","shark":"1f988.svg","shaved_ice":"1f367.svg","sheep":"1f411.svg","shell":"1f41a.svg","shibuya":"e50a.svg","shield":"1f6e1.svg","shinto_shrine":"26e9.svg","ship":"1f6a2.svg","shirt":"1f455.svg","shopping_bags":"1f6cd.svg","shopping_cart":"1f6d2.svg","shorts":"1fa73.svg","shower":"1f6bf.svg","shrimp":"1f990.svg","shushing_face":"1f92b.svg","signal_strength":"1f4f6.svg","singer":"1f9d1-200d-1f3a4.svg","singer_tone1":"1f9d1-1f3fb-200d-1f3a4.svg","singer_tone2":"1f9d1-1f3fc-200d-1f3a4.svg","singer_tone3":"1f9d1-1f3fd-200d-1f3a4.svg","singer_tone4":"1f9d1-1f3fe-200d-1f3a4.svg","singer_tone5":"1f9d1-1f3ff-200d-1f3a4.svg","six":"36-20e3.svg","six_pointed_star":"1f52f.svg","skateboard":"1f6f9.svg","ski":"1f3bf.svg","skier":"26f7.svg","skier_tone1":"26f7-1f3fb.svg","skier_tone2":"26f7-1f3fc.svg","skier_tone3":"26f7-1f3fd.svg","skier_tone4":"26f7-1f3fe.svg","skier_tone5":"26f7-1f3ff.svg","skull":"1f480.svg","skull_crossbones":"2620.svg","skunk":"1f9a8.svg","sled":"1f6f7.svg","sleeping":"1f634.svg","sleeping_accommodation":"1f6cc.svg","sleepy":"1f62a.svg","slight_frown":"1f641.svg","slight_smile":"1f642.svg","slot_machine":"1f3b0.svg","sloth":"1f9a5.svg","small_blue_diamond":"1f539.svg","small_orange_diamond":"1f538.svg","small_red_triangle":"1f53a.svg","small_red_triangle_down":"1f53b.svg","smile":"1f604.svg","smile_cat":"1f638.svg","smiley":"1f603.svg","smiley_cat":"1f63a.svg","smiling_face_with_3_hearts":"1f970.svg","smiling_imp":"1f608.svg","smirk":"1f60f.svg","smirk_cat":"1f63c.svg","smoking":"1f6ac.svg","snail":"1f40c.svg","snake":"1f40d.svg","sneezing_face":"1f927.svg","snowboarder":"1f3c2.svg","snowboarder_tone1":"1f3c2-1f3fb.svg","snowboarder_tone2":"1f3c2-1f3fc.svg","snowboarder_tone3":"1f3c2-1f3fd.svg","snowboarder_tone4":"1f3c2-1f3fe.svg","snowboarder_tone5":"1f3c2-1f3ff.svg","snowflake":"2744.svg","snowman2":"2603.svg","snowman":"26c4.svg","soap":"1f9fc.svg","sob":"1f62d.svg","soccer":"26bd.svg","socks":"1f9e6.svg","softball":"1f94e.svg","soon":"1f51c.svg","sos":"1f198.svg","sound":"1f509.svg","space_invader":"1f47e.svg","spades":"2660.svg","spaghetti":"1f35d.svg","sparkle":"2747.svg","sparkler":"1f387.svg","sparkles":"2728.svg","sparkling_heart":"1f496.svg","speak_no_evil":"1f64a.svg","speaker":"1f508.svg","speaking_head":"1f5e3.svg","speech_balloon":"1f4ac.svg","speech_left":"1f5e8.svg","speedboat":"1f6a4.svg","spider":"1f577.svg","spider_web":"1f578.svg","sponge":"1f9fd.svg","spoon":"1f944.svg","squeeze_bottle":"1f9f4.svg","squid":"1f991.svg","stadium":"1f3df.svg","star2":"1f31f.svg","star":"2b50.svg","star_and_crescent":"262a.svg","star_of_david":"2721.svg","star_struck":"1f929.svg","stars":"1f320.svg","station":"1f689.svg","statue_of_liberty":"1f5fd.svg","steam_locomotive":"1f682.svg","stethoscope":"1fa7a.svg","stew":"1f372.svg","stop_button":"23f9.svg","stopwatch":"23f1.svg","straight_ruler":"1f4cf.svg","strawberry":"1f353.svg","stuck_out_tongue":"1f61b.svg","stuck_out_tongue_closed_eyes":"1f61d.svg","stuck_out_tongue_winking_eye":"1f61c.svg","student":"1f9d1-200d-1f393.svg","student_tone1":"1f9d1-1f3fb-200d-1f393.svg","student_tone2":"1f9d1-1f3fc-200d-1f393.svg","student_tone3":"1f9d1-1f3fd-200d-1f393.svg","student_tone4":"1f9d1-1f3fe-200d-1f393.svg","student_tone5":"1f9d1-1f3ff-200d-1f393.svg","stuffed_flatbread":"1f959.svg","sun_with_face":"1f31e.svg","sunflower":"1f33b.svg","sunglasses":"1f60e.svg","sunny":"2600.svg","sunrise":"1f305.svg","sunrise_over_mountains":"1f304.svg","superhero":"1f9b8.svg","superhero_tone1":"1f9b8-1f3fb.svg","superhero_tone2":"1f9b8-1f3fc.svg","superhero_tone3":"1f9b8-1f3fd.svg","superhero_tone4":"1f9b8-1f3fe.svg","superhero_tone5":"1f9b8-1f3ff.svg","supervillain":"1f9b9.svg","supervillain_tone1":"1f9b9-1f3fb.svg","supervillain_tone2":"1f9b9-1f3fc.svg","supervillain_tone3":"1f9b9-1f3fd.svg","supervillain_tone4":"1f9b9-1f3fe.svg","supervillain_tone5":"1f9b9-1f3ff.svg","sushi":"1f363.svg","suspension_railway":"1f69f.svg","swan":"1f9a2.svg","sweat":"1f613.svg","sweat_drops":"1f4a6.svg","sweat_smile":"1f605.svg","sweet_potato":"1f360.svg","symbols":"1f523.svg","synagogue":"1f54d.svg","syringe":"1f489.svg","t_rex":"1f996.svg","taco":"1f32e.svg","tada":"1f389.svg","takeout_box":"1f961.svg","tanabata_tree":"1f38b.svg","tangerine":"1f34a.svg","taurus":"2649.svg","taxi":"1f695.svg","tea":"1f375.svg","teacher":"1f9d1-200d-1f3eb.svg","teacher_tone1":"1f9d1-1f3fb-200d-1f3eb.svg","teacher_tone2":"1f9d1-1f3fc-200d-1f3eb.svg","teacher_tone3":"1f9d1-1f3fd-200d-1f3eb.svg","teacher_tone4":"1f9d1-1f3fe-200d-1f3eb.svg","teacher_tone5":"1f9d1-1f3ff-200d-1f3eb.svg","technologist":"1f9d1-200d-1f4bb.svg","technologist_tone1":"1f9d1-1f3fb-200d-1f4bb.svg","technologist_tone2":"1f9d1-1f3fc-200d-1f4bb.svg","technologist_tone3":"1f9d1-1f3fd-200d-1f4bb.svg","technologist_tone4":"1f9d1-1f3fe-200d-1f4bb.svg","technologist_tone5":"1f9d1-1f3ff-200d-1f4bb.svg","teddy_bear":"1f9f8.svg","telephone":"260e.svg","telephone_receiver":"1f4de.svg","telescope":"1f52d.svg","tennis":"1f3be.svg","tent":"26fa.svg","test_tube":"1f9ea.svg","thermometer":"1f321.svg","thermometer_face":"1f912.svg","thinking":"1f914.svg","third_place":"1f949.svg","thought_balloon":"1f4ad.svg","thread":"1f9f5.svg","three":"33-20e3.svg","thumbsdown":"1f44e.svg","thumbsdown_tone1":"1f44e-1f3fb.svg","thumbsdown_tone2":"1f44e-1f3fc.svg","thumbsdown_tone3":"1f44e-1f3fd.svg","thumbsdown_tone4":"1f44e-1f3fe.svg","thumbsdown_tone5":"1f44e-1f3ff.svg","thumbsup":"1f44d.svg","thumbsup_tone1":"1f44d-1f3fb.svg","thumbsup_tone2":"1f44d-1f3fc.svg","thumbsup_tone3":"1f44d-1f3fd.svg","thumbsup_tone4":"1f44d-1f3fe.svg","thumbsup_tone5":"1f44d-1f3ff.svg","thunder_cloud_rain":"26c8.svg","ticket":"1f3ab.svg","tickets":"1f39f.svg","tiger2":"1f405.svg","tiger":"1f42f.svg","timer":"23f2.svg","tired_face":"1f62b.svg","tm":"2122.svg","toilet":"1f6bd.svg","tokyo_tower":"1f5fc.svg","tomato":"1f345.svg","tone1":"1f3fb.svg","tone2":"1f3fc.svg","tone3":"1f3fd.svg","tone4":"1f3fe.svg","tone5":"1f3ff.svg","tongue":"1f445.svg","toolbox":"1f9f0.svg","tools":"1f6e0.svg","tooth":"1f9b7.svg","top":"1f51d.svg","tophat":"1f3a9.svg","track_next":"23ed.svg","track_previous":"23ee.svg","trackball":"1f5b2.svg","tractor":"1f69c.svg","traffic_light":"1f6a5.svg","train2":"1f686.svg","train":"1f68b.svg","tram":"1f68a.svg","transgender_flag":"1f3f3-fe0f-200d-26a7-fe0f.svg","transgender_sign":"26a7.svg","triangular_flag_on_post":"1f6a9.svg","triangular_ruler":"1f4d0.svg","trident":"1f531.svg","triumph":"1f624.svg","trolleybus":"1f68e.svg","trophy":"1f3c6.svg","tropical_drink":"1f379.svg","tropical_fish":"1f420.svg","truck":"1f69a.svg","trumpet":"1f3ba.svg","tulip":"1f337.svg","tumbler_glass":"1f943.svg","turkey":"1f983.svg","turtle":"1f422.svg","tv":"1f4fa.svg","twisted_rightwards_arrows":"1f500.svg","two":"32-20e3.svg","two_hearts":"1f495.svg","two_men_holding_hands":"1f46c.svg","two_women_holding_hands":"1f46d.svg","u5272":"1f239.svg","u5408":"1f234.svg","u55b6":"1f23a.svg","u6307":"1f22f.svg","u6708":"1f237.svg","u6709":"1f236.svg","u6e80":"1f235.svg","u7121":"1f21a.svg","u7533":"1f238.svg","u7981":"1f232.svg","u7a7a":"1f233.svg","umbrella2":"2602.svg","umbrella":"2614.svg","unamused":"1f612.svg","underage":"1f51e.svg","unicorn":"1f984.svg","united_nations":"1f1fa-1f1f3.svg","unlock":"1f513.svg","up":"1f199.svg","upside_down":"1f643.svg","urn":"26b1.svg","v":"270c.svg","v_tone1":"270c-1f3fb.svg","v_tone2":"270c-1f3fc.svg","v_tone3":"270c-1f3fd.svg","v_tone4":"270c-1f3fe.svg","v_tone5":"270c-1f3ff.svg","vampire":"1f9db.svg","vampire_tone1":"1f9db-1f3fb.svg","vampire_tone2":"1f9db-1f3fc.svg","vampire_tone3":"1f9db-1f3fd.svg","vampire_tone4":"1f9db-1f3fe.svg","vampire_tone5":"1f9db-1f3ff.svg","vertical_traffic_light":"1f6a6.svg","vhs":"1f4fc.svg","vibration_mode":"1f4f3.svg","video_camera":"1f4f9.svg","video_game":"1f3ae.svg","violin":"1f3bb.svg","virgo":"264d.svg","volcano":"1f30b.svg","volleyball":"1f3d0.svg","vs":"1f19a.svg","vulcan":"1f596.svg","vulcan_tone1":"1f596-1f3fb.svg","vulcan_tone2":"1f596-1f3fc.svg","vulcan_tone3":"1f596-1f3fd.svg","vulcan_tone4":"1f596-1f3fe.svg","vulcan_tone5":"1f596-1f3ff.svg","waffle":"1f9c7.svg","wales":"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg","waning_crescent_moon":"1f318.svg","waning_gibbous_moon":"1f316.svg","warning":"26a0.svg","wastebasket":"1f5d1.svg","watch":"231a.svg","water_buffalo":"1f403.svg","watermelon":"1f349.svg","wave":"1f44b.svg","wave_tone1":"1f44b-1f3fb.svg","wave_tone2":"1f44b-1f3fc.svg","wave_tone3":"1f44b-1f3fd.svg","wave_tone4":"1f44b-1f3fe.svg","wave_tone5":"1f44b-1f3ff.svg","wavy_dash":"3030.svg","waxing_crescent_moon":"1f312.svg","waxing_gibbous_moon":"1f314.svg","wc":"1f6be.svg","weary":"1f629.svg","wedding":"1f492.svg","whale2":"1f40b.svg","whale":"1f433.svg","wheel_of_dharma":"2638.svg","wheelchair":"267f.svg","white_check_mark":"2705.svg","white_circle":"26aa.svg","white_flower":"1f4ae.svg","white_haired":"1f9b3.svg","white_heart":"1f90d.svg","white_large_square":"2b1c.svg","white_medium_small_square":"25fd.svg","white_medium_square":"25fb.svg","white_small_square":"25ab.svg","white_square_button":"1f533.svg","white_sun_cloud":"1f325.svg","white_sun_rain_cloud":"1f326.svg","white_sun_small_cloud":"1f324.svg","wilted_rose":"1f940.svg","wind_blowing_face":"1f32c.svg","wind_chime":"1f390.svg","wine_glass":"1f377.svg","wink":"1f609.svg","wolf":"1f43a.svg","woman":"1f469.svg","woman_and_man_holding_hands_tone1":"1f46b-1f3fb.svg","woman_and_man_holding_hands_tone1_tone2":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg","woman_and_man_holding_hands_tone1_tone3":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg","woman_and_man_holding_hands_tone1_tone4":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg","woman_and_man_holding_hands_tone1_tone5":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg","woman_and_man_holding_hands_tone2":"1f46b-1f3fc.svg","woman_and_man_holding_hands_tone2_tone1":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg","woman_and_man_holding_hands_tone2_tone3":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg","woman_and_man_holding_hands_tone2_tone4":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg","woman_and_man_holding_hands_tone2_tone5":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg","woman_and_man_holding_hands_tone3":"1f46b-1f3fd.svg","woman_and_man_holding_hands_tone3_tone1":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg","woman_and_man_holding_hands_tone3_tone2":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg","woman_and_man_holding_hands_tone3_tone4":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg","woman_and_man_holding_hands_tone3_tone5":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg","woman_and_man_holding_hands_tone4":"1f46b-1f3fe.svg","woman_and_man_holding_hands_tone4_tone1":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg","woman_and_man_holding_hands_tone4_tone2":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg","woman_and_man_holding_hands_tone4_tone3":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg","woman_and_man_holding_hands_tone4_tone5":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg","woman_and_man_holding_hands_tone5":"1f46b-1f3ff.svg","woman_and_man_holding_hands_tone5_tone1":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg","woman_and_man_holding_hands_tone5_tone2":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg","woman_and_man_holding_hands_tone5_tone3":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg","woman_and_man_holding_hands_tone5_tone4":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg","woman_artist":"1f469-200d-1f3a8.svg","woman_artist_tone1":"1f469-1f3fb-200d-1f3a8.svg","woman_artist_tone2":"1f469-1f3fc-200d-1f3a8.svg","woman_artist_tone3":"1f469-1f3fd-200d-1f3a8.svg","woman_artist_tone4":"1f469-1f3fe-200d-1f3a8.svg","woman_artist_tone5":"1f469-1f3ff-200d-1f3a8.svg","woman_astronaut":"1f469-200d-1f680.svg","woman_astronaut_tone1":"1f469-1f3fb-200d-1f680.svg","woman_astronaut_tone2":"1f469-1f3fc-200d-1f680.svg","woman_astronaut_tone3":"1f469-1f3fd-200d-1f680.svg","woman_astronaut_tone4":"1f469-1f3fe-200d-1f680.svg","woman_astronaut_tone5":"1f469-1f3ff-200d-1f680.svg","woman_bald":"1f469-200d-1f9b2.svg","woman_bald_tone1":"1f469-1f3fb-200d-1f9b2.svg","woman_bald_tone2":"1f469-1f3fc-200d-1f9b2.svg","woman_bald_tone3":"1f469-1f3fd-200d-1f9b2.svg","woman_bald_tone4":"1f469-1f3fe-200d-1f9b2.svg","woman_bald_tone5":"1f469-1f3ff-200d-1f9b2.svg","woman_biking":"1f6b4-200d-2640-fe0f.svg","woman_biking_tone1":"1f6b4-1f3fb-200d-2640-fe0f.svg","woman_biking_tone2":"1f6b4-1f3fc-200d-2640-fe0f.svg","woman_biking_tone3":"1f6b4-1f3fd-200d-2640-fe0f.svg","woman_biking_tone4":"1f6b4-1f3fe-200d-2640-fe0f.svg","woman_biking_tone5":"1f6b4-1f3ff-200d-2640-fe0f.svg","woman_bouncing_ball":"26f9-fe0f-200d-2640-fe0f.svg","woman_bouncing_ball_tone1":"26f9-1f3fb-200d-2640-fe0f.svg","woman_bouncing_ball_tone2":"26f9-1f3fc-200d-2640-fe0f.svg","woman_bouncing_ball_tone3":"26f9-1f3fd-200d-2640-fe0f.svg","woman_bouncing_ball_tone4":"26f9-1f3fe-200d-2640-fe0f.svg","woman_bouncing_ball_tone5":"26f9-1f3ff-200d-2640-fe0f.svg","woman_bowing":"1f647-200d-2640-fe0f.svg","woman_bowing_tone1":"1f647-1f3fb-200d-2640-fe0f.svg","woman_bowing_tone2":"1f647-1f3fc-200d-2640-fe0f.svg","woman_bowing_tone3":"1f647-1f3fd-200d-2640-fe0f.svg","woman_bowing_tone4":"1f647-1f3fe-200d-2640-fe0f.svg","woman_bowing_tone5":"1f647-1f3ff-200d-2640-fe0f.svg","woman_cartwheeling":"1f938-200d-2640-fe0f.svg","woman_cartwheeling_tone1":"1f938-1f3fb-200d-2640-fe0f.svg","woman_cartwheeling_tone2":"1f938-1f3fc-200d-2640-fe0f.svg","woman_cartwheeling_tone3":"1f938-1f3fd-200d-2640-fe0f.svg","woman_cartwheeling_tone4":"1f938-1f3fe-200d-2640-fe0f.svg","woman_cartwheeling_tone5":"1f938-1f3ff-200d-2640-fe0f.svg","woman_climbing":"1f9d7-200d-2640-fe0f.svg","woman_climbing_tone1":"1f9d7-1f3fb-200d-2640-fe0f.svg","woman_climbing_tone2":"1f9d7-1f3fc-200d-2640-fe0f.svg","woman_climbing_tone3":"1f9d7-1f3fd-200d-2640-fe0f.svg","woman_climbing_tone4":"1f9d7-1f3fe-200d-2640-fe0f.svg","woman_climbing_tone5":"1f9d7-1f3ff-200d-2640-fe0f.svg","woman_construction_worker":"1f477-200d-2640-fe0f.svg","woman_construction_worker_tone1":"1f477-1f3fb-200d-2640-fe0f.svg","woman_construction_worker_tone2":"1f477-1f3fc-200d-2640-fe0f.svg","woman_construction_worker_tone3":"1f477-1f3fd-200d-2640-fe0f.svg","woman_construction_worker_tone4":"1f477-1f3fe-200d-2640-fe0f.svg","woman_construction_worker_tone5":"1f477-1f3ff-200d-2640-fe0f.svg","woman_cook":"1f469-200d-1f373.svg","woman_cook_tone1":"1f469-1f3fb-200d-1f373.svg","woman_cook_tone2":"1f469-1f3fc-200d-1f373.svg","woman_cook_tone3":"1f469-1f3fd-200d-1f373.svg","woman_cook_tone4":"1f469-1f3fe-200d-1f373.svg","woman_cook_tone5":"1f469-1f3ff-200d-1f373.svg","woman_curly_haired":"1f469-200d-1f9b1.svg","woman_curly_haired_tone1":"1f469-1f3fb-200d-1f9b1.svg","woman_curly_haired_tone2":"1f469-1f3fc-200d-1f9b1.svg","woman_curly_haired_tone3":"1f469-1f3fd-200d-1f9b1.svg","woman_curly_haired_tone4":"1f469-1f3fe-200d-1f9b1.svg","woman_curly_haired_tone5":"1f469-1f3ff-200d-1f9b1.svg","woman_detective":"1f575-fe0f-200d-2640-fe0f.svg","woman_detective_tone1":"1f575-1f3fb-200d-2640-fe0f.svg","woman_detective_tone2":"1f575-1f3fc-200d-2640-fe0f.svg","woman_detective_tone3":"1f575-1f3fd-200d-2640-fe0f.svg","woman_detective_tone4":"1f575-1f3fe-200d-2640-fe0f.svg","woman_detective_tone5":"1f575-1f3ff-200d-2640-fe0f.svg","woman_elf":"1f9dd-200d-2640-fe0f.svg","woman_elf_tone1":"1f9dd-1f3fb-200d-2640-fe0f.svg","woman_elf_tone2":"1f9dd-1f3fc-200d-2640-fe0f.svg","woman_elf_tone3":"1f9dd-1f3fd-200d-2640-fe0f.svg","woman_elf_tone4":"1f9dd-1f3fe-200d-2640-fe0f.svg","woman_elf_tone5":"1f9dd-1f3ff-200d-2640-fe0f.svg","woman_facepalming":"1f926-200d-2640-fe0f.svg","woman_facepalming_tone1":"1f926-1f3fb-200d-2640-fe0f.svg","woman_facepalming_tone2":"1f926-1f3fc-200d-2640-fe0f.svg","woman_facepalming_tone3":"1f926-1f3fd-200d-2640-fe0f.svg","woman_facepalming_tone4":"1f926-1f3fe-200d-2640-fe0f.svg","woman_facepalming_tone5":"1f926-1f3ff-200d-2640-fe0f.svg","woman_factory_worker":"1f469-200d-1f3ed.svg","woman_factory_worker_tone1":"1f469-1f3fb-200d-1f3ed.svg","woman_factory_worker_tone2":"1f469-1f3fc-200d-1f3ed.svg","woman_factory_worker_tone3":"1f469-1f3fd-200d-1f3ed.svg","woman_factory_worker_tone4":"1f469-1f3fe-200d-1f3ed.svg","woman_factory_worker_tone5":"1f469-1f3ff-200d-1f3ed.svg","woman_fairy":"1f9da-200d-2640-fe0f.svg","woman_fairy_tone1":"1f9da-1f3fb-200d-2640-fe0f.svg","woman_fairy_tone2":"1f9da-1f3fc-200d-2640-fe0f.svg","woman_fairy_tone3":"1f9da-1f3fd-200d-2640-fe0f.svg","woman_fairy_tone4":"1f9da-1f3fe-200d-2640-fe0f.svg","woman_fairy_tone5":"1f9da-1f3ff-200d-2640-fe0f.svg","woman_farmer":"1f469-200d-1f33e.svg","woman_farmer_tone1":"1f469-1f3fb-200d-1f33e.svg","woman_farmer_tone2":"1f469-1f3fc-200d-1f33e.svg","woman_farmer_tone3":"1f469-1f3fd-200d-1f33e.svg","woman_farmer_tone4":"1f469-1f3fe-200d-1f33e.svg","woman_farmer_tone5":"1f469-1f3ff-200d-1f33e.svg","woman_firefighter":"1f469-200d-1f692.svg","woman_firefighter_tone1":"1f469-1f3fb-200d-1f692.svg","woman_firefighter_tone2":"1f469-1f3fc-200d-1f692.svg","woman_firefighter_tone3":"1f469-1f3fd-200d-1f692.svg","woman_firefighter_tone4":"1f469-1f3fe-200d-1f692.svg","woman_firefighter_tone5":"1f469-1f3ff-200d-1f692.svg","woman_frowning":"1f64d-200d-2640-fe0f.svg","woman_frowning_tone1":"1f64d-1f3fb-200d-2640-fe0f.svg","woman_frowning_tone2":"1f64d-1f3fc-200d-2640-fe0f.svg","woman_frowning_tone3":"1f64d-1f3fd-200d-2640-fe0f.svg","woman_frowning_tone4":"1f64d-1f3fe-200d-2640-fe0f.svg","woman_frowning_tone5":"1f64d-1f3ff-200d-2640-fe0f.svg","woman_genie":"1f9de-200d-2640-fe0f.svg","woman_gesturing_no":"1f645-200d-2640-fe0f.svg","woman_gesturing_no_tone1":"1f645-1f3fb-200d-2640-fe0f.svg","woman_gesturing_no_tone2":"1f645-1f3fc-200d-2640-fe0f.svg","woman_gesturing_no_tone3":"1f645-1f3fd-200d-2640-fe0f.svg","woman_gesturing_no_tone4":"1f645-1f3fe-200d-2640-fe0f.svg","woman_gesturing_no_tone5":"1f645-1f3ff-200d-2640-fe0f.svg","woman_gesturing_ok":"1f646-200d-2640-fe0f.svg","woman_gesturing_ok_tone1":"1f646-1f3fb-200d-2640-fe0f.svg","woman_gesturing_ok_tone2":"1f646-1f3fc-200d-2640-fe0f.svg","woman_gesturing_ok_tone3":"1f646-1f3fd-200d-2640-fe0f.svg","woman_gesturing_ok_tone4":"1f646-1f3fe-200d-2640-fe0f.svg","woman_gesturing_ok_tone5":"1f646-1f3ff-200d-2640-fe0f.svg","woman_getting_face_massage":"1f486-200d-2640-fe0f.svg","woman_getting_face_massage_tone1":"1f486-1f3fb-200d-2640-fe0f.svg","woman_getting_face_massage_tone2":"1f486-1f3fc-200d-2640-fe0f.svg","woman_getting_face_massage_tone3":"1f486-1f3fd-200d-2640-fe0f.svg","woman_getting_face_massage_tone4":"1f486-1f3fe-200d-2640-fe0f.svg","woman_getting_face_massage_tone5":"1f486-1f3ff-200d-2640-fe0f.svg","woman_getting_haircut":"1f487-200d-2640-fe0f.svg","woman_getting_haircut_tone1":"1f487-1f3fb-200d-2640-fe0f.svg","woman_getting_haircut_tone2":"1f487-1f3fc-200d-2640-fe0f.svg","woman_getting_haircut_tone3":"1f487-1f3fd-200d-2640-fe0f.svg","woman_getting_haircut_tone4":"1f487-1f3fe-200d-2640-fe0f.svg","woman_getting_haircut_tone5":"1f487-1f3ff-200d-2640-fe0f.svg","woman_golfing":"1f3cc-fe0f-200d-2640-fe0f.svg","woman_golfing_tone1":"1f3cc-1f3fb-200d-2640-fe0f.svg","woman_golfing_tone2":"1f3cc-1f3fc-200d-2640-fe0f.svg","woman_golfing_tone3":"1f3cc-1f3fd-200d-2640-fe0f.svg","woman_golfing_tone4":"1f3cc-1f3fe-200d-2640-fe0f.svg","woman_golfing_tone5":"1f3cc-1f3ff-200d-2640-fe0f.svg","woman_guard":"1f482-200d-2640-fe0f.svg","woman_guard_tone1":"1f482-1f3fb-200d-2640-fe0f.svg","woman_guard_tone2":"1f482-1f3fc-200d-2640-fe0f.svg","woman_guard_tone3":"1f482-1f3fd-200d-2640-fe0f.svg","woman_guard_tone4":"1f482-1f3fe-200d-2640-fe0f.svg","woman_guard_tone5":"1f482-1f3ff-200d-2640-fe0f.svg","woman_health_worker":"1f469-200d-2695-fe0f.svg","woman_health_worker_tone1":"1f469-1f3fb-200d-2695-fe0f.svg","woman_health_worker_tone2":"1f469-1f3fc-200d-2695-fe0f.svg","woman_health_worker_tone3":"1f469-1f3fd-200d-2695-fe0f.svg","woman_health_worker_tone4":"1f469-1f3fe-200d-2695-fe0f.svg","woman_health_worker_tone5":"1f469-1f3ff-200d-2695-fe0f.svg","woman_in_lotus_position":"1f9d8-200d-2640-fe0f.svg","woman_in_lotus_position_tone1":"1f9d8-1f3fb-200d-2640-fe0f.svg","woman_in_lotus_position_tone2":"1f9d8-1f3fc-200d-2640-fe0f.svg","woman_in_lotus_position_tone3":"1f9d8-1f3fd-200d-2640-fe0f.svg","woman_in_lotus_position_tone4":"1f9d8-1f3fe-200d-2640-fe0f.svg","woman_in_lotus_position_tone5":"1f9d8-1f3ff-200d-2640-fe0f.svg","woman_in_manual_wheelchair":"1f469-200d-1f9bd.svg","woman_in_manual_wheelchair_tone1":"1f469-1f3fb-200d-1f9bd.svg","woman_in_manual_wheelchair_tone2":"1f469-1f3fc-200d-1f9bd.svg","woman_in_manual_wheelchair_tone3":"1f469-1f3fd-200d-1f9bd.svg","woman_in_manual_wheelchair_tone4":"1f469-1f3fe-200d-1f9bd.svg","woman_in_manual_wheelchair_tone5":"1f469-1f3ff-200d-1f9bd.svg","woman_in_motorized_wheelchair":"1f469-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone1":"1f469-1f3fb-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone2":"1f469-1f3fc-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone3":"1f469-1f3fd-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone4":"1f469-1f3fe-200d-1f9bc.svg","woman_in_motorized_wheelchair_tone5":"1f469-1f3ff-200d-1f9bc.svg","woman_in_steamy_room":"1f9d6-200d-2640-fe0f.svg","woman_in_steamy_room_tone1":"1f9d6-1f3fb-200d-2640-fe0f.svg","woman_in_steamy_room_tone2":"1f9d6-1f3fc-200d-2640-fe0f.svg","woman_in_steamy_room_tone3":"1f9d6-1f3fd-200d-2640-fe0f.svg","woman_in_steamy_room_tone4":"1f9d6-1f3fe-200d-2640-fe0f.svg","woman_in_steamy_room_tone5":"1f9d6-1f3ff-200d-2640-fe0f.svg","woman_in_tuxedo":"1f935-200d-2640-fe0f.svg","woman_in_tuxedo_tone1":"1f935-1f3fb-200d-2640-fe0f.svg","woman_in_tuxedo_tone2":"1f935-1f3fc-200d-2640-fe0f.svg","woman_in_tuxedo_tone3":"1f935-1f3fd-200d-2640-fe0f.svg","woman_in_tuxedo_tone4":"1f935-1f3fe-200d-2640-fe0f.svg","woman_in_tuxedo_tone5":"1f935-1f3ff-200d-2640-fe0f.svg","woman_judge":"1f469-200d-2696-fe0f.svg","woman_judge_tone1":"1f469-1f3fb-200d-2696-fe0f.svg","woman_judge_tone2":"1f469-1f3fc-200d-2696-fe0f.svg","woman_judge_tone3":"1f469-1f3fd-200d-2696-fe0f.svg","woman_judge_tone4":"1f469-1f3fe-200d-2696-fe0f.svg","woman_judge_tone5":"1f469-1f3ff-200d-2696-fe0f.svg","woman_juggling":"1f939-200d-2640-fe0f.svg","woman_juggling_tone1":"1f939-1f3fb-200d-2640-fe0f.svg","woman_juggling_tone2":"1f939-1f3fc-200d-2640-fe0f.svg","woman_juggling_tone3":"1f939-1f3fd-200d-2640-fe0f.svg","woman_juggling_tone4":"1f939-1f3fe-200d-2640-fe0f.svg","woman_juggling_tone5":"1f939-1f3ff-200d-2640-fe0f.svg","woman_kneeling":"1f9ce-200d-2640-fe0f.svg","woman_kneeling_tone1":"1f9ce-1f3fb-200d-2640-fe0f.svg","woman_kneeling_tone2":"1f9ce-1f3fc-200d-2640-fe0f.svg","woman_kneeling_tone3":"1f9ce-1f3fd-200d-2640-fe0f.svg","woman_kneeling_tone4":"1f9ce-1f3fe-200d-2640-fe0f.svg","woman_kneeling_tone5":"1f9ce-1f3ff-200d-2640-fe0f.svg","woman_leviate_tone2":"1f574-1f3fc-200d-2640-fe0f.svg","woman_leviate_tone3":"1f574-1f3fd-200d-2640-fe0f.svg","woman_leviate_tone4":"1f574-1f3fe-200d-2640-fe0f.svg","woman_leviate_tone5":"1f574-1f3ff-200d-2640-fe0f.svg","woman_levitate":"1f574-fe0f-200d-2640-fe0f.svg","woman_levitate_tone1":"1f574-1f3fb-200d-2640-fe0f.svg","woman_lifting_weights":"1f3cb-fe0f-200d-2640-fe0f.svg","woman_lifting_weights_tone1":"1f3cb-1f3fb-200d-2640-fe0f.svg","woman_lifting_weights_tone2":"1f3cb-1f3fc-200d-2640-fe0f.svg","woman_lifting_weights_tone3":"1f3cb-1f3fd-200d-2640-fe0f.svg","woman_lifting_weights_tone4":"1f3cb-1f3fe-200d-2640-fe0f.svg","woman_lifting_weights_tone5":"1f3cb-1f3ff-200d-2640-fe0f.svg","woman_mage":"1f9d9-200d-2640-fe0f.svg","woman_mage_tone1":"1f9d9-1f3fb-200d-2640-fe0f.svg","woman_mage_tone2":"1f9d9-1f3fc-200d-2640-fe0f.svg","woman_mage_tone3":"1f9d9-1f3fd-200d-2640-fe0f.svg","woman_mage_tone4":"1f9d9-1f3fe-200d-2640-fe0f.svg","woman_mage_tone5":"1f9d9-1f3ff-200d-2640-fe0f.svg","woman_mechanic":"1f469-200d-1f527.svg","woman_mechanic_tone1":"1f469-1f3fb-200d-1f527.svg","woman_mechanic_tone2":"1f469-1f3fc-200d-1f527.svg","woman_mechanic_tone3":"1f469-1f3fd-200d-1f527.svg","woman_mechanic_tone4":"1f469-1f3fe-200d-1f527.svg","woman_mechanic_tone5":"1f469-1f3ff-200d-1f527.svg","woman_mountain_biking":"1f6b5-200d-2640-fe0f.svg","woman_mountain_biking_tone1":"1f6b5-1f3fb-200d-2640-fe0f.svg","woman_mountain_biking_tone2":"1f6b5-1f3fc-200d-2640-fe0f.svg","woman_mountain_biking_tone3":"1f6b5-1f3fd-200d-2640-fe0f.svg","woman_mountain_biking_tone4":"1f6b5-1f3fe-200d-2640-fe0f.svg","woman_mountain_biking_tone5":"1f6b5-1f3ff-200d-2640-fe0f.svg","woman_office_worker":"1f469-200d-1f4bc.svg","woman_office_worker_tone1":"1f469-1f3fb-200d-1f4bc.svg","woman_office_worker_tone2":"1f469-1f3fc-200d-1f4bc.svg","woman_office_worker_tone3":"1f469-1f3fd-200d-1f4bc.svg","woman_office_worker_tone4":"1f469-1f3fe-200d-1f4bc.svg","woman_office_worker_tone5":"1f469-1f3ff-200d-1f4bc.svg","woman_pilot":"1f469-200d-2708-fe0f.svg","woman_pilot_tone1":"1f469-1f3fb-200d-2708-fe0f.svg","woman_pilot_tone2":"1f469-1f3fc-200d-2708-fe0f.svg","woman_pilot_tone3":"1f469-1f3fd-200d-2708-fe0f.svg","woman_pilot_tone4":"1f469-1f3fe-200d-2708-fe0f.svg","woman_pilot_tone5":"1f469-1f3ff-200d-2708-fe0f.svg","woman_playing_handball":"1f93e-200d-2640-fe0f.svg","woman_playing_handball_tone1":"1f93e-1f3fb-200d-2640-fe0f.svg","woman_playing_handball_tone2":"1f93e-1f3fc-200d-2640-fe0f.svg","woman_playing_handball_tone3":"1f93e-1f3fd-200d-2640-fe0f.svg","woman_playing_handball_tone4":"1f93e-1f3fe-200d-2640-fe0f.svg","woman_playing_handball_tone5":"1f93e-1f3ff-200d-2640-fe0f.svg","woman_playing_water_polo":"1f93d-200d-2640-fe0f.svg","woman_playing_water_polo_tone1":"1f93d-1f3fb-200d-2640-fe0f.svg","woman_playing_water_polo_tone2":"1f93d-1f3fc-200d-2640-fe0f.svg","woman_playing_water_polo_tone3":"1f93d-1f3fd-200d-2640-fe0f.svg","woman_playing_water_polo_tone4":"1f93d-1f3fe-200d-2640-fe0f.svg","woman_playing_water_polo_tone5":"1f93d-1f3ff-200d-2640-fe0f.svg","woman_police_officer":"1f46e-200d-2640-fe0f.svg","woman_police_officer_tone1":"1f46e-1f3fb-200d-2640-fe0f.svg","woman_police_officer_tone2":"1f46e-1f3fc-200d-2640-fe0f.svg","woman_police_officer_tone3":"1f46e-1f3fd-200d-2640-fe0f.svg","woman_police_officer_tone4":"1f46e-1f3fe-200d-2640-fe0f.svg","woman_police_officer_tone5":"1f46e-1f3ff-200d-2640-fe0f.svg","woman_pouting":"1f64e-200d-2640-fe0f.svg","woman_pouting_tone1":"1f64e-1f3fb-200d-2640-fe0f.svg","woman_pouting_tone2":"1f64e-1f3fc-200d-2640-fe0f.svg","woman_pouting_tone3":"1f64e-1f3fd-200d-2640-fe0f.svg","woman_pouting_tone4":"1f64e-1f3fe-200d-2640-fe0f.svg","woman_pouting_tone5":"1f64e-1f3ff-200d-2640-fe0f.svg","woman_raising_hand":"1f64b-200d-2640-fe0f.svg","woman_raising_hand_tone1":"1f64b-1f3fb-200d-2640-fe0f.svg","woman_raising_hand_tone2":"1f64b-1f3fc-200d-2640-fe0f.svg","woman_raising_hand_tone3":"1f64b-1f3fd-200d-2640-fe0f.svg","woman_raising_hand_tone4":"1f64b-1f3fe-200d-2640-fe0f.svg","woman_raising_hand_tone5":"1f64b-1f3ff-200d-2640-fe0f.svg","woman_red_haired":"1f469-200d-1f9b0.svg","woman_red_haired_tone1":"1f469-1f3fb-200d-1f9b0.svg","woman_red_haired_tone2":"1f469-1f3fc-200d-1f9b0.svg","woman_red_haired_tone3":"1f469-1f3fd-200d-1f9b0.svg","woman_red_haired_tone4":"1f469-1f3fe-200d-1f9b0.svg","woman_red_haired_tone5":"1f469-1f3ff-200d-1f9b0.svg","woman_rowing_boat":"1f6a3-200d-2640-fe0f.svg","woman_rowing_boat_tone1":"1f6a3-1f3fb-200d-2640-fe0f.svg","woman_rowing_boat_tone2":"1f6a3-1f3fc-200d-2640-fe0f.svg","woman_rowing_boat_tone3":"1f6a3-1f3fd-200d-2640-fe0f.svg","woman_rowing_boat_tone4":"1f6a3-1f3fe-200d-2640-fe0f.svg","woman_rowing_boat_tone5":"1f6a3-1f3ff-200d-2640-fe0f.svg","woman_running":"1f3c3-200d-2640-fe0f.svg","woman_running_tone1":"1f3c3-1f3fb-200d-2640-fe0f.svg","woman_running_tone2":"1f3c3-1f3fc-200d-2640-fe0f.svg","woman_running_tone3":"1f3c3-1f3fd-200d-2640-fe0f.svg","woman_running_tone4":"1f3c3-1f3fe-200d-2640-fe0f.svg","woman_running_tone5":"1f3c3-1f3ff-200d-2640-fe0f.svg","woman_scientist":"1f469-200d-1f52c.svg","woman_scientist_tone1":"1f469-1f3fb-200d-1f52c.svg","woman_scientist_tone2":"1f469-1f3fc-200d-1f52c.svg","woman_scientist_tone3":"1f469-1f3fd-200d-1f52c.svg","woman_scientist_tone4":"1f469-1f3fe-200d-1f52c.svg","woman_scientist_tone5":"1f469-1f3ff-200d-1f52c.svg","woman_shrugging":"1f937-200d-2640-fe0f.svg","woman_shrugging_tone1":"1f937-1f3fb-200d-2640-fe0f.svg","woman_shrugging_tone2":"1f937-1f3fc-200d-2640-fe0f.svg","woman_shrugging_tone3":"1f937-1f3fd-200d-2640-fe0f.svg","woman_shrugging_tone4":"1f937-1f3fe-200d-2640-fe0f.svg","woman_shrugging_tone5":"1f937-1f3ff-200d-2640-fe0f.svg","woman_singer":"1f469-200d-1f3a4.svg","woman_singer_tone1":"1f469-1f3fb-200d-1f3a4.svg","woman_singer_tone2":"1f469-1f3fc-200d-1f3a4.svg","woman_singer_tone3":"1f469-1f3fd-200d-1f3a4.svg","woman_singer_tone4":"1f469-1f3fe-200d-1f3a4.svg","woman_singer_tone5":"1f469-1f3ff-200d-1f3a4.svg","woman_standing":"1f9cd-200d-2640-fe0f.svg","woman_standing_tone1":"1f9cd-1f3fb-200d-2640-fe0f.svg","woman_standing_tone2":"1f9cd-1f3fc-200d-2640-fe0f.svg","woman_standing_tone3":"1f9cd-1f3fd-200d-2640-fe0f.svg","woman_standing_tone4":"1f9cd-1f3fe-200d-2640-fe0f.svg","woman_standing_tone5":"1f9cd-1f3ff-200d-2640-fe0f.svg","woman_student":"1f469-200d-1f393.svg","woman_student_tone1":"1f469-1f3fb-200d-1f393.svg","woman_student_tone2":"1f469-1f3fc-200d-1f393.svg","woman_student_tone3":"1f469-1f3fd-200d-1f393.svg","woman_student_tone4":"1f469-1f3fe-200d-1f393.svg","woman_student_tone5":"1f469-1f3ff-200d-1f393.svg","woman_superhero":"1f9b8-200d-2640-fe0f.svg","woman_superhero_tone1":"1f9b8-1f3fb-200d-2640-fe0f.svg","woman_superhero_tone2":"1f9b8-1f3fc-200d-2640-fe0f.svg","woman_superhero_tone3":"1f9b8-1f3fd-200d-2640-fe0f.svg","woman_superhero_tone4":"1f9b8-1f3fe-200d-2640-fe0f.svg","woman_superhero_tone5":"1f9b8-1f3ff-200d-2640-fe0f.svg","woman_supervillain":"1f9b9-200d-2640-fe0f.svg","woman_supervillain_tone1":"1f9b9-1f3fb-200d-2640-fe0f.svg","woman_supervillain_tone2":"1f9b9-1f3fc-200d-2640-fe0f.svg","woman_supervillain_tone3":"1f9b9-1f3fd-200d-2640-fe0f.svg","woman_supervillain_tone4":"1f9b9-1f3fe-200d-2640-fe0f.svg","woman_supervillain_tone5":"1f9b9-1f3ff-200d-2640-fe0f.svg","woman_surfing":"1f3c4-200d-2640-fe0f.svg","woman_surfing_tone1":"1f3c4-1f3fb-200d-2640-fe0f.svg","woman_surfing_tone2":"1f3c4-1f3fc-200d-2640-fe0f.svg","woman_surfing_tone3":"1f3c4-1f3fd-200d-2640-fe0f.svg","woman_surfing_tone4":"1f3c4-1f3fe-200d-2640-fe0f.svg","woman_surfing_tone5":"1f3c4-1f3ff-200d-2640-fe0f.svg","woman_swimming":"1f3ca-200d-2640-fe0f.svg","woman_swimming_tone1":"1f3ca-1f3fb-200d-2640-fe0f.svg","woman_swimming_tone2":"1f3ca-1f3fc-200d-2640-fe0f.svg","woman_swimming_tone3":"1f3ca-1f3fd-200d-2640-fe0f.svg","woman_swimming_tone4":"1f3ca-1f3fe-200d-2640-fe0f.svg","woman_swimming_tone5":"1f3ca-1f3ff-200d-2640-fe0f.svg","woman_teacher":"1f469-200d-1f3eb.svg","woman_teacher_tone1":"1f469-1f3fb-200d-1f3eb.svg","woman_teacher_tone2":"1f469-1f3fc-200d-1f3eb.svg","woman_teacher_tone3":"1f469-1f3fd-200d-1f3eb.svg","woman_teacher_tone4":"1f469-1f3fe-200d-1f3eb.svg","woman_teacher_tone5":"1f469-1f3ff-200d-1f3eb.svg","woman_technologist":"1f469-200d-1f4bb.svg","woman_technologist_tone1":"1f469-1f3fb-200d-1f4bb.svg","woman_technologist_tone2":"1f469-1f3fc-200d-1f4bb.svg","woman_technologist_tone3":"1f469-1f3fd-200d-1f4bb.svg","woman_technologist_tone4":"1f469-1f3fe-200d-1f4bb.svg","woman_technologist_tone5":"1f469-1f3ff-200d-1f4bb.svg","woman_tipping_hand":"1f481-200d-2640-fe0f.svg","woman_tipping_hand_tone1":"1f481-1f3fb-200d-2640-fe0f.svg","woman_tipping_hand_tone2":"1f481-1f3fc-200d-2640-fe0f.svg","woman_tipping_hand_tone3":"1f481-1f3fd-200d-2640-fe0f.svg","woman_tipping_hand_tone4":"1f481-1f3fe-200d-2640-fe0f.svg","woman_tipping_hand_tone5":"1f481-1f3ff-200d-2640-fe0f.svg","woman_tone1":"1f469-1f3fb.svg","woman_tone2":"1f469-1f3fc.svg","woman_tone3":"1f469-1f3fd.svg","woman_tone4":"1f469-1f3fe.svg","woman_tone5":"1f469-1f3ff.svg","woman_vampire":"1f9db-200d-2640-fe0f.svg","woman_vampire_tone1":"1f9db-1f3fb-200d-2640-fe0f.svg","woman_vampire_tone2":"1f9db-1f3fc-200d-2640-fe0f.svg","woman_vampire_tone3":"1f9db-1f3fd-200d-2640-fe0f.svg","woman_vampire_tone4":"1f9db-1f3fe-200d-2640-fe0f.svg","woman_vampire_tone5":"1f9db-1f3ff-200d-2640-fe0f.svg","woman_walking":"1f6b6-200d-2640-fe0f.svg","woman_walking_tone1":"1f6b6-1f3fb-200d-2640-fe0f.svg","woman_walking_tone2":"1f6b6-1f3fc-200d-2640-fe0f.svg","woman_walking_tone3":"1f6b6-1f3fd-200d-2640-fe0f.svg","woman_walking_tone4":"1f6b6-1f3fe-200d-2640-fe0f.svg","woman_walking_tone5":"1f6b6-1f3ff-200d-2640-fe0f.svg","woman_wearing_turban":"1f473-200d-2640-fe0f.svg","woman_wearing_turban_tone1":"1f473-1f3fb-200d-2640-fe0f.svg","woman_wearing_turban_tone2":"1f473-1f3fc-200d-2640-fe0f.svg","woman_wearing_turban_tone3":"1f473-1f3fd-200d-2640-fe0f.svg","woman_wearing_turban_tone4":"1f473-1f3fe-200d-2640-fe0f.svg","woman_wearing_turban_tone5":"1f473-1f3ff-200d-2640-fe0f.svg","woman_white_haired":"1f469-200d-1f9b3.svg","woman_white_haired_tone1":"1f469-1f3fb-200d-1f9b3.svg","woman_white_haired_tone2":"1f469-1f3fc-200d-1f9b3.svg","woman_white_haired_tone3":"1f469-1f3fd-200d-1f9b3.svg","woman_white_haired_tone4":"1f469-1f3fe-200d-1f9b3.svg","woman_white_haired_tone5":"1f469-1f3ff-200d-1f9b3.svg","woman_with_headscarf":"1f9d5.svg","woman_with_headscarf_tone1":"1f9d5-1f3fb.svg","woman_with_headscarf_tone2":"1f9d5-1f3fc.svg","woman_with_headscarf_tone3":"1f9d5-1f3fd.svg","woman_with_headscarf_tone4":"1f9d5-1f3fe.svg","woman_with_headscarf_tone5":"1f9d5-1f3ff.svg","woman_with_probing_cane":"1f469-200d-1f9af.svg","woman_with_probing_cane_tone1":"1f469-1f3fb-200d-1f9af.svg","woman_with_probing_cane_tone2":"1f469-1f3fc-200d-1f9af.svg","woman_with_probing_cane_tone3":"1f469-1f3fd-200d-1f9af.svg","woman_with_probing_cane_tone4":"1f469-1f3fe-200d-1f9af.svg","woman_with_probing_cane_tone5":"1f469-1f3ff-200d-1f9af.svg","woman_zombie":"1f9df-200d-2640-fe0f.svg","womans_clothes":"1f45a.svg","womans_flat_shoe":"1f97f.svg","womans_hat":"1f452.svg","women_holding_hands_tone1":"1f46d-1f3fb.svg","women_holding_hands_tone1_tone2":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc.svg","women_holding_hands_tone1_tone3":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd.svg","women_holding_hands_tone1_tone4":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe.svg","women_holding_hands_tone1_tone5":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff.svg","women_holding_hands_tone2":"1f46d-1f3fc.svg","women_holding_hands_tone2_tone1":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb.svg","women_holding_hands_tone2_tone3":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd.svg","women_holding_hands_tone2_tone4":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe.svg","women_holding_hands_tone2_tone5":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff.svg","women_holding_hands_tone3":"1f46d-1f3fd.svg","women_holding_hands_tone3_tone1":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb.svg","women_holding_hands_tone3_tone2":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc.svg","women_holding_hands_tone3_tone4":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe.svg","women_holding_hands_tone3_tone5":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff.svg","women_holding_hands_tone4":"1f46d-1f3fe.svg","women_holding_hands_tone4_tone1":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb.svg","women_holding_hands_tone4_tone2":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc.svg","women_holding_hands_tone4_tone3":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd.svg","women_holding_hands_tone4_tone5":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff.svg","women_holding_hands_tone5":"1f46d-1f3ff.svg","women_holding_hands_tone5_tone1":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb.svg","women_holding_hands_tone5_tone2":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc.svg","women_holding_hands_tone5_tone3":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd.svg","women_holding_hands_tone5_tone4":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe.svg","women_with_bunny_ears_partying":"1f46f-200d-2640-fe0f.svg","women_wrestling":"1f93c-200d-2640-fe0f.svg","womens":"1f6ba.svg","woozy_face":"1f974.svg","worried":"1f61f.svg","wrench":"1f527.svg","writing_hand":"270d.svg","writing_hand_tone1":"270d-1f3fb.svg","writing_hand_tone2":"270d-1f3fc.svg","writing_hand_tone3":"270d-1f3fd.svg","writing_hand_tone4":"270d-1f3fe.svg","writing_hand_tone5":"270d-1f3ff.svg","x":"274c.svg","yarn":"1f9f6.svg","yawning_face":"1f971.svg","yellow_circle":"1f7e1.svg","yellow_heart":"1f49b.svg","yellow_square":"1f7e8.svg","yen":"1f4b4.svg","yin_yang":"262f.svg","yo_yo":"1fa80.svg","yum":"1f60b.svg","zany_face":"1f92a.svg","zap":"26a1.svg","zebra":"1f993.svg","zero":"30-20e3.svg","zipper_mouth":"1f910.svg","zombie":"1f9df.svg","zzz":"1f4a4.svg"}}} \ No newline at end of file diff --git a/material/overrides/assets/stylesheets/main.8036384c.min.css b/material/overrides/assets/stylesheets/main.8036384c.min.css new file mode 100644 index 000000000..03ce3e69c --- /dev/null +++ b/material/overrides/assets/stylesheets/main.8036384c.min.css @@ -0,0 +1,2 @@ +@-webkit-keyframes tx-heart{0%,40%,80%,to{transform:scale(1)}20%,60%{transform:scale(1.15)}}@keyframes tx-heart{0%,40%,80%,to{transform:scale(1)}20%,60%{transform:scale(1.15)}}.md-typeset figure>p+figcaption{margin-top:-1.2rem}.md-typeset .twitter{color:#00acee}.md-typeset .tx-video{width:auto}.md-typeset .tx-video__inner{position:relative;width:100%;height:0;padding-bottom:56.138%}.md-typeset .tx-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border:none}.md-typeset .tx-heart{-webkit-animation:tx-heart 1s infinite;animation:tx-heart 1s infinite}.md-typeset .tx-insiders{color:#e91e63}.md-typeset .tx-insiders-button{font-weight:400}.md-typeset .tx-insiders-count{font-weight:700}.md-typeset .tx-insiders-list{margin:2em 0;overflow:auto}.md-typeset .tx-insiders-list__item{display:block;float:left;width:3rem;height:3rem;margin:.2rem;overflow:hidden;border-radius:100%;transform:scale(1);transition:color 125ms,transform 125ms}.md-typeset .tx-insiders-list__item img{display:block;width:100%;height:auto;-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter 125ms;transition:filter 125ms;transition:filter 125ms, -webkit-filter 125ms}.md-typeset .tx-insiders-list__item:focus,.md-typeset .tx-insiders-list__item:hover{transform:scale(1.1)}.md-typeset .tx-insiders-list__item:focus img,.md-typeset .tx-insiders-list__item:hover img{-webkit-filter:grayscale(0);filter:grayscale(0)}.md-typeset .tx-insiders-list__item--private{color:var(--md-default-fg-color--lighter);font-weight:700;font-size:1.2rem;line-height:3rem;text-align:center;background:var(--md-default-fg-color--lightest)}.md-typeset .tx-switch button{cursor:pointer;transition:opacity .25s}.md-typeset .tx-switch button:focus,.md-typeset .tx-switch button:hover{opacity:.75}.md-typeset .tx-switch button>code{display:block;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-typeset .tx-columns ol,.md-typeset .tx-columns ul{-moz-column-count:2;column-count:2}@media screen and (max-width:29.9375em){.md-typeset .tx-columns ol,.md-typeset .tx-columns ul{-moz-columns:initial;columns:initial}}.md-typeset .tx-columns li{-moz-column-break-inside:avoid;break-inside:avoid}.md-announce a,.md-announce a:focus,.md-announce a:hover{color:currentColor}.md-announce strong{white-space:nowrap}.md-announce .twitter{margin-left:.2em}.tx-content__footer{margin-top:1rem;text-align:center}.tx-content__footer a{display:inline-block;color:#e91e63;transition:transform .25s cubic-bezier(.1,.7,.1,1),color 125ms}.tx-content__footer a:focus,.tx-content__footer a:hover{transform:scale(1.2)}.tx-content__footer hr{display:inline-block;width:2rem;margin:1em;vertical-align:middle;background-color:currentColor;border:none}.tx-container{padding-top:1rem;background:url("data:image/svg+xml;utf8,") no-repeat bottom,linear-gradient(180deg,var(--md-primary-fg-color),#a63fd9 99%,var(--md-default-bg-color) 0)}[data-md-color-scheme=slate] .tx-container{background:url("data:image/svg+xml;utf8,") no-repeat bottom,linear-gradient(180deg,var(--md-primary-fg-color),#a63fd9 99%,var(--md-default-bg-color) 0)}.tx-hero{margin:0 .8rem;color:var(--md-primary-bg-color)}.tx-hero h1{margin-bottom:1rem;color:currentColor;font-weight:700}@media screen and (max-width:29.9375em){.tx-hero h1{font-size:1.4rem}}.tx-hero__content{padding-bottom:6rem}@media screen and (min-width:60em){.tx-hero{display:flex;align-items:stretch}.tx-hero__content{max-width:19rem;margin-top:3.5rem;padding-bottom:14vw}.tx-hero__image{order:1;width:38rem;transform:translateX(4rem)}}@media screen and (min-width:76.25em){.tx-hero__image{transform:translateX(8rem)}}.tx-hero .md-button{margin-top:.5rem;margin-right:.5rem;color:var(--md-primary-bg-color)}.tx-hero .md-button:focus,.tx-hero .md-button:hover{color:var(--md-default-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.tx-hero .md-button--primary{color:#894da8;background-color:var(--md-primary-bg-color);border-color:var(--md-primary-bg-color)}.md-typeset .mdx-icon-search{position:relative;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 .025rem .05rem rgba(0,0,0,.1);transition:box-shadow 125ms}.md-typeset .mdx-icon-search:focus-within,.md-typeset .mdx-icon-search:hover{box-shadow:0 .4rem 1rem rgba(0,0,0,.15),0 .025rem .05rem rgba(0,0,0,.15)}.md-typeset .mdx-icon-search .md-input{background:var(--md-default-bg-color);box-shadow:0 0 .6rem rgba(0,0,0,.07)}[data-md-color-scheme=slate] .md-typeset .mdx-icon-search .md-input{background:var(--md-code-bg-color)}.md-typeset .mdx-icon-search-result{max-height:50vh;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset .mdx-icon-search-result::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset .mdx-icon-search-result__meta{position:absolute;top:.4rem;right:.6rem;color:var(--md-default-fg-color--lighter);font-size:.64rem}.md-typeset .mdx-icon-search-result__list{margin:0;padding:0;list-style:none}.md-typeset .mdx-icon-search-result__item{margin:0;padding:.2rem .6rem;border-bottom:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset .mdx-icon-search-result__item:last-child{border-bottom:none}.md-typeset .mdx-icon-search-result__item>*{margin-right:.6rem}.md-typeset .mdx-icon-search-result__item img{width:.9rem;height:.9rem}[data-md-color-scheme=slate] .md-typeset .mdx-icon-search-result__item img[src*=squidfunk]{-webkit-filter:invert(1);filter:invert(1)} +/*# sourceMappingURL=main.8036384c.min.css.map */ \ No newline at end of file diff --git a/material/overrides/assets/stylesheets/main.8036384c.min.css.map b/material/overrides/assets/stylesheets/main.8036384c.min.css.map new file mode 100644 index 000000000..c9d93fabe --- /dev/null +++ b/material/overrides/assets/stylesheets/main.8036384c.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["src/overrides/assets/stylesheets/main/_typeset.scss","src/overrides/assets/stylesheets/main.scss","src/assets/stylesheets/utilities/_break.scss","src/overrides/assets/stylesheets/main/layout/_announce.scss","src/overrides/assets/stylesheets/main/layout/_content.scss","node_modules/material-design-color/material-color.scss","src/overrides/assets/stylesheets/main/layout/_hero.scss","src/overrides/assets/stylesheets/main/_shame.scss"],"names":[],"mappings":"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","file":"src/overrides/assets/stylesheets/main.scss","sourcesContent":["////\n/// Copyright (c) 2016-2021 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// Keyframes\n// ----------------------------------------------------------------------------\n\n// Pumping heart animation\n@keyframes tx-heart {\n 0%,\n 40%,\n 80%,\n 100% {\n transform: scale(1);\n }\n\n 20%,\n 60% {\n transform: scale(1.15);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Screenshot caption\n figure > p + figcaption {\n margin-top: px2rem(-24px);\n }\n\n // Twitter icon\n .twitter {\n color: #00acee;\n }\n\n // Insiders video\n .tx-video {\n width: auto;\n\n // Insiders video container\n &__inner {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 56.138%;\n }\n\n // Insiders video iframe\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border: none;\n }\n }\n\n // Pumping heart\n .tx-heart {\n animation: tx-heart 1000ms infinite;\n }\n\n // Insiders color (for links, etc.)\n .tx-insiders {\n color: $clr-pink-500;\n }\n\n // Insiders button\n .tx-insiders-button {\n font-weight: 400;\n }\n\n // Insiders count\n .tx-insiders-count {\n font-weight: 700;\n }\n\n // Insiders list\n .tx-insiders-list {\n margin: 2em 0;\n overflow: auto;\n\n // Insiders list item\n &__item {\n display: block;\n float: left;\n width: px2rem(60px);\n height: px2rem(60px);\n margin: px2rem(4px);\n overflow: hidden;\n border-radius: 100%;\n transform: scale(1);\n transition:\n color 125ms,\n transform 125ms;\n\n // Sponsor avatar\n img {\n display: block;\n width: 100%;\n height: auto;\n filter: grayscale(100%);\n transition: filter 125ms;\n }\n\n // Sponsor item on focus/hover\n &:focus,\n &:hover {\n transform: scale(1.1);\n\n // Sponsor avatar\n img {\n filter: grayscale(0%);\n }\n }\n\n // Private sponsor\n &--private {\n color: var(--md-default-fg-color--lighter);\n font-weight: 700;\n font-size: px2rem(24px);\n line-height: px2rem(60px);\n text-align: center;\n background: var(--md-default-fg-color--lightest);\n }\n }\n }\n\n // Switch buttons\n .tx-switch button {\n cursor: pointer;\n transition: opacity 250ms;\n\n // Button on focus/hover\n &:focus,\n &:hover {\n opacity: 0.75;\n }\n\n // Code block\n > code {\n display: block;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n }\n }\n\n // Two-column layout\n .tx-columns {\n\n // Column\n ol,\n ul {\n columns: 2;\n\n // [mobile portrait -]: Reset columns on mobile\n @include break-to-device(mobile portrait) {\n columns: initial;\n }\n }\n\n // Column item\n li {\n break-inside: avoid;\n }\n }\n}\n","@keyframes tx-heart {\n 0%, 40%, 80%, 100% {\n transform: scale(1);\n }\n 20%, 60% {\n transform: scale(1.15);\n }\n}\n.md-typeset figure > p + figcaption {\n margin-top: -1.2rem;\n}\n.md-typeset .twitter {\n color: #00acee;\n}\n.md-typeset .tx-video {\n width: auto;\n}\n.md-typeset .tx-video__inner {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 56.138%;\n}\n.md-typeset .tx-video iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border: none;\n}\n.md-typeset .tx-heart {\n animation: tx-heart 1000ms infinite;\n}\n.md-typeset .tx-insiders {\n color: #e91e63;\n}\n.md-typeset .tx-insiders-button {\n font-weight: 400;\n}\n.md-typeset .tx-insiders-count {\n font-weight: 700;\n}\n.md-typeset .tx-insiders-list {\n margin: 2em 0;\n overflow: auto;\n}\n.md-typeset .tx-insiders-list__item {\n display: block;\n float: left;\n width: 3rem;\n height: 3rem;\n margin: 0.2rem;\n overflow: hidden;\n border-radius: 100%;\n transform: scale(1);\n transition: color 125ms, transform 125ms;\n}\n.md-typeset .tx-insiders-list__item img {\n display: block;\n width: 100%;\n height: auto;\n filter: grayscale(100%);\n transition: filter 125ms;\n}\n.md-typeset .tx-insiders-list__item:focus, .md-typeset .tx-insiders-list__item:hover {\n transform: scale(1.1);\n}\n.md-typeset .tx-insiders-list__item:focus img, .md-typeset .tx-insiders-list__item:hover img {\n filter: grayscale(0%);\n}\n.md-typeset .tx-insiders-list__item--private {\n color: var(--md-default-fg-color--lighter);\n font-weight: 700;\n font-size: 1.2rem;\n line-height: 3rem;\n text-align: center;\n background: var(--md-default-fg-color--lightest);\n}\n.md-typeset .tx-switch button {\n cursor: pointer;\n transition: opacity 250ms;\n}\n.md-typeset .tx-switch button:focus, .md-typeset .tx-switch button:hover {\n opacity: 0.75;\n}\n.md-typeset .tx-switch button > code {\n display: block;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n}\n.md-typeset .tx-columns ol,\n.md-typeset .tx-columns ul {\n columns: 2;\n}\n@media screen and (max-width: 29.9375em) {\n .md-typeset .tx-columns ol,\n.md-typeset .tx-columns ul {\n columns: initial;\n }\n}\n.md-typeset .tx-columns li {\n break-inside: avoid;\n}\n\n.md-announce a,\n.md-announce a:focus,\n.md-announce a:hover {\n color: currentColor;\n}\n.md-announce strong {\n white-space: nowrap;\n}\n.md-announce .twitter {\n margin-left: 0.2em;\n}\n\n.tx-content__footer {\n margin-top: 1rem;\n text-align: center;\n}\n.tx-content__footer a {\n display: inline-block;\n color: #e91e63;\n transition: transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1), color 125ms;\n}\n.tx-content__footer a:focus, .tx-content__footer a:hover {\n transform: scale(1.2);\n}\n.tx-content__footer hr {\n display: inline-block;\n width: 2rem;\n margin: 1em;\n vertical-align: middle;\n background-color: currentColor;\n border: none;\n}\n\n.tx-container {\n padding-top: 1rem;\n background: url(\"data:image/svg+xml;utf8,\") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);\n}\n[data-md-color-scheme=slate] .tx-container {\n background: url(\"data:image/svg+xml;utf8,\") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);\n}\n\n.tx-hero {\n margin: 0 0.8rem;\n color: var(--md-primary-bg-color);\n}\n.tx-hero h1 {\n margin-bottom: 1rem;\n color: currentColor;\n font-weight: 700;\n}\n@media screen and (max-width: 29.9375em) {\n .tx-hero h1 {\n font-size: 1.4rem;\n }\n}\n.tx-hero__content {\n padding-bottom: 6rem;\n}\n@media screen and (min-width: 60em) {\n .tx-hero {\n display: flex;\n align-items: stretch;\n }\n .tx-hero__content {\n max-width: 19rem;\n margin-top: 3.5rem;\n padding-bottom: 14vw;\n }\n .tx-hero__image {\n order: 1;\n width: 38rem;\n transform: translateX(4rem);\n }\n}\n@media screen and (min-width: 76.25em) {\n .tx-hero__image {\n transform: translateX(8rem);\n }\n}\n.tx-hero .md-button {\n margin-top: 0.5rem;\n margin-right: 0.5rem;\n color: var(--md-primary-bg-color);\n}\n.tx-hero .md-button:focus, .tx-hero .md-button:hover {\n color: var(--md-default-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n}\n.tx-hero .md-button--primary {\n color: #894da8;\n background-color: var(--md-primary-bg-color);\n border-color: var(--md-primary-bg-color);\n}\n\n.md-typeset .mdx-icon-search {\n position: relative;\n background-color: var(--md-default-bg-color);\n border-radius: 0.1rem;\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1);\n transition: box-shadow 125ms;\n}\n.md-typeset .mdx-icon-search:focus-within, .md-typeset .mdx-icon-search:hover {\n box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15);\n}\n.md-typeset .mdx-icon-search .md-input {\n background: var(--md-default-bg-color);\n box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07);\n}\n[data-md-color-scheme=slate] .md-typeset .mdx-icon-search .md-input {\n background: var(--md-code-bg-color);\n}\n.md-typeset .mdx-icon-search-result {\n max-height: 50vh;\n overflow-y: auto;\n backface-visibility: hidden;\n touch-action: pan-y;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n}\n.md-typeset .mdx-icon-search-result::-webkit-scrollbar {\n width: 0.2rem;\n height: 0.2rem;\n}\n.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n}\n.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb:hover {\n background-color: var(--md-accent-fg-color);\n}\n.md-typeset .mdx-icon-search-result__meta {\n position: absolute;\n top: 0.4rem;\n right: 0.6rem;\n color: var(--md-default-fg-color--lighter);\n font-size: 0.64rem;\n}\n.md-typeset .mdx-icon-search-result__list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.md-typeset .mdx-icon-search-result__item {\n margin: 0;\n padding: 0.2rem 0.6rem;\n border-bottom: 0.05rem solid var(--md-default-fg-color--lightest);\n}\n.md-typeset .mdx-icon-search-result__item:last-child {\n border-bottom: none;\n}\n.md-typeset .mdx-icon-search-result__item > * {\n margin-right: 0.6rem;\n}\n.md-typeset .mdx-icon-search-result__item img {\n width: 0.9rem;\n height: 0.9rem;\n}\n[data-md-color-scheme=slate] .md-typeset .mdx-icon-search-result__item img[src*=squidfunk] {\n filter: invert(1);\n}\n\n/*# sourceMappingURL=main.css.map */","////\n/// Copyright (c) 2016-2021 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 {\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) {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n\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\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\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Announcement bar\n.md-announce {\n\n // Text link, also on focus/hover\n a,\n a:focus,\n a:hover {\n color: currentColor;\n }\n\n // Don't wrap name of blog article\n strong {\n white-space: nowrap;\n }\n\n // Twitter icon\n .twitter {\n margin-left: 0.2em;\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Content footer\n.tx-content__footer {\n margin-top: px2rem(20px);\n text-align: center;\n\n // Link to Insiders\n a {\n display: inline-block;\n color: $clr-pink-500;\n transition:\n transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),\n color 125ms;\n\n // Link to Insiders on focus/hover\n &:focus,\n &:hover {\n transform: scale(1.2);\n }\n }\n\n // Horizontal separator\n hr {\n display: inline-block;\n width: px2rem(40px);\n margin: px2em(16px);\n vertical-align: middle;\n background-color: currentColor;\n border: none;\n }\n}\n","// ==========================================================================\n//\n// Name: UI Color Palette\n// Description: The color palette of material design.\n// Version: 2.3.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-color\n//\n// twitter: @mrmlnc\n//\n// ==========================================================================\n\n\n//\n// List of base colors\n//\n\n// $clr-red\n// $clr-pink\n// $clr-purple\n// $clr-deep-purple\n// $clr-indigo\n// $clr-blue\n// $clr-light-blue\n// $clr-cyan\n// $clr-teal\n// $clr-green\n// $clr-light-green\n// $clr-lime\n// $clr-yellow\n// $clr-amber\n// $clr-orange\n// $clr-deep-orange\n// $clr-brown\n// $clr-grey\n// $clr-blue-grey\n// $clr-black\n// $clr-white\n\n\n//\n// Red\n//\n\n$clr-red-list: (\n \"base\": #f44336,\n \"50\": #ffebee,\n \"100\": #ffcdd2,\n \"200\": #ef9a9a,\n \"300\": #e57373,\n \"400\": #ef5350,\n \"500\": #f44336,\n \"600\": #e53935,\n \"700\": #d32f2f,\n \"800\": #c62828,\n \"900\": #b71c1c,\n \"a100\": #ff8a80,\n \"a200\": #ff5252,\n \"a400\": #ff1744,\n \"a700\": #d50000\n);\n\n$clr-red: map-get($clr-red-list, \"base\");\n\n$clr-red-50: map-get($clr-red-list, \"50\");\n$clr-red-100: map-get($clr-red-list, \"100\");\n$clr-red-200: map-get($clr-red-list, \"200\");\n$clr-red-300: map-get($clr-red-list, \"300\");\n$clr-red-400: map-get($clr-red-list, \"400\");\n$clr-red-500: map-get($clr-red-list, \"500\");\n$clr-red-600: map-get($clr-red-list, \"600\");\n$clr-red-700: map-get($clr-red-list, \"700\");\n$clr-red-800: map-get($clr-red-list, \"800\");\n$clr-red-900: map-get($clr-red-list, \"900\");\n$clr-red-a100: map-get($clr-red-list, \"a100\");\n$clr-red-a200: map-get($clr-red-list, \"a200\");\n$clr-red-a400: map-get($clr-red-list, \"a400\");\n$clr-red-a700: map-get($clr-red-list, \"a700\");\n\n\n//\n// Pink\n//\n\n$clr-pink-list: (\n \"base\": #e91e63,\n \"50\": #fce4ec,\n \"100\": #f8bbd0,\n \"200\": #f48fb1,\n \"300\": #f06292,\n \"400\": #ec407a,\n \"500\": #e91e63,\n \"600\": #d81b60,\n \"700\": #c2185b,\n \"800\": #ad1457,\n \"900\": #880e4f,\n \"a100\": #ff80ab,\n \"a200\": #ff4081,\n \"a400\": #f50057,\n \"a700\": #c51162\n);\n\n$clr-pink: map-get($clr-pink-list, \"base\");\n\n$clr-pink-50: map-get($clr-pink-list, \"50\");\n$clr-pink-100: map-get($clr-pink-list, \"100\");\n$clr-pink-200: map-get($clr-pink-list, \"200\");\n$clr-pink-300: map-get($clr-pink-list, \"300\");\n$clr-pink-400: map-get($clr-pink-list, \"400\");\n$clr-pink-500: map-get($clr-pink-list, \"500\");\n$clr-pink-600: map-get($clr-pink-list, \"600\");\n$clr-pink-700: map-get($clr-pink-list, \"700\");\n$clr-pink-800: map-get($clr-pink-list, \"800\");\n$clr-pink-900: map-get($clr-pink-list, \"900\");\n$clr-pink-a100: map-get($clr-pink-list, \"a100\");\n$clr-pink-a200: map-get($clr-pink-list, \"a200\");\n$clr-pink-a400: map-get($clr-pink-list, \"a400\");\n$clr-pink-a700: map-get($clr-pink-list, \"a700\");\n\n\n//\n// Purple\n//\n\n$clr-purple-list: (\n \"base\": #9c27b0,\n \"50\": #f3e5f5,\n \"100\": #e1bee7,\n \"200\": #ce93d8,\n \"300\": #ba68c8,\n \"400\": #ab47bc,\n \"500\": #9c27b0,\n \"600\": #8e24aa,\n \"700\": #7b1fa2,\n \"800\": #6a1b9a,\n \"900\": #4a148c,\n \"a100\": #ea80fc,\n \"a200\": #e040fb,\n \"a400\": #d500f9,\n \"a700\": #aa00ff\n);\n\n$clr-purple: map-get($clr-purple-list, \"base\");\n\n$clr-purple-50: map-get($clr-purple-list, \"50\");\n$clr-purple-100: map-get($clr-purple-list, \"100\");\n$clr-purple-200: map-get($clr-purple-list, \"200\");\n$clr-purple-300: map-get($clr-purple-list, \"300\");\n$clr-purple-400: map-get($clr-purple-list, \"400\");\n$clr-purple-500: map-get($clr-purple-list, \"500\");\n$clr-purple-600: map-get($clr-purple-list, \"600\");\n$clr-purple-700: map-get($clr-purple-list, \"700\");\n$clr-purple-800: map-get($clr-purple-list, \"800\");\n$clr-purple-900: map-get($clr-purple-list, \"900\");\n$clr-purple-a100: map-get($clr-purple-list, \"a100\");\n$clr-purple-a200: map-get($clr-purple-list, \"a200\");\n$clr-purple-a400: map-get($clr-purple-list, \"a400\");\n$clr-purple-a700: map-get($clr-purple-list, \"a700\");\n\n\n//\n// Deep purple\n//\n\n$clr-deep-purple-list: (\n \"base\": #673ab7,\n \"50\": #ede7f6,\n \"100\": #d1c4e9,\n \"200\": #b39ddb,\n \"300\": #9575cd,\n \"400\": #7e57c2,\n \"500\": #673ab7,\n \"600\": #5e35b1,\n \"700\": #512da8,\n \"800\": #4527a0,\n \"900\": #311b92,\n \"a100\": #b388ff,\n \"a200\": #7c4dff,\n \"a400\": #651fff,\n \"a700\": #6200ea\n);\n\n$clr-deep-purple: map-get($clr-deep-purple-list, \"base\");\n\n$clr-deep-purple-50: map-get($clr-deep-purple-list, \"50\");\n$clr-deep-purple-100: map-get($clr-deep-purple-list, \"100\");\n$clr-deep-purple-200: map-get($clr-deep-purple-list, \"200\");\n$clr-deep-purple-300: map-get($clr-deep-purple-list, \"300\");\n$clr-deep-purple-400: map-get($clr-deep-purple-list, \"400\");\n$clr-deep-purple-500: map-get($clr-deep-purple-list, \"500\");\n$clr-deep-purple-600: map-get($clr-deep-purple-list, \"600\");\n$clr-deep-purple-700: map-get($clr-deep-purple-list, \"700\");\n$clr-deep-purple-800: map-get($clr-deep-purple-list, \"800\");\n$clr-deep-purple-900: map-get($clr-deep-purple-list, \"900\");\n$clr-deep-purple-a100: map-get($clr-deep-purple-list, \"a100\");\n$clr-deep-purple-a200: map-get($clr-deep-purple-list, \"a200\");\n$clr-deep-purple-a400: map-get($clr-deep-purple-list, \"a400\");\n$clr-deep-purple-a700: map-get($clr-deep-purple-list, \"a700\");\n\n\n//\n// Indigo\n//\n\n$clr-indigo-list: (\n \"base\": #3f51b5,\n \"50\": #e8eaf6,\n \"100\": #c5cae9,\n \"200\": #9fa8da,\n \"300\": #7986cb,\n \"400\": #5c6bc0,\n \"500\": #3f51b5,\n \"600\": #3949ab,\n \"700\": #303f9f,\n \"800\": #283593,\n \"900\": #1a237e,\n \"a100\": #8c9eff,\n \"a200\": #536dfe,\n \"a400\": #3d5afe,\n \"a700\": #304ffe\n);\n\n$clr-indigo: map-get($clr-indigo-list, \"base\");\n\n$clr-indigo-50: map-get($clr-indigo-list, \"50\");\n$clr-indigo-100: map-get($clr-indigo-list, \"100\");\n$clr-indigo-200: map-get($clr-indigo-list, \"200\");\n$clr-indigo-300: map-get($clr-indigo-list, \"300\");\n$clr-indigo-400: map-get($clr-indigo-list, \"400\");\n$clr-indigo-500: map-get($clr-indigo-list, \"500\");\n$clr-indigo-600: map-get($clr-indigo-list, \"600\");\n$clr-indigo-700: map-get($clr-indigo-list, \"700\");\n$clr-indigo-800: map-get($clr-indigo-list, \"800\");\n$clr-indigo-900: map-get($clr-indigo-list, \"900\");\n$clr-indigo-a100: map-get($clr-indigo-list, \"a100\");\n$clr-indigo-a200: map-get($clr-indigo-list, \"a200\");\n$clr-indigo-a400: map-get($clr-indigo-list, \"a400\");\n$clr-indigo-a700: map-get($clr-indigo-list, \"a700\");\n\n\n//\n// Blue\n//\n\n$clr-blue-list: (\n \"base\": #2196f3,\n \"50\": #e3f2fd,\n \"100\": #bbdefb,\n \"200\": #90caf9,\n \"300\": #64b5f6,\n \"400\": #42a5f5,\n \"500\": #2196f3,\n \"600\": #1e88e5,\n \"700\": #1976d2,\n \"800\": #1565c0,\n \"900\": #0d47a1,\n \"a100\": #82b1ff,\n \"a200\": #448aff,\n \"a400\": #2979ff,\n \"a700\": #2962ff\n);\n\n$clr-blue: map-get($clr-blue-list, \"base\");\n\n$clr-blue-50: map-get($clr-blue-list, \"50\");\n$clr-blue-100: map-get($clr-blue-list, \"100\");\n$clr-blue-200: map-get($clr-blue-list, \"200\");\n$clr-blue-300: map-get($clr-blue-list, \"300\");\n$clr-blue-400: map-get($clr-blue-list, \"400\");\n$clr-blue-500: map-get($clr-blue-list, \"500\");\n$clr-blue-600: map-get($clr-blue-list, \"600\");\n$clr-blue-700: map-get($clr-blue-list, \"700\");\n$clr-blue-800: map-get($clr-blue-list, \"800\");\n$clr-blue-900: map-get($clr-blue-list, \"900\");\n$clr-blue-a100: map-get($clr-blue-list, \"a100\");\n$clr-blue-a200: map-get($clr-blue-list, \"a200\");\n$clr-blue-a400: map-get($clr-blue-list, \"a400\");\n$clr-blue-a700: map-get($clr-blue-list, \"a700\");\n\n\n//\n// Light Blue\n//\n\n$clr-light-blue-list: (\n \"base\": #03a9f4,\n \"50\": #e1f5fe,\n \"100\": #b3e5fc,\n \"200\": #81d4fa,\n \"300\": #4fc3f7,\n \"400\": #29b6f6,\n \"500\": #03a9f4,\n \"600\": #039be5,\n \"700\": #0288d1,\n \"800\": #0277bd,\n \"900\": #01579b,\n \"a100\": #80d8ff,\n \"a200\": #40c4ff,\n \"a400\": #00b0ff,\n \"a700\": #0091ea\n);\n\n$clr-light-blue: map-get($clr-light-blue-list, \"base\");\n\n$clr-light-blue-50: map-get($clr-light-blue-list, \"50\");\n$clr-light-blue-100: map-get($clr-light-blue-list, \"100\");\n$clr-light-blue-200: map-get($clr-light-blue-list, \"200\");\n$clr-light-blue-300: map-get($clr-light-blue-list, \"300\");\n$clr-light-blue-400: map-get($clr-light-blue-list, \"400\");\n$clr-light-blue-500: map-get($clr-light-blue-list, \"500\");\n$clr-light-blue-600: map-get($clr-light-blue-list, \"600\");\n$clr-light-blue-700: map-get($clr-light-blue-list, \"700\");\n$clr-light-blue-800: map-get($clr-light-blue-list, \"800\");\n$clr-light-blue-900: map-get($clr-light-blue-list, \"900\");\n$clr-light-blue-a100: map-get($clr-light-blue-list, \"a100\");\n$clr-light-blue-a200: map-get($clr-light-blue-list, \"a200\");\n$clr-light-blue-a400: map-get($clr-light-blue-list, \"a400\");\n$clr-light-blue-a700: map-get($clr-light-blue-list, \"a700\");\n\n\n//\n// Cyan\n//\n\n$clr-cyan-list: (\n \"base\": #00bcd4,\n \"50\": #e0f7fa,\n \"100\": #b2ebf2,\n \"200\": #80deea,\n \"300\": #4dd0e1,\n \"400\": #26c6da,\n \"500\": #00bcd4,\n \"600\": #00acc1,\n \"700\": #0097a7,\n \"800\": #00838f,\n \"900\": #006064,\n \"a100\": #84ffff,\n \"a200\": #18ffff,\n \"a400\": #00e5ff,\n \"a700\": #00b8d4\n);\n\n$clr-cyan: map-get($clr-cyan-list, \"base\");\n\n$clr-cyan-50: map-get($clr-cyan-list, \"50\");\n$clr-cyan-100: map-get($clr-cyan-list, \"100\");\n$clr-cyan-200: map-get($clr-cyan-list, \"200\");\n$clr-cyan-300: map-get($clr-cyan-list, \"300\");\n$clr-cyan-400: map-get($clr-cyan-list, \"400\");\n$clr-cyan-500: map-get($clr-cyan-list, \"500\");\n$clr-cyan-600: map-get($clr-cyan-list, \"600\");\n$clr-cyan-700: map-get($clr-cyan-list, \"700\");\n$clr-cyan-800: map-get($clr-cyan-list, \"800\");\n$clr-cyan-900: map-get($clr-cyan-list, \"900\");\n$clr-cyan-a100: map-get($clr-cyan-list, \"a100\");\n$clr-cyan-a200: map-get($clr-cyan-list, \"a200\");\n$clr-cyan-a400: map-get($clr-cyan-list, \"a400\");\n$clr-cyan-a700: map-get($clr-cyan-list, \"a700\");\n\n\n//\n// Teal\n//\n\n$clr-teal-list: (\n \"base\": #009688,\n \"50\": #e0f2f1,\n \"100\": #b2dfdb,\n \"200\": #80cbc4,\n \"300\": #4db6ac,\n \"400\": #26a69a,\n \"500\": #009688,\n \"600\": #00897b,\n \"700\": #00796b,\n \"800\": #00695c,\n \"900\": #004d40,\n \"a100\": #a7ffeb,\n \"a200\": #64ffda,\n \"a400\": #1de9b6,\n \"a700\": #00bfa5\n);\n\n$clr-teal: map-get($clr-teal-list, \"base\");\n\n$clr-teal-50: map-get($clr-teal-list, \"50\");\n$clr-teal-100: map-get($clr-teal-list, \"100\");\n$clr-teal-200: map-get($clr-teal-list, \"200\");\n$clr-teal-300: map-get($clr-teal-list, \"300\");\n$clr-teal-400: map-get($clr-teal-list, \"400\");\n$clr-teal-500: map-get($clr-teal-list, \"500\");\n$clr-teal-600: map-get($clr-teal-list, \"600\");\n$clr-teal-700: map-get($clr-teal-list, \"700\");\n$clr-teal-800: map-get($clr-teal-list, \"800\");\n$clr-teal-900: map-get($clr-teal-list, \"900\");\n$clr-teal-a100: map-get($clr-teal-list, \"a100\");\n$clr-teal-a200: map-get($clr-teal-list, \"a200\");\n$clr-teal-a400: map-get($clr-teal-list, \"a400\");\n$clr-teal-a700: map-get($clr-teal-list, \"a700\");\n\n\n//\n// Green\n//\n\n$clr-green-list: (\n \"base\": #4caf50,\n \"50\": #e8f5e9,\n \"100\": #c8e6c9,\n \"200\": #a5d6a7,\n \"300\": #81c784,\n \"400\": #66bb6a,\n \"500\": #4caf50,\n \"600\": #43a047,\n \"700\": #388e3c,\n \"800\": #2e7d32,\n \"900\": #1b5e20,\n \"a100\": #b9f6ca,\n \"a200\": #69f0ae,\n \"a400\": #00e676,\n \"a700\": #00c853\n);\n\n$clr-green: map-get($clr-green-list, \"base\");\n\n$clr-green-50: map-get($clr-green-list, \"50\");\n$clr-green-100: map-get($clr-green-list, \"100\");\n$clr-green-200: map-get($clr-green-list, \"200\");\n$clr-green-300: map-get($clr-green-list, \"300\");\n$clr-green-400: map-get($clr-green-list, \"400\");\n$clr-green-500: map-get($clr-green-list, \"500\");\n$clr-green-600: map-get($clr-green-list, \"600\");\n$clr-green-700: map-get($clr-green-list, \"700\");\n$clr-green-800: map-get($clr-green-list, \"800\");\n$clr-green-900: map-get($clr-green-list, \"900\");\n$clr-green-a100: map-get($clr-green-list, \"a100\");\n$clr-green-a200: map-get($clr-green-list, \"a200\");\n$clr-green-a400: map-get($clr-green-list, \"a400\");\n$clr-green-a700: map-get($clr-green-list, \"a700\");\n\n\n//\n// Light green\n//\n\n$clr-light-green-list: (\n \"base\": #8bc34a,\n \"50\": #f1f8e9,\n \"100\": #dcedc8,\n \"200\": #c5e1a5,\n \"300\": #aed581,\n \"400\": #9ccc65,\n \"500\": #8bc34a,\n \"600\": #7cb342,\n \"700\": #689f38,\n \"800\": #558b2f,\n \"900\": #33691e,\n \"a100\": #ccff90,\n \"a200\": #b2ff59,\n \"a400\": #76ff03,\n \"a700\": #64dd17\n);\n\n$clr-light-green: map-get($clr-light-green-list, \"base\");\n\n$clr-light-green-50: map-get($clr-light-green-list, \"50\");\n$clr-light-green-100: map-get($clr-light-green-list, \"100\");\n$clr-light-green-200: map-get($clr-light-green-list, \"200\");\n$clr-light-green-300: map-get($clr-light-green-list, \"300\");\n$clr-light-green-400: map-get($clr-light-green-list, \"400\");\n$clr-light-green-500: map-get($clr-light-green-list, \"500\");\n$clr-light-green-600: map-get($clr-light-green-list, \"600\");\n$clr-light-green-700: map-get($clr-light-green-list, \"700\");\n$clr-light-green-800: map-get($clr-light-green-list, \"800\");\n$clr-light-green-900: map-get($clr-light-green-list, \"900\");\n$clr-light-green-a100: map-get($clr-light-green-list, \"a100\");\n$clr-light-green-a200: map-get($clr-light-green-list, \"a200\");\n$clr-light-green-a400: map-get($clr-light-green-list, \"a400\");\n$clr-light-green-a700: map-get($clr-light-green-list, \"a700\");\n\n\n//\n// Lime\n//\n\n$clr-lime-list: (\n \"base\": #cddc39,\n \"50\": #f9fbe7,\n \"100\": #f0f4c3,\n \"200\": #e6ee9c,\n \"300\": #dce775,\n \"400\": #d4e157,\n \"500\": #cddc39,\n \"600\": #c0ca33,\n \"700\": #afb42b,\n \"800\": #9e9d24,\n \"900\": #827717,\n \"a100\": #f4ff81,\n \"a200\": #eeff41,\n \"a400\": #c6ff00,\n \"a700\": #aeea00\n);\n\n$clr-lime: map-get($clr-lime-list, \"base\");\n\n$clr-lime-50: map-get($clr-lime-list, \"50\");\n$clr-lime-100: map-get($clr-lime-list, \"100\");\n$clr-lime-200: map-get($clr-lime-list, \"200\");\n$clr-lime-300: map-get($clr-lime-list, \"300\");\n$clr-lime-400: map-get($clr-lime-list, \"400\");\n$clr-lime-500: map-get($clr-lime-list, \"500\");\n$clr-lime-600: map-get($clr-lime-list, \"600\");\n$clr-lime-700: map-get($clr-lime-list, \"700\");\n$clr-lime-800: map-get($clr-lime-list, \"800\");\n$clr-lime-900: map-get($clr-lime-list, \"900\");\n$clr-lime-a100: map-get($clr-lime-list, \"a100\");\n$clr-lime-a200: map-get($clr-lime-list, \"a200\");\n$clr-lime-a400: map-get($clr-lime-list, \"a400\");\n$clr-lime-a700: map-get($clr-lime-list, \"a700\");\n\n\n//\n// Yellow\n//\n\n$clr-yellow-list: (\n \"base\": #ffeb3b,\n \"50\": #fffde7,\n \"100\": #fff9c4,\n \"200\": #fff59d,\n \"300\": #fff176,\n \"400\": #ffee58,\n \"500\": #ffeb3b,\n \"600\": #fdd835,\n \"700\": #fbc02d,\n \"800\": #f9a825,\n \"900\": #f57f17,\n \"a100\": #ffff8d,\n \"a200\": #ffff00,\n \"a400\": #ffea00,\n \"a700\": #ffd600\n);\n\n$clr-yellow: map-get($clr-yellow-list, \"base\");\n\n$clr-yellow-50: map-get($clr-yellow-list, \"50\");\n$clr-yellow-100: map-get($clr-yellow-list, \"100\");\n$clr-yellow-200: map-get($clr-yellow-list, \"200\");\n$clr-yellow-300: map-get($clr-yellow-list, \"300\");\n$clr-yellow-400: map-get($clr-yellow-list, \"400\");\n$clr-yellow-500: map-get($clr-yellow-list, \"500\");\n$clr-yellow-600: map-get($clr-yellow-list, \"600\");\n$clr-yellow-700: map-get($clr-yellow-list, \"700\");\n$clr-yellow-800: map-get($clr-yellow-list, \"800\");\n$clr-yellow-900: map-get($clr-yellow-list, \"900\");\n$clr-yellow-a100: map-get($clr-yellow-list, \"a100\");\n$clr-yellow-a200: map-get($clr-yellow-list, \"a200\");\n$clr-yellow-a400: map-get($clr-yellow-list, \"a400\");\n$clr-yellow-a700: map-get($clr-yellow-list, \"a700\");\n\n\n//\n// amber\n//\n\n$clr-amber-list: (\n \"base\": #ffc107,\n \"50\": #fff8e1,\n \"100\": #ffecb3,\n \"200\": #ffe082,\n \"300\": #ffd54f,\n \"400\": #ffca28,\n \"500\": #ffc107,\n \"600\": #ffb300,\n \"700\": #ffa000,\n \"800\": #ff8f00,\n \"900\": #ff6f00,\n \"a100\": #ffe57f,\n \"a200\": #ffd740,\n \"a400\": #ffc400,\n \"a700\": #ffab00\n);\n\n$clr-amber: map-get($clr-amber-list, \"base\");\n\n$clr-amber-50: map-get($clr-amber-list, \"50\");\n$clr-amber-100: map-get($clr-amber-list, \"100\");\n$clr-amber-200: map-get($clr-amber-list, \"200\");\n$clr-amber-300: map-get($clr-amber-list, \"300\");\n$clr-amber-400: map-get($clr-amber-list, \"400\");\n$clr-amber-500: map-get($clr-amber-list, \"500\");\n$clr-amber-600: map-get($clr-amber-list, \"600\");\n$clr-amber-700: map-get($clr-amber-list, \"700\");\n$clr-amber-800: map-get($clr-amber-list, \"800\");\n$clr-amber-900: map-get($clr-amber-list, \"900\");\n$clr-amber-a100: map-get($clr-amber-list, \"a100\");\n$clr-amber-a200: map-get($clr-amber-list, \"a200\");\n$clr-amber-a400: map-get($clr-amber-list, \"a400\");\n$clr-amber-a700: map-get($clr-amber-list, \"a700\");\n\n\n//\n// Orange\n//\n\n$clr-orange-list: (\n \"base\": #ff9800,\n \"50\": #fff3e0,\n \"100\": #ffe0b2,\n \"200\": #ffcc80,\n \"300\": #ffb74d,\n \"400\": #ffa726,\n \"500\": #ff9800,\n \"600\": #fb8c00,\n \"700\": #f57c00,\n \"800\": #ef6c00,\n \"900\": #e65100,\n \"a100\": #ffd180,\n \"a200\": #ffab40,\n \"a400\": #ff9100,\n \"a700\": #ff6d00\n);\n\n$clr-orange: map-get($clr-orange-list, \"base\");\n\n$clr-orange-50: map-get($clr-orange-list, \"50\");\n$clr-orange-100: map-get($clr-orange-list, \"100\");\n$clr-orange-200: map-get($clr-orange-list, \"200\");\n$clr-orange-300: map-get($clr-orange-list, \"300\");\n$clr-orange-400: map-get($clr-orange-list, \"400\");\n$clr-orange-500: map-get($clr-orange-list, \"500\");\n$clr-orange-600: map-get($clr-orange-list, \"600\");\n$clr-orange-700: map-get($clr-orange-list, \"700\");\n$clr-orange-800: map-get($clr-orange-list, \"800\");\n$clr-orange-900: map-get($clr-orange-list, \"900\");\n$clr-orange-a100: map-get($clr-orange-list, \"a100\");\n$clr-orange-a200: map-get($clr-orange-list, \"a200\");\n$clr-orange-a400: map-get($clr-orange-list, \"a400\");\n$clr-orange-a700: map-get($clr-orange-list, \"a700\");\n\n\n//\n// Deep orange\n//\n\n$clr-deep-orange-list: (\n \"base\": #ff5722,\n \"50\": #fbe9e7,\n \"100\": #ffccbc,\n \"200\": #ffab91,\n \"300\": #ff8a65,\n \"400\": #ff7043,\n \"500\": #ff5722,\n \"600\": #f4511e,\n \"700\": #e64a19,\n \"800\": #d84315,\n \"900\": #bf360c,\n \"a100\": #ff9e80,\n \"a200\": #ff6e40,\n \"a400\": #ff3d00,\n \"a700\": #dd2c00\n);\n\n$clr-deep-orange: map-get($clr-deep-orange-list, \"base\");\n\n$clr-deep-orange-50: map-get($clr-deep-orange-list, \"50\");\n$clr-deep-orange-100: map-get($clr-deep-orange-list, \"100\");\n$clr-deep-orange-200: map-get($clr-deep-orange-list, \"200\");\n$clr-deep-orange-300: map-get($clr-deep-orange-list, \"300\");\n$clr-deep-orange-400: map-get($clr-deep-orange-list, \"400\");\n$clr-deep-orange-500: map-get($clr-deep-orange-list, \"500\");\n$clr-deep-orange-600: map-get($clr-deep-orange-list, \"600\");\n$clr-deep-orange-700: map-get($clr-deep-orange-list, \"700\");\n$clr-deep-orange-800: map-get($clr-deep-orange-list, \"800\");\n$clr-deep-orange-900: map-get($clr-deep-orange-list, \"900\");\n$clr-deep-orange-a100: map-get($clr-deep-orange-list, \"a100\");\n$clr-deep-orange-a200: map-get($clr-deep-orange-list, \"a200\");\n$clr-deep-orange-a400: map-get($clr-deep-orange-list, \"a400\");\n$clr-deep-orange-a700: map-get($clr-deep-orange-list, \"a700\");\n\n\n//\n// Brown\n//\n\n$clr-brown-list: (\n \"base\": #795548,\n \"50\": #efebe9,\n \"100\": #d7ccc8,\n \"200\": #bcaaa4,\n \"300\": #a1887f,\n \"400\": #8d6e63,\n \"500\": #795548,\n \"600\": #6d4c41,\n \"700\": #5d4037,\n \"800\": #4e342e,\n \"900\": #3e2723,\n);\n\n$clr-brown: map-get($clr-brown-list, \"base\");\n\n$clr-brown-50: map-get($clr-brown-list, \"50\");\n$clr-brown-100: map-get($clr-brown-list, \"100\");\n$clr-brown-200: map-get($clr-brown-list, \"200\");\n$clr-brown-300: map-get($clr-brown-list, \"300\");\n$clr-brown-400: map-get($clr-brown-list, \"400\");\n$clr-brown-500: map-get($clr-brown-list, \"500\");\n$clr-brown-600: map-get($clr-brown-list, \"600\");\n$clr-brown-700: map-get($clr-brown-list, \"700\");\n$clr-brown-800: map-get($clr-brown-list, \"800\");\n$clr-brown-900: map-get($clr-brown-list, \"900\");\n\n\n//\n// Grey\n//\n\n$clr-grey-list: (\n \"base\": #9e9e9e,\n \"50\": #fafafa,\n \"100\": #f5f5f5,\n \"200\": #eeeeee,\n \"300\": #e0e0e0,\n \"400\": #bdbdbd,\n \"500\": #9e9e9e,\n \"600\": #757575,\n \"700\": #616161,\n \"800\": #424242,\n \"900\": #212121,\n);\n\n$clr-grey: map-get($clr-grey-list, \"base\");\n\n$clr-grey-50: map-get($clr-grey-list, \"50\");\n$clr-grey-100: map-get($clr-grey-list, \"100\");\n$clr-grey-200: map-get($clr-grey-list, \"200\");\n$clr-grey-300: map-get($clr-grey-list, \"300\");\n$clr-grey-400: map-get($clr-grey-list, \"400\");\n$clr-grey-500: map-get($clr-grey-list, \"500\");\n$clr-grey-600: map-get($clr-grey-list, \"600\");\n$clr-grey-700: map-get($clr-grey-list, \"700\");\n$clr-grey-800: map-get($clr-grey-list, \"800\");\n$clr-grey-900: map-get($clr-grey-list, \"900\");\n\n\n//\n// Blue grey\n//\n\n$clr-blue-grey-list: (\n \"base\": #607d8b,\n \"50\": #eceff1,\n \"100\": #cfd8dc,\n \"200\": #b0bec5,\n \"300\": #90a4ae,\n \"400\": #78909c,\n \"500\": #607d8b,\n \"600\": #546e7a,\n \"700\": #455a64,\n \"800\": #37474f,\n \"900\": #263238,\n);\n\n$clr-blue-grey: map-get($clr-blue-grey-list, \"base\");\n\n$clr-blue-grey-50: map-get($clr-blue-grey-list, \"50\");\n$clr-blue-grey-100: map-get($clr-blue-grey-list, \"100\");\n$clr-blue-grey-200: map-get($clr-blue-grey-list, \"200\");\n$clr-blue-grey-300: map-get($clr-blue-grey-list, \"300\");\n$clr-blue-grey-400: map-get($clr-blue-grey-list, \"400\");\n$clr-blue-grey-500: map-get($clr-blue-grey-list, \"500\");\n$clr-blue-grey-600: map-get($clr-blue-grey-list, \"600\");\n$clr-blue-grey-700: map-get($clr-blue-grey-list, \"700\");\n$clr-blue-grey-800: map-get($clr-blue-grey-list, \"800\");\n$clr-blue-grey-900: map-get($clr-blue-grey-list, \"900\");\n\n\n//\n// Black\n//\n\n$clr-black-list: (\n \"base\": #000\n);\n\n$clr-black: map-get($clr-black-list, \"base\");\n\n\n//\n// White\n//\n\n$clr-white-list: (\n \"base\": #fff\n);\n\n$clr-white: map-get($clr-white-list, \"base\");\n\n\n//\n// List for all Colors for looping\n//\n\n$clr-list-all: (\n \"red\": $clr-red-list,\n \"pink\": $clr-pink-list,\n \"purple\": $clr-purple-list,\n \"deep-purple\": $clr-deep-purple-list,\n \"indigo\": $clr-indigo-list,\n \"blue\": $clr-blue-list,\n \"light-blue\": $clr-light-blue-list,\n \"cyan\": $clr-cyan-list,\n \"teal\": $clr-teal-list,\n \"green\": $clr-green-list,\n \"light-green\": $clr-light-green-list,\n \"lime\": $clr-lime-list,\n \"yellow\": $clr-yellow-list,\n \"amber\": $clr-amber-list,\n \"orange\": $clr-orange-list,\n \"deep-orange\": $clr-deep-orange-list,\n \"brown\": $clr-brown-list,\n \"grey\": $clr-grey-list,\n \"blue-grey\": $clr-blue-grey-list,\n \"black\": $clr-black-list,\n \"white\": $clr-white-list\n);\n\n\n//\n// Typography\n//\n\n$clr-ui-display-4: $clr-grey-600;\n$clr-ui-display-3: $clr-grey-600;\n$clr-ui-display-2: $clr-grey-600;\n$clr-ui-display-1: $clr-grey-600;\n$clr-ui-headline: $clr-grey-900;\n$clr-ui-title: $clr-grey-900;\n$clr-ui-subhead-1: $clr-grey-900;\n$clr-ui-body-2: $clr-grey-900;\n$clr-ui-body-1: $clr-grey-900;\n$clr-ui-caption: $clr-grey-600;\n$clr-ui-menu: $clr-grey-900;\n$clr-ui-button: $clr-grey-900;\n","////\n/// Copyright (c) 2016-2021 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// Rules\n// ----------------------------------------------------------------------------\n\n// Landing page container\n.tx-container {\n padding-top: px2rem(20px);\n background:\n url(\"data:image/svg+xml;utf8,\") no-repeat bottom,\n linear-gradient(\n to bottom,\n var(--md-primary-fg-color),\n hsla(280, 67%, 55%, 1) 99%,\n var(--md-default-bg-color) 99%\n );\n\n // Adjust background for slate theme\n [data-md-color-scheme=\"slate\"] & {\n background:\n url(\"data:image/svg+xml;utf8,\") no-repeat bottom,\n linear-gradient(\n to bottom,\n var(--md-primary-fg-color),\n hsla(280, 67%, 55%, 1) 99%,\n var(--md-default-bg-color) 99%\n );\n }\n}\n\n// Landing page hero\n.tx-hero {\n margin: 0 px2rem(16px);\n color: var(--md-primary-bg-color);\n\n // Hero headline\n h1 {\n margin-bottom: px2rem(20px);\n color: currentColor;\n font-weight: 700;\n\n // [mobile portrait -]: Larger hero headline\n @include break-to-device(mobile portrait) {\n font-size: px2rem(28px);\n }\n }\n\n // Hero content\n &__content {\n padding-bottom: px2rem(120px);\n }\n\n // [tablet landscape +]: Columnar display\n @include break-from-device(tablet landscape) {\n display: flex;\n align-items: stretch;\n\n // Adjust spacing and set dimensions\n &__content {\n max-width: px2rem(380px);\n margin-top: px2rem(70px);\n padding-bottom: 14vw;\n }\n\n // Hero image\n &__image {\n order: 1;\n width: px2rem(760px);\n transform: translateX(#{px2rem(80px)});\n }\n }\n\n // [screen +]: Columnar display and adjusted spacing\n @include break-from-device(screen) {\n\n // Hero image\n &__image {\n transform: translateX(#{px2rem(160px)});\n }\n }\n\n // Button\n .md-button {\n margin-top: px2rem(10px);\n margin-right: px2rem(10px);\n color: var(--md-primary-bg-color);\n\n // Button on focus/hover\n &:focus,\n &:hover {\n color: var(--md-default-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n\n // Primary button\n &--primary {\n color: hsla(280deg, 37%, 48%, 1);\n background-color: var(--md-primary-bg-color);\n border-color: var(--md-primary-bg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 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// Nothing to see here, move along\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Icon search\n .mdx-icon-search {\n position: relative;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.1),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.1);\n transition: box-shadow 125ms;\n\n // Icon search on focus/hover\n &:focus-within,\n &:hover {\n box-shadow:\n 0 px2rem(8px) px2rem(20px) hsla(0, 0%, 0%, 0.15),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.15);\n }\n\n // Icon search input\n .md-input {\n background: var(--md-default-bg-color);\n box-shadow: 0 0 px2rem(12px) hsla(0, 0%, 0%, 0.07);\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] & {\n background: var(--md-code-bg-color);\n }\n }\n }\n\n // Icon search result\n .mdx-icon-search-result {\n max-height: 50vh;\n overflow-y: auto;\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n touch-action: pan-y;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n\n // Icon search result metadata\n &__meta {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(12px);\n color: var(--md-default-fg-color--lighter);\n font-size: px2rem(12.8px);\n }\n\n // Icon search result list\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // Icon search result item\n &__item {\n margin: 0;\n padding: px2rem(4px) px2rem(12px);\n border-bottom: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Omit border on last child\n &:last-child {\n border-bottom: none;\n }\n\n // Item content\n > * {\n margin-right: px2rem(12px);\n }\n\n // Set icon dimensions to fit\n img {\n width: px2rem(18px);\n height: px2rem(18px);\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] &[src*=squidfunk] {\n filter: invert(1);\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/material/overrides/assets/stylesheets/main.css b/material/overrides/assets/stylesheets/main.css deleted file mode 100644 index e8f00f48a..000000000 --- a/material/overrides/assets/stylesheets/main.css +++ /dev/null @@ -1,285 +0,0 @@ -@-webkit-keyframes tx-heart { - 0%, 40%, 80%, 100% { - transform: scale(1); - } - 20%, 60% { - transform: scale(1.15); - } -} -@keyframes tx-heart { - 0%, 40%, 80%, 100% { - transform: scale(1); - } - 20%, 60% { - transform: scale(1.15); - } -} -.md-typeset figure > p + figcaption { - margin-top: -1.2rem; -} -.md-typeset .twitter { - color: #00acee; -} -.md-typeset .tx-video { - width: auto; -} -.md-typeset .tx-video__inner { - position: relative; - width: 100%; - height: 0; - padding-bottom: 56.138%; -} -.md-typeset .tx-video iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - overflow: hidden; - border: none; -} -.md-typeset .tx-heart { - -webkit-animation: tx-heart 1000ms infinite; - animation: tx-heart 1000ms infinite; -} -.md-typeset .tx-insiders { - color: #e91e63; -} -.md-typeset .tx-insiders-button { - font-weight: 400; -} -.md-typeset .tx-insiders-count { - font-weight: 700; -} -.md-typeset .tx-insiders-list { - margin: 2em 0; - overflow: auto; -} -.md-typeset .tx-insiders-list__item { - display: block; - float: left; - width: 3rem; - height: 3rem; - margin: 0.2rem; - overflow: hidden; - border-radius: 100%; - transform: scale(1); - transition: color 125ms, transform 125ms; -} -.md-typeset .tx-insiders-list__item img { - display: block; - width: 100%; - height: auto; - -webkit-filter: grayscale(100%); - filter: grayscale(100%); - transition: -webkit-filter 125ms; - transition: filter 125ms; - transition: filter 125ms, -webkit-filter 125ms; -} -.md-typeset .tx-insiders-list__item:focus, .md-typeset .tx-insiders-list__item:hover { - transform: scale(1.1); -} -.md-typeset .tx-insiders-list__item:focus img, .md-typeset .tx-insiders-list__item:hover img { - -webkit-filter: grayscale(0%); - filter: grayscale(0%); -} -.md-typeset .tx-insiders-list__item--private { - color: var(--md-default-fg-color--lighter); - font-weight: 700; - font-size: 1.2rem; - line-height: 3rem; - text-align: center; - background: var(--md-default-fg-color--lightest); -} -.md-typeset .tx-switch button { - cursor: pointer; - transition: opacity 250ms; -} -.md-typeset .tx-switch button:focus, .md-typeset .tx-switch button:hover { - opacity: 0.75; -} -.md-typeset .tx-switch button > code { - display: block; - color: var(--md-primary-bg-color); - background-color: var(--md-primary-fg-color); -} -.md-typeset .tx-columns ol, -.md-typeset .tx-columns ul { - -moz-columns: 2; - columns: 2; -} -@media screen and (max-width: 29.9375em) { - .md-typeset .tx-columns ol, -.md-typeset .tx-columns ul { - -moz-columns: initial; - columns: initial; - } -} -.md-typeset .tx-columns li { - -moz-column-break-inside: avoid; - break-inside: avoid; -} - -.md-announce a, -.md-announce a:focus, -.md-announce a:hover { - color: currentColor; -} -.md-announce strong { - white-space: nowrap; -} -.md-announce .twitter { - margin-left: 0.2em; -} - -.tx-content__footer { - margin-top: 1rem; - text-align: center; -} -.tx-content__footer a { - display: inline-block; - color: #e91e63; - transition: transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1), color 125ms; -} -.tx-content__footer a:focus, .tx-content__footer a:hover { - transform: scale(1.2); -} -.tx-content__footer hr { - display: inline-block; - width: 2rem; - margin: 1em; - vertical-align: middle; - background-color: currentColor; - border: none; -} - -.tx-container { - padding-top: 1rem; - background: url("data:image/svg+xml;utf8,") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%); -} -[data-md-color-scheme=slate] .tx-container { - background: url("data:image/svg+xml;utf8,") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%); -} - -.tx-hero { - margin: 0 0.8rem; - color: var(--md-primary-bg-color); -} -.tx-hero h1 { - margin-bottom: 1rem; - color: currentColor; - font-weight: 700; -} -@media screen and (max-width: 29.9375em) { - .tx-hero h1 { - font-size: 1.4rem; - } -} -.tx-hero__content { - padding-bottom: 6rem; -} -@media screen and (min-width: 60em) { - .tx-hero { - display: flex; - align-items: stretch; - } - .tx-hero__content { - max-width: 19rem; - margin-top: 3.5rem; - padding-bottom: 14vw; - } - .tx-hero__image { - order: 1; - width: 38rem; - transform: translateX(4rem); - } -} -@media screen and (min-width: 76.25em) { - .tx-hero__image { - transform: translateX(8rem); - } -} -.tx-hero .md-button { - margin-top: 0.5rem; - margin-right: 0.5rem; - color: var(--md-primary-bg-color); -} -.tx-hero .md-button:focus, .tx-hero .md-button:hover { - color: var(--md-default-bg-color); - background-color: var(--md-accent-fg-color); - border-color: var(--md-accent-fg-color); -} -.tx-hero .md-button--primary { - color: #894da8; - background-color: var(--md-primary-bg-color); - border-color: var(--md-primary-bg-color); -} - -.md-typeset .mdx-icon-search { - position: relative; - background-color: var(--md-default-bg-color); - border-radius: 0.1rem; - box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1); - transition: box-shadow 125ms; -} -.md-typeset .mdx-icon-search:focus-within, .md-typeset .mdx-icon-search:hover { - box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15); -} -.md-typeset .mdx-icon-search .md-input { - background: var(--md-default-bg-color); - box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07); -} -[data-md-color-scheme=slate] .md-typeset .mdx-icon-search .md-input { - background: var(--md-code-bg-color); -} -.md-typeset .mdx-icon-search-result { - max-height: 50vh; - overflow-y: auto; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - touch-action: pan-y; - scrollbar-width: thin; - scrollbar-color: var(--md-default-fg-color--lighter) transparent; -} -.md-typeset .mdx-icon-search-result::-webkit-scrollbar { - width: 0.2rem; - height: 0.2rem; -} -.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb { - background-color: var(--md-default-fg-color--lighter); -} -.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb:hover { - background-color: var(--md-accent-fg-color); -} -.md-typeset .mdx-icon-search-result__meta { - position: absolute; - top: 0.4rem; - right: 0.6rem; - color: var(--md-default-fg-color--lighter); - font-size: 0.64rem; -} -.md-typeset .mdx-icon-search-result__list { - margin: 0; - padding: 0; - list-style: none; -} -.md-typeset .mdx-icon-search-result__item { - margin: 0; - padding: 0.2rem 0.6rem; - border-bottom: 0.05rem solid var(--md-default-fg-color--lightest); -} -.md-typeset .mdx-icon-search-result__item:last-child { - border-bottom: none; -} -.md-typeset .mdx-icon-search-result__item > * { - margin-right: 0.6rem; -} -.md-typeset .mdx-icon-search-result__item img { - width: 0.9rem; - height: 0.9rem; -} -[data-md-color-scheme=slate] .md-typeset .mdx-icon-search-result__item img[src*=squidfunk] { - -webkit-filter: invert(1); - filter: invert(1); -} -/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/material/overrides/assets/stylesheets/main.css.map b/material/overrides/assets/stylesheets/main.css.map deleted file mode 100644 index 0d2a2dfb0..000000000 --- a/material/overrides/assets/stylesheets/main.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/_typeset.scss","../../../../src/overrides/assets/stylesheets/main.scss","../../../../src/overrides/assets/stylesheets/node_modules/material-design-color/material-color.scss","../../../../src/overrides/assets/stylesheets/src/assets/stylesheets/utilities/_break.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/layout/_announce.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/layout/_content.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/layout/_hero.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/_shame.scss"],"names":[],"mappings":"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","file":"main.css"} \ No newline at end of file diff --git a/material/overrides/main.html b/material/overrides/main.html index 22fbf67c5..f244807bd 100644 --- a/material/overrides/main.html +++ b/material/overrides/main.html @@ -22,7 +22,7 @@ - + {% endblock %} {% block announce %} @@ -53,5 +53,5 @@ {% endblock %} {% block scripts %} {{ super() }} - + {% endblock %} diff --git a/package-lock.json b/package-lock.json index 05f7b6e4e..ea0079f89 100644 --- a/package-lock.json +++ b/package-lock.json @@ -543,6 +543,14 @@ "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 + } } }, "@types/unist": { @@ -1389,6 +1397,14 @@ "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 + } } }, "cli-cursor": { @@ -1822,6 +1838,14 @@ "requires": { "mdn-data": "2.0.14", "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 + } } }, "mdn-data": { @@ -4635,14 +4659,14 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.18.0-next.2" }, "dependencies": { "es-abstract": { @@ -5004,6 +5028,14 @@ "colorette": "^1.2.1", "nanoid": "^3.1.20", "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 + } } }, "postcss-calc": { @@ -5366,6 +5398,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } }, "supports-color": { @@ -6325,6 +6365,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } }, "supports-color": { @@ -6362,6 +6410,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } }, "supports-color": { @@ -6394,6 +6450,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } }, "supports-color": { @@ -6425,6 +6489,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } }, "supports-color": { @@ -6468,6 +6540,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } }, "supports-color": { @@ -7213,6 +7293,14 @@ "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": { @@ -7801,6 +7889,12 @@ } } } + }, + "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 } } }, @@ -8201,6 +8295,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } } } @@ -8376,6 +8478,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } }, "postcss-value-parser": { @@ -8395,6 +8505,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } } } @@ -8419,6 +8537,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } } } @@ -8513,6 +8639,14 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.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 + } } }, "supports-color": { @@ -8618,6 +8752,14 @@ "requires": { "mdn-data": "2.0.14", "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 + } } }, "css-what": { diff --git a/package.json b/package.json index b5e9c1309..bf841568c 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint": "run-p lint:*", "lint:scss": "stylelint \"src/assets/**/*.scss\"", "lint:ts": "eslint --cache \"src/**/*.ts\"", - "start": "webpack --mode development --watch" + "start": "ts-node -T tools --watch" }, "dependencies": { "clipboard": "^2.0.6", diff --git a/src/assets/javascripts/templates/table/index.tsx b/src/assets/javascripts/templates/table/index.tsx index 20e737815..012450d79 100644 --- a/src/assets/javascripts/templates/table/index.tsx +++ b/src/assets/javascripts/templates/table/index.tsx @@ -20,7 +20,7 @@ * IN THE SOFTWARE. */ -import { h } from "utilities" +import { h } from "~/utilities" /* ---------------------------------------------------------------------------- * Functions diff --git a/src/overrides/assets/javascripts/components/icon-search/result/index.ts b/src/overrides/assets/javascripts/components/icon-search/result/index.ts index 4268b0b1a..1d6a033b0 100644 --- a/src/overrides/assets/javascripts/components/icon-search/result/index.ts +++ b/src/overrides/assets/javascripts/components/icon-search/result/index.ts @@ -53,7 +53,8 @@ import { watchElementThreshold } from "~/browser" -import { Icon, renderIconSearchResult } from "../../../templates" +import { Icon, renderIconSearchResult } from "_/templates" + import { Component } from "../../_" import { IconSearchIndex } from "../_" import { IconSearchQuery } from "../query" diff --git a/tools/resolve/index.ts b/tools/_/index.ts similarity index 78% rename from tools/resolve/index.ts rename to tools/_/index.ts index cfcab2623..906318fb5 100644 --- a/tools/resolve/index.ts +++ b/tools/_/index.ts @@ -20,9 +20,10 @@ * IN THE SOFTWARE. */ +import * as chokidar from "chokidar" import * as fs from "fs/promises" -import { Observable, from } from "rxjs" -import { mapTo, switchMap } from "rxjs/operators" +import { Observable, from, fromEvent, identity } from "rxjs" +import { mapTo, mergeWith, switchMap } from "rxjs/operators" import glob from "tiny-glob" /* ---------------------------------------------------------------------------- @@ -34,6 +35,14 @@ import glob from "tiny-glob" */ interface ResolveOptions { cwd: string /* Working directory */ + watch?: boolean /* Watch mode */ +} + +/** + * Watch options + */ +interface WatchOptions { + cwd: string /* Working directory */ } /* ---------------------------------------------------------------------------- @@ -49,23 +58,6 @@ export const base = "material" * Functions * ------------------------------------------------------------------------- */ -/** - * Resolve a pattern - * - * @param pattern - Pattern - * @param options - Options - * - * @returns File observable - */ -export function resolve( - pattern: string, options?: ResolveOptions -): Observable { - return from(glob(pattern, options)) - .pipe( - switchMap(files => from(files)) - ) -} - /** * Recursively create the given directory * @@ -83,23 +75,35 @@ export function mkdir( } /** - * Cachebust a file using a content hash + * Resolve a pattern * - * @param file - File - * @param hash - Content hash + * @param pattern - Pattern * @param options - Options * - * @returns Cachebusting tuple observable + * @returns File observable */ -export function cachebust( - file: string, hash: string, options: ResolveOptions -): Observable<[string, string]> { - const name = file.replace(/\b(?=\.)/, `.${hash.slice(0, 8)}.min`) - return from(fs.rename( - `${options.cwd}/${file}`, - `${options.cwd}/${name}` - )) +export function resolve( + pattern: string, options?: ResolveOptions +): Observable { + return from(glob(pattern, options)) .pipe( - mapTo([file, name]) + switchMap(files => from(files)), + options?.watch + ? mergeWith(watch(pattern, options)) + : identity ) } + +/** + * Watch all files matching the given pattern + * + * @param pattern - Pattern + * @param options - Options + * + * @returns File observable + */ +export function watch( + pattern: string, options: WatchOptions +): Observable { + return fromEvent(chokidar.watch(pattern, options), "change") +} diff --git a/tools/copy/index.ts b/tools/copy/index.ts index aa5fe8154..fc643450b 100644 --- a/tools/copy/index.ts +++ b/tools/copy/index.ts @@ -25,7 +25,7 @@ import * as path from "path" import { Observable, from } from "rxjs" import { mapTo, mergeMap, switchMap } from "rxjs/operators" -import { mkdir, resolve } from "../resolve" +import { mkdir, resolve } from "../_" /* ---------------------------------------------------------------------------- * Helper types @@ -47,9 +47,10 @@ type CopyTransformFn = (data: string, name: string) => Promise * Copy options */ interface CopyOptions { - src: string /* Source file */ - out: string /* Target file */ + from: string /* Source destination */ + to: string /* Target destination */ transform?: CopyTransformFn /* Transform function */ + watch?: boolean /* Watch mode */ } /* ---------------------------------------------------------------------------- @@ -64,19 +65,19 @@ interface CopyOptions { * @returns File observable */ export function copy( - { src, out, transform }: CopyOptions + { transform, ...options }: CopyOptions ): Observable { - return mkdir(path.dirname(out)) + return mkdir(path.dirname(options.to)) .pipe( switchMap(() => typeof transform === "undefined" - ? from(fs.copyFile(src, out)) - : from(fs.readFile(src, "utf8")) + ? from(fs.copyFile(options.from, options.to)) + : from(fs.readFile(options.from, "utf8")) .pipe( - switchMap(data => transform(data, src)), - switchMap(data => fs.writeFile(out, data)) + switchMap(data => transform(data, options.from)), + switchMap(data => fs.writeFile(options.to, data)) ) ), - mapTo(out) + mapTo(options.to) ) } @@ -94,12 +95,12 @@ export function copy( export function copyAll( pattern: string, options: CopyOptions ): Observable { - return resolve(pattern, { cwd: options.src }) + return resolve(pattern, { ...options, cwd: options.from }) .pipe( mergeMap(file => copy({ ...options, - src: `${options.src}/${file}`, - out: `${options.out}/${file.replace(/(\.{2}\/)+/, "")}` + from: `${options.from}/${file}`, + to: `${options.to}/${file.replace(/(\.{2}\/)+/, "")}` }), 16) ) } diff --git a/tools/index.ts b/tools/index.ts index 2f5f05d14..7890d9d1a 100644 --- a/tools/index.ts +++ b/tools/index.ts @@ -20,30 +20,41 @@ * IN THE SOFTWARE. */ -import { createHash } from "crypto" import * as fs from "fs/promises" import { minify as minhtml } from "html-minifier" import * as path from "path" -import { EMPTY, concat, defer, from, merge, of } from "rxjs" +import { concat, defer, merge, of, zip } from "rxjs" import { concatMap, map, - mergeMap, - switchMap, - toArray + reduce, + switchMap } from "rxjs/operators" import { extendDefaultPlugins, optimize } from "svgo" -import { copy, copyAll } from "./copy" -import { base, cachebust, resolve } from "./resolve" +import { IconSearchIndex } from "_/components" + +import { base, resolve } from "./_" +import { copyAll } from "./copy" import { transformScript, transformStyle } from "./transform" +/* ---------------------------------------------------------------------------- + * Helper types + * ------------------------------------------------------------------------- */ + +/** + * Twemoji icon + */ +interface TwemojiIcon { + unicode: string /* Unicode code point */ +} + /* ---------------------------------------------------------------------------- * Helper functions * ------------------------------------------------------------------------- */ @@ -84,14 +95,14 @@ function minsvg(data: string): string { * Program * ------------------------------------------------------------------------- */ -/* Copy all dependencies */ -const dependencies$ = concat( +/* Copy all assets */ +const assets$ = concat( /* Copy Material Design icons */ ...["*.svg", "../LICENSE"] .map(pattern => copyAll(pattern, { - src: "node_modules/@mdi/svg/svg", - out: `${base}/.icons/material`, + from: "node_modules/@mdi/svg/svg", + to: `${base}/.icons/material`, ...process.argv.includes("--optimize") && { transform: async data => minsvg(data) } @@ -100,8 +111,8 @@ const dependencies$ = concat( /* Copy GitHub octicons */ ...["*.svg", "../../LICENSE"] .map(pattern => copyAll(pattern, { - src: "node_modules/@primer/octicons/build/svg", - out: `${base}/.icons/octicons`, + from: "node_modules/@primer/octicons/build/svg", + to: `${base}/.icons/octicons`, ...process.argv.includes("--optimize") && { transform: async data => minsvg(data) } @@ -110,143 +121,166 @@ const dependencies$ = concat( /* Copy FontAwesome icons */ ...["**/*.svg", "../LICENSE.txt"] .map(pattern => copyAll(pattern, { - src: "node_modules/@fortawesome/fontawesome-free/svgs", - out: `${base}/.icons/fontawesome`, + from: "node_modules/@fortawesome/fontawesome-free/svgs", + to: `${base}/.icons/fontawesome`, ...process.argv.includes("--optimize") && { transform: async data => minsvg(data) } - })) -) - -/* Copy all assets */ -const assets$ = concat( - - /* Copy icons, images and configurations */ - ...[".icons/*.svg", "assets/images/*", "**/*.{py,yml}"] - .map(pattern => copyAll(pattern, { - src: "src", - out: base })), - /* Copy and minify template files */ - copyAll("**/*.html", { - src: "src", - out: base, - transform: async data => { - const metadata = require("../package.json") - const banner = - "{#-\n" + - " This file was automatically generated - do not edit\n" + - "-#}\n" + /* Copy Lunr.js search stemmers and segmenter */ + ...["min/*.js", "tinyseg.js"] + .map(pattern => copyAll(pattern, { + from: "node_modules/lunr-languages", + to: `${base}/assets/javascripts/lunr` + })), - /* Normalize line feeds and minify HTML */ - const html = data.replace(/\r\n/gm, "\n") - return banner + minhtml(html, { - collapseBooleanAttributes: true, - includeAutoGeneratedTags: false, - minifyCSS: true, - minifyJS: true, - removeComments: true, - removeScriptTypeAttributes: true, - removeStyleLinkTypeAttributes: true - }) - - /* Remove empty lines without collapsing everything */ - .replace(/^\s*[\r\n]/gm, "") - - /* Write theme version into template */ - .replace("$md-name$", metadata.name) - .replace("$md-version$", metadata.version) - } - }) + /* Copy images and configurations */ + ...[".icons/*.svg", "assets/images/*", "**/*.{py,yml}"] + .map(pattern => copyAll(pattern, { + from: "src", + to: base + })) ) -/* Transform stylesheets with SASS and PostCSS */ +/* ------------------------------------------------------------------------- */ + +/* Transform styles */ const stylesheets$ = resolve("**/[!_]*.scss", { cwd: "src" }) .pipe( - concatMap(file => transformStyle({ - src: `src/${file}`, - out: ext(`${base}/${file}`, ".css") - })) + concatMap(file => zip( + of(ext(file, ".css")), + transformStyle({ + from: `src/${file}`, + to: ext(`${base}/${file}`, ".css") + })) + ) ) -/* Transform stylesheets with SASS and PostCSS */ +/* Transform scripts */ const javascripts$ = resolve("**/{bundle,search}.ts", { cwd: "src" }) .pipe( - concatMap(file => transformScript({ - src: `src/${file}`, - out: ext(`${base}/${file}`, ".js") + concatMap(file => zip( + of(ext(file, ".js")), + transformScript({ + from: `src/${file}`, + to: ext(`${base}/${file}`, ".js") + })) + ) + ) + +/* Compute manifest */ +const manifest$ = merge( + stylesheets$, + javascripts$ +) + .pipe( + reduce((manifest, [key, value]) => manifest.set( + key, + value.replace(`${base}/`, "") + ), new Map()) + ) + +/* Transform templates */ +const templates$ = manifest$ + .pipe( + switchMap(manifest => copyAll("**/*.html", { + from: "src", + to: base, + watch: process.argv.includes("--watch"), + transform: async data => { + const metadata = require("../package.json") + const banner = + "{#-\n" + + " This file was automatically generated - do not edit\n" + + "-#}\n" + + /* If necessary, apply manifest */ + if (process.argv.includes("--optimize")) + for (const [key, value] of manifest) + data = data.replace( + new RegExp(`('|")${key}\\1`, "g"), + `$1${value}$1` + ) + + /* Normalize line feeds and minify HTML */ + const html = data.replace(/\r\n/gm, "\n") + return banner + minhtml(html, { + collapseBooleanAttributes: true, + includeAutoGeneratedTags: false, + minifyCSS: true, + minifyJS: true, + removeComments: true, + removeScriptTypeAttributes: true, + removeStyleLinkTypeAttributes: true + }) + + /* Remove empty lines without collapsing everything */ + .replace(/^\s*[\r\n]/gm, "") + + /* Write theme version into template */ + .replace("$md-name$", metadata.name) + .replace("$md-version$", metadata.version) + } })) ) -/* Add content hashes to assets and replace occurrences */ -const manifest$ = defer(() => process.argv.includes("--optimize") - ? resolve("**/*.{css,js}", { cwd: base }) - : EMPTY -) +/* ------------------------------------------------------------------------- */ + +/* Compute icon mappings */ +const icons$ = defer(() => resolve("**/*.svg", { cwd: "material/.icons" })) .pipe( - concatMap(file => from(fs.readFile(`${base}/${file}`, "utf8")) - .pipe( - map(data => createHash("sha256").update(data).digest("hex")), - switchMap(hash => of(`${file}`, `${file}.map`) - .pipe( - concatMap(part => cachebust(part, hash, { cwd: base })) - ) - ) - ) - ), - toArray(), - map(tuples => new Map(tuples)), - mergeMap(manifest => concat( - - // TODO: split this into two. manifest + cachebust! - ...["base.html", "overrides/main.html"] - .map(file => copy({ - src: `${base}/${file}`, - out: `${base}/${file}`, - transform: async data => [...manifest.entries()] - .reduce((content, [key, value]) => content - .replace( - new RegExp(`('|")${key}\\1`, "g"), - `$1${value}$1` - ), - data - ) - })), - - // TODO: interate this into the actual compilation... - ...[...manifest.keys()] - .filter(file => !file.endsWith(".map")) - .map(file => copy({ - src: `${base}/${manifest.get(file)!}`, - out: `${base}/${manifest.get(file)!}`, - transform: async data => data.replace( - path.basename(file), - path.basename(manifest.get(file)!), - ) - })) - )) + reduce((index, file) => index.set( + file, + file.replace(/\.svg$/, "").replace(/\//g, "-") + ), new Map()) ) -/* Copy Lunr.js search stemmers and segmenter */ -const stemmers$ = ["min/*.js", "tinyseg.js"] - .map(pattern => copyAll(pattern, { - src: "node_modules/lunr-languages", - out: `${base}/assets/javascripts/lunr` - })) +/* Compute emoji mappings (based on Twemoji) */ +const emojis$ = defer(() => resolve("venv/**/twemoji_db.py")) + .pipe( + switchMap(file => fs.readFile(file, "utf8")), + map(data => { + const [, payload] = data.match(/^emoji = ({.*})$.alias/ms)! + return Object.entries(JSON.parse(payload)) + .reduce((index, [name, { unicode }]) => index.set( + name.replace(/(^:|:$)/g, ""), + `${unicode}.svg` + ), new Map()) + }) + ) + +/* Build search index for icons and emojis */ +const index$ = zip(icons$, emojis$) + .pipe( + map(([icons, emojis]) => { + const cdn = "https://raw.githubusercontent.com" + return { + icons: { + base: `${cdn}/squidfunk/mkdocs-material/master/material/.icons/`, + data: Object.fromEntries(icons) + }, + emojis: { + base: `${cdn}/twitter/twemoji/master/assets/svg/`, + data: Object.fromEntries(emojis) + } + } as IconSearchIndex + }), + switchMap(data => fs.writeFile( + `${base}/overrides/assets/javascripts/icon_search_index.json`, + JSON.stringify(data) + )) + ) /* ------------------------------------------------------------------------- */ /* Put everything together */ concat( - dependencies$, + assets$, merge( - assets$, - stylesheets$, - javascripts$ - ), - manifest$, - stemmers$ + templates$, + index$ + ) ) .subscribe() // .subscribe(console.log) diff --git a/tools/transform/index.ts b/tools/transform/index.ts index 8a3a1e8ce..4eb6b19bc 100644 --- a/tools/transform/index.ts +++ b/tools/transform/index.ts @@ -20,21 +20,27 @@ * IN THE SOFTWARE. */ -import { build } from "esbuild" +import { createHash } from "crypto" +import { build as esbuild } from "esbuild" import * as fs from "fs/promises" import * as path from "path" import postcss from "postcss" -import { Observable, concat, defer, merge } from "rxjs" +import { + Observable, + concat, + defer, + merge, + of +} from "rxjs" import { endWith, ignoreElements, - mapTo, switchMap } from "rxjs/operators" import { render as sass } from "sass" import { promisify } from "util" -import { base, mkdir } from "../resolve" +import { base, mkdir } from "../_" /* ---------------------------------------------------------------------------- * Helper types @@ -44,8 +50,8 @@ import { base, mkdir } from "../resolve" * Transform options */ interface TransformOptions { - src: string /* Source file */ - out: string /* Target file */ + from: string /* Source destination */ + to: string /* Target destination */ } /* ---------------------------------------------------------------------------- @@ -53,10 +59,29 @@ interface TransformOptions { * ------------------------------------------------------------------------- */ /** - * Base directory for source maps + * Base directory for source map resolution */ const root = new RegExp(`file://${path.resolve(".")}/`, "g") +/* ---------------------------------------------------------------------------- + * Helper functions + * ------------------------------------------------------------------------- */ + +/** + * Compute a digest for cachebusting a file + * + * @param file - File + * @param data - File data + * + * @returns File with digest + */ +function digest(file: string, data: string): string { + const hash = createHash("sha256").update(data).digest("hex") + return process.argv.includes("--optimize") + ? file.replace(/\b(?=\.)/, `.${hash.slice(0, 8)}.min`) + : file +} + /* ---------------------------------------------------------------------------- * Functions * ------------------------------------------------------------------------- */ @@ -69,10 +94,11 @@ const root = new RegExp(`file://${path.resolve(".")}/`, "g") * @returns File observable */ export function transformStyle( - { src, out }: TransformOptions + options: TransformOptions ): Observable { return defer(() => promisify(sass)({ - file: src, + file: options.from, + outFile: options.to, includePaths: [ "src/assets/stylesheets", "node_modules/modularscale-sass/stylesheets", @@ -80,8 +106,7 @@ export function transformStyle( "node_modules/material-shadows" ], sourceMap: true, - sourceMapRoot: ".", - outFile: out + sourceMapContents: true })) .pipe( switchMap(({ css, map }) => postcss([ @@ -97,23 +122,30 @@ export function transformStyle( : [] ]) .process(css, { - from: src, - to: out, + from: options.from, map: { - prev: `${map}`.replace(root, ""), + prev: `${map}`, inline: false } }) ), - switchMap(({ css, map }) => concat( - mkdir(path.dirname(out)), - defer(() => merge( - fs.writeFile(`${out}`, css), - fs.writeFile(`${out}.map`, map.toString()) - )) - )), - ignoreElements(), - endWith(out) + switchMap(({ css, map }) => { + const file = digest(options.to, css) + return concat( + mkdir(path.dirname(file)), + defer(() => merge( + fs.writeFile(`${file}.map`, `${map}`.replace(root, "")), + fs.writeFile(`${file}`, css.replace( + options.from, + path.basename(file) + )), + )) + ) + .pipe( + ignoreElements(), + endWith(file) + ) + }) ) } @@ -125,16 +157,40 @@ export function transformStyle( * @returns File observable */ export function transformScript( - { src, out }: TransformOptions + options: TransformOptions ): Observable { - return defer(() => build({ - entryPoints: [src], - outfile: out, + return defer(() => esbuild({ + entryPoints: [options.from], + write: false, bundle: true, sourcemap: true, minify: process.argv.includes("--optimize") })) .pipe( - mapTo(out) + switchMap(({ outputFiles: [file] }) => { + const contents = file.text.split("\n") + const [, data] = contents[contents.length - 2].split(",") + return of({ + js: file.text, + map: Buffer.from(data, "base64") + }) + }), + switchMap(({ js, map }) => { + const file = digest(options.to, js) + return concat( + mkdir(path.dirname(file)), + defer(() => merge( + fs.writeFile(`${file}.map`, map), + fs.writeFile(`${file}`, js.replace( + /(sourceMappingURL=)(.*)/, + `$1${path.basename(file)}\n` + )), + )) + ) + .pipe( + ignoreElements(), + endWith(file) + ) + }) ) } diff --git a/tsconfig.json b/tsconfig.json index dfbed3ecf..604c88c3e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "alwaysStrict": true, - "baseUrl": "src/assets/javascripts", + "baseUrl": "src", "esModuleInterop": true, "jsx": "react", "jsxFactory": "h", @@ -20,7 +20,8 @@ "noUnusedLocals": true, "noUnusedParameters": true, "paths": { - "~/*": ["./*"] + "~/*": ["./assets/javascripts/*"], + "_/*": ["./overrides/assets/javascripts/*"] }, "removeComments": false, "sourceMap": true, diff --git a/webpack.config.ts b/webpack.config.ts deleted file mode 100644 index ed0b07259..000000000 --- a/webpack.config.ts +++ /dev/null @@ -1,466 +0,0 @@ -/* - * Copyright (c) 2016-2021 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 - * IN THE SOFTWARE. - */ - -import CopyPlugin from "copy-webpack-plugin" -import EventHooksPlugin from "event-hooks-webpack-plugin" -import * as fs from "fs" -import { minify as minhtml } from "html-minifier" -import IgnoreEmitPlugin from "ignore-emit-webpack-plugin" -import ImageminPlugin from "imagemin-webpack-plugin" -import MiniCssExtractPlugin = require("mini-css-extract-plugin") -import * as path from "path" -import { toPairs } from "ramda" -import glob from "tiny-glob" -import { minify as minjs } from "terser" -import { TsconfigPathsPlugin } from "tsconfig-paths-webpack-plugin" -import { Configuration } from "webpack" -import AssetsManifestPlugin from "webpack-assets-manifest" - -/* ---------------------------------------------------------------------------- - * Helper functions - * ------------------------------------------------------------------------- */ - -/** - * Webpack base configuration - * - * @param args - Command-line arguments - * - * @returns Webpack configuration - */ -function config(args: Configuration): Configuration { - const assets = {} - return { - mode: args.mode, - - /* Loaders */ - module: { - rules: [ - - /* TypeScript */ - { - test: /\.tsx?$/, - use: [ - { - loader: "ts-loader", - options: { - experimentalWatchApi: true, - transpileOnly: true, - compilerOptions: { - importHelpers: true, - module: "esnext", - target: "es2015" - } - } - } - ], - exclude: /\/node_modules\// - }, - - /* SASS stylesheets */ - { - test: /\.scss$/, - use: [ - MiniCssExtractPlugin.loader, - { - loader: "css-loader", - options: { - url: false, - sourceMap: true - } - }, - { - loader: "postcss-loader", - options: { - postcssOptions: { - plugins: [ - ["autoprefixer"], - ["postcss-inline-svg", { - paths: [ - path.resolve(__dirname, "node_modules") - ], - encode: false - }], - ["postcss-svgo", { - plugins: [ - { removeDimensions: true }, - { removeViewBox: false } - ], - encode: false - }] - ] - }, - sourceMap: true - } - }, - { - loader: "sass-loader", - options: { - implementation: require("sass"), - sassOptions: { - includePaths: [ - "src/assets/stylesheets", - "node_modules/modularscale-sass/stylesheets", - "node_modules/material-design-color", - "node_modules/material-shadows" - ] - }, - sourceMap: true - } - } - ] - }, - - /* Search */ - { - test: require.resolve("lunr"), - loader: "expose-loader", - options: { - exposes: ["lunr"] - } - } - ] - }, - - /* Module resolver */ - resolve: { - mainFields: ["es2015", "module", "main"], - modules: [ - __dirname, - path.resolve(__dirname, "node_modules") - ], - extensions: [".scss", ".ts", ".tsx", ".js", ".json"], - plugins: [ - new TsconfigPathsPlugin() - ] - }, - - /* Plugins */ - plugins: [ - new IgnoreEmitPlugin(/\/stylesheets\/.*?\.js/), - new AssetsManifestPlugin({ - output: "assets/manifest.json", - assets - }) - ], - - /* Source maps */ - devtool: args.mode === "production" ? "source-map" : "eval", - - /* Filter false positives and omit verbosity */ - stats: { - entrypoints: false, - excludeAssets: [ - /\.(icons)/, - /\/(images|lunr)\//, - /\.(html|py|yml)$/ - ], - warningsFilter: [ - /export '.[^']+' was not found in/ - ] - } - } -} - -/* ---------------------------------------------------------------------------- - * Configuration - * ------------------------------------------------------------------------- */ - -/** - * Webpack configuration - * - * @param env - Webpack environment arguments - * @param args - Command-line arguments - * - * @returns Webpack configurations - */ -export default (_env: never, args: Configuration): Configuration[] => { - const hash = args.mode === "production" ? ".[chunkhash].min" : "" - const base = config(args) - return [ - - /* Application */ - { - ...base, - entry: { - "assets/javascripts/bundle": "src/assets/javascripts", - "assets/stylesheets/main": "src/assets/stylesheets/main.scss", - "assets/stylesheets/palette": "src/assets/stylesheets/palette.scss" - }, - output: { - path: path.resolve(__dirname, "material"), - filename: `[name]${hash}.js`, - hashDigestLength: 8, - libraryTarget: "window" - }, - - /* Plugins */ - plugins: [ - ...base.plugins || [], - - /* Stylesheets */ - new MiniCssExtractPlugin({ - filename: `[name]${hash}.css` - }), - - /* Improve performance by skipping dependencies in watch mode */ - ...args.watch ? [] : [ - - /* FontAwesome icons */ - new CopyPlugin({ - patterns: [ - { to: ".icons/fontawesome", from: "**/*.svg" }, - { to: ".icons/fontawesome", from: "../LICENSE.txt" } - ].map(pattern => ({ - context: "node_modules/@fortawesome/fontawesome-free/svgs", - ...pattern - })) - }), - - /* Material Design icons */ - new CopyPlugin({ - patterns: [ - { to: ".icons/material", from: "*.svg" }, - { to: ".icons/material", from: "../LICENSE" } - ].map(pattern => ({ - context: "node_modules/@mdi/svg/svg", - ...pattern - })) - }), - - /* GitHub octicons */ - new CopyPlugin({ - patterns: [ - { to: ".icons/octicons", from: "*.svg" }, - { to: ".icons/octicons", from: "../../LICENSE" } - ].map(pattern => ({ - context: "node_modules/@primer/octicons/build/svg", - ...pattern - })) - }), - - /* Search stemmers and segmenters */ - new CopyPlugin({ - patterns: [ - { to: "assets/javascripts/lunr", from: "min/*.js" }, - { - to: "assets/javascripts/lunr/tinyseg.min.js", - from: "tinyseg.js", - transform: (content: Buffer) => minjs(`${content}`).code! - } - ].map(pattern => ({ - context: "node_modules/lunr-languages", - ...pattern - })) - }), - - /* Assets and configuration */ - new CopyPlugin({ - patterns: [ - { from: ".icons/*.svg" }, - { from: "assets/images/*" }, - { from: "**/*.{py,yml}" } - ].map(pattern => ({ - context: "src", - ...pattern - })) - }) - ], - - /* Template files */ - new CopyPlugin({ - patterns: [ - { - from: "**/*.html", - transform: (content: Buffer) => { - const metadata = require("./package.json") - const banner = - "{#-\n" + - " This file was automatically generated - do not edit\n" + - "-#}\n" - - /* Normalize line feeds and minify HTML */ - const html = content.toString().replace(/\r\n/gm, "\n") - return banner + minhtml(html, { - collapseBooleanAttributes: true, - includeAutoGeneratedTags: false, - minifyCSS: true, - minifyJS: true, - removeComments: true, - removeScriptTypeAttributes: true, - removeStyleLinkTypeAttributes: true - }) - - /* Remove empty lines without collapsing everything */ - .replace(/^\s*[\r\n]/gm, "") - - /* Write theme version into template */ - .replace("$md-name$", metadata.name) - .replace("$md-version$", metadata.version) - } - } - ].map(pattern => ({ - context: "src", - ...pattern - })) - }), - - /* Hooks */ - new EventHooksPlugin({ - afterEmit: async () => { - - /* Replace asset URLs in templates */ - if (args.mode === "production") { - const manifest = require("./material/assets/manifest.json") - for (const file of [ - "material/base.html", - "material/overrides/main.html" - ]) { - const template = toPairs(manifest) - .reduce((content, [from, to]) => ( - content.replace(new RegExp( - `('|")${from}\\1`, "g"), - `$1${to}$1` - ) - ), fs.readFileSync(file, "utf8")) - - /* Save template with replaced assets */ - fs.writeFileSync(file, template, "utf8") - } - - /* Icon indexes */ - const icons: Record = {} - const emojis: Record = {} - - /* Build search index for bundled icons */ - for (const file of await glob("**/*.svg", { - cwd: "material/.icons" - })) { - const name = file.replace(/\.svg$/, "").replace(/\//g, "-") - icons[name] = file - } - - /* Build search index for emojis (based on Twemoji) */ - const [database] = await glob("venv/**/twemoji_db.py") - if (typeof database !== "undefined") { - const contents = fs.readFileSync(database, "utf8") - const [, content] = contents.match(/^emoji = ({.*})$.alias/ms)! - for (const [name, data] of toPairs(JSON.parse(content))) { - emojis[name.replace(/(^:|:$)/g, "")] = `${data.unicode}.svg` - } - } - fs.writeFileSync( - "material/overrides/assets/javascripts/icon_search_index.json", - JSON.stringify({ - icons: { - base: "https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/material/.icons/", - data: icons - }, - emojis: { - base: "https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/", - data: emojis - } - }) - ) - } - } - }), - - /* Minify SVGs */ - new ImageminPlugin({ - svgo: { - plugins: [ - { removeDimensions: true }, - { removeViewBox: false } - ] - } - }) - ], - - /* Optimizations */ - optimization: { - splitChunks: { - cacheGroups: { - vendor: { - test: /\/node_modules\//, - name: "assets/javascripts/vendor", - chunks: "all" - } - } - } - } - }, - - /* Search worker */ - { - ...base, - entry: { - "assets/javascripts/worker/search": - "src/assets/javascripts/integrations/search/worker/main" - }, - output: { - path: path.resolve(__dirname, "material"), - filename: `[name]${hash}.js`, - hashDigestLength: 8, - libraryTarget: "var" - } - }, - - /* Overrides */ - { - ...base, - entry: { - "overrides/assets/javascripts/bundle": "src/overrides/assets/javascripts", - "overrides/assets/stylesheets/main": "src/overrides/assets/stylesheets/main.scss" - }, - output: { - path: path.resolve(__dirname, "material"), - filename: `[name]${hash}.js`, - hashDigestLength: 8, - libraryTarget: "window" - }, - - /* Plugins */ - plugins: [ - ...base.plugins || [], - - /* Stylesheets */ - new MiniCssExtractPlugin({ - filename: `[name]${hash}.css` - }) - ], - - /* Optimizations */ - optimization: { - // minimize: false, - // splitChunks: { - // cacheGroups: { - // vendor: { - // test: /\/node_modules\//, - // name: "overrides/assets/javascripts/vendor", - // chunks: "all" - // } - // } - // } - } - } - ] -} From 3f8475aad13826636cdfee9f80463fccfe5dc5ba Mon Sep 17 00:00:00 2001 From: squidfunk Date: Mon, 22 Feb 2021 18:23:33 +0100 Subject: [PATCH 10/11] Moved build scripts to subfolder --- .gitignore | 16 ++++++++-------- package.json | 4 ++-- tools/{ => build}/_/index.ts | 0 tools/{ => build}/copy/index.ts | 0 tools/{ => build}/index.ts | 2 +- tools/{ => build}/transform/index.ts | 0 tsconfig.json | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) rename tools/{ => build}/_/index.ts (100%) rename tools/{ => build}/copy/index.ts (100%) rename tools/{ => build}/index.ts (99%) rename tools/{ => build}/transform/index.ts (100%) diff --git a/.gitignore b/.gitignore index 04817ff4d..76fd1a1ad 100644 --- a/.gitignore +++ b/.gitignore @@ -23,18 +23,18 @@ # ----------------------------------------------------------------------------- # Dependencies -node_modules -__pycache__ -venv +/node_modules +/__pycache__ +/venv # Build files -build -MANIFEST -site +/build +/MANIFEST +/site # Distribution files -dist -mkdocs_material.egg-info +/dist +/mkdocs_material.egg-info # Caches and logs *.cpuprofile diff --git a/package.json b/package.json index bf841568c..9a85959c5 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,12 @@ "scripts": { "build": "run-s build:*", "build:clean": "rimraf material", - "build:tools": "ts-node -T tools --optimize", + "build:tools": "ts-node -T tools/build --optimize", "clean": "rimraf material", "lint": "run-p lint:*", "lint:scss": "stylelint \"src/assets/**/*.scss\"", "lint:ts": "eslint --cache \"src/**/*.ts\"", - "start": "ts-node -T tools --watch" + "start": "ts-node -T tools/build --watch" }, "dependencies": { "clipboard": "^2.0.6", diff --git a/tools/_/index.ts b/tools/build/_/index.ts similarity index 100% rename from tools/_/index.ts rename to tools/build/_/index.ts diff --git a/tools/copy/index.ts b/tools/build/copy/index.ts similarity index 100% rename from tools/copy/index.ts rename to tools/build/copy/index.ts diff --git a/tools/index.ts b/tools/build/index.ts similarity index 99% rename from tools/index.ts rename to tools/build/index.ts index 7890d9d1a..a8b112ef0 100644 --- a/tools/index.ts +++ b/tools/build/index.ts @@ -189,7 +189,7 @@ const templates$ = manifest$ to: base, watch: process.argv.includes("--watch"), transform: async data => { - const metadata = require("../package.json") + const metadata = require("../../package.json") const banner = "{#-\n" + " This file was automatically generated - do not edit\n" + diff --git a/tools/transform/index.ts b/tools/build/transform/index.ts similarity index 100% rename from tools/transform/index.ts rename to tools/build/transform/index.ts diff --git a/tsconfig.json b/tsconfig.json index 604c88c3e..a65e8ee5e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -33,9 +33,9 @@ "target": "es2015" }, "include": [ + "tools", "src/assets/javascripts", "src/overrides/assets/javascripts", - "tools", "typings", "webpack.config.ts" ] From 0bbe0f2f4f8027517d1c3ea4c273c9350aa55337 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Mon, 22 Feb 2021 18:25:12 +0100 Subject: [PATCH 11/11] Switched to Node 14 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c856d1a03..712e732f1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ on: - pull_request env: - NODE_VERSION: 12.x + NODE_VERSION: 14.x jobs: build: