From 52fe8abe381ab2218b4f754f25f89e6636fe3fdf Mon Sep 17 00:00:00 2001 From: Loginovsky Max <104369728+LoginovskyMax@users.noreply.github.com> Date: Tue, 31 Jan 2023 20:58:01 +0600 Subject: [PATCH 001/207] feat:init project --- .eslintrc.json | 39 + .gitignore | 24 + index.html | 13 + package-lock.json | 8154 +++++++++++++++++++++++++++++++++++++++ package.json | 36 + public/vite.svg | 1 + src/App.scss | 44 + src/App.tsx | 23 + src/Pages/LoginPage.tsx | 7 + src/Pages/MainPage.tsx | 7 + src/assets/react.svg | 1 + src/index.scss | 70 + src/main.tsx | 13 + src/vite-env.d.ts | 1 + tsconfig.json | 21 + tsconfig.node.json | 9 + vite.config.ts | 8 + 17 files changed, 8471 insertions(+) create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/vite.svg create mode 100644 src/App.scss create mode 100644 src/App.tsx create mode 100644 src/Pages/LoginPage.tsx create mode 100644 src/Pages/MainPage.tsx create mode 100644 src/assets/react.svg create mode 100644 src/index.scss create mode 100644 src/main.tsx create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..986a546 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,39 @@ +{ + "env": { + "browser": true, + "es2021": true + }, + "extends": [ + "plugin:react/recommended", + "standard-with-typescript" + ], + "overrides": [ + ], + "parserOptions": { + "project": "./tsconfig.json", + "ecmaVersion": "latest", + "sourceType": "module" + }, + "plugins": [ + "react" + ], + "ignorePatterns": ["tsconfig.json","vite.config.ts","build"], + "rules": { + "@typescript-eslint/explicit-function-return-type": 0, + "@typescript-eslint/triple-slash-reference":0 + }, + "settings": { + "import/parsers": { + "@typescript-eslint/parser": [".ts", ".tsx"] + }, + "import/resolver": { + "node": { + "extensions": [".js", ".jsx", ".ts", ".tsx"], + "moduleDirectory": ["node_modules", "src/"] + } + }, + "react": { + "version": "detect" + } + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/index.html b/index.html new file mode 100644 index 0000000..e0d1c84 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8c7ba4f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8154 @@ +{ + "name": "rsclone", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "rsclone", + "version": "0.0.0", + "dependencies": { + "@reduxjs/toolkit": "^1.9.2", + "gh-pages": "^5.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-redux": "^8.0.5", + "react-router-dom": "^6.8.0" + }, + "devDependencies": { + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.9", + "@typescript-eslint/eslint-plugin": "^5.50.0", + "@vitejs/plugin-react": "^3.0.0", + "eslint": "^8.33.0", + "eslint-config-standard-with-typescript": "^33.0.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-n": "^15.6.1", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-react": "^7.32.2", + "sass": "^1.57.1", + "typescript": "^4.9.5", + "vite": "^4.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz", + "integrity": "sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", + "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", + "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.13", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", + "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", + "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", + "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", + "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.13", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.2.tgz", + "integrity": "sha512-5ZAZ7hwAKWSii5T6NTPmgIBUqyVdlDs+6JjThz6J6dmHLDm6zCzv2OjHIFAi3Vvs1qjmXU0bm6eBojukYXjVMQ==", + "dependencies": { + "immer": "^9.0.16", + "redux": "^4.2.0", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.7" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@remix-run/router": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.1.tgz", + "integrity": "sha512-+eun1Wtf72RNRSqgU7qM2AMX/oHp+dnx7BHk1qhK5ZHzdHTUU4LA1mGG1vT+jMc8sbhG3orvsfOmryjzx2PzQw==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/react": { + "version": "18.0.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz", + "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", + "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", + "devOptional": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz", + "integrity": "sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/type-utils": "5.50.0", + "@typescript-eslint/utils": "5.50.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.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.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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/parser": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.50.0.tgz", + "integrity": "sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/typescript-estree": "5.50.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz", + "integrity": "sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/visitor-keys": "5.50.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz", + "integrity": "sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.50.0", + "@typescript-eslint/utils": "5.50.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.50.0.tgz", + "integrity": "sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz", + "integrity": "sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/visitor-keys": "5.50.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.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.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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/utils": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.50.0.tgz", + "integrity": "sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/typescript-estree": "5.50.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/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/utils/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/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": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz", + "integrity": "sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.50.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.1.tgz", + "integrity": "sha512-mx+QvYwIbbpOIJw+hypjnW1lAbKDHtWK5ibkF/V1/oMBu8HU/chb+SnqJDAsLq1+7rGqjktCEomMTM5KShzUKQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.7", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.27.0", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "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/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/builtins/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/builtins/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/builtins/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/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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/caniuse-lite": { + "version": "1.0.30001449", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz", + "integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "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/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "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==" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "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/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "node_modules/email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==" + }, + "node_modules/es-abstract": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", + "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.4", + "is-array-buffer": "^3.0.1", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "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-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", + "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-standard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peerDependencies": { + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0" + } + }, + "node_modules/eslint-config-standard-with-typescript": { + "version": "33.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-33.0.0.tgz", + "integrity": "sha512-HOLmCMF91yYizfEms00jkmEoKvCCEIUOO6ArGZ9BNYL8yczF23fz/orsG6pN84f97cfo8c0kdREHzEO+uMA2zw==", + "dev": true, + "dependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint-config-standard": "17.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0", + "typescript": "*" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-es/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" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-es/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-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-n": { + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.1.tgz", + "integrity": "sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==", + "dev": true, + "dependencies": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-n/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-n/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-n/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-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.32.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-scope/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/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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/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/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "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/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gh-pages": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", + "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", + "dependencies": { + "async": "^3.2.4", + "commander": "^2.18.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/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/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "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-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.19", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.19.tgz", + "integrity": "sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", + "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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==" + }, + "node_modules/internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", + "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-sdsl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", + "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "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==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/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-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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "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/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "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==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", + "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==", + "dev": true + }, + "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/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "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/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "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": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-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==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-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==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-redux": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz", + "integrity": "sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==", + "dependencies": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^16.8 || ^17.0 || ^18.0", + "@types/react-dom": "^16.8 || ^17.0 || ^18.0", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0", + "react-native": ">=0.59", + "redux": "^4" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.8.0.tgz", + "integrity": "sha512-760bk7y3QwabduExtudhWbd88IBbuD1YfwzpuDUAlJUJ7laIIcqhMvdhSVh1Fur1PE8cGl84L0dxhR3/gvHF7A==", + "dependencies": { + "@remix-run/router": "1.3.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.8.0.tgz", + "integrity": "sha512-hQouduSTywGJndE86CXJ2h7YEy4HYC6C/uh19etM+79FfQ6cFFFHnHyDlzO4Pq0eBUI96E4qVE5yUjA00yJZGQ==", + "dependencies": { + "@remix-run/router": "1.3.1", + "react-router": "6.8.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "peerDependencies": { + "redux": "^4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/reselect": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.7.tgz", + "integrity": "sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A==" + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/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" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.0.tgz", + "integrity": "sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sass": { + "version": "1.57.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", + "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "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": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "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/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "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/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.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/vite": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz", + "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==", + "dev": true, + "dependencies": { + "esbuild": "^0.16.3", + "postcss": "^8.4.20", + "resolve": "^1.22.1", + "rollup": "^3.7.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "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/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "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/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz", + "integrity": "sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==", + "dev": true + }, + "@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", + "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", + "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.13", + "@babel/types": "^7.20.7" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", + "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", + "dev": true + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", + "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/runtime": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", + "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", + "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.13", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "dev": true, + "optional": true + }, + "@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@reduxjs/toolkit": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.2.tgz", + "integrity": "sha512-5ZAZ7hwAKWSii5T6NTPmgIBUqyVdlDs+6JjThz6J6dmHLDm6zCzv2OjHIFAi3Vvs1qjmXU0bm6eBojukYXjVMQ==", + "requires": { + "immer": "^9.0.16", + "redux": "^4.2.0", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.7" + } + }, + "@remix-run/router": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.1.tgz", + "integrity": "sha512-+eun1Wtf72RNRSqgU7qM2AMX/oHp+dnx7BHk1qhK5ZHzdHTUU4LA1mGG1vT+jMc8sbhG3orvsfOmryjzx2PzQw==" + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.0.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz", + "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", + "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", + "devOptional": true, + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz", + "integrity": "sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/type-utils": "5.50.0", + "@typescript-eslint/utils": "5.50.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "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.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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 + } + } + }, + "@typescript-eslint/parser": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.50.0.tgz", + "integrity": "sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/typescript-estree": "5.50.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz", + "integrity": "sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/visitor-keys": "5.50.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz", + "integrity": "sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.50.0", + "@typescript-eslint/utils": "5.50.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.50.0.tgz", + "integrity": "sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz", + "integrity": "sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/visitor-keys": "5.50.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "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.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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 + } + } + }, + "@typescript-eslint/utils": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.50.0.tgz", + "integrity": "sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/typescript-estree": "5.50.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "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.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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 + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz", + "integrity": "sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.50.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@vitejs/plugin-react": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.1.tgz", + "integrity": "sha512-mx+QvYwIbbpOIJw+hypjnW1lAbKDHtWK5ibkF/V1/oMBu8HU/chb+SnqJDAsLq1+7rGqjktCEomMTM5KShzUKQ==", + "dev": true, + "requires": { + "@babel/core": "^7.20.7", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.27.0", + "react-refresh": "^0.14.0" + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "requires": { + "semver": "^7.0.0" + }, + "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.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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 + } + } + }, + "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, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001449", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz", + "integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "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==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "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" + } + }, + "csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==" + }, + "es-abstract": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", + "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.4", + "is-array-buffer": "^3.0.1", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "eslint": { + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", + "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "eslint-config-standard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "dev": true, + "requires": {} + }, + "eslint-config-standard-with-typescript": { + "version": "33.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-33.0.0.tgz", + "integrity": "sha512-HOLmCMF91yYizfEms00jkmEoKvCCEIUOO6ArGZ9BNYL8yczF23fz/orsG6pN84f97cfo8c0kdREHzEO+uMA2zw==", + "dev": true, + "requires": { + "@typescript-eslint/parser": "^5.0.0", + "eslint-config-standard": "17.0.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "dependencies": { + "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, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "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 + } + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-n": { + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.1.tgz", + "integrity": "sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==", + "dev": true, + "requires": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" + }, + "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.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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 + } + } + }, + "eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "requires": {} + }, + "eslint-plugin-react": { + "version": "7.32.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==" + }, + "filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "gh-pages": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", + "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", + "requires": { + "async": "^3.2.4", + "commander": "^2.18.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "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 + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immer": { + "version": "9.0.19", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.19.tgz", + "integrity": "sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==" + }, + "immutable": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", + "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-array-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", + "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-typed-array": "^1.1.10" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-sdsl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", + "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "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" + } + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "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==", + "requires": { + "semver": "^6.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node-releases": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", + "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "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" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "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==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "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==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.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==", + "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==", + "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==", + "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==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "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 + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "react-redux": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz", + "integrity": "sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==", + "requires": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + } + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + }, + "react-router": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.8.0.tgz", + "integrity": "sha512-760bk7y3QwabduExtudhWbd88IBbuD1YfwzpuDUAlJUJ7laIIcqhMvdhSVh1Fur1PE8cGl84L0dxhR3/gvHF7A==", + "requires": { + "@remix-run/router": "1.3.1" + } + }, + "react-router-dom": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.8.0.tgz", + "integrity": "sha512-hQouduSTywGJndE86CXJ2h7YEy4HYC6C/uh19etM+79FfQ6cFFFHnHyDlzO4Pq0eBUI96E4qVE5yUjA00yJZGQ==", + "requires": { + "@remix-run/router": "1.3.1", + "react-router": "6.8.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "requires": {} + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "reselect": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.7.tgz", + "integrity": "sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.0.tgz", + "integrity": "sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "sass": { + "version": "1.57.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", + "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "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 + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "strip-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 + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.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.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} + }, + "vite": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz", + "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==", + "dev": true, + "requires": { + "esbuild": "^0.16.3", + "fsevents": "~2.3.2", + "postcss": "^8.4.20", + "resolve": "^1.22.1", + "rollup": "^3.7.0" + } + }, + "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" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, + "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 + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "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 + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..fefe9b4 --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "rsclone", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview", + "lint": "npx eslint . --fix ", + "deploy": "gh-pages -d dist" + }, + "dependencies": { + "@reduxjs/toolkit": "^1.9.2", + "gh-pages": "^5.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-redux": "^8.0.5", + "react-router-dom": "^6.8.0" + }, + "devDependencies": { + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.9", + "@typescript-eslint/eslint-plugin": "^5.50.0", + "@vitejs/plugin-react": "^3.0.0", + "eslint": "^8.33.0", + "eslint-config-standard-with-typescript": "^33.0.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-n": "^15.6.1", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-react": "^7.32.2", + "sass": "^1.57.1", + "typescript": "^4.9.5", + "vite": "^4.0.0" + } +} diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.scss b/src/App.scss new file mode 100644 index 0000000..9894bbc --- /dev/null +++ b/src/App.scss @@ -0,0 +1,44 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} +h1{ + color: green; +} diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..8548ce0 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,23 @@ +import { useState } from 'react' +import React, { Routes, Route, useNavigate } from 'react-router-dom' +import './App.scss' +import LoginPage from './Pages/LoginPage' +import MainPage from './Pages/MainPage' + +function App () { + const [count, setCount] = useState(0) + const navigate = useNavigate() + return ( +
+

Vite + React

+ + + + } /> + }/> + +
+ ) +} + +export default App diff --git a/src/Pages/LoginPage.tsx b/src/Pages/LoginPage.tsx new file mode 100644 index 0000000..7067cec --- /dev/null +++ b/src/Pages/LoginPage.tsx @@ -0,0 +1,7 @@ +import React from 'react' + +export default function LoginPage () { + return ( +
LoginPage
+ ) +} diff --git a/src/Pages/MainPage.tsx b/src/Pages/MainPage.tsx new file mode 100644 index 0000000..af8ab80 --- /dev/null +++ b/src/Pages/MainPage.tsx @@ -0,0 +1,7 @@ +import React from 'react' + +export default function MainPage () { + return ( +
MainPage
+ ) +} diff --git a/src/assets/react.svg b/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/index.scss b/src/index.scss new file mode 100644 index 0000000..917888c --- /dev/null +++ b/src/index.scss @@ -0,0 +1,70 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..0e8157a --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,13 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' +import { HashRouter as Router } from 'react-router-dom' +import './index.scss' + +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + + + + + +) diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..0e3f091 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src",".eslintrc.json"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..9d31e2a --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..9ec8365 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + base: '/RsClone' +}) From 04f436b087bf17c57701c795f5465d1ffa0e4f87 Mon Sep 17 00:00:00 2001 From: Loginovsky Max <104369728+LoginovskyMax@users.noreply.github.com> Date: Wed, 1 Feb 2023 15:50:23 +0600 Subject: [PATCH 002/207] feat:add local server --- backEnd/selfsigned.crt | 22 ++++++++++++ backEnd/selfsigned.key | 28 +++++++++++++++ backEnd/server.cjs | 77 ++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + src/App.tsx | 8 +++++ 5 files changed, 136 insertions(+) create mode 100644 backEnd/selfsigned.crt create mode 100644 backEnd/selfsigned.key create mode 100644 backEnd/server.cjs diff --git a/backEnd/selfsigned.crt b/backEnd/selfsigned.crt new file mode 100644 index 0000000..c498bea --- /dev/null +++ b/backEnd/selfsigned.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDpTCCAo2gAwIBAgIUCf/o8ANICl9roZQDwmwk2bZUmsYwDQYJKoZIhvcNAQEL +BQAwYjELMAkGA1UEBhMCS1oxEjAQBgNVBAcMCUtBcmFnYW5kYTELMAkGA1UECwwC +cnMxDDAKBgNVBAMMA21heDEkMCIGCSqGSIb3DQEJARYVZnJha2llYzM2MDBAZ21h +aWwuY29tMB4XDTIzMDIwMTA5MjEzMFoXDTI0MDIwMTA5MjEzMFowYjELMAkGA1UE +BhMCS1oxEjAQBgNVBAcMCUtBcmFnYW5kYTELMAkGA1UECwwCcnMxDDAKBgNVBAMM +A21heDEkMCIGCSqGSIb3DQEJARYVZnJha2llYzM2MDBAZ21haWwuY29tMIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2nKgYkOCeAplYIeheFdXgVhx6kx +mRKMoUwykJOm13X8QYyVyktVMKD0PCWkQz82G0v/3b0fuangoRLSp3DiHKN7qgjH +wJWa4uN3wgJIZv3bGWZQaFdyxg14usbUSh9GuNaFXO3AYHa+DEFzhGGsRLdAKXcz +Jtu04rs4W2j9sh1LV457gaFxDMHeTpQ1i6ikfMJUx8RIFHz8khcbzTrYInqIZBUh +Pz+bjGunAoQYicB1aW7LcCDvYCcIiSFuXnbfNBiwIqMQg+YSdOsY9sEg9lY7YKqp +DjWk+TzSgUq/ePyaDtvXq9Ohx5d6IxsgYDDGQQp7YQgwnVR4S7qiMfgwEwIDAQAB +o1MwUTAdBgNVHQ4EFgQUB+QfW7im/OO+PITW9AHDuG8ofjwwHwYDVR0jBBgwFoAU +B+QfW7im/OO+PITW9AHDuG8ofjwwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B +AQsFAAOCAQEAXovZWKOHC6Rjy3R1mQUHCLNR5LrrI/hsha3joDzk2wKTxzTgIuJH +WHrRI6niPthtGIqWcIfVi+rfnLH4FX8PHtVLiYMlQoAsjAnCkei9Mavo3YaxisnF +XG9S/SRox7irudPKZq/nw3DaPK4ndVeAtOi4mQA8al8weVB8wPWsaJK3vBIN6vkQ +RMy0yp8G8SQ7XnNQmUTflKNC60ailRk8X2TGUmWVRTKBvfar2mife4eOTuanTelc +0xVRKvOe26GOHYXUTtDxyjv1FZpWFM7NKnYaHlI9XfDXbpQJ5jYrol+aB9ieiGFx +Qye9eY03Ou547Bmlw48Uup4W4cpmINWeAw== +-----END CERTIFICATE----- diff --git a/backEnd/selfsigned.key b/backEnd/selfsigned.key new file mode 100644 index 0000000..d2e3398 --- /dev/null +++ b/backEnd/selfsigned.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/acqBiQ4J4CmV +gh6F4V1eBWHHqTGZEoyhTDKQk6bXdfxBjJXKS1UwoPQ8JaRDPzYbS//dvR+5qeCh +EtKncOIco3uqCMfAlZri43fCAkhm/dsZZlBoV3LGDXi6xtRKH0a41oVc7cBgdr4M +QXOEYaxEt0ApdzMm27TiuzhbaP2yHUtXjnuBoXEMwd5OlDWLqKR8wlTHxEgUfPyS +FxvNOtgieohkFSE/P5uMa6cChBiJwHVpbstwIO9gJwiJIW5edt80GLAioxCD5hJ0 +6xj2wSD2VjtgqqkONaT5PNKBSr94/JoO29er06HHl3ojGyBgMMZBCnthCDCdVHhL +uqIx+DATAgMBAAECggEAcdV5cEXQyoC8WkSy4E3hl+u9dd8iNvV4GujU3XRh8Zsi +NN1lq5PXiv79oNOF99Qc2mj9NqKlvmXPyBsImjmgzwVOoxVrrhWKskoyy3dOFan8 +5gMZ6KOxByW12eYrFBW7mmtBjr15/iQ/68v05hKsP4V3q/FOw1pAHeLXpk0vKwAH +JUCCgWYD1CUt7RHng9vMU0SN9zPNHKY5asssqProA8eo3bdCSSieT8OJfg7FNI+n +tgohp3aUD/C5P3y98rzs90+GhZIM16qiiqLPqhIsEkwHeuvlNDO+3bQSgKDCa9UP +n1NaiSdG/WKj5SIREmnWOccNBXvyAQBP38/Ftf3PYQKBgQDrekaxI4hrFekNPurt +moNUC9mph44u5dW64KLTd7UcMndlpVHhxXCoMUBVfRt3aq1fUIjFbsy11QOjolBf +ukt5OOPmPylrS88VaqgANYkvKXO3B+teZFfzReo6ZFRSsnAtJGGPKsBFwQY0+9+R +NI3PcUIcjcgFTzaNlecUU/K3UQKBgQDQGGXDZ9/iUSQ4bNIcxR90Ppb9jaqZNXZk +/b3FvepaqbNaTdbkzdgSJwY9FvsCUtwsZhBpKcFkrJlBNUFnw3mVO288DUJPqy7m +/Q0H68M31c3O/ULkv7tz/PyWXIJh146rOGyLEGx4iMsTdXmCny/bVsQrAsXKrdW2 +UhG06S8gIwKBgHQR4aaPDT87nZSZ3tMfxnw3GyMlXkBfqepjr97ssqkjdxbzVlkj +KVS+ciexc0h5nNvOppwq8VzvksulxlhpS6qFEFD98TyiMYEtAYKY4PYOSKt/i9UL +QQ7492uw6J+atRCLTktzlzLK4nRbcufwL7aA7UWF3YJAeXNw4GZ0ur8BAoGBAIxE +FbwMNWXoicCa4VnRKW2CjuYj6p1Q4xgZzSQP6nroLmOtWi9p7L33ngXpipI7Zftr +ZJ5uLdR9XuQMUKTvpvGHWWgiC9OFsJy0b2cqbLEjJZHjNobYEjORkHSNsLjgwmL5 +KnjmPidVFYVtRtVcFbcEGkBfoxEF8aruUM8f6sr/AoGAVj2Coj/WAdYd5WA8MUXx +MGbD9LikFiw+knHxjKcgIwlTqpgzddFG31N/qx2HyepJ8D/O7pcseOtbnCjMlQ6i +GTghv/ne63ngs/ig9bYSi55lZ0by6xHrON7GsCCImrIjJX8QBktqgl8CrRl2CAS4 +vq5HfQPyjMevkGcPoK3APEU= +-----END PRIVATE KEY----- diff --git a/backEnd/server.cjs b/backEnd/server.cjs new file mode 100644 index 0000000..170f44e --- /dev/null +++ b/backEnd/server.cjs @@ -0,0 +1,77 @@ + +let usersArr = [ + {id:1,userName:'Vasya',password:123,status:'user',date:'12.10.2000'}, + {id:2,userName:'Max',password:123,status:'moderator',date:'12.10.2000'}, + {id:3,userName:'God',password:123,status:'admin',date:'12.10.2000'}, + ] + +const express = require("express"), +https = require('https'), +http = require('http'); +fs = require('fs'); +app = express(), +cors = require('cors') +path = require("path") +app.use(express.urlencoded({extended:true})) +app.use(express.json()) +app.use(cors()) + +let options = { + key: fs.readFileSync("backEnd/selfsigned.key","utf8"), + cert: fs.readFileSync("backEnd/selfsigned.crt","utf8"), + } +https + .createServer(options,app) + .listen(8000, ()=>{ + console.log('server is runing at port 8000') + }); +http + .createServer(app).listen(8888,()=>{ + console.log('server is runing at port 8888') + }); + +app.get("/",(req,res)=>{ + res.send({resp:"Hi"}) +}) + +app.post("/authUser",(req,res)=>{ + // { userName: 'Vasya', password: '123' } То что приходит + let user = usersArr.find(item=>item.userName == req.body.userName) + if(user==undefined){ + let obj = {response:"Wrong name"} + res.send(obj) + // Если пользователя нет я отправялю Wrong name + }else{ + if(user.password != req.body.password){ + let obj = {response:'Wrong password'} + res.send(obj) + // Если пароль не совпадает то я отправялю Wrong password + }else{ + let obj = {response:user} + res.send(obj) + // Если все совпадает то я отправляю объект с пользователеc + } + } +}) +app.post("/registUser",(req,res)=>{ + // { userName: 'ывпывпыв', password: '122223'} + let body = req.body + let user = usersArr.find(item=>item.userName===body.userName) + if(user==undefined){ + body.id = Date.now() + body.status = 'user' + usersArr.push(body) + let obj = {response:body} + res.send(obj) + }else{ + let obj = {response:'Choose other name'} + res.send(obj) + // Если такой пользователь уже существует то я отправляю Choose other name + } +}) + + + + + + diff --git a/package.json b/package.json index fefe9b4..0490e39 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "type": "module", "scripts": { "dev": "vite", + "server": "node backEnd/server.cjs", "build": "tsc && vite build", "preview": "vite preview", "lint": "npx eslint . --fix ", diff --git a/src/App.tsx b/src/App.tsx index 8548ce0..51db5e1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -7,11 +7,19 @@ import MainPage from './Pages/MainPage' function App () { const [count, setCount] = useState(0) const navigate = useNavigate() + const getData = () => { + fetch('http://localhost:8888') + .then(async response => await response.json()) + .then(data => { + console.log(data) + }) + } return (

Vite + React

+ } /> }/> From 4d44e3ba9a88e74e8a0afaa2a1cf0e8f4294b7a2 Mon Sep 17 00:00:00 2001 From: Loginovsky Max <104369728+LoginovskyMax@users.noreply.github.com> Date: Wed, 1 Feb 2023 16:21:21 +0600 Subject: [PATCH 003/207] fix:add server instructions in readme.md --- README.md | 12 ++++++++++ backEnd/selfsigned.crt | 41 +++++++++++++++++---------------- backEnd/selfsigned.key | 52 +++++++++++++++++++++--------------------- backEnd/server.cjs | 1 + src/App.tsx | 2 +- 5 files changed, 61 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 397b48a..2187e6c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,14 @@ # RsClone Clone of steam for final task +Команда для запуска сервера npm run serve (в другом терминале) +https://localhost:8000 запросы для защищенного соединения +чтобы локалхост работал с https запросами в хроме ввести chrome://flags/#allow-insecure-localhost поставить в enabled + +http://localhost:8888 запросы для незащищенного соединения + +Запросы на сервер : +method post, '/authUser', { userName: 'Vasya', password: '123' }, response : {response:"Wrong name"}, + {response:'Wrong password'}, + {id:1,userName:'Vasya',password:123,status:'user',date:'12.10.2000'} +method post, '/registUser', { userName: 'Vasya', password: '123' }, response : {response:'Choose other name'}, + {id:1,userName:'Vasya',password:123,status:'user'} diff --git a/backEnd/selfsigned.crt b/backEnd/selfsigned.crt index c498bea..31ad00b 100644 --- a/backEnd/selfsigned.crt +++ b/backEnd/selfsigned.crt @@ -1,22 +1,23 @@ -----BEGIN CERTIFICATE----- -MIIDpTCCAo2gAwIBAgIUCf/o8ANICl9roZQDwmwk2bZUmsYwDQYJKoZIhvcNAQEL -BQAwYjELMAkGA1UEBhMCS1oxEjAQBgNVBAcMCUtBcmFnYW5kYTELMAkGA1UECwwC -cnMxDDAKBgNVBAMMA21heDEkMCIGCSqGSIb3DQEJARYVZnJha2llYzM2MDBAZ21h -aWwuY29tMB4XDTIzMDIwMTA5MjEzMFoXDTI0MDIwMTA5MjEzMFowYjELMAkGA1UE -BhMCS1oxEjAQBgNVBAcMCUtBcmFnYW5kYTELMAkGA1UECwwCcnMxDDAKBgNVBAMM -A21heDEkMCIGCSqGSIb3DQEJARYVZnJha2llYzM2MDBAZ21haWwuY29tMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2nKgYkOCeAplYIeheFdXgVhx6kx -mRKMoUwykJOm13X8QYyVyktVMKD0PCWkQz82G0v/3b0fuangoRLSp3DiHKN7qgjH -wJWa4uN3wgJIZv3bGWZQaFdyxg14usbUSh9GuNaFXO3AYHa+DEFzhGGsRLdAKXcz -Jtu04rs4W2j9sh1LV457gaFxDMHeTpQ1i6ikfMJUx8RIFHz8khcbzTrYInqIZBUh -Pz+bjGunAoQYicB1aW7LcCDvYCcIiSFuXnbfNBiwIqMQg+YSdOsY9sEg9lY7YKqp -DjWk+TzSgUq/ePyaDtvXq9Ohx5d6IxsgYDDGQQp7YQgwnVR4S7qiMfgwEwIDAQAB -o1MwUTAdBgNVHQ4EFgQUB+QfW7im/OO+PITW9AHDuG8ofjwwHwYDVR0jBBgwFoAU -B+QfW7im/OO+PITW9AHDuG8ofjwwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B -AQsFAAOCAQEAXovZWKOHC6Rjy3R1mQUHCLNR5LrrI/hsha3joDzk2wKTxzTgIuJH -WHrRI6niPthtGIqWcIfVi+rfnLH4FX8PHtVLiYMlQoAsjAnCkei9Mavo3YaxisnF -XG9S/SRox7irudPKZq/nw3DaPK4ndVeAtOi4mQA8al8weVB8wPWsaJK3vBIN6vkQ -RMy0yp8G8SQ7XnNQmUTflKNC60ailRk8X2TGUmWVRTKBvfar2mife4eOTuanTelc -0xVRKvOe26GOHYXUTtDxyjv1FZpWFM7NKnYaHlI9XfDXbpQJ5jYrol+aB9ieiGFx -Qye9eY03Ou547Bmlw48Uup4W4cpmINWeAw== +MIIDzTCCArWgAwIBAgIUXF0gHhnQACVlKpEMopD0lvJbT0EwDQYJKoZIhvcNAQEL +BQAwdjELMAkGA1UEBhMCS1oxEjAQBgNVBAcMCWthcmFnYW5kYTELMAkGA1UECgwC +cnMxDDAKBgNVBAsMA21heDESMBAGA1UEAwwJbG9jYWxob3N0MSQwIgYJKoZIhvcN +AQkBFhVmcmFraWVjMzYwMEBnbWFpbC5jb20wHhcNMjMwMjAxMDk1OTA4WhcNMjQw +MjAxMDk1OTA4WjB2MQswCQYDVQQGEwJLWjESMBAGA1UEBwwJa2FyYWdhbmRhMQsw +CQYDVQQKDAJyczEMMAoGA1UECwwDbWF4MRIwEAYDVQQDDAlsb2NhbGhvc3QxJDAi +BgkqhkiG9w0BCQEWFWZyYWtpZWMzNjAwQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBALA71eR/oHfa4kZukZO+IbW3CSw2kAL2FdKbnoXg +67UHaw378+B86/s4J2K+mpOxcUStAmG7YszOR5Jb7VfFjP4Rj1Ol00BQ77HXbqr7 +x6DhcMqauRDfu6wikY0UUy6VUsqkDNgpUV7mFOpk84IhrCLWKYc6EhUAIP1iIPPg +rdRlmDaPxSM8rRMOMpkkGG5YGkg1wthYsHCiZmEaymoBajkV7Ty76LYXtLued8iS +S7anC2ZnkgD8HhyB5GQIsDfl85TwAIW/l2ichdSxWyz7/DH+4D14Xu5ZZhJVQImq +SgX9bkWn71yRvIvlja/1SdIDuUhQh7TdZ547Hz2altWimPMCAwEAAaNTMFEwHQYD +VR0OBBYEFMvKoqnckGiKso5Xv/OCCHbCW0ewMB8GA1UdIwQYMBaAFMvKoqnckGiK +so5Xv/OCCHbCW0ewMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB +AFMqgOY/wsU+APslGCcyaxsOWQ5v7z2iXFQAGhz/I2oB9Prf8+UekC+zsRQJe+y7 +SKToDvmEe6u+OLfuQR/W7vz8QTKbFv/Uy4tN/eTRFV3en3rwqKSlp0GHh5+lilkI +FyEFRajdOCXrE85ncXDh3MXNu/gb1x/ww+iamriur3GOxz22mKSMibDwK7EE2zRm +dNUIrZzrhKp3WOpsQhaTNFz4vz6vQpc91tMuuAl9Poq0NanPMF66WO8oF7sLBE97 +898lWrpd1trq7+V9X3aG43HB9aDaHBJm2a2gVTFFULv3wQUO6Ro2vl0ut/6ortGv +D+hoEwgfr1WkzY/S0B/cRX8= -----END CERTIFICATE----- diff --git a/backEnd/selfsigned.key b/backEnd/selfsigned.key index d2e3398..7d7e284 100644 --- a/backEnd/selfsigned.key +++ b/backEnd/selfsigned.key @@ -1,28 +1,28 @@ -----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/acqBiQ4J4CmV -gh6F4V1eBWHHqTGZEoyhTDKQk6bXdfxBjJXKS1UwoPQ8JaRDPzYbS//dvR+5qeCh -EtKncOIco3uqCMfAlZri43fCAkhm/dsZZlBoV3LGDXi6xtRKH0a41oVc7cBgdr4M -QXOEYaxEt0ApdzMm27TiuzhbaP2yHUtXjnuBoXEMwd5OlDWLqKR8wlTHxEgUfPyS -FxvNOtgieohkFSE/P5uMa6cChBiJwHVpbstwIO9gJwiJIW5edt80GLAioxCD5hJ0 -6xj2wSD2VjtgqqkONaT5PNKBSr94/JoO29er06HHl3ojGyBgMMZBCnthCDCdVHhL -uqIx+DATAgMBAAECggEAcdV5cEXQyoC8WkSy4E3hl+u9dd8iNvV4GujU3XRh8Zsi -NN1lq5PXiv79oNOF99Qc2mj9NqKlvmXPyBsImjmgzwVOoxVrrhWKskoyy3dOFan8 -5gMZ6KOxByW12eYrFBW7mmtBjr15/iQ/68v05hKsP4V3q/FOw1pAHeLXpk0vKwAH -JUCCgWYD1CUt7RHng9vMU0SN9zPNHKY5asssqProA8eo3bdCSSieT8OJfg7FNI+n -tgohp3aUD/C5P3y98rzs90+GhZIM16qiiqLPqhIsEkwHeuvlNDO+3bQSgKDCa9UP -n1NaiSdG/WKj5SIREmnWOccNBXvyAQBP38/Ftf3PYQKBgQDrekaxI4hrFekNPurt -moNUC9mph44u5dW64KLTd7UcMndlpVHhxXCoMUBVfRt3aq1fUIjFbsy11QOjolBf -ukt5OOPmPylrS88VaqgANYkvKXO3B+teZFfzReo6ZFRSsnAtJGGPKsBFwQY0+9+R -NI3PcUIcjcgFTzaNlecUU/K3UQKBgQDQGGXDZ9/iUSQ4bNIcxR90Ppb9jaqZNXZk -/b3FvepaqbNaTdbkzdgSJwY9FvsCUtwsZhBpKcFkrJlBNUFnw3mVO288DUJPqy7m -/Q0H68M31c3O/ULkv7tz/PyWXIJh146rOGyLEGx4iMsTdXmCny/bVsQrAsXKrdW2 -UhG06S8gIwKBgHQR4aaPDT87nZSZ3tMfxnw3GyMlXkBfqepjr97ssqkjdxbzVlkj -KVS+ciexc0h5nNvOppwq8VzvksulxlhpS6qFEFD98TyiMYEtAYKY4PYOSKt/i9UL -QQ7492uw6J+atRCLTktzlzLK4nRbcufwL7aA7UWF3YJAeXNw4GZ0ur8BAoGBAIxE -FbwMNWXoicCa4VnRKW2CjuYj6p1Q4xgZzSQP6nroLmOtWi9p7L33ngXpipI7Zftr -ZJ5uLdR9XuQMUKTvpvGHWWgiC9OFsJy0b2cqbLEjJZHjNobYEjORkHSNsLjgwmL5 -KnjmPidVFYVtRtVcFbcEGkBfoxEF8aruUM8f6sr/AoGAVj2Coj/WAdYd5WA8MUXx -MGbD9LikFiw+knHxjKcgIwlTqpgzddFG31N/qx2HyepJ8D/O7pcseOtbnCjMlQ6i -GTghv/ne63ngs/ig9bYSi55lZ0by6xHrON7GsCCImrIjJX8QBktqgl8CrRl2CAS4 -vq5HfQPyjMevkGcPoK3APEU= +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCwO9Xkf6B32uJG +bpGTviG1twksNpAC9hXSm56F4Ou1B2sN+/PgfOv7OCdivpqTsXFErQJhu2LMzkeS +W+1XxYz+EY9TpdNAUO+x126q+8eg4XDKmrkQ37usIpGNFFMulVLKpAzYKVFe5hTq +ZPOCIawi1imHOhIVACD9YiDz4K3UZZg2j8UjPK0TDjKZJBhuWBpINcLYWLBwomZh +GspqAWo5Fe08u+i2F7S7nnfIkku2pwtmZ5IA/B4cgeRkCLA35fOU8ACFv5donIXU +sVss+/wx/uA9eF7uWWYSVUCJqkoF/W5Fp+9ckbyL5Y2v9UnSA7lIUIe03WeeOx89 +mpbVopjzAgMBAAECggEAVH+sE845453Yhoq3VE6CnT0wsblLnY/ecMfa3zgz6+2t +n9vhWA6tmxuWjtrzBMO8moAVt0SAn9B8MqnPCBmZe6xxu1q0Co+EDhJMZsEoO3Q8 +f3hmKbgMpQFCJpHLPHeuZaj426Ab+tN4zdYvh4KbpWxoJwVp7BXOu48UW7qrvj1Y +Kfq5fIE49AmYAJda8Ic0NRTpbcPZ1olw5PW7wjgI8GPV6PXnlQN39mI0iUvwaJbA +LR02WXw/S7YzoFv2sgjmcqqzs4Evrk8ihOIOMTry3+ov4wm6V5N7/Y+3xRfS4CgV +v8F3hkfhegZj+WE3SXrAdpCJ5vo4qiCT/nbPFvsbAQKBgQDfJkjUeepAo5woVfTO +sFFwGG6QwfIuHOhR1YZy+VtKsNg0JnLQ9tHJSMDVQXuQ3iShJZPEyZ3nNY03y+kJ +yV5fP98unqBzRN90Q48Y4vlXBGDscmD/FCWuRiQGj4l5YDHrsy6K8fI47Mk3YnDl +DOHTsPqCEmMxkzVHCTBf9u4mgQKBgQDKLXXQRHlQKdmm6usWBteDQBIoxSQXNV6H +sLMjnjVDTUBRxQ3mr+yIOpPVMG0le/3ws93Vt0koEScTiKwcQJFu6LHGdGoK0KRF +Vx+LoApZ8VRWq597R829Fae+rvXGdL4oderkfvZtX4Rffo9YhQQYkFA5y4locfDM +1NIfntLNcwKBgQDBmtm9Xzkac9jcNhd77AX8F3Z2KY8Q6wu1VGieADJwjxZFyMX8 +/ufsly6W14V5nwJwvcWDCtnw68lmC4hYcVlrkmL0c7QJzkuA98yDbwmdsbLV8jat +mLFIjppbBtXjdM5bDM7oxhm9wdKiNsp0L8UOgZIWoBVnwayLwTEzUW42AQKBgF83 +c8HnTb78Rr4+6wKPrFXrCeJbnjiz8NY02NlQfEM7EayxAm//sIUkGVWRHgZGU/1V +qIcrb+/HzEB94JjZq+SxAHC3iO2Y/5SMiJXIhLeBWbgL0etMkM+ZcEv0uFmDx77k +cgC07rfqATy8LSSCWMB8ztu5SPiAmOjO3jr4IM2TAoGAL4Ki1lNTA2+ETjWJaQb8 +4dobwJHCpFaqkiFyubjVFT5K7kMMjGHH8q4H6u7i0ATyLeB4t7gm+L7lFrbMMFiP +C1ZVal/tMOgXfrhjsUWUvXa4r/TMGpESy+HrdF106fyzbAb/Fz4MWE0zCglQkxca +AYzajcCLuKm2sMMX4U1sWBM= -----END PRIVATE KEY----- diff --git a/backEnd/server.cjs b/backEnd/server.cjs index 170f44e..00f5bf2 100644 --- a/backEnd/server.cjs +++ b/backEnd/server.cjs @@ -31,6 +31,7 @@ http }); app.get("/",(req,res)=>{ + console.log('Hi'); res.send({resp:"Hi"}) }) diff --git a/src/App.tsx b/src/App.tsx index 51db5e1..a48f8f7 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -8,7 +8,7 @@ function App () { const [count, setCount] = useState(0) const navigate = useNavigate() const getData = () => { - fetch('http://localhost:8888') + fetch('https://localhost:8000') .then(async response => await response.json()) .then(data => { console.log(data) From 7f1888cb31c1f087ff1c2d08ca6231dea31adfd3 Mon Sep 17 00:00:00 2001 From: Alexey Kuptsov <60064512+jerubrin@users.noreply.github.com> Date: Thu, 2 Feb 2023 12:08:48 +0600 Subject: [PATCH 004/207] feat: add CI script --- .github/workflows/react.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/react.yml diff --git a/.github/workflows/react.yml b/.github/workflows/react.yml new file mode 100644 index 0000000..0f8128e --- /dev/null +++ b/.github/workflows/react.yml @@ -0,0 +1,31 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs + +name: Games CI/CD + +on: + push: + branches: [ "develop" ] + pull_request: + branches: [ "develop" ] + +jobs: + build: + + runs-on: self-hosted + + strategy: + matrix: + node-version: [18.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm i + - run: npm test + - run: npm run build From 0c3a40d37849a548389463741856811b42b1a1bf Mon Sep 17 00:00:00 2001 From: Alexey Kuptsov <60064512+jerubrin@users.noreply.github.com> Date: Thu, 2 Feb 2023 12:47:48 +0600 Subject: [PATCH 005/207] feat: change name for job --- .github/workflows/react.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react.yml b/.github/workflows/react.yml index 0f8128e..bd6c0a1 100644 --- a/.github/workflows/react.yml +++ b/.github/workflows/react.yml @@ -1,7 +1,7 @@ # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs -name: Games CI/CD +name: gamescicd on: push: From a812c708da3bc97694d737e5c9feb9fa7dc9f392 Mon Sep 17 00:00:00 2001 From: Alexey Kuptsov <60064512+jerubrin@users.noreply.github.com> Date: Thu, 2 Feb 2023 12:57:25 +0600 Subject: [PATCH 006/207] feat: start tests after build --- .github/workflows/react.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react.yml b/.github/workflows/react.yml index bd6c0a1..3e96445 100644 --- a/.github/workflows/react.yml +++ b/.github/workflows/react.yml @@ -27,5 +27,5 @@ jobs: node-version: ${{ matrix.node-version }} cache: 'npm' - run: npm i - - run: npm test - run: npm run build + - run: npm test From 77fb9d3b94b7fade80aa009cbcd30eadeb0593f8 Mon Sep 17 00:00:00 2001 From: Alexey Kuptsov <60064512+jerubrin@users.noreply.github.com> Date: Thu, 2 Feb 2023 15:41:23 +0600 Subject: [PATCH 007/207] fix: temporary remove test command --- .github/workflows/react.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react.yml b/.github/workflows/react.yml index 3e96445..d189dc7 100644 --- a/.github/workflows/react.yml +++ b/.github/workflows/react.yml @@ -28,4 +28,4 @@ jobs: cache: 'npm' - run: npm i - run: npm run build - - run: npm test +# - run: npm test From cd7b10f3d249895b62c0d3b9de1f7bb40f0171b0 Mon Sep 17 00:00:00 2001 From: Alexey Kuptsov Date: Thu, 2 Feb 2023 17:02:45 +0600 Subject: [PATCH 008/207] feat: add auto-deployment --- .github/workflows/react.yml | 4 ++++ vite.config.ts.prod | 8 ++++++++ 2 files changed, 12 insertions(+) create mode 100644 vite.config.ts.prod diff --git a/.github/workflows/react.yml b/.github/workflows/react.yml index d189dc7..f1249e2 100644 --- a/.github/workflows/react.yml +++ b/.github/workflows/react.yml @@ -27,5 +27,9 @@ jobs: node-version: ${{ matrix.node-version }} cache: 'npm' - run: npm i + - run: sudo rm /home/worker/_build/RsClone/RsClone/vite.config.ts + - run: sudo mv /home/worker/_build/RsClone/RsClone/vite.config.ts.prod /home/worker/_build/RsClone/RsClone/vite.config.ts - run: npm run build + - run: sudo rm -r /var/www/html/* + - run: sudo cp -r /home/worker/_build/RsClone/RsClone/dist/* /var/www/html/ # - run: npm test diff --git a/vite.config.ts.prod b/vite.config.ts.prod new file mode 100644 index 0000000..7e403dc --- /dev/null +++ b/vite.config.ts.prod @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + base: '/' +}) From 85aa2828c254cbdd46cf5ced68fab0795a17733a Mon Sep 17 00:00:00 2001 From: Loginovsky Max <104369728+LoginovskyMax@users.noreply.github.com> Date: Thu, 2 Feb 2023 22:25:18 +0600 Subject: [PATCH 009/207] feat:add memory game --- .eslintrc.json | 7 +- src/App.scss | 68 +++++++-- src/App.tsx | 3 +- src/Components/MemoryGame/CardComponent.tsx | 56 ++++++++ src/Pages/MainPage.tsx | 7 +- src/Pages/MemoryGame.tsx | 145 ++++++++++++++++++++ 6 files changed, 271 insertions(+), 15 deletions(-) create mode 100644 src/Components/MemoryGame/CardComponent.tsx create mode 100644 src/Pages/MemoryGame.tsx diff --git a/.eslintrc.json b/.eslintrc.json index 986a546..7c33a66 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -20,7 +20,12 @@ "ignorePatterns": ["tsconfig.json","vite.config.ts","build"], "rules": { "@typescript-eslint/explicit-function-return-type": 0, - "@typescript-eslint/triple-slash-reference":0 + "@typescript-eslint/triple-slash-reference":0, + "no-return-assign":"off", + "@typescript-eslint/no-floating-promises":0, + "no-console": 1, + "no-shadow": 0, + "@typescript-eslint/no-explicit-any":"warn" }, "settings": { "import/parsers": { diff --git a/src/App.scss b/src/App.scss index 9894bbc..1b3a179 100644 --- a/src/App.scss +++ b/src/App.scss @@ -26,19 +26,63 @@ } } -@media (prefers-reduced-motion: no-preference) { - a:nth-of-type(2) .logo { - animation: logo-spin infinite 20s linear; - } +.cards-conteiner{ + display: flex; + flex-wrap: wrap; + gap: 10px; + width: 600px; } - -.card { - padding: 2em; +.card{ + border: 1px solid teal; + border-radius: 15px; + display: flex; + justify-content: center; + align-items: center; + padding: 10px; + width: 100px; + height: 200px; + position: relative; + transition: 0.6s; + &__face{ + transform: rotateY(180deg); + position: absolute; + z-index: -1; + } + &__shirt{ + border-radius: 15px; + position: absolute; + padding: 10px; + width: 100px; + height: 200px; + background-color: bisque; + } } - -.read-the-docs { - color: #888; +.card-open{ + transform: rotateY(180deg); + &__face{ + z-index: 2; + transform: rotateY(180deg); + } + &__shirt{ + background-color: none; + } } -h1{ - color: green; +.modal-window{ + display: flex; + justify-content: center; + align-items: center; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(0, 128, 128, 0.295); + &__main{ + padding: 20px; + background-color: teal; + border-radius: 20px; + display: flex; + flex-direction: column; + gap: 20px; + } } diff --git a/src/App.tsx b/src/App.tsx index a48f8f7..2e2fac6 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,9 +3,9 @@ import React, { Routes, Route, useNavigate } from 'react-router-dom' import './App.scss' import LoginPage from './Pages/LoginPage' import MainPage from './Pages/MainPage' +import MemoryGame from './Pages/MemoryGame' function App () { - const [count, setCount] = useState(0) const navigate = useNavigate() const getData = () => { fetch('https://localhost:8000') @@ -23,6 +23,7 @@ function App () { } /> }/> + }/>
) diff --git a/src/Components/MemoryGame/CardComponent.tsx b/src/Components/MemoryGame/CardComponent.tsx new file mode 100644 index 0000000..927aa2f --- /dev/null +++ b/src/Components/MemoryGame/CardComponent.tsx @@ -0,0 +1,56 @@ +import React, { useEffect, useRef, useState } from 'react' + +interface props { + card: { + id: number + name: string + hasPair: boolean + } + onPress: (id: number) => void + countTry: number + pairs: number + clickCount: React.Dispatch> + startGame: boolean + inGame: boolean +} + +export default function CardComponent ({ card, onPress, countTry, pairs, clickCount, startGame, inGame }: props) { + const [isOpen, setIsOpen] = useState(false) + const canClick = useRef(false) + const handler = () => { + if (inGame) { + if (canClick.current && pairs < 2) { + setIsOpen(true) + onPress(card.id) + canClick.current = false + } + } + } + useEffect(() => { + if (!card.hasPair && countTry !== 0) { + setTimeout(() => { + setIsOpen(false) + canClick.current = true + clickCount(0) + }, 1000) + } + }, [countTry]) + + useEffect(() => { + if (startGame) { + setIsOpen(true) + canClick.current = false + } + if (!startGame) { + setIsOpen(false) + canClick.current = true + } + }, [startGame]) + + return ( +
+
+
{card.name} {card.hasPair.toString()}
+
+ ) +} diff --git a/src/Pages/MainPage.tsx b/src/Pages/MainPage.tsx index af8ab80..cdd1e62 100644 --- a/src/Pages/MainPage.tsx +++ b/src/Pages/MainPage.tsx @@ -1,7 +1,12 @@ import React from 'react' +import { useNavigate } from 'react-router-dom' export default function MainPage () { + const navigate = useNavigate() return ( -
MainPage
+
+ MainPage + +
) } diff --git a/src/Pages/MemoryGame.tsx b/src/Pages/MemoryGame.tsx new file mode 100644 index 0000000..b1df337 --- /dev/null +++ b/src/Pages/MemoryGame.tsx @@ -0,0 +1,145 @@ +import React, { useEffect, useRef, useState } from 'react' + +import { useNavigate } from 'react-router-dom' +import CardComponent from '../Components/MemoryGame/CardComponent' + +interface ICard { + id: number + name: string + hasPair: boolean +} + +const cardsArr = [ + { id: 1, name: 'Circle', hasPair: false }, + { id: 2, name: 'Circle', hasPair: false }, + { id: 3, name: 'Square', hasPair: false }, + { id: 4, name: 'Square', hasPair: false }, + { id: 5, name: 'Star', hasPair: false }, + { id: 6, name: 'Star', hasPair: false }, + { id: 7, name: 'Triangle', hasPair: false }, + { id: 8, name: 'Triangle', hasPair: false }, + { id: 9, name: '5', hasPair: false }, + { id: 10, name: '5', hasPair: false }, + { id: 11, name: '6', hasPair: false }, + { id: 12, name: '6', hasPair: false }, + { id: 13, name: '10', hasPair: false }, + { id: 14, name: '10', hasPair: false }, + { id: 15, name: '11', hasPair: false }, + { id: 16, name: '11', hasPair: false } +] +const randomArr = [...cardsArr].sort(() => Math.random() - 0.5) + +export default function MemoryGame () { + const navigate = useNavigate() + const [cards, setCards] = useState(randomArr) + const [inGame, setInGame] = useState(false) + const [startGame, setStartGame] = useState(false) + let [countTry, setCountTry] = useState(0) + let [openCards, setOpenCards] = useState(0) + const [showModal, setShowModal] = useState(false) + const [level, setLevel] = useState(8) + const pairs = useRef([]) + const openPairs = useRef(0) + + const onPress = (id: number) => { + setOpenCards(openCards += 1) + const obj = cardsArr.find(item => item.id === id) + if (obj != null) { + pairs.current.push(obj) + } + if (pairs.current.length === 2) { + if (pairs.current[0].name === pairs.current[1].name) { + pairs.current[0].hasPair = true + pairs.current[1].hasPair = true + const arr = [...cards] + arr.splice(cards.indexOf(pairs.current[0]), 1, pairs.current[0]) + arr.splice(cards.indexOf(pairs.current[1]), 1, pairs.current[1]) + setCards(arr) + openPairs.current += 1 + } + pairs.current = [] + setCountTry(countTry += 1) + } + } + const startGameFunc = () => { + setInGame(true) + setStartGame(true) + setTimeout(() => { + setStartGame(false) + }, 3000) + } + const restartGame = () => { + setStartGame(true) + const arr = [...cardsArr.slice(0, level).sort(() => Math.random() - 0.5)] + arr.forEach(item => item.hasPair = false) + setCards(arr) + setCountTry(0) + pairs.current = [] + openPairs.current = 0 + setOpenCards(0) + setTimeout(() => { + setStartGame(false) + }, 3000) + } + + const sendData = () => { + const message = { + id: 'UserID', + game: 'MemoryGame', + result: countTry + } + fetch('https://localhost:8000/saveProgress', { + method: 'POST', + body: JSON.stringify(message) + }) + } + + useEffect(() => { + if (openPairs.current === level / 2) { + setShowModal(true) + } + }, [openPairs.current]) + + useEffect(() => { + const arr = cardsArr.slice(0, level) + setCards(arr.sort(() => Math.random() - 0.5)) + restartGame() + setInGame(false) + }, [level]) + + return ( +
+

Memory Game

+
+ + +

Сложность:

+ +
+ +

Количество попыток: {countTry}

+
+ {cards.map(item => )} +
+ {showModal && +
+
+

Поздравляем с победой!!!

+

Ваш результат {countTry}

+ + +
+
} +
+ ) +} From b22b3598f2351b1166a60b7467fe36611bc48a86 Mon Sep 17 00:00:00 2001 From: Loginovsky Max <104369728+LoginovskyMax@users.noreply.github.com> Date: Fri, 3 Feb 2023 04:05:45 +0600 Subject: [PATCH 010/207] feat:add images,add scss modules --- src/App.scss | 80 +----------------- src/Components/MemoryGame/CardComponent.tsx | 32 +++---- src/Components/MemoryGame/Data.ts | 30 +++++++ src/Components/MemoryGame/Interfaces.ts | 16 ++++ .../MemoryGame/Memorygame.module.scss | 69 +++++++++++++++ src/Pages/MemoryGame.tsx | 44 ++++------ src/assets/cars/audi.jfif | Bin 0 -> 5091 bytes src/assets/cars/bmw.jfif | Bin 0 -> 13390 bytes src/assets/cars/dodje.jfif | Bin 0 -> 10650 bytes src/assets/cars/ferrari.jfif | Bin 0 -> 10061 bytes src/assets/cars/lambo.jfif | Bin 0 -> 6417 bytes src/assets/cars/maserati.jfif | Bin 0 -> 7467 bytes src/assets/cars/mers.jfif | Bin 0 -> 6645 bytes src/assets/cars/porshe.jfif | Bin 0 -> 5336 bytes src/assets/cars/shirt.jfif | Bin 0 -> 22318 bytes src/assets/cars/zhiga.jfif | Bin 0 -> 16657 bytes src/assets/react.svg | 1 - 17 files changed, 147 insertions(+), 125 deletions(-) create mode 100644 src/Components/MemoryGame/Data.ts create mode 100644 src/Components/MemoryGame/Interfaces.ts create mode 100644 src/Components/MemoryGame/Memorygame.module.scss create mode 100644 src/assets/cars/audi.jfif create mode 100644 src/assets/cars/bmw.jfif create mode 100644 src/assets/cars/dodje.jfif create mode 100644 src/assets/cars/ferrari.jfif create mode 100644 src/assets/cars/lambo.jfif create mode 100644 src/assets/cars/maserati.jfif create mode 100644 src/assets/cars/mers.jfif create mode 100644 src/assets/cars/porshe.jfif create mode 100644 src/assets/cars/shirt.jfif create mode 100644 src/assets/cars/zhiga.jfif delete mode 100644 src/assets/react.svg diff --git a/src/App.scss b/src/App.scss index 1b3a179..d711f35 100644 --- a/src/App.scss +++ b/src/App.scss @@ -5,84 +5,6 @@ text-align: center; } -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); -} -.logo.react:hover { - filter: drop-shadow(0 0 2em #61dafbaa); -} -@keyframes logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} -.cards-conteiner{ - display: flex; - flex-wrap: wrap; - gap: 10px; - width: 600px; -} -.card{ - border: 1px solid teal; - border-radius: 15px; - display: flex; - justify-content: center; - align-items: center; - padding: 10px; - width: 100px; - height: 200px; - position: relative; - transition: 0.6s; - &__face{ - transform: rotateY(180deg); - position: absolute; - z-index: -1; - } - &__shirt{ - border-radius: 15px; - position: absolute; - padding: 10px; - width: 100px; - height: 200px; - background-color: bisque; - } -} -.card-open{ - transform: rotateY(180deg); - &__face{ - z-index: 2; - transform: rotateY(180deg); - } - &__shirt{ - background-color: none; - } -} -.modal-window{ - display: flex; - justify-content: center; - align-items: center; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: rgba(0, 128, 128, 0.295); - &__main{ - padding: 20px; - background-color: teal; - border-radius: 20px; - display: flex; - flex-direction: column; - gap: 20px; - } -} + diff --git a/src/Components/MemoryGame/CardComponent.tsx b/src/Components/MemoryGame/CardComponent.tsx index 927aa2f..aa9484f 100644 --- a/src/Components/MemoryGame/CardComponent.tsx +++ b/src/Components/MemoryGame/CardComponent.tsx @@ -1,22 +1,11 @@ import React, { useEffect, useRef, useState } from 'react' +import { type IProps } from './Interfaces' +import styles from './Memorygame.module.scss' -interface props { - card: { - id: number - name: string - hasPair: boolean - } - onPress: (id: number) => void - countTry: number - pairs: number - clickCount: React.Dispatch> - startGame: boolean - inGame: boolean -} - -export default function CardComponent ({ card, onPress, countTry, pairs, clickCount, startGame, inGame }: props) { +export default function CardComponent ({ card, onPress, countTry, pairs, clickCount, startGame, inGame }: IProps) { const [isOpen, setIsOpen] = useState(false) const canClick = useRef(false) + const handler = () => { if (inGame) { if (canClick.current && pairs < 2) { @@ -26,6 +15,7 @@ export default function CardComponent ({ card, onPress, countTry, pairs, clickCo } } } + useEffect(() => { if (!card.hasPair && countTry !== 0) { setTimeout(() => { @@ -47,10 +37,16 @@ export default function CardComponent ({ card, onPress, countTry, pairs, clickCo } }, [startGame]) + // useEffect(()=>{ + + // },[level]) + + + return ( -
-
-
{card.name} {card.hasPair.toString()}
+
+
+
) } diff --git a/src/Components/MemoryGame/Data.ts b/src/Components/MemoryGame/Data.ts new file mode 100644 index 0000000..ac6de75 --- /dev/null +++ b/src/Components/MemoryGame/Data.ts @@ -0,0 +1,30 @@ +import porshe from '../../assets/cars/porshe.jfif' +import bmw from '../../assets/cars/bmw.jfif' +import audi from '../../assets/cars/audi.jfif' +import dodje from '../../assets/cars/dodje.jfif' +import ferrari from '../../assets/cars/ferrari.jfif' +import lambo from '../../assets/cars/lambo.jfif' +import maserati from '../../assets/cars/maserati.jfif' +import zhiga from '../../assets/cars/zhiga.jfif' +import mers from '../../assets/cars/mers.jfif' + +export const cardsArr = [ + { id: 1, name: 'Circle', hasPair: false, img: porshe }, + { id: 2, name: 'Circle', hasPair: false, img: porshe }, + { id: 3, name: 'Square', hasPair: false, img: bmw }, + { id: 4, name: 'Square', hasPair: false, img: bmw }, + { id: 5, name: 'Star', hasPair: false, img: dodje }, + { id: 6, name: 'Star', hasPair: false, img: dodje }, + { id: 7, name: 'Triangle', hasPair: false, img: lambo }, + { id: 8, name: 'Triangle', hasPair: false, img: lambo }, + { id: 9, name: '5', hasPair: false, img: maserati }, + { id: 10, name: '5', hasPair: false, img: maserati }, + { id: 11, name: '6', hasPair: false, img: mers }, + { id: 12, name: '6', hasPair: false, img: mers }, + { id: 13, name: '10', hasPair: false, img: ferrari }, + { id: 14, name: '10', hasPair: false, img: ferrari }, + { id: 15, name: '11', hasPair: false, img: audi }, + { id: 16, name: '11', hasPair: false, img: audi }, + { id: 17, name: '12', hasPair: false, img: zhiga }, + { id: 18, name: '13', hasPair: false, img: zhiga } +] diff --git a/src/Components/MemoryGame/Interfaces.ts b/src/Components/MemoryGame/Interfaces.ts new file mode 100644 index 0000000..698820f --- /dev/null +++ b/src/Components/MemoryGame/Interfaces.ts @@ -0,0 +1,16 @@ +export interface ICard { + id: number + name: string + hasPair: boolean + img: string +} + +export interface IProps { + card: ICard + onPress: (id: number) => void + countTry: number + pairs: number + clickCount: React.Dispatch> + startGame: boolean + inGame: boolean +} diff --git a/src/Components/MemoryGame/Memorygame.module.scss b/src/Components/MemoryGame/Memorygame.module.scss new file mode 100644 index 0000000..310df4b --- /dev/null +++ b/src/Components/MemoryGame/Memorygame.module.scss @@ -0,0 +1,69 @@ +.cards_conteiner{ + display: flex; + flex-wrap: wrap; + gap: 10px; + justify-content: center; + } + $card-width:150px; + $card-height:220px; + .card{ + border: 1px stolid teal; + border-radius: 15px; + display: flex; + justify-content: center; + align-items: center; + width: $card-width; + height: $card-height; + position: relative; + transition: 0.6s; + &__face{ + transform: rotateY(180deg); + position: absolute; + z-index: -1; + width: $card-width; + height: $card-height; + border-radius: 15px; + background-size: cover; + } + &__shirt{ + border-radius: 15px; + position: absolute; + width: $card-width; + height: $card-height; + background-image: url('../../assets/cars/shirt.jfif'); + background-size: cover; + } + } + .card_open{ + transform: rotateY(180deg); + &__face{ + z-index: 2; + transform: rotateY(180deg); + width: $card-width; + height: $card-height; + border-radius: 15px; + background-size: cover; + } + &__shirt{ + background-image: none; + } + } + .modal_window{ + display: flex; + justify-content: center; + align-items: center; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(0, 128, 128, 0.295); + &__main{ + padding: 20px; + background-color: teal; + border-radius: 20px; + display: flex; + flex-direction: column; + gap: 20px; + } + } \ No newline at end of file diff --git a/src/Pages/MemoryGame.tsx b/src/Pages/MemoryGame.tsx index b1df337..4d6dd49 100644 --- a/src/Pages/MemoryGame.tsx +++ b/src/Pages/MemoryGame.tsx @@ -1,32 +1,10 @@ import React, { useEffect, useRef, useState } from 'react' - import { useNavigate } from 'react-router-dom' import CardComponent from '../Components/MemoryGame/CardComponent' +import { type ICard } from '../Components/MemoryGame/Interfaces' +import { cardsArr } from '../Components/MemoryGame/Data' +import styles from '../Components/MemoryGame/Memorygame.module.scss' -interface ICard { - id: number - name: string - hasPair: boolean -} - -const cardsArr = [ - { id: 1, name: 'Circle', hasPair: false }, - { id: 2, name: 'Circle', hasPair: false }, - { id: 3, name: 'Square', hasPair: false }, - { id: 4, name: 'Square', hasPair: false }, - { id: 5, name: 'Star', hasPair: false }, - { id: 6, name: 'Star', hasPair: false }, - { id: 7, name: 'Triangle', hasPair: false }, - { id: 8, name: 'Triangle', hasPair: false }, - { id: 9, name: '5', hasPair: false }, - { id: 10, name: '5', hasPair: false }, - { id: 11, name: '6', hasPair: false }, - { id: 12, name: '6', hasPair: false }, - { id: 13, name: '10', hasPair: false }, - { id: 14, name: '10', hasPair: false }, - { id: 15, name: '11', hasPair: false }, - { id: 16, name: '11', hasPair: false } -] const randomArr = [...cardsArr].sort(() => Math.random() - 0.5) export default function MemoryGame () { @@ -37,6 +15,7 @@ export default function MemoryGame () { let [countTry, setCountTry] = useState(0) let [openCards, setOpenCards] = useState(0) const [showModal, setShowModal] = useState(false) + const [width, setWidth] = useState(650) const [level, setLevel] = useState(8) const pairs = useRef([]) const openPairs = useRef(0) @@ -105,6 +84,17 @@ export default function MemoryGame () { setCards(arr.sort(() => Math.random() - 0.5)) restartGame() setInGame(false) + switch (level) { + case 8: + setWidth(650) + break + case 12: + setWidth(950) + break + case 18: + setWidth(950) + break + } }, [level]) return ( @@ -117,12 +107,12 @@ export default function MemoryGame () {

Количество попыток: {countTry}

-
+
{cards.map(item => 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

%5>oN30d6%kK|Akq4=g|FEk9WZ^XuDb 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

SgpnI)6|%fj1G;v-Fj0V- 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 NOP{2qBnRF7{vRq++~P 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ξ-c&T?FY3>G{Pt089ksp|*%lub#lVlBs7 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 Pxw(qd7 literal 0 HcmV?d00001 diff --git a/src/assets/cars/maserati.jfif b/src/assets/cars/maserati.jfif new file mode 100644 index 0000000000000000000000000000000000000000..a9d55e5815ffd663ccaba1d0b853927b2ac3f314 GIT binary patch literal 7467 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 literal 0 HcmV?d00001 diff --git a/src/assets/cars/mers.jfif b/src/assets/cars/mers.jfif new file mode 100644 index 0000000000000000000000000000000000000000..84508a27e556cd7b80e0d49b98a9bbb98eda2227 GIT binary patch literal 6645 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 Jh`M#N@;{DbrS1R# literal 0 HcmV?d00001 diff --git a/src/assets/cars/shirt.jfif b/src/assets/cars/shirt.jfif new file mode 100644 index 0000000000000000000000000000000000000000..18713f62f87f5d98566b509bfe51e3acdcd84e7a GIT binary patch literal 22318 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 literal 0 HcmV?d00001 diff --git a/src/assets/cars/zhiga.jfif b/src/assets/cars/zhiga.jfif new file mode 100644 index 0000000000000000000000000000000000000000..28db9e94ccf241837884221b0e556e040e57d96e GIT binary patch literal 16657 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 literal 0 HcmV?d00001 diff --git a/src/assets/react.svg b/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 771f771ad0d1ce388e55a0c7cf4ed16797e74390 Mon Sep 17 00:00:00 2001 From: Kunitsa Olya Date: Fri, 3 Feb 2023 13:42:30 +0300 Subject: [PATCH 011/207] feat: add main page --- .eslintrc.json | 156 ++++-- index.html | 1 + package-lock.json | 698 ++++++++++++++++++++++++ package.json | 7 + public/images/day-and-night.png | Bin 0 -> 26759 bytes public/images/joystick.png | Bin 0 -> 38899 bytes public/images/logo.png | Bin 0 -> 29949 bytes public/images/main.jpg | Bin 0 -> 382983 bytes public/images/video-game.png | Bin 0 -> 43066 bytes src/App.scss | 60 +- src/App.tsx | 35 +- src/Pages/LoginPage.tsx | 7 - src/Pages/MainPage.tsx | 7 - src/components/Footer/index.tsx | 19 + src/components/Footer/style.scss | 32 ++ src/components/Header/Logo/index.tsx | 11 + src/components/Header/Logo/style.scss | 17 + src/components/Header/index.tsx | 23 + src/components/Header/style.scss | 26 + src/components/common/Button/index.tsx | 13 + src/components/common/Button/style.scss | 17 + src/index.scss | 12 +- src/main.tsx | 25 +- src/pages/LoginPage/index.tsx | 3 + src/pages/MainPage/index.tsx | 20 + src/pages/MainPage/style.scss | 32 ++ src/pages/StartPage/index.tsx | 15 + vite.config.ts | 8 +- 28 files changed, 1119 insertions(+), 125 deletions(-) create mode 100644 public/images/day-and-night.png create mode 100644 public/images/joystick.png create mode 100644 public/images/logo.png create mode 100644 public/images/main.jpg create mode 100644 public/images/video-game.png delete mode 100644 src/Pages/LoginPage.tsx delete mode 100644 src/Pages/MainPage.tsx create mode 100644 src/components/Footer/index.tsx create mode 100644 src/components/Footer/style.scss create mode 100644 src/components/Header/Logo/index.tsx create mode 100644 src/components/Header/Logo/style.scss create mode 100644 src/components/Header/index.tsx create mode 100644 src/components/Header/style.scss create mode 100644 src/components/common/Button/index.tsx create mode 100644 src/components/common/Button/style.scss create mode 100644 src/pages/LoginPage/index.tsx create mode 100644 src/pages/MainPage/index.tsx create mode 100644 src/pages/MainPage/style.scss create mode 100644 src/pages/StartPage/index.tsx diff --git a/.eslintrc.json b/.eslintrc.json index 986a546..421cfb4 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,39 +1,127 @@ { - "env": { - "browser": true, - "es2021": true - }, - "extends": [ - "plugin:react/recommended", - "standard-with-typescript" + "parser": "@typescript-eslint/parser", + "extends": [ + "airbnb", + "plugin:@typescript-eslint/recommended", + "plugin:prettier/recommended", + "plugin:react-hooks/recommended", + "plugin:react/jsx-runtime" + ], + "plugins": ["react-hooks"], + "rules": { + "react/button-has-type": "off", + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "warn", + "react/prop-types": "off", + "react/display-name": "off", + "react/no-array-index-key": "off", + "react/require-default-props": "off", + "react/jsx-props-no-spreading": "off", + "react/jsx-filename-extension": [ + "error", + { + "extensions": [".ts", ".tsx"] + } ], - "overrides": [ + "react/function-component-definition": [ + 2, + { + "namedComponents": "arrow-function", + "unnamedComponents": "arrow-function" + } ], - "parserOptions": { - "project": "./tsconfig.json", - "ecmaVersion": "latest", - "sourceType": "module" - }, - "plugins": [ - "react" + "@typescript-eslint/no-shadow": "error", + "@typescript-eslint/no-empty-function": "warn", + "@typescript-eslint/no-use-before-define": "error", + "@typescript-eslint/consistent-type-imports": "warn", + "@typescript-eslint/explicit-function-return-type": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-unused-vars": [ + "error", + { + "args": "all", + "varsIgnorePattern": "^_", + "argsIgnorePattern": "^_" + } + ], + "import/extensions": "off", + "import/prefer-default-export": "off", + "import/no-anonymous-default-export": [2, { "allowObject": true }], + "import/no-extraneous-dependencies": "error", + "import/order": [ + "error", + { + "newlines-between": "always", + "alphabetize": { + "order": "asc", + "caseInsensitive": true + } + } + ], + "padding-line-between-statements": [ + "error", + { + "blankLine": "always", + "prev": "*", + "next": "return" + }, + { + "blankLine": "always", + "prev": "block-like", + "next": "*" + }, + { + "blankLine": "always", + "prev": "*", + "next": "block-like" + }, + { + "blankLine": "always", + "prev": "*", + "next": "default" + }, + { + "blankLine": "always", + "prev": "*", + "next": "export" + } + ], + "no-underscore-dangle": [ + "error", + { + "allow": ["__REDUX_DEVTOOLS_EXTENSION_COMPOSE__"] + } + ], + "spaced-comment": [ + "error", + "always", + { + "markers": ["/"] + } ], - "ignorePatterns": ["tsconfig.json","vite.config.ts","build"], - "rules": { - "@typescript-eslint/explicit-function-return-type": 0, - "@typescript-eslint/triple-slash-reference":0 + "arrow-body-style": ["error", "as-needed"], + "no-unused-vars": "off", + "no-use-before-define": "off", + "no-shadow": "off" + }, + "settings": { + "import/parsers": { + "@typescript-eslint/parser": [".ts", ".tsx"] }, - "settings": { - "import/parsers": { - "@typescript-eslint/parser": [".ts", ".tsx"] - }, - "import/resolver": { - "node": { - "extensions": [".js", ".jsx", ".ts", ".tsx"], - "moduleDirectory": ["node_modules", "src/"] - } - }, - "react": { - "version": "detect" - } - } -} + "import/resolver": { + "node": { + "extensions": [".js", ".jsx", ".ts", ".tsx"], + "moduleDirectory": ["node_modules", "src/"] + } + } + }, + "parserOptions": { + "ecmaVersion": 2019, + "sourceType": "module" + }, + "env": { + "browser": true, + "es6": true, + "jest": true + } +} \ No newline at end of file diff --git a/index.html b/index.html index e0d1c84..dd1d29a 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,7 @@ + Vite + React + TS diff --git a/package-lock.json b/package-lock.json index 8c7ba4f..e4b3555 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "@reduxjs/toolkit": "^1.9.2", + "clsx": "^1.2.1", "gh-pages": "^5.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -19,13 +20,19 @@ "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", "@typescript-eslint/eslint-plugin": "^5.50.0", + "@typescript-eslint/parser": "^5.50.0", "@vitejs/plugin-react": "^3.0.0", "eslint": "^8.33.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-prettier": "^8.6.0", "eslint-config-standard-with-typescript": "^33.0.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-n": "^15.6.1", + "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "prettier": "^2.8.3", "sass": "^1.57.1", "typescript": "^4.9.5", "vite": "^4.0.0" @@ -1377,6 +1384,16 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "peer": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, "node_modules/array-includes": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", @@ -1462,6 +1479,13 @@ "get-intrinsic": "^1.1.3" } }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true, + "peer": true + }, "node_modules/async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", @@ -1479,6 +1503,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axe-core": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz", + "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "dev": true, + "peer": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1675,6 +1719,14 @@ "node": ">= 6" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -1705,6 +1757,12 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", @@ -1730,6 +1788,13 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "peer": true + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -1747,6 +1812,35 @@ } } }, + "node_modules/deep-equal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1804,6 +1898,13 @@ "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==" }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "peer": true + }, "node_modules/es-abstract": { "version": "1.21.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", @@ -1851,6 +1952,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -2001,6 +2123,58 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-config-airbnb": { + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5" + }, + "engines": { + "node": "^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.28.0", + "eslint-plugin-react-hooks": "^4.3.0" + } + }, + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz", + "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, "node_modules/eslint-config-standard": { "version": "17.0.0", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", @@ -2184,6 +2358,37 @@ "node": ">=0.10.0" } }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, "node_modules/eslint-plugin-n": { "version": "15.6.1", "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.1.tgz", @@ -2242,6 +2447,27 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, "node_modules/eslint-plugin-promise": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", @@ -2283,6 +2509,18 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -2545,6 +2783,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, "node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -3122,6 +3366,23 @@ "node": ">= 0.4" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", @@ -3236,6 +3497,16 @@ "node": ">=0.10.0" } }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -3297,6 +3568,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -3358,6 +3639,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -3370,6 +3661,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "peer": true + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -3460,6 +3772,23 @@ "node": ">=4.0" } }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true, + "peer": true + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "peer": true, + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -3644,6 +3973,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -3984,6 +4330,33 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", + "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -4392,6 +4765,19 @@ "node": ">=0.10.0" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "peer": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -4787,6 +5173,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "peer": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-typed-array": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", @@ -5704,6 +6106,16 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "peer": true, + "requires": { + "deep-equal": "^2.0.5" + } + }, "array-includes": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", @@ -5765,6 +6177,13 @@ "get-intrinsic": "^1.1.3" } }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true, + "peer": true + }, "async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", @@ -5776,6 +6195,23 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, + "axe-core": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz", + "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==", + "dev": true, + "peer": true + }, + "axobject-query": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "dev": true, + "peer": true, + "requires": { + "deep-equal": "^2.0.5" + } + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -5912,6 +6348,11 @@ } } }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -5942,6 +6383,12 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, "convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", @@ -5964,6 +6411,13 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "peer": true + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -5973,6 +6427,32 @@ "ms": "2.1.2" } }, + "deep-equal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -6018,6 +6498,13 @@ "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==" }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "peer": true + }, "es-abstract": { "version": "1.21.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", @@ -6059,6 +6546,24 @@ "which-typed-array": "^1.1.9" } }, + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } + }, "es-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -6254,6 +6759,36 @@ } } }, + "eslint-config-airbnb": { + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^15.0.0", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5" + } + }, + "eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + } + }, + "eslint-config-prettier": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz", + "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==", + "dev": true, + "requires": {} + }, "eslint-config-standard": { "version": "17.0.0", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", @@ -6383,6 +6918,31 @@ } } }, + "eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dev": true, + "peer": true, + "requires": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + } + }, "eslint-plugin-n": { "version": "15.6.1", "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.1.tgz", @@ -6425,6 +6985,15 @@ } } }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, "eslint-plugin-promise": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", @@ -6477,6 +7046,13 @@ } } }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "requires": {} + }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -6565,6 +7141,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, "fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -6992,6 +7574,17 @@ "side-channel": "^1.0.4" } }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-array-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", @@ -7070,6 +7663,13 @@ "is-extglob": "^2.1.1" } }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "peer": true + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -7107,6 +7707,13 @@ "has-tostringtag": "^1.0.0" } }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "peer": true + }, "is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -7147,6 +7754,13 @@ "has-tostringtag": "^1.0.0" } }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "peer": true + }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -7156,6 +7770,24 @@ "call-bind": "^1.0.2" } }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "peer": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -7224,6 +7856,23 @@ "object.assign": "^4.1.3" } }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true, + "peer": true + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "peer": true, + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -7360,6 +8009,17 @@ "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -7593,6 +8253,21 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "prettier": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", + "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -7855,6 +8530,16 @@ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "peer": true, + "requires": { + "internal-slot": "^1.0.4" + } + }, "string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -8113,6 +8798,19 @@ "is-symbol": "^1.0.3" } }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "peer": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, "which-typed-array": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", diff --git a/package.json b/package.json index fefe9b4..30972f5 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ }, "dependencies": { "@reduxjs/toolkit": "^1.9.2", + "clsx": "^1.2.1", "gh-pages": "^5.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -22,13 +23,19 @@ "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", "@typescript-eslint/eslint-plugin": "^5.50.0", + "@typescript-eslint/parser": "^5.50.0", "@vitejs/plugin-react": "^3.0.0", "eslint": "^8.33.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-prettier": "^8.6.0", "eslint-config-standard-with-typescript": "^33.0.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-n": "^15.6.1", + "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "prettier": "^2.8.3", "sass": "^1.57.1", "typescript": "^4.9.5", "vite": "^4.0.0" diff --git a/public/images/day-and-night.png b/public/images/day-and-night.png new file mode 100644 index 0000000000000000000000000000000000000000..a388ce4377d26669a0f1b012e7703d8ed95dd4da GIT binary patch literal 26759 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 BbMpWI literal 0 HcmV?d00001 diff --git a/public/images/joystick.png b/public/images/joystick.png new file mode 100644 index 0000000000000000000000000000000000000000..750cc1813912b40181e601fd51ee8afe2e3177e6 GIT binary patch literal 38899 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 literal 0 HcmV?d00001 diff --git a/public/images/main.jpg b/public/images/main.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0e58dbf1648f1a7af57a55ffcfbc824ad50ca0c GIT binary patch literal 382983 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

- ) -} +import "./App.scss"; +import MainPage from "./pages/MainPage"; +import StartPage from "./pages/StartPage"; -export default App +const App = () => ( +
+ + } /> + } /> + +
+); + +export default App; diff --git a/src/Pages/LoginPage.tsx b/src/Pages/LoginPage.tsx deleted file mode 100644 index 7067cec..0000000 --- a/src/Pages/LoginPage.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react' - -export default function LoginPage () { - return ( -
LoginPage
- ) -} diff --git a/src/Pages/MainPage.tsx b/src/Pages/MainPage.tsx deleted file mode 100644 index af8ab80..0000000 --- a/src/Pages/MainPage.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react' - -export default function MainPage () { - return ( -
MainPage
- ) -} diff --git a/src/components/Footer/index.tsx b/src/components/Footer/index.tsx new file mode 100644 index 0000000..aad2477 --- /dev/null +++ b/src/components/Footer/index.tsx @@ -0,0 +1,19 @@ +import { type FC } from "react"; + +import "./style.scss"; + +const Footer: FC = () => ( +
+); + +export default Footer; diff --git a/src/components/Footer/style.scss b/src/components/Footer/style.scss new file mode 100644 index 0000000..12803f0 --- /dev/null +++ b/src/components/Footer/style.scss @@ -0,0 +1,32 @@ +.footer { + position: fixed; + bottom: 0; + height: 80px; + padding: 10px 40px; + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + box-shadow: 0px -5px 5px -5px #f6e7ea; + + &__logo { + width: 80px; + } + + &__year { + color: #4f4c6b; + font-weight: 600; + } + + &__content { + display: flex; + gap: 10px; + color: #7e6dd1; + font-weight: 700; + font-size: 16px; + + a { + cursor: pointer; + } + } +} \ No newline at end of file diff --git a/src/components/Header/Logo/index.tsx b/src/components/Header/Logo/index.tsx new file mode 100644 index 0000000..2bea9fa --- /dev/null +++ b/src/components/Header/Logo/index.tsx @@ -0,0 +1,11 @@ +import { type FC } from "react"; +import "./style.scss"; + +const Logo: FC = () => ( +
+ joystick +

Gaming Zone

+
+); + +export default Logo; diff --git a/src/components/Header/Logo/style.scss b/src/components/Header/Logo/style.scss new file mode 100644 index 0000000..457ef58 --- /dev/null +++ b/src/components/Header/Logo/style.scss @@ -0,0 +1,17 @@ +.logo { + display: flex; + align-items: center; + gap: 10px; + + &__image { + width: 60px; + height: 60px; + } + + &__text { + font-family: 'Ceviche One', cursive; + font-size: 36px; + font-weight: 600; + color: #7e6dd1; + } +} \ No newline at end of file diff --git a/src/components/Header/index.tsx b/src/components/Header/index.tsx new file mode 100644 index 0000000..360c78b --- /dev/null +++ b/src/components/Header/index.tsx @@ -0,0 +1,23 @@ +import { type FC } from "react"; + +import Button from "../common/Button"; + +import Logo from "./Logo"; + +import "./style.scss"; + +const Header: FC = () => ( +
+ +
+ theme + +
+
+); + +export default Header; diff --git a/src/components/Header/style.scss b/src/components/Header/style.scss new file mode 100644 index 0000000..0d5d2b8 --- /dev/null +++ b/src/components/Header/style.scss @@ -0,0 +1,26 @@ +.header { + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; + right: 0; + padding: 10px 40px; + box-shadow: 0 5px 5px -5px #f6e7ea; + + &__content { + display: flex; + align-items: center; + gap: 20px; + } + + &__theme { + width: 40px; + cursor: pointer; + + &:hover { + opacity: 0.85; + } + } +} \ No newline at end of file diff --git a/src/components/common/Button/index.tsx b/src/components/common/Button/index.tsx new file mode 100644 index 0000000..1898afe --- /dev/null +++ b/src/components/common/Button/index.tsx @@ -0,0 +1,13 @@ +import clsx from "clsx"; +import type { FC, ButtonHTMLAttributes, DetailedHTMLProps } from "react"; +import "./style.scss"; + +const Button: FC< + DetailedHTMLProps, HTMLButtonElement> +> = ({ children, className, ...rest }) => ( + +); + +export default Button; diff --git a/src/components/common/Button/style.scss b/src/components/common/Button/style.scss new file mode 100644 index 0000000..68b41c6 --- /dev/null +++ b/src/components/common/Button/style.scss @@ -0,0 +1,17 @@ +.button { + font-size: 16px; + font-weight: 600; + color: #fff; + padding: 10px 40px; + background-image: linear-gradient(to right, #667eea, #764ba2); + border-radius: 20px; + + &:hover { + background-position: 100% 0; + moz-transition: all .4s ease-in-out; + -o-transition: all .4s ease-in-out; + -webkit-transition: all .4s ease-in-out; + transition: all .4s ease-in-out; + box-shadow: 0 0 5px 0 #764ba2 inset, 0 0 5px 2px #667eea; + } +} \ No newline at end of file diff --git a/src/index.scss b/src/index.scss index 917888c..0e77eeb 100644 --- a/src/index.scss +++ b/src/index.scss @@ -16,10 +16,10 @@ } a { - font-weight: 500; - color: #646cff; + color: #7e6dd1; text-decoration: inherit; } + a:hover { color: #535bf2; } @@ -48,9 +48,11 @@ button { cursor: pointer; transition: border-color 0.25s; } + button:hover { - border-color: #646cff; + border-color: #7e6dd1; } + button:focus, button:focus-visible { outline: 4px auto -webkit-focus-ring-color; @@ -61,10 +63,12 @@ button:focus-visible { color: #213547; background-color: #ffffff; } + a:hover { color: #747bff; } + button { background-color: #f9f9f9; } -} +} \ No newline at end of file diff --git a/src/main.tsx b/src/main.tsx index 0e8157a..51c272a 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,13 +1,18 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App' -import { HashRouter as Router } from 'react-router-dom' -import './index.scss' +import React from "react"; +import ReactDOM from "react-dom/client"; +import { HashRouter as Router } from "react-router-dom"; -ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( +import App from "./App"; +import Footer from "./components/Footer"; +import Header from "./components/Header"; +import "./index.scss"; + +ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( - - - + +
+ +