From 8edd05e020a1fb289dfc85ade9c6b0e728f8a19f Mon Sep 17 00:00:00 2001 From: Moon Patel Date: Tue, 27 Jun 2023 15:43:40 +0530 Subject: [PATCH] basic ui for frontend --- frontend/.eslintrc.cjs | 15 + frontend/.gitignore | 24 + frontend/index.html | 18 + frontend/package-lock.json | 4157 ++++++++++++++++++++++ frontend/package.json | 32 + frontend/public/vite.svg | 1 + frontend/src/App.css | 0 frontend/src/App.jsx | 52 + frontend/src/assets/chess_board.png | Bin 0 -> 74764 bytes frontend/src/assets/react.svg | 1 + frontend/src/components/NavbarLinks.jsx | 53 + frontend/src/index.css | 0 frontend/src/layout/MainLayout.jsx | 43 + frontend/src/main.jsx | 13 + frontend/src/pages/Home.jsx | 10 + frontend/src/pages/Play/Computer.jsx | 9 + frontend/src/pages/Play/Layout.jsx | 30 + frontend/src/pages/Play/Play.jsx | 43 + frontend/src/pages/Play/PlayFriend.jsx | 69 + frontend/src/pages/Settings/Friends.jsx | 9 + frontend/src/pages/Settings/Password.jsx | 9 + frontend/src/pages/Settings/Profile.jsx | 31 + frontend/src/pages/Settings/Settings.jsx | 33 + frontend/src/pages/Settings/Themes.jsx | 9 + frontend/vite.config.js | 7 + 25 files changed, 4668 insertions(+) create mode 100644 frontend/.eslintrc.cjs create mode 100644 frontend/.gitignore create mode 100644 frontend/index.html create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/public/vite.svg create mode 100644 frontend/src/App.css create mode 100644 frontend/src/App.jsx create mode 100644 frontend/src/assets/chess_board.png create mode 100644 frontend/src/assets/react.svg create mode 100644 frontend/src/components/NavbarLinks.jsx create mode 100644 frontend/src/index.css create mode 100644 frontend/src/layout/MainLayout.jsx create mode 100644 frontend/src/main.jsx create mode 100644 frontend/src/pages/Home.jsx create mode 100644 frontend/src/pages/Play/Computer.jsx create mode 100644 frontend/src/pages/Play/Layout.jsx create mode 100644 frontend/src/pages/Play/Play.jsx create mode 100644 frontend/src/pages/Play/PlayFriend.jsx create mode 100644 frontend/src/pages/Settings/Friends.jsx create mode 100644 frontend/src/pages/Settings/Password.jsx create mode 100644 frontend/src/pages/Settings/Profile.jsx create mode 100644 frontend/src/pages/Settings/Settings.jsx create mode 100644 frontend/src/pages/Settings/Themes.jsx create mode 100644 frontend/vite.config.js diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs new file mode 100644 index 0000000..ec601b2 --- /dev/null +++ b/frontend/.eslintrc.cjs @@ -0,0 +1,15 @@ +module.exports = { + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:react/jsx-runtime', + 'plugin:react-hooks/recommended', + ], + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + settings: { react: { version: '18.2' } }, + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': 'warn', + }, +} diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/frontend/.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/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..56567c1 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,18 @@ + + + + + + + Chess + + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..7d74cda --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,4157 @@ +{ + "name": "chess-", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "chess-", + "version": "0.0.0", + "dependencies": { + "@emotion/react": "^11.11.1", + "@mantine/core": "^6.0.14", + "@mantine/hooks": "^6.0.14", + "@radix-ui/react-icons": "^1.3.0", + "@tabler/icons-react": "^2.23.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.14.0" + }, + "devDependencies": { + "@types/react": "^18.0.37", + "@types/react-dom": "^18.0.11", + "@vitejs/plugin-react": "^4.0.0", + "eslint": "^8.38.0", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "vite": "^4.3.9" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "dependencies": { + "@babel/highlight": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "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.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "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.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", + "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", + "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/react": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", + "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", + "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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/@eslint/js": { + "version": "8.43.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz", + "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.3.1.tgz", + "integrity": "sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==" + }, + "node_modules/@floating-ui/dom": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.4.2.tgz", + "integrity": "sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g==", + "dependencies": { + "@floating-ui/core": "^1.3.1" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", + "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", + "dependencies": { + "@floating-ui/react-dom": "^1.3.0", + "aria-hidden": "^1.1.3", + "tabbable": "^6.0.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", + "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "dependencies": { + "@floating-ui/dom": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "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.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "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/@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.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/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/@mantine/core": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/@mantine/core/-/core-6.0.14.tgz", + "integrity": "sha512-O916itwsB5XtEStVZRqp3SlB4aLM0sSgOFYYCVnLJ3E9O9E8h1xhaNEml1FJbMtrlNaXYUd6sy/OSRqNl9DyKA==", + "dependencies": { + "@floating-ui/react": "^0.19.1", + "@mantine/styles": "6.0.14", + "@mantine/utils": "6.0.14", + "@radix-ui/react-scroll-area": "1.0.2", + "react-remove-scroll": "^2.5.5", + "react-textarea-autosize": "8.3.4" + }, + "peerDependencies": { + "@mantine/hooks": "6.0.14", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@mantine/hooks": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-6.0.14.tgz", + "integrity": "sha512-cBGdTSdBDLcPScoeI12DCWFVzmT4tX+DmI9s+MOBm4IdhF4ogkLbbRgKosFbaBWNKx9WzYAUiQR/tUI5dTkJPQ==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@mantine/styles": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-6.0.14.tgz", + "integrity": "sha512-qkqUodvVPzthmVzWQHYe/yWrc8UZcz8A5KfegK2Ps67bZzfoZs/NBVcEx6REq8HTsISjYw3jJyMRxAE3G7Ms4Q==", + "dependencies": { + "clsx": "1.1.1", + "csstype": "3.0.9" + }, + "peerDependencies": { + "@emotion/react": ">=11.9.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@mantine/styles/node_modules/csstype": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + }, + "node_modules/@mantine/utils": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-6.0.14.tgz", + "integrity": "sha512-se+3IXJsNj4wnLMlqc7LiBe74m+JLQJ5o3wEcDtFzaJEtEt1rtw/1q3xKuROkH3xEiauhxQgzsc4gj/AslHy2A==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "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/@radix-ui/number": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz", + "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz", + "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", + "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz", + "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz", + "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-icons": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz", + "integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==", + "peerDependencies": { + "react": "^16.x || ^17.x || ^18.x" + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz", + "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.1.tgz", + "integrity": "sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.1" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.2.tgz", + "integrity": "sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.0", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.1", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz", + "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz", + "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz", + "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@remix-run/router": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.7.0.tgz", + "integrity": "sha512-Eu1V3kz3mV0wUpVTiFHuaT8UD1gj/0VnoFHQYX35xlslQUpe8CuYoKFn9d4WZFHm3yDywz6ALZuGdnUPKrNeAw==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@tabler/icons": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-2.23.0.tgz", + "integrity": "sha512-dU54aBwaxG0H+jQ4BdrqtYFN5L7PZevvlnzyL6XeOZgfDS3+sVNCtuG3JmpTEqQSwGLYC1IEwogPGA/Iit2bOA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/codecalm" + } + }, + "node_modules/@tabler/icons-react": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-2.23.0.tgz", + "integrity": "sha512-+H4mC1EZVCzCRhnPwZEVTI0veVCJuAKlopeCnRlfsYcmzgJm6Ye234c4A2qrLPQoi1Y29uN9+kqCyuYW007jPg==", + "dependencies": { + "@tabler/icons": "2.23.0", + "prop-types": "^15.7.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/codecalm" + }, + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "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==", + "devOptional": true + }, + "node_modules/@types/react": { + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.14.tgz", + "integrity": "sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==", + "devOptional": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", + "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "devOptional": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.1.tgz", + "integrity": "sha512-g25lL98essfeSj43HJ0o4DMp0325XK0ITkxpgChzJU/CyemgyChtlxfnRbjfwxDGCTRxTiXtQAsdebQXKMRSOA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.5", + "@babel/plugin-transform-react-jsx-self": "^7.22.5", + "@babel/plugin-transform-react-jsx-source": "^7.22.5", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0" + } + }, + "node_modules/acorn": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", + "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", + "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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "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/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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.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/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/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dependencies": { + "is-core-module": "^2.11.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/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001507", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001507.tgz", + "integrity": "sha512-SFpUDoSLCaE5XYL2jfqe9ova/pbQHEmbheDf5r4diNwbAgR3qxM9NQtfsiSscjqoya5K7kFcHPUQ+VsUkIJR4A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", + "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==", + "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==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "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", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "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/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "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.440", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.440.tgz", + "integrity": "sha512-r6dCgNpRhPwiWlxbHzZQ/d9swfPaEJGi8ekqRBwQYaR3WmA5VkqQfBWSDDjuJU1ntO+W9tHx8OHV/96Q8e0dVw==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "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.5", + "is-array-buffer": "^3.0.2", + "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.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "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.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "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.43.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz", + "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.43.0", + "@humanwhocodes/config-array": "^0.11.10", + "@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.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "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", + "graphemer": "^1.4.0", + "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-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", + "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-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-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-refresh": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz", + "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "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-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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/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.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/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-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/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "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.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "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/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "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/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/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "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==", + "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==", + "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/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/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "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==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "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-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.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "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-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-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-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "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/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/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "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/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/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.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/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/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "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==", + "dev": true, + "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/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==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "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==", + "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/postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "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==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "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": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "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-remove-scroll": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.6.tgz", + "integrity": "sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.4", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.14.0.tgz", + "integrity": "sha512-OD+vkrcGbvlwkspUFDgMzsu1RXwdjNh83YgG/28lBnDzgslhCgxIqoExLlxsfTpIygp7fc+Hd3esloNwzkm2xA==", + "dependencies": { + "@remix-run/router": "1.7.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.14.0.tgz", + "integrity": "sha512-YEwlApKwzMMMbGbhh+Q7MsloTldcwMgHxUY/1g0uA62+B1hZo2jsybCWIDCL8zvIDB1FA0pBKY9chHbZHt+2dQ==", + "dependencies": { + "@remix-run/router": "1.7.0", + "react-router": "6.14.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz", + "integrity": "sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==", + "dependencies": { + "@babel/runtime": "^7.10.2", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "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.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/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==", + "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.25.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.25.2.tgz", + "integrity": "sha512-VLnkxZMDr3jpxgtmS8pQZ0UvhslmF4ADq/9w4erkctbgjCqLW9oa89fJuXEs4ZmgyoF7Dm8rMDKSS5b5u2hHUg==", + "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/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==", + "dev": true, + "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/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "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/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-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/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "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==", + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tabbable": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.1.2.tgz", + "integrity": "sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ==" + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + }, + "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/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/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/vite": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "dev": true, + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.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==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..5c5b2f5 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,32 @@ +{ + "name": "chess-", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint src --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "@emotion/react": "^11.11.1", + "@mantine/core": "^6.0.14", + "@mantine/hooks": "^6.0.14", + "@radix-ui/react-icons": "^1.3.0", + "@tabler/icons-react": "^2.23.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.14.0" + }, + "devDependencies": { + "@types/react": "^18.0.37", + "@types/react-dom": "^18.0.11", + "@vitejs/plugin-react": "^4.0.0", + "eslint": "^8.38.0", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "vite": "^4.3.9" + } +} diff --git a/frontend/public/vite.svg b/frontend/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/frontend/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/App.css b/frontend/src/App.css new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx new file mode 100644 index 0000000..a2971ae --- /dev/null +++ b/frontend/src/App.jsx @@ -0,0 +1,52 @@ +import { useState } from 'react' +import reactLogo from './assets/react.svg' +import viteLogo from '/vite.svg' +import './App.css' +import { Button } from '@mantine/core' +import { createBrowserRouter, RouterProvider } from 'react-router-dom' +import Home from './pages/Home' +import MainLayout from './layout/MainLayout' +import Settings from './pages/Settings/Settings' +import Profile from './pages/Settings/Profile' +import Friends from './pages/Settings/Friends' +import Password from './pages/Settings/Password' +import Themes from './pages/Settings/Themes' +import PlayLayout from './pages/Play/Layout' +import PlayFriend from './pages/Play/PlayFriend' +import Play from './pages/Play/Play' + + + +const router = createBrowserRouter([{ + path: '/', + element: , + children: [ + { index: true, element: }, + { path: 'home', element: }, + { + path: 'play', element: , children: [ + { index: true, element: }, + { path: 'friend', element: }, + { path: 'computer', element:
Computer
}, + { path: 'online', element:
Online
} + ] + }, + { + path: 'settings', element: , children: [ + { index: true, element: }, + { path: 'profile', element: }, + { path: 'themes', element: }, + { path: 'password', element: }, + { path: 'friends', element: }, + ] + } + ] +}]); + +function App() { + return ( + + ) +} + +export default App diff --git a/frontend/src/assets/chess_board.png b/frontend/src/assets/chess_board.png new file mode 100644 index 0000000000000000000000000000000000000000..f49ffbc33c81a91df2fa2e5f6ac6d5f571973c46 GIT binary patch literal 74764 zcmZsCbyQSs`|eQEAd-?Ms5D3pq4I(ff;31DF!azcG)Rh+ij<^CNOyM&1B_Av0}MkC z-8C?r?fZSdbIv;J{4t9)d)RwF&)xTR-A~jT^_SEXtP~&+h+6s8KUyFV5djE9cujT# zxFWZQ_zCpehB8Rxx7K3 z>pbOup6hsrwfBT`+{GDgpO((Pie0?W}JT&x6P28=|WwKt%ifWtG{@E$I(A%ClzK&%V zm+WYhW$RX;4UlNL#=Bz#gM2!}MlLSxqu)aK{@!Je-P$Kio#Z?sYU+h-e-3|G7vNnb#w_+GsXR1*Z90=@#xjbFFmwpPT;AkKH1|)Kt_eA3#ho*oy!E?;OkoBpo6D&ujnt1Y=?b5M|&0 zcVVt{Z$Nx3z}}8Xf-aY;G0336Oniypzc=Q-Z#&B4?JkfH&@_=dZB*^%EtgSC)_%&D z(6+F=rWamawkE%+`ma2M|M%;aHCyo)$nIDPQ^v`1GfpN!Cu-H?5!y)FT`Ksj>;0>% zw&1@aNx1h_%)$Qb=Sw-QWV-tikp)?8(E1@&{IkKuZx~pZn zx;sVl`;%)q@4W@9DPkif%}Ona0{REmIjZ-x8M?Hr`7Q8j-?$x5=CyxDYE& zK)cd?EFExH(mxUYHG#M3=n(B1l&xMD`S1aHYYcrg$J2GTZ`t+pQ+Ia=$zfMWMs9ofoYX=y8GcY2BjgxfbR)Jvv!3<5$Io|^fbtAs3bkB z$my+P95?>?u?{G5f8GxnRy`v9X24<~M-fv(&(n3nZ`8HHh~QnVuL+~;j^qjN`t?nr z3syh(ELr~_K6*yueX}-qB^EvD=jA(x6E|pBZ{{Pp*t~-L@0#3jKd9#I{(9xE65jKs zNv(sN{zIGzGv9mZy03r&Clot=cSlMeUE7}lmN@-PKC|A!A`j_Re|=ld-{9=$?X$LY zI&t<4)xYmaU~xIVw&Vh{-=Jc7W9Mv8Ywzl&AAB{8{cD-B%mlmg3_C5Jp16S^8)p1M z+@3fNT+Bwv9TCg3s_P{)R`B{YO&#`{3+&@9iO2d!yz1!_dHmre*VS`3Pp;dJs1_+H zkUp1x@ol#BFBze9|-R~>c*y-{ubq4E*OrVV8+x9rl;BT<`St0kC8lj3W ze>&a~T@1~ElA^lOq4X-GbMX(hYd!WCUCuh*x!7LgE1*k#Drt*70rTn8m~O6f;5w2YZXr+At;Q={Ds{T8@p6bAwRTgu9GqP62zNTxvVwj#9;m0)ozb z2`QXGmo)YlM+3@fliI}D-pyAhf}<;!s}iSU$k=eG7DF{tyvB_C#+S#QyFo4w+0eXH z<(3FO)+A*rQd%dCnWo~U-OmqU1uGl`K!iCmAeK1^Jt@YUwaT>^TveYs(@NB$sn5m( zXg$x^9H;B1V44{Fu1!>0A4|%EyZE=LbwY)V+>Mkx5 zoDuOXGb?cO!-1p&H&wmTM^__J^bq6-heztl3v+e1<6Q-=i#Kld)CvbvZihW0QFeO^ zWs%m;Wfh;n%UVyCj@&IFsSE@Wgw*!P90^=jk}f^gEjj{vOX2OZ7yPn!nYR7<%JOIz z_vAktZt*zH1k3^{b7>XXK7c9@3UKybc()t2>%X=u-O-M**>e66L-O70Y!Es?PUrQM z^kk=WE3D3WI(=&a^>$U)NjEO_sSJC|;!)%M4q*Gn$Itz`=S`YF6TR4eSI|3L?hga+8Y{#|n7#w_WwkkK0CQ z<#U8OLfZ`l%HA&yKHdRUtmMtC4pWNet5b7bc94GFMSmr#2J=h&wE-Z}5$#;$!zRZAaW6^v6K0mQTS6G4Aa-eFCL_3Uo*G=g zOC~WFmT)zJ`P#fo;f$|5at`u;B;$fxb#rwYW5g7m+T*!NnT=ieYHEic%lnVFS#D4S zlD0>;Ll93`nPO&&MwO{&XlO|az}XuaHy1wiWItaadg`@@6EI0g*wkZkN6khV^QY=3=0 z7ku)%+)X_d+%)D^pE>t6{ikK)*-pBo?-zk$)(;>)_|IRRD;TA2(g@M=KY>{W+``|; zp0Q=h1o9bsbdrpBUg2#0cBUH>@N!gadU9S3WIt##N!N$*JU$h*N3!PVPxmZRf6RG| zO(=uEZ*NH97YUKoNW5gr!JtBblgc`<@*F!OQK^_rNj@sp+5K;@8||U!UUUVN@ikHr z)Dq~|aPF{-StvJQ%=AsT4CD~np2&a)iWz%OkmMyCFJXRtAWu zE&t2~N&07RLY@^iRwMMKc+^?A@T<;vZYjHR6M+l)om*;YB8^wgW3D$6-(p?v@WBsq zqm=1_k6%Dcnzv+tyj&ze=;b)aDqdnTrmPQ#O_pOXn+uPK2Nj` zZX+Hzzbt#pB%U>WE6FicPuei+iwuqsC$KaozH~deX0F&1j*kLttji`hD-zi!ZEjMb zzIA%2_mXbU%6or@9+Q65bFGT%?lrR)BvZM@9n$_el>zlhEaeiHdziKPL!f;LZ@I3| z2GoOa(Pp!T=jS^a;I5ZQX;EX}--?*7!x2h9_;!i^bG_yxS&M zzC6OSs|mtUS!S>{(>_c@sbtsRc$knOUN-N@yY110BJT{DOd2%syrKAfb3++|NG%=E z)jvs9>;keP6v6ZWCJo#8qAryyl+O_mxOlcdzyTVfI$BPU&qeS8ZkWmBnDV&>n;S)+ zAlK$<@`o1O)pZUVh>{+9#F2ZAygrv7Krd|4tj*t#t zSxgPhSQA{Ym~Huwj_RDGk3V`<8xubj;1JhG;%&MbTnB`SX_32)-gG9Wbd_pfcG|B| z1Bz^0&90d2%%$C5cURUw4CRKjnS`N zE#LM(4sVATH-Or6!zmMDl4m(so~srRi8?-KKdc<4=Z>MZ z$&{Rj@Qmx?%HCG;rK$)^o%3Cp_!hSkCb|!FblQZ4vlWCbWj)^M?g8Am;e6F0;iQML zZYA%;+Gin8Hf2Tx=EqR!XsFmLGN3K(NBaR3(+-7w?fQ~A!LxD9L?BB|^1^xoLBdP` z6(Iaz`5H%bBq=9o)Ra=^u#LAFsI&9|ydT+}6wCI6x<0$M_5fU~-GHI?Jv+tZ(Z42k>18X9}x^OifnBZGE?|I70265WLvGLm-p3i))e~ThEyobsG_GDVQeOx560q>XyzvnucIj$2sW4x0rPjGd&3?n*Z7o* zO;^qi>vS!edo}npj;FTQ^>?Kj1EA9Q3 zmr%0sz<27W_IIWYsq3Eb-y6`9DY5(Kr}ODSi_XQ#;m`v4;x#}Enee;60_gTGlDowQ zCh#kme6x>P*NdZWbS~Y~m`s68>a%TUE;8+cr1F;CxmMn3TggqUwdA<;-)$KAON_oW z-_r6xz(70ltFUY%i8c;Cbf#sw=)6}yf#|B*-~I8Wk~7)F&2?%@?$q^Iw|#li8hcu? zGZnD`wTdN4kf0(^iL`={dH@CF;0USyeJ{uDKpA%pq4B$oiZT#mY?z(-`N%VDwa^w> zeY3qrwuJ>y1I^#@!RFcUY~Qf#kD+-8H)lh5Y`mGM7n;~YQE0prBfG*H_f|Q89_CJ33 zC{H8~JON05FuA*6;|XD07})HtykKW{UA6UVRq^$ZL!_!Wd%cd=rzh~OlmisFeJ`9> zn$L23#_hPq8x!*2=S;ih=*|BTcC`wrDRHpy9u}SbSzV!nk91%+aZ+}dG{R8Grwb7$ z8csJVVyu%;;~!`D$Os3(@&Zbs4@) zpnQ!CR=J~kE|rVjL0M5S|LIhLzD~qsET`B9CPGyeT*U^ot7cT0fg-s53e`^SKs$`B z`8VRLM1#^Lyo z?-e{RGoC_TRA0T?pIu5D2mbv51pt9LHSG1hnvpF5CtOHG-Q zVuQ+0|C;_OQTH6sAfoAlS)@9h&Q}?E5XCjFLupjnxBC|3M`q<)mG|DYQg>1xM zG+d6VuBVZ@D$=*t2VGANqL*^5v7-kmCAHM-H?5I;=&nw*UKR^v`s@^{njB_=0?${K z%RO5Pjz@PlS+b3`BZ(-v1#yB#T2i-Y9u-4 zd5W%|jbb}*he#B*_75jHuYMAjQWw98jJJNKJKj9ft5=?0u-Z$X(@!4t2(o^rV`E}=JNuX~!- zuG}U$xu^n9%1%xRW-Fv-_tq6K8fT}cS>%H9z7Sk!XC5J@Yy?S}J0EabSYh7TVih`y z5+?iRyQJMP6O8VTf?u3YDE^}XzP6W~%10E*MQJ40#!wNxS|g0C`TTz=1naQSAH$mH z|9F(+Cg;bk9jNkfm$IHO)bnEeG31rs-H;ITohoHbN`fS1waq_StlABB-4V;6p}v%* zWlsZKHK>7d50A@Oi*DPhs!mAYYH`B@oq5g}GCCND5ysf`IlRd;TnrnSyOG0au5CgQ zq>d+Wf3}n-H*7+NbYNSLH-8pl4J zTJv&fNzhasXr_e;27iBVc9-wR(jXr2N|tw|O;wfx-m%yNzQS$X%aK^is^!_oR&D$% z`v9kLOS-+}Q!Wbl{EK7)1jkJM4DJYIM-sQ z03{8}(9}45W&_3MX!Gc?h`jTB4%TpBqlZar0-d~fHhiL}SJ{v1QAWz*@%|PlhC{k< zadG3Ry1B5)=2ATRx1G;f{RVweZ?qBRdA@Rza;s1*tEqihWs(E!2svBah^pyKIPbA+ zs|O|6hRWwhn`k)i;RG!99Qj+Hl=k+Q^dEoX_N`7#wMK5P4yVpRe5U#rFtYyKoWy-X zcc|{pc;u`Rf=G#|R!|;Qc>zXi+^Da{P?!bF4a5U(s!&v`pEfD49-qpEbeXAMJx^!| z4J>}G(LR|-{;V_h-+sL(nADeN=n+y!3yCM){nCkNL$mplIwVI1sb-QoTnogcX$?sX zSF0Ta7mf(yxvsns`LVy_+Xqa}N1N`XnKX+lrKx{`e$Mmwic%VpucVbXmX0t#_;SR* z_irMxxNV?!?D}o~P@@El%I7;aChov#MA&e(JT-RL#_eUX=|#FbNz*y`?(OVZ(~^L; zrYhy8?-<)DkQp_5;})t$kz-0-M10?0#+M9bMQ6z8_gMT_f2a*;9-`l70{@!znJ1Y6 zyzaH3Md$L}R>pAQ^r^-I@LeyGdmOt_8!53cryEX!-(y`xp4w@he`D)l}Xz zmK9Vp%7m(Sdd+#WxRr!flI;7{o+;>3AfjbLZaw_23s#h5V%MXC-*_iWMCr_iULZ z(i8cgMZP|EbbFZiOPH39+E>}4GWz>6Kjoc9e_H9~)VTCjlS>kGzsrZN*NMt4fDk+{bZI`K)`?R_T1nM>0?q zHQoF~75@X@N@$+CjOlm>Q)XMZU3QN>=$lA-F|l)s4LsoxNIs)AlLw0L0DZa2u*i6r zpI<5GU87MzeB)1g2hHne`SCaRjMP0=J!T|$ExlPnG;m{>-_t(qqntrcjBU`*A52bW zVyrKG5yeb$-%n19vxaV{k%psto2p@hw8m&s`<8rlVggAkCuq+ z{Ku2K6v3p$bpa)@f(3)?4Rv*6ROW?~DeBVPZ zW8K*G=KVx*@`G?&`?;nS2&&E#1K_+2a)+tW-Sut9=gTyDFwN-tW=pop@*l9Vw}&b| z7`W?1tyha^nb+cq8VluBl!iYayL=mu4;K{$cH_7UzPwdU%Pm@Xxn)zodST3h_@_{Y z@{JFb$awR$ay;F7RxP53%6MQuU#DUu)g+UEckX(@LgUk4aad8q%`4^mPX4%GzCPW~ zmcet%Hu0X?+;ON>tNKEN+=^by`qxiBGZ5&T1wg8v|8Tnb0!G9@ka<}~bC;UxUzPKv zlt3B?yncH7ylNtn_Sv#6ICo+mb}n}G6PvXtZ!MZG*_hV<%zJBFUvl3~xQ^NflKN;a z5XY<_?MMnU9$96XGvqgY6NupJ^UR;F(C;mPGw$JoJxai3e0f3cmuK@`#*ENZ51akf z1BIsG0E)h`#Uki&3({MNSJpLR$2zA=cj(j7V7LN|4x~Cmo5FSZi?o|m{_MH5tgT|< zv)kfDU!aA8^>strHGIp-Oax~#YP>4RM0rq5^G7G59WC=dc4Nia1}7La)qQP9g%f}l z%74EIhK|O_px4SgbiAR9j{}2NE zbZ1z0ycQ+x-uTMWmGm%4c~Xd&Kfp&{GrryKZg6sRCG009;(@Aa-IsXgfc^iv*yno- zZ0Iw`s^{KM+J4;4wG47l==dK$5@k*-S0CYr*)-A5=!?!VI)U>UZTVx+NMD|?6^xh7 z%qq+G_X#|+awu;L&bc_53N;%7hXab`3iRN6g zj>NW;;vbR(mI#8O^l-* z^bn#q8>?-?6M6N*jvf9asS5y~z{#+Oc`(AG-*$NkDlJl?a}f;c=`%BfFbYRL{shx- z2fOD^E4wOU{!FWjeW9o`f0^drB5-w*2nLMJ#8N&1LV7K|dmux6@BzO<7@gbup;^11Njns*>)W6z_9Rg~UC%8%5B*$R zxK6)y>K7s*tnVE&IOM7;o&HMNdPDC`TCZFyF%K34Ea5 zs3k>=ZI&UWLb9nh#;Hlx5YQmG_Md#%^q&#=>6&K41O|eM>Vt7ypV&h+DSeJ-$8RYA ztxNzl)%cH$h;08*zcjwVya#T3m?z z29oR;GL_DB(wGD^){v7jdru(a*HT9sCwtS^CuP1b-w_e@$;co4JeB5WwoLsbR_0N) z0y3SCK&L*n^Y`8;EGszEHBS|KL?O)0NlUOhTgl%jGC!dVJ=PV7`PN^Tb93hiWJzwF zr&1o_rAwS^DLxiil7OKSLv%VmGHADwf|&>wG?8`SD1ds-`z8x2Du$M0DvJRmJA5aE ze%52KPje~qfhbQU^p8dAQ$owLF$*S_KZHvIzmr`L+F^(JrmutE2hf~QvuMZheygR0 z!AXN6Jv(s(dqU!zdrl`R8y`k5%-;@qfIm_5cCi6qo2{WPXUOzAo>UQpr|I6FIu!PP z#j!mG5WEu~pa2+kqWnaOhQ?3O?ouj=56C%36XmAbSkXC-AWhpG@4kIz_}jg9*UR2O zwSddsCQfi&A|MYZ)Q3G z#WCTV&NfIJN162@6#uC4zHQz*KV0KhBy`%XhITHJP<}4{ZZOgp%lo}eDHGbohc*l( zpq!5luItjZu7g#$8J@qJuNfY#v)1R_ziIiF*aKbx%aD+W;gS&dsot&730t`xfbF%A{4JSZlXuqt^ipVv61hO7_ zv@7Tef6_V{1$hXrhvjWf8+khu;ovu<#6|MV?(fCC5@~g{OT&D15OCax0|ChWfT+dx zCK`2x-1{AxV5jJiENeYlk^3seNL1FTcH@dRvl7zVNC7laQ{@7NT5Y%H^yAtSRC>K; zB%GSJZ#0=0S^z#l`>g;q2KWRc?Jw02pjWgETb{#}x}>0`nSLY7jOn_+*cYSBgZI4R z4KJd2KVS*Iwh9a8AH5UpP#&EUUJ))}L8qTOKIco2foyq5kKCq}&L8Xb^km~Kf{)&R zndCfek)JpNz21SxbHka1VhEQ?r>nFYHe%6ik}l8w!ogsE)o^H+PNu`-T7sEqm^KAz zT}|tqfW5EO2~vAe4K7WrXGl3UB-SYt zxW5SMEyQ8tgD%Bpl#YQyncO*#Q?ybhy#gRDk9@w9i%M&p`W$^-Q6>n!>+L=DiJ!OD zJkUYJiVWT|`4OV{1VAp$f3obbK)_=dy#VZ4G#t@#ZrxT*0@!>K&DfSIP-ofH@f#*E z60BwDXO>z)3acw4-jir7{fQ7N3NU7$OogdV8VDJ7jL2o&hpS+F9?VT!^3;^Q(>LeM zJ*+ISew}41_w0+htwh$)>FXju$R<83=gQoYK!Zq)p7X|T)G2G&3im>`tHz9wDHd`3 z1+3~;O7-#!k;2(XIoy&uLK}!IV{6H4>U{=>t)xJaJzLusJ=65Dre^0Bk0(=9)9eMR&n%m&l%vbiCAC=(> zMnyI*9Sy&acBhs5TYOf85#N=LFSQ;%ODo{{>D_1$W2a!qJrr`BkZ|0S@sY#mydqo& zMi*S1aAqW~`>5{$k6^^(jGj{+;_RTM4Q!;`(YNJ?CJg|%k~{Y6xkmj_rIQ_9M<#!; zVKf3R>$3JOvp8ZxA!`)#>^P1GntHTMY1WWa)tV*_n6xn4n!mKdi0$c91i#Vb(FRnN zFQH|t+0k_+<<}NI^0-`c2?2X|+j^?XzP5I#v_*|-_s@G_*dxRPO0(+=&&0Yecj18J zvu1DCHo+9DR4e|BdmN}SW}q`KJ8n^wqpZ3I68)B|-H&;mn;G$BnH=mqYh4cW*J;Nx zm_#$xE(fyl^@iB#i8Q~$(fCZ39H>3{HAZ!RxPyQ$ksoI$TeQX>kvgWq;Ub=uie?7r zl;mhZfp!Ke+T#3FbM>8_GAdoJu(AD+73RC1?ETl1MjCqaA56evw)#RejF!*#sR-ta zt`?(DJq+>*5n-KsNxAZ0ygo)Vd7zO+(ZL?l3h6A>-=GEp`FW)UWE~T#GAyYwAmg{R zYUCfFaj9?Soz==MnfObLd`WyZT7G9tlD;Wfu*WZGy{mIn{$q(sPNsQ)6}r>$j!h9X z@Aqa`(jiG1?h@`kl74V_+nY>syZ>s1=9w7#&;32&8AA9vr{5OMjP)Ea6amFIx!sLr z9zM3d7WH&H-`zJU+%`+G2N>=H@__retmWGkqj2(YZ&_#L2oSgpgU-6?6Hl!GAX9L( zZl|~(4c@(cGB?6kp;i?Et{td;k_W?5u4Q@Cw{7GV0zwZwM`Y=iNiUj*CpUR`PEcLP z5eb;Tr1bv4T3-rUN_BN;W5x4dNd-z=HG4>5MI6B3B2(gzdTjDTd8M{fzrQwF0x`NSyl!8f#dOt#<~nzE|TDMTNbgY)a-sBKKMkm;j<*Dd5JO8)L6 zKaKF*d_o#gHa|pei`ocvk)}yC$>>z=9{u*h(a=PB#>eH{ZyHscIt=vF(8ZyH0nz!J zvlDGZd$Rpr7!_Y>OIr2dsYInAmyiTjDhI4n>f;zs^>X~;HzgT(C?U}`R~7=F&x&s= zxOXSD&cm^Bcd4h?>$U;XV`h|r;^VSU_$c|r;tf-gZV{}yGzouO+In-tSN|q?qF))) zdGzyx3S|jAPcJ_TAs*0riwddN{FdKqiSI6<)H5k?6=tXxSTvs0A==_B`F#=K&^aVQEurdZus0C*vT8%g2N#RahE zXfDm@25-2h)n+C$lbYxxr_8ZihNr_H9j_A~*%%#gFC#9)H+M`(4`A|TVmVe_k;Nj` z0Pd2IB_lCF9DciuEU(cKU6oo#I$o!I@#|)vsHAI__e7SA5M`y{toft$f(+PQjA@ zG;rg6gtZYQ)nldgG_$b9zqr<8LE*ZWD1Kt|58B)--fsJfV5jxesAjtf;G?^9Ua#y* z&M%_2@HUeQhN zGLFl({0`)gZW@oRsRIQUmipAy5TpGPeyv(qNCtUQr|EVef|0WzH7Xivc5<1E@ z*LI8ebpeevGSJJxXHMmcFM!U#lt&_fBp>+?4Yo5~wgSxo00k}t4+9`pOgJtEhT5#k zx~t)mRsh#|zG5}aw%Hz?2%wdKIQGfu2hrPO+h@2ABJ?-ZEFUn;;L=aQY*z95SSvlq zB4ZZ8Tu$hvoqPOXJ%q+8bdFE7X!HOJ0nt8-1k-3{H8u_1Z<4 zJmv=Jgf1b97;5!?QvGgV(Bq)U!>=m@OD#hx6sU4ealZ(8B);4k;OBQ-mFYV^KVxsL zX0c69^MLkIEtj`TaS9Ax4M-n1pwX7Or6wFhEcix+mIfsb4`8I3dd|XQE-~lfS%5sd zTocp?6t5fapRQ^OK_wfUoK>#ewE`w}cmHGhp~bUUnTz0NF7L6UEkl2H5vKu*ETQai z@w2N=1=28C=8Ug$?g+zDYLfxdn%naf>19MmPaj%PWC{Cd`CMsM=sTlY66q5Xf=ZA; zM;%F^8~;%D`_X9%&5<)OcJmnwN?G+VD$KU?kR(Cm^8PUk@~N6n;8uTi;S3*BnIzht z60z|jM2e52@WUN8=4IDM?)&X&=f+2ZTLq)L$RgcnJCrBDsMeO+eE)UziW|puG%SV# zw_{la+q#io=dNSYW_&h&15WHqge0h`P2APV$xu&T+WmRboW$~Eu&&tRG9+B4|PPP}C;LS<^y|aWloFbA+6fS_f6jQE!S(o3=(~s+%?C z{#8kfHyJ9F_eqK@3HVOSHz6d)O?B%c6oY;*V3NhYhL2~JRO^a84kBDj9Z_ij**4QJ zA1E>%kt(V#n;To~viYav+xEvISu)ElKJ}w%RbzpM1@D8~Q&E*r&xf*P1%d>GD<0qY z5`6#C@QuEo&M2wh5FRJvkv%gS zGUy46?6gr!H4aQ+7~{`JRhL}hD9@zWHon9ml?X!iuepFh%dU?QqV5usr34%LQK(o5 z09jb}d+}^0%iU~o@LLkiSb$i|7-!7;6ooUpV!r*8o?hL)OP&5>$@?9t#k7ruNrj-o zr(S#;*gHW;ojAXy-HN>XO33j;Emt?N*UQ=!jLPs%&?xr#v?@Dl@(a!baHoGaG~ck( z6rB)IeQ*}t96xcs478w>w>}M|2!H>)HZxTx5em%-W}eGKn)J$Cvx_;|RtY$AFy=53 z2)19EAKYPFWpG-CeSFNWMnLPW(>|1IYDcD>ulA+ob^|Y8iqf`ByG$BcosAtfIC*FN zaE1WVA8TYaz=(L9zzduCsm!3Ap+P}v;K;ls(|+i%kp|SCtQS&~LC1rMiHnTDg3jKEK%z_;-Otlx>(E!H_`YM znXrM?wT$2I({ABs5xnZUcCH~aXtL52@uS6inMydnEDcAdgcIfj$X0M5ywuA5gM@pc zN?%Gl5=vp7>&y~#OgXYY6T1Bjh8m9sH1SY%=Cfyy!P`G)|1k%ytYi|u%2V;kal!kl&GfX}LaEznaDM0$4?`0p!qI|v9 zB%FD=k5sY%eUZX1?31&Yla#-6`mWbmp<_JF>OAc7Vh`o;IU2n2?X>d#;5oc?g&Kp9 z2P-;y3aFZJEsMh)CQ)yR&81(c*}W%Xl@@bYSK|BObLFNnYRFMRBb=|KR%y=adZvwd zGWJfLMMA)5ol?}x>S_khkk6;aG2~xZ-=xLITQU zH0NoZpuNUCpd2_%DD<&|lO*OwFiDI_pEpEK6v#S@Uty6v^o`0{hY zhog;q5tfUoL@|XL=zpkw=1J&Fx*l_(!{0R+XuhR6IV7cVRNcwZMdD9p-Q{0%t{OK~ zT>iQfF|^>>R*z*Q=Ve zTCZ=9;qzxO-#4-r>wx&Aba_%wtCK&Z%O3QJd?yKW2qJNs??)f`#5xBa`p(<{D#SRWJPNyYr3*R2arRiq@PrnvkJp~&MByz6bhUl z4poDGw8h3VBh4jmcwKsTWnR5*tst_L>Ri`cNoWaYlWxze0v5nG=e?wxc%nkvA^EC8 z+`On@y<5bk7aPvJvvVYc?LJ9K{>op#J3)#$65YEoo^0AwK4!E04m$dXDqPttB+T&L zlvn;Q|x@v{gk*P51!Mx&KjYCF(LLYxIrQsf+?nvET$OdvR}+39YRrWxc< zB1A5oO=hFKp-t~TGs!b)n2oOuC7k%p)|0sQWK&;pSm<9b7+q{2Tgy6bn-Zqgj1E4E z_4WQi3)Y&#(ULFYAg95&++mr*%~)uTZ; zsS9Jf-Fk!lw10^>0P}bL7`=0Bw;pLhbUbM2hew8DbxpD58m+( z#xfCj|DZvAxK}sNESyjB)Oy~o=9dc4FC&=7uY4N7@7g=nG#yi^cnMik@4g4f|`lAKE4y=q7{wxpPmC+B(;s>SZCwp62Uqn*UQ(tpzMW? z<(vHcD>=%Zm$LreJg~^W(w*ewGkgEI3&89F3BDM=w{Wp3sLBfBNE5Rbb?GptHlx(N zGfA-7HL3ZIM4PsSgx2{+FUzpc_SmQ6rz=Kc>3i9P5t-_N6``H)=wM>Dd%;%hV%B$4 zWt#nQOoGl`>L0FPtxdRtT)}~_PaPh>qJei-g(ci90nhNrk}Y)#Pu@`Ty;&A0`gp#> z1Sf@M$c>d-*73X9H}OUW?$Xa8;dv1QY{l2|xJ@c=w<~f}4$`yxp!(=bo4l<=Os`FQ zGO5gXB$Bv9@InqJ>n~BupE-k6 zF1P~&KpQHcWaZiK2;BbbXfp*G0OB!8~ADzGo7`^-GWwq{iAS0iw|fRE3g2x{KX zLE0Qae|c(D&TT$=5~}VVaYhUfEdYVuwWkYa=3HSUY|~+3>R@eq%Sz~X{+WU@pOb|) zCgWjW6Q`8Fkklh*1Jsox?L-k;Vc3{QY6`xpewf z^t{VI5k2S-!NzV#yjaW=bTo4K7PJ%xx=5-bdzNM?yHC|Us%XO1;&2Kfx~cU2icitIFD0Y@py zE71~$+d+FAmP^OgPY6H1C^`z5b8}=guqUYYSIK6ohJV5T zZsm6&?RHjQRa>}n>c|>!J4Wk&<7)}~_0R_)Yl}v*pZ3?G_dxIvhlipbiGi5_|8Oif ze3KlItU$}&KUJAyDr2_WG0lU+qR03-Wv-G@~$Ync1VDnwZePI+rbX24t*N5PlkJ7lbrdDv81`p|LO z;5w1xN8kWi-|eLbWP&Rp0P4?OZ{=F`Zl!y1cuZP0tikc+d3NOf5+Zq0K21q~?<3Sx ze8O5S>uU_UZz6xg^CuyI&$r{|z9-Tb9NmeD?4LS;lj_Hgw#_8qjfu14Y1sXhM6AAj z>hgf%N_|eMTPk>i9vdrnO>}M;3(4M}r-&g9NlU#|!vr)ley2{#7kyo$R$o<{s3yZe`kAvQq}CD|Q&#aJ-tN59ddfmF4!EF~kGoy=Ck# zi}Up7G;L+}I^fa);@q%T?Jq?|nm(IkJm;ScSBsE~WuLb*`3ltiY^y68sHR72S(WpQ zH%rO9FZaPu*s@mA?%tj)gAzQGR%fgLW)KhiLJIp=Pb4xdTFmc*O}D}-wg+^wboJS| zM_5uBm?*{7$kULHo#Vr02VIUK&r~t;L z0HZoZUvI0RcBY!dN{m`RI4Qv2kmVvI1N{ZB(!b=8b+9-L)rFvY_o98<6%4p$cQgR> zHb0)XOfoX?KO$2Ep^|*ZcWj!v@O9wY0NJ@~hO5-z_G?_)=i{yIeP-=|#gqtW$Hs)} zXROk`@t_HOF1^K*mBfB~&EjJANJ^Bw+iz^Oc0(4Qv-iU!%NiJ|t-~!*@@|`c0a|Bz zqdzT*yo5sBPv^WRT?{P=az~GUz|-vkQsr3EZK6u3>ZA`w-mhIz zzW6WMVNMw7s*S*HwgK}A(S@&hKFET96_?B1vL1eNx?~;Ko^`q0_;(*G=W9W4eF{0$ zf3gKMi;ex=d54PM)<`r;pgv(!7&kb&+-dC3 zCDz-z8n+^5E+~^;D~hKl#AAEspm87rR=EB+Fznm zjbe2MIap2R4UFlAMbRUWj}}seX5T>&h2bv<&?`qYpgxZR=j^_g?XBu2p!pvims)|S z1VFDtn_DIGD9h~toZ>%W01CnoPm9g35=?6M-#n*b z(`@r4Y{>YKU@bmL%_wgw9*$;{@?r_VQdR>1?lLiZP-KQ_wKGr2q(}j-_$I)e`N$|D zfn`dqv8&He^SCQYlfgYn$iNS&;=Q+ohxdR2qgtrV?d*|^F3w{__gD#^OkhtCC3f%Y5VmLCs_d2hav)pvuBCMU+ENr#l#0P|LcT}BVbPQVp# zL0BZq6r7Mp%s_+PWkdFv7yw)F$<&Jk{4M!Xw6bhaW)CFqTIegfeg@1e@XmSLPBUMY zKB8L9H)Q`;0cUQ;{CI;ERd=Ubg-rUEPJHOdcd`zh?8DVW=kBF4{rgLe#k-(q$8$09 z0b4gYy65PD373b1e)m@x{ozxl)p55L1 z&J_>~oQj+mb)WN0)=7#ayuZ2+$Bv$R$o@s*P%SG36qb_$hW{RD`DUcodT*cQ5_Y(Q7P3&ocFh7&mYf zyDN#cv(9v5zf8fj+F zvJdYMg5*5TY;J}>wvDh;W_ATMgQ`2kuX(}Vx*K0OVFvztt{O>y6*fI9zn_Y*?sln~ zeIpqtR(%)7&kU4sgL^E@i6pPxWr9E;l9KQ0oU*b%gT6Ll*8w4gN^gr`&*J{?-lG@iuX7czY#WOQK&{W`{?N>w|_l=O1q z2m`9pNYW{oBlM|{E+g*uxGhtOf?0+ ze6V0=S;MWtg0Z+6$7domi!{=e=!sCqnD7#(c0Jm7#PNR1($C}6A=iCM@M}#gyRxId zgE4b(T;h(m0l!-X5ZDN-VO-43XNqoegC3^t>Kt`%5RPTvj1%Kbi0r~zZ!U*pzGq2k z+izIIV*_v{X^2b7hC(iPHaBg78BF>!yFDWz_0j-}+?wg7jrVBQ*3&b=HX8eWF^2=R zCa2Z>=j()ozP%;%=k0a(8%4t%``Qn|o z6q)+7kW^f1g=YCD)f$w^>;1L%w&g`cf$bz~be02DG<$l?>ppP6Sl{Eauc=p&0r3_h zTPl4Pfw;$0IyCe7=~RhwPWG#lZd;2hfD@uQP_{FyXl`uLRP79_fO4f|#4$~(>V2&j z-(TS4?PGJwugu>kO*Gh2s60Eqns|UiTfCH3+Q0Li3YDjQ*Gt?W({1kZa{1;7q)Pvu zWj|vOXC$wx8o_;jai5?Qdq%DW>%);JN{cVJ>_;8}*QcShs-(Zpo6o+BXSMtJ3nr!t zvli;+dhQ6wg;*Wy-Y$v7BJINMdhQ9QZV;|-a1C=c*h+UMy11z=N()(3-@Q*o#cKQ| z=6w5T8FL!F_1tk1NBj8%gq^Jq2cDpf+xO>r#My~PdJULy@^Nq}FTcORPfUd20y5=- zIS%fQV(BWvT)*d{VF5TIm1I~-b9ClB)$yy@{aHzqQv7cnX2-x@oa%naYq6U;Tm@=W z?(=-C;Pf~$B=ZSN-!}~t6Dw40&%S(}HT~}tUZ{NK#j^}<6|aJEV6S>}^^7d5 zF=Bq6iVCmgcYz>pCv4m_PdTWL#q$J- z7?VwMm5tVnxS_G`nn4Azo#?AD5d;l&`;pzMw2##DLP>qk8oED?^TK13HirlH&VJ~x z+Uas$ni0Lmm9Ahtx`{S61+Gb`@OF0we@Wi4JZ9?I=Kd49;)z_-If;p?#~-LrtxVg) zchSU)&-v?oxrQB4%`AydpB)2xK>uQP>vV_H6I?A5YqraBf8U^It++6Dw6BlVUKIFy z^oc$n>|1gi(koP`L`G%m%|q_Xotws=bdR*_;aMMD>Cg*5=}269qm3j6QCHADVxg{Y z?Y2v>Q&e~cI`4ses&bwg6Q?&6%O7SSwf7(Tl}8@>)HY87=9~X0?h5RRW# z1kDVzlrGnt{BKq-O*VhRU%_HosI-%ng~}L11OYfwzu=9dt;peyWxwUnx_$>EQ z_7?#c-Q_{2K9TuE+esgWV0!8D`f?W^RqgQ{V0-zvHig*$QRKzqiqkOiT3~s8n zM{px8f;Uf7m_eV)OLp{Uy` zNP5iHGFbPlZ;V-qDihC@@lQHw3gJit3-`+l*fVd3(ZL&TvDW@#J{_+|o`6Oul2#LZ z(|IOvQnY*v8R(X;LdD)3eGy5``uPjZ6@K<}`P$2c#L>;T^gVK(tbG{O5%2IqSGC z^;?*{ooV!}FI~QW&`Mj;bOyxZFL#%}-wqiGxkG!sH~b~ljVT6R7HvPp+81@S^{G+v zlR(DRaT*2zY1vh*sZw3*EQ15bAYaJ+N!=>q+NkHlDFsj7_9KcJK{vn#vu@Qraq1J0 zgUg=49Ukd)oSc0w7k{52LLf7UspWisjLA3Ll4215LhT(~RRE8V8t8+1b75yawk}u! z*-SYiMU#KHsd;(~ThY@uo7}taq}rupjAyAAn7LHS%nr<)Fg&QYR-lk~E}&2K;X3VW z^8Z&H>ruS$#kwK8<}~wIcX)ZORcQF^!6uwFz?uqw1x7vQF#s z6HQjfXx?=22q(*d#UpOSwIW@1JaGB-c7*cr!)3J6MU#9~ysYj`yuHQzCko{TY=PrR z_nVRJ(fD$zFb?t` z`@ZQg&VK6i6He+bwe{Y%=H_Q=q2VD}C$Rz6WMxPAu2=bl$*3o^eDAx2qL$lVD%!G9 zuLNc$Sw*TKnSpgQg?oI?HP3kjuorGrtTk5-RZ2KvPK2zkBuJP(YX9uE2IhrbbLesk zE7OV4v%x5hAjP>(-rYNt5`qVcEJ}PnGC{!ZZL^}Pb z+Ah|X%n|+1V39d&x?cGqDg?n_o>N$medj6{4?=AJhQ|cb<|d#9#X<87EcJcxFgq&~ zte*-8&Fk5}D1;u=hpv59ylJCt?`!nU-GCjprw+KR`H1;8rueYKLnKmEBfL z-)+Xk+9n;l{Z(w>E`X5ggO&?=KE481G9 zP^rEpvb2+NS$eu-nghB(jKHZ4yN7FTm>!GP)5XKStqb|3Yd@pT+ z_xyC9J-5|4%M=X>)sV;vs#yEzmq5)#4o!K!o2Z&3^ETN>Hv{)DXg##wkiqS0im5WT zk;Gp%5m*~6H3Xp?Oo-frGwEYaj3HjPT}?-xFV0$`FQSAm0^j~e)woe^l~<}_#@-{x z3!x+x2g5{}pldxX!Vd%n-k~+TVR_@wgQVl)b5&>e+ZA9y_f86pNSXCkJ44G-y7fN zXg;GWj)PO_g?^DdIZmwNXg}gaCd4_y^r{Q*#qvKNw1QwYB^e$s?*++zMjG(s$93mt;HU87i!UfdE{_aaU?f!_u)Rl#MR} z44hSeXT|DuO%O_}TGtjL2;xCLl2i0g3S=l;{A ze4D11(spf)S1X?8-IZq$7FM%{53tWII&?mNR#`{_S8uUq)R%y2I^tHhX_qUrMAlIS z?Do{oORU`><7wrmvh)N6?RQi($-raq@6!cv^6}Au5V~0KRNbJSSS7AW|qCNGY@pe zO*|JPw_c=gFnqg>}06Ewe&`)#GG@x_L@rez&-22O!jc-W~cm`m{*B0h$i}R%2>8f}5QdGcVoG=`=r=NQ^ z#>HwR9vnOPW6Ud5#YfZ+56S4e36o%=y#+XvkI&=}C&}A^sj}u)&P+jU`1 z-#?3JO_$=LHb=8qIg}nZ8N2SM_3vPK4BCH}Fr?CD$#t~z7;ZZ&@=E1#M|Tm#T$5T(ftwI+dxMC;9JVQhG!lee5@)B4Ld#Tc4-HZ5{!u? z{{avK^0F|X;^sO`&R$y=zgN!T>AFTFkyYJk`DrU39@ZBm(6GkgmTD-u+vC{*NnqDB z@VKdR8UQ6t07Mqz+~OVDR-}z^-SDYh zNdhpBBfO(1sX57%Bi2ll`RSRi8oJ2}BB~&k>6?N**m>fRC9(A{>N4@LN#O^KPDXi> zE>8XecdI!n&}shLeoD6&PYzZ%_8L=-{RYGj+@Ncgzf~Qj%=eypt zQxHG4MRG90s+d$jr_kpPH6Ufkj&sbV;bV7u86|?gZbT(`znOgy^@p(T{Hu`xaJ1!c z7xu1SW#gLWINC>olIIX_I0L33gux=i6@FJ^^#r-7q z1%3~jn)UFP+GZr`UOwEk;I@fJIQ=ZldFsXJI8UvtBgZ@yFRU8XLn?CUxRBde99S3=zV>Lqh8(rLG@vpui>sJt?h zpgX67m|Q@*%+`;%L7}crZsg&>M$7IHFU)a*58QxC_%pM%< zXztNX@%(-#A=Oo6ek^=sT1DCF#BryU2<8-ZM2;?lrSiuYk6iaycz~A%wrxi#z$YGE ziLzC@Wyh$p8+j>2%u4B`(MY-DVV5HNxnpa-W_E8$yk`DZvvj4W@6jG`y<)54en709 z559A3A;GF>ifx7pUFB+h-ZW@ly&={g(@`snavmMT77Z$Au*{8_Cgs>qeX~yDs1X6p zUcK2ddy#PIV-f66M`-m$>%?of8Keu}++cYe(%Q|%43!JQTGW$s^cajBd+~0LNt&n< zaMHGSR#nLJSTB}ZfXDEiFdKpYfp=DF|*Uak!S-I2|Z_H z;cOld*%Im9OvbX{>W~HCR*vzg*hp7W+Jn4CrS6<$1tAond&zzI&Mj2!@Jsr9SEWC# z&DR%(_+p;ExBWOB%6m3iAbzN!9@KdPb1nODGq3H;ebcJJ-Os69he{6(Q5WH&nP+z^ zQENag0RqD{urjrWd=Lm)_b;#78Ax&uUfZ4&)_wLA7z>QZy~2lYKrihtlXT)ePo`-R zbd+QK`cmgCpS8$3?vBv0QB~{b^rh-XT>faKf^@5^^ES6$hl~|#%WYCVk+`~2E$C0* zYCw`5Z=gEEy>^hNJ5>FsQodUMGXTscxVn*5#C4{FGSiTk3aK+yO|1wK4vuSs#HH|7 z<$A0S>As8Y$mj#J$PlMIqF-UXU+rBNXUn2@t9G@ZS@T_-lauR0TQ7_}Tc#ZX8(GFk z|A3Wf$*SnUu!iS11x4U`G0m%7zFgPMPUT#&_41Q#Tkq|TYpOA>oOo2)!{k>^=ddk7Fi=Du-bx3H< zbnZS$I1z`O?anMzV5OI-!q3^gmAZ3@Oqm1NVOEgnHvp#4lH;PfVU>OZ!-ZA*-f&OyL~Qs)yG33aLe zOT#mcs2lRv>=~#IqDruF&LKd+1OzDTp*A1|^57p8~1At@3 zx*k}1JucWNcLPPfglg<{#<6+e>pFfoNciMzWto@hmLOADZCK}Et|e*N!K)$=++3Ny zYEDSwJ28fbfoRDz853V6!VC=Fv zD_J0~gR%639M0^>XmV3Xn+$rrye-`vrsbTx_1-IkP(kr9SoiqoP&&65lU*)b>IbQ${-`(z_P#wb?mqd`ev~tP4GrT z-d}2Hb>oPAs7lH@>>~0yWCad;jF!ajC9TS7xtg_PQh{Pyk&7E07;na?-p%b;PziwY zYSlb>Ydldd%{bMCclgO zvjyGl9U#D%DNsl%r2rWOROD9_6*6c>_YL6Ls5q&cFoGxDdhYIR^(mvj2QcDhj)V&O z?u+X%Nt!R7Y%c~Bqe6O4S>Zn>wd!?b(vp|jorM9+A$?A23D2453Xk?6vpxX2!0OEu zmGxqo0Db@GL6)L4Z*)?$Q5ks$2ZQ&06Vt5C=9YV6az$s4--i=w^y}e*6J8_GYj*b4 zKEV*amaX@z8>Zg`CyuK_*TE_}8X3~dJpvXtt3q%)otY)b34W;S(LM5pnXiTmhUBbc zUrOxhg%(G8OC%gK(fk{~4cgtz{$?IN&$5A2ahxddZYPd+8Iv&@; zqh|t!K7ekVA#`DF=0}sl#c6gY;2&qofk%DFpwDm4xB9n~`oCe|{}F!wA5iH3PT2n| z$^HlE{r~%irM#xMf=Tn?o237l?El~5<$l#|M`yoCjE(&=X z9N*G!nDrIE=o)W_w;XJtRNgTfd|JStgKqSl`zaLku7gqcGd%#jAA-DPH~k0wN!$7OiRW~r^~YHW2;hce>#PhuKpc5# zQ@6hlKzq#mCZk)(2_tyPQ6`IIC3r0qyw-QF-qcNvdmIj(*g^qdtcd73R5}VxdO#1` zi7-jC3h_3FL`2qkQwiu&$B&vxX5J!lv~Pc1_mblhFXzRh{$#n;*_8b4f2g zkhcGlFYWZHH2-V1Vfk}G@c5331$931{&Sa%S;qDXBTj|w_PGfi(%6kaB2QodKn9ar z;rgas1ki^+l|n6FNdgH3xY;~(s|;%KR$hmcqe9vniWZPC)*n%HOIdF0W-d%eq4qXSIbOThB`NbI+OgF)NKj8AZ|E(E*v`H3h z721jn$uqjdytUl7?dws9pO};O`}Xd=(^m02>-Ahd3~&@!&meQG$G#g_uSI^f-h3it zz4UUIb=`LVRq0ovH88Kn7gIjmrao8lts=iTSrWXs)B>&}@aQ5ZVHZd!iX$R?Wu$&k z=9O3t%({NCM^;_q7j+R};%FE|0riH#LBNi>WxX(;f|-jIZn#qwSWiwg(Y$a0SXkB{ zx(~(GSeE!2TDPKa!;eCNB{)P*-7OhbfF`$74eXUGWmZw}3X zy5IU^-2QD4=aTv%MiV-17ZD@fw=XXT)sfT!Zya8y>l>`R`Y3F7f<{V}pDOWVB1o{{ zg07Za!3)Sq9apuwwdSgPbBKY?0etzrhV1c*OA5{GH zR?KF3;VwDW^&7WZ*;kD5bz<>7T`}Ri*xO${B>l-Gpf0|GPXi*+GSU~J%us~EK+Ez*?jk8mZf8_0OQI89rG2m3D8db>(aR81W7rwxlb=m zS~m>K7lZ5ymZ7Nz@V(17;R1B!KhGc>6fQ~wRDI7zS$NcL>c5#R;3!7wpRUF6kFt#T zkJFGVZ)Hz!s7+V{-=yisCr!KR%O5QE*jjLs?JjpXMT8JB_=3 zSiFPTa4_utF$rh$AXWbo?|$4vN7UlUkK`0PVDr=Z)g+`Md#CP7I}hgPJ1+?ie;BJn zzm8_@1sYNVYsUksNx}Bo;)#i!%Cjfm;9x=DKeriIfXlHc@~>kPf0}=8#F|H%wHUF4 zaIp6YMJrV9Z(J6Na({th6fKQ)OdBz2vQN~JR;ZM6LKWc0xkvf|HRX$s0OmQPQj zKA!LbE@29TF zXuCg>e;Ot4AWkH`(yg&J=^Q(=o{$iPXuJf@_;HRIvUtA^k9>`{1()=T+l);1Qrv0c zu|bB;;)#Rg_@jKg_TdWz=7YzNiG!H!d3?)gDK<>nef3-J6gCiVQUIhpoo!@s)G1@||w`_x*EOvzBZ?Z8`}XDdQfcYg~vfQ+*Ed?F?3? z7wo%QDiJ0;x##KWT8}GylX5ZUrq6|^Or&Kh@xzBPlL9akY_SG{rQW|Q?rl(ZjqfL`>ZM!!mH&p(%!0PjS>l-ZR(DV-CillU?>?qdIKuSGMX7CVU5e`!uEudbJ2WL76C~dMj?Mm z(RoOf^T0YhH7b$->(Xo@rp>(UK@;GIB13lZyg3pr8}RuCqx3gUc8ZwxG*ocExc5O{m5r}Jeq$*nv%eH`nCYOO;NXtShaWq+&HKNp@+vksl!Pfbn?;GfJV z`YNe6v$xrKfBl?j$dy;;j;6_jTUqz1_jcrpNnenv^0G{nPFEE!cu8z|z#VtH|EUN& z`QrWbfYyDxms9_y5y+2=BaK6hSLkY=XH3RMU^}y~p3J_Iw0APlc$`~cZT@u{Dr4I{|dOOyEEAI_zRx@@#rL}77XBOY+C|; zQMYpX^KRj%Oxr6j(1%23XPU~f3qMWkZgwfqNV|3c_KF_7?_#$GO1_Uo#(j`DP))&v zkv-oW_EUpwK0kGz6tSjTv$oQXJ@zawFq08fSHDJPPl_cuWgL0W zYmG4TD7?nvp+;f#v*gDd)%@9n!IF;@F&0HYdUxWOe|=EXa>jAGZ|?+?kEfeOM<0Y8 z=OwH%Y=LdT%7!quz|YJs9HYx0X;M}>i~80#Lh_vHWFmv6R*P&Xomj+az%kh1hKUJ( zl>AMw_}I>J96ZTz%1i#NQ*-gV*4cuBY$4N3p?3QpyX`s}F8MqNU-!D>?8Ae7`h>3M z3KC^}_wCF*JHlHFhkkXwa8{Mc`|SQTCQ8%~J#SvTly&G{u4v)XWLw@{esC<#UwZ}O zsdf%8#0B^XCSK$D(zl^SHzBZ!BEb2aV=GC9oH68IcfXo7sQv&oBF~JYS(`V0ba%3v zlf4pQsujRem4_Eg_MI_0Ftli`5&LJp^X=V)Ib(44BJ&~Bb6j*hc${_KjTPR6*cvV- z#SaU#H#_75L&)xrsGr7g!H(4zu(mAi+H>!9!D2j8V-Fs|e(qt!nv-GgS%<~^=Ft9r zokQAb%JO?TKtU5b6AjqPYXflpYuDOXis$vghLhQW21K-t z^A5$0%{@@mU*zmN&zDz+E3GyDpdzEC6g+edB`i5WenT$?!4wtFwD2zR`WzXK2YNS#v?QIGT+GrAfbZ24@|<-0m7w8y0#B;M53>n+~c^WaWYAITU2Tt2X2 z)p8&sD}&O2x;&WxiBSGrjylHm|6EA)#Co`^e}=LbuCG)qTyMb*o`p!ZvH{z z@*CEOf@^XYPB94>=GIfs7Oy{P@=9503~lWN!X}lEX)sjbm>&aav5xl2FuZY5k4QDU z3epU`1lTH|Rvv{^fTXCESaX>22Y*xN0IZd#vm zx|pHdpqh(il((8aXNn~&D`OML($2z^Zy|saD0POADfKx7!~*hojR8DND;V((;H66; zUqE-K@ZqQg4KhJ=;*>@kkBVK-Yxf)QmhYSj38z~NX=Yj87k$0RA$(xC@7jQFaqG~%lofuI>GfnI1(Q6sfd~w0q{4_bJh{lY=8L^02>LCro6jZ zB;nMTH+j{&Wx!dVg{)5MX})R#Bs*Nn#oJe-F^BgcK*Uo9P``0#_ooKV3tKndTh7U> z?k0g;Q_MA_wJI;uLhx?S2=D=LOXdkJ90a<$dB_}S(mRMXPCx)s2Khz!13ZH7QUj6VGGga`4j|TWKqO!NX?;YQY$ZRag^^Dhf@#ASRd?P7dxz#-+KCb04r%d>y=_2eiNs zs0{Pa7?7CloJD**HWfaSuX&nVRxg4Kl^M*J_XB%er{BNrxr|puAsC@;DhsLyI3&ek z4?ZUh!#5T^RkJfvvw z=H*IE{L0cyq6YGbK6?-S8A5i=L`y|BF#@3I0-xcvh4uupa0&<#$golAfYlG`1Eh-_ zlIN#CHEGCp!63bI7ZU)V`9FQ4;k*cXI8i#-%!9CN@GK{Dvwa4u}6klhJ!))O!8v_?3ap(Onol3m=d zbfl=MnD~zV(SXc%`A7rsqzhH++O@ME2myqL+;XBr9LQ)Oh`tWiM|E(8S_%ySS>~>F zXbXgofYnj}XqHBySrF<3meC*&2^t^s(m#jj2TOuXt>0L`=WMpin1xTUZ$?Mi)?LTU zz#x)iFR5nxYZs7b-Jx6%sJJ_n#|myl=b<$qI~(+?+}2lk^GrD(HK=PV=a+1Hupara z^GR{eRIaVgW5thMZ+yx)G{M+`1Ujxn@!Qyo zMn`AWy}mtCN0T;A7lEh!s1X=3ziy9MPqxd!viz2z@nxP{NA#BlBTDuF0mDxFVq=#! z{>XQkWxU*E%TrBSoBa=(;xV}D1UIiE&En(>(cry0dj|ib{*j`IVB+z+_Q5mP41^zc z-)fHL3A(n?k5bp&QLg=Oy7xz~=;msM^dTr*@|1#`WC}M$lY%d(DBL&2M1{~;QMk5} zq+tm8f8k+(noqcc&6kS!x7T3*KYzJjbX)Ibw#CeWd3s;c#F^5Ki&+grisDixe3IM4 zLzv7OOpV)`HHDt@=A_P3^KryZ2?&!?##WC*JXx%i?$omAH+qYV?lQ)*llm}U7J^Tx z5(o}$Fv6r9CL^2LMo$sM z+t~WW4}nuN{l_T`*j|vh=`-ty01as#&t;4fDk`kKtiuGpX}n9fiBefMYcC^op3fHB(8its~~pRsN^7L=+<5}e2yh~PvoY^*2>sD85e zlXtIg_4ty5A&hbhxO)baKzn?>NSlmC2IB(mD@F3KqVj@&FLFrXj|>rRP($C8q8Xe! z87F8JSc=PdmS!?WsV`VHPxd`ZlQQSx_p6xfvM3MK{pt{mIJrQv{HTzcO5by(*k*hM zHOfpNHR#o<+X9T;BKS+>;(dJjY0hzPPRKNik-|8`0;P*T0V`JDge{^jaozOrE1SM! z4YF1@dx5*`pRU5+WzmPgs(b=B@Tm2>p2JahJY7|Pq=0(E81jZvCCj6z+9?h6TWpu9 zD0I*ND|(J!NghBNX(|eB_500w|E`K4k0eg&U9}Wu{O@M`=jrx)=>Ln1>-PZpJwSf1 zApfdN`>$;=|6}!uAPe$5L|nmi!LjufD8$HzUs%w5nzc=sA>YqE5nch_2}u9rZKN$GG@ zB}wyMfGc=5BMP()C5!zR`(g@s2}M;;H#?!zTeIGyBW2$f3b}G9w5I5 z$nOF2Q((jY$n%$0Bo&^v*V>ZlUmO|nJ0VN|eHW2T-@mwzE%-aD)2DbWS)_{41r&Xp z76+)^U_RDmRPJn#_EN9|$x$)me3?x1vu6;UB`6l}ee`KS=1YTjHed+K3c*MO~77TB+fc451G;!|GxWA_=c+b81a&c>2?@+R6?gOXhd zJfeEOY08@mQ!|($f*JksC<>~a&jxgrYg-+d&NOE!2y)|NK*KTPi!H_bHi*#}&l0#T zGbJn6n`zH5ujIn&LUIGKMt5O1h;m+7^>m`6;9|R?n2t`$4&jw#%Mb0+haK z$F>tC@1@ku*_uK_u|&sw`axdx_1>%o+q_I)>R|rV$^>Gnd?=+iHKKdO9jdB%!-rC% zMDUSkBZqQFb5SmiF^5 z-Cn8?^`#?WL|7Sb?xyta-fZsuGc{bK^eTG4U%Q(#*L`XDt6nYlTcP*fV4+lAI(?~< zDq%Vd6K-k7@48_~s0o_Ayg`zhr+0hZMK@t*9enhK2qkAf7=UB=*q~`*8p2^=#XQ8G zl86E*Njfmey5syLOiE^hK(82t`{7h}AHhjd6;ircf95AWSV*az|3{wce{UK8SGJ7b z&G@?+8@+z7Ais4PzjYb^fi6Q>gl3Rc8xbV)F9N5(s4f57p6^o10q?2GV@ElPV5}(y zq3as03H^vDx2ogYs|mV2XcWbJasH?fMFAD5=V9#do1UduM^2g!N=zp;koz0$d*nGW zgNTVgx4@EDWxj=4PurVUwHWSxDZpr=Ijdf8!Iz{$*)%So_rndjfkfuZmMaTxumB6f zSO^glW26j?ey2oJ3V^H@#VqO5ZU}IA_4ZE97%Ecm!uApbCpZ(3=)FpR%&(?|yrJX) zw&0+C7!g=qQf@{!x*fjw2a%7Wt^}(|_E|5@9|p`RLj({1%G^nc%>&%#3$TOy8zlS% z>c#sN^9*i9=%NTpmDq|3K`pSL#)j4D-s)4Cd9II1Qpr-XCBKW&j8`8X-R>)<8sv5L zo4Y~^>=*lm)k{Rwr=W^CsVtTMa1H#_MRh%z!l44lH7dQV?K-@h|{0Lck_7{Crffk1c8fEv9=^J1z3b$4L=wrr(VC6S*n;#@@lheHP# z!G2?-rHf$%<;Jiw)5W?n-7!lAMWkVTL6E(v*9pzWP?3XP^J+6v%vmT2`Y6NVi1_{( z7uKEUhN0~!W2At?U(s!En$|px*Mi=sno6?))f6MeeJw!(*RP8r9zB*~U4j!JRqScw!s}NuZb_9*Jz4w`B^9wg9+>yJ z4B{nywIm7Mfr!(|ZV|$1w`HFP&X>iZEemWM0Z7R;{Rhm-S*1*=xYKQ6u<8bc441I( z@^AlE7!_)Fb^lL@9s~)!5?1%P5+bc&B6xDMk54~7e6Aj3?h;r`gGdVy3$y?cYh2Y< zyEUu_a?RsvYS#L@gbm~g*@MQ?pW@yRTtevJZa;H@T!iEI`(%SOAPVcyhf(Mih*P^!*h=)V#@CG<>0PcO$eL4?Lbh?_80w-;@%1(E= zU5sy47gONSb`F#>iy!T2dry?HU}?Xec7SK6d@{7??-9{kdStZ8VwB~mLD?>!uW?2Z zZ~_W`Q8Yh*_AP#EHV*;tio)&nvIWj~5KC=kqwGGk+$NDPJ|fWG`0Lnh5c2)_^(Phq z_27RTsKA>e(ekz50eG3r|2p>bEC((C1UXTOggaun_DlV9$WmS?6-i zxUY>|^KgQYyCg6hC1O~ImU`LyO+Qf#1|dcxy4!QM=VBwV6Ln!27_cXS*;fIJIM*L{OPs}BO9p)0Cl~n5A ziPP{~{d6u?bPi6Mf!}CQps_6v-fXvwaLTJvFv0g^L|v>?z4U|s12Qbg`iBTD;9CZj zDsPA7P$ZoIt_r*EwzPliF4v|P3=MGOSNP_<;I*ut<+NiGHS!bh2%HwB$z)PWA{UEU zdG=?mndxzo-*-~?fhPZx5fo8H8(3X8W(f(2){%il0lK<_#fpoed-QEfg~FtU!&t|4 zepIuf%kr82dw&$Hnl2D#@f=%789OCF{5IQ~KqY1WL79$@Dp}D@M|~1x3E%w#IW?z_ z+7|jy0b<-Mx=b&C!YSggCSp{oukNL0y`JAZ7Y*OagulO=?>eRo-&>x)^6Fy!sK2MD z8^A;<{RHp-*b`$tCR|FI0)E51$|mFNX&aJ-Mzfu1U2TvL|x_9 z_Xe%7x?J;$`oM*%b3DnXZeY2@YiH9GT}Kneo%-G%AmbKvU~)$}w6)LWStMN~bXgvk z;;pb3BJ=Bx%KX@5|ISYALvO(kMN#=pJzhY>i7g$Rx!S;|!U6am=$^9(^5kY&s9e$U z!)7FiMzg}UF{};qV->M>6V{1<&L%=6FZ~6$3O|#?ntY)md`p8gBKKG)`%)iRKz@2u z+7{e8D#RBZq-^HVdM%j__*lisF(bqc*!J2#ZH_21zixt@@5U?; zC!`fdJ)Y|`VD1}E-WcC7kFk%w@h5H0G{hNMaC1mmn3+hbPqM=Op8Qy?Vk|3Uv(bU? zw>q-GvLLLk_xyb#h4KA{9^k91xslF8mmS}>OIBpBW^4r2!b!6=q$mXswef)2oa?vy z9|C|{+lKgHb&%e2lC$||W9ge<{W{1Y;l}Ja)6r1{o&t=Xqrav+RTIXfBKrH6C1L@G zdyw+KLiKZ*_Flwe%B*5>v>4+(Qc@ReRa zVJ<8bfB(tfI9LBdquL6Dq|UG{j-b`|8RnX$>Yqh#cKY71RbV&(VEOA6I@GlXjLaV2 z?l1SwYM9M~T>vnrU9Y@W-^W>#UM?q|u_H(s_Z*Bd=Yg05K=QwTMr!^2QLF1D%X@-U zxi!_J(qo%gUHAo_xU#i=Q>^U!AkvCaxAzs>y0`S*}lO0q}blXt?sz<4@(^QRdw zL$XX1oQPKBXXR1M&4}LR;^Kn&bWR|Hxs$w6c%68s7Kl7B4eG*GGMNTufuw{{gLXfz z=DLBC_4tbxip;3RsaRhSAxpTr2P^=Wj7!~5Ei+7KrUpbRD6I_IK8z!|S_1?4)<&C= z`j}(c4{nT=jgmWdIiHx_#OJJDc#ONEe+2KAg8oB6!2I)HzeADn$fPW0QBi5v9=|vq zxFD40W*==a+bW#K*b9Gqrfd}W0_SIdLjySSKygap5Lma6I2Wd(aiUr5 zXp393HdG{(HbJ62oA}Uz4=$RWo39;N`;(Q~12LM@nfZSW*P@*tEi2NX5~&oz|fb~$;@}m zTZ`Tl=}hldwRYskPLs0n@x3(s)q>JfB3w-sPY(J)X#^xF<08*f)3}<=#V^-~$VNQ{6JDGq zcsbVe$=NUgXrl$Qvv5utH8dQ|tHNK)+_xBV_F8mD8VshoSnG=gP^i%Rj$Qtl&GmLe zq(nF0h4A)YkZ6tQ$lJU%0e?yBmATg^O={?!Fx|<0QZ?HinSV|!Vj5ay3+5Ejw?oMc z*F@t*DgXldD*R>T23)-22C9j&?T#kS7vx(vJbPUbFJa07Xp1Qkr$fkxFR7r%7P$TO z#C5a)hm>U3X1QJa*3@75O&cYC-aea*j~ocLw|Uj0C>!vA+NS(<$U#8s;9lFe-R>J* z&~_Kp-8|1CD$CKBgBri)e~qxQL>s;-m~ZvDTg1runZR^svX~?Em1me?Mbj$j?aw9y znG8rZN^?=ns`hy{79PM(^FlBX9PE^LE%oIEmn@&y(7vr;DlA0CHQmWLkY7k#O4@Kn zf_46vOQHbCQ$WTp9p$4%Fk~xJZ6oB}4};~PihRQMq5lGo-98zD4gbt&0$=8QMO+#( zMkMNX6zve0Kt9BI$PQ%kTZd$S0yc5v(EAZ^milk%XpXnd=GBakuO8Y4cBLD+Wps!0 zqwCFb$=jX^-K`crU;XAAb!g(4a0B4aXb#A`fwX)nrSqSU8*AQxqW5qL&60DTQ^qp= z(_a9iiM(@VY=vj#)^C?ApcLVoF#0?4H{39ICiPca938Z*s{3O2)vlR5BocfhX3}bs zb3Ic*db(lXPlfq@nx>dxcLJ;K-AYCV5PENO-%`>l1 zNJ5n0VJ3Sn&+ga~?-#(%eCdzf)3-E*5_1y*Bms!Z!Y9~S3o`;ox0HBd3$>R4NCyC6 zq~@U%kcO1P2d$l?l4`)ruioX+Z{iRRPChD*i{GK+vV3|)i~AL6{AY7e^|89@+(_54 zXW1jmUoSQ=N_`Wx0UV~w)TmA=-(o=&d?eH#vv@%4o5B=8z3f?s$NciAjv?LlasrI; zV*Jw@DnP-$V9{ho+;NF?Ix`u%5izWAdKI6!^Zjg={b&-Nx?BRJc)pIi{7$c=(+w*J zuwJvDvX1L^7X2go=ociWLcxiii?Dd-(Nwj-dT{s}z`v1#GEu$KUon8beQ~hT-?K0` z!EE`H4oD0RU{C#X#*aSU88I4$CFS`NZj&GXZ;(#^1YY{f(~oG@s;%D^!|E??Og=;@ z29a#@0>FV}{(bg>?ZdHCD3OZ*HiIj(GD&lRhzV0Lb-*?CT%RSVw_gZt!eCD&}DoeZDFR3zAxt6?Yn|+X; z`SJ5$2>V|Xfx!Cz-v=KhxMF#IwkqBlzzd$R->?E0|gQl+aFB*=|-J{gS@? z{jc#vo8PTZZ_ID&nbPnhw34B-JpVSW>E9+1{oC&{UcOo(TE5a!{JElsW=;%S^k?N& zm+xyn$3vOv`#`~#WXpd>E6uswO?H2ntpIySnhv!9fA?Q!8~xii{@c)~n#E8rUqnY5 zBHR1(nagDGK6#{;O)uVHQ>Nn*^3#l_PD7)e`IGXhw#A3iI`HNu+W)R>%&?C71;N|Z z@K1@EzY9t;sZ%Y-G)evGf4qJ7^e%w?ryqir+j^R_|3~AFoK6P$7${n951YSr&r@BT{Y$Z_dD z++F*7V)}MAl)dqLr;|VGGuTyOH(WU&Kr-(M^}m*l2QLQx?|x+-Mz8sDTe_v8PL;Wa zbA*Ol_8i#hvsnML?4;k>U{1X8LejH;n-TRtFO&w5Lv9S=rpq<)!P5xY0>vzz$aU$o zYF&k*x0j>7Ubmj$>Eiz~7wW&;i6HzA3gUj zF=(sI4dI*zdAErvgJZCiH+;x*KFBNhpl)U|;vaOu{mWC4++Y4Jp%8fQTuO~1@^1u6#CoTjl?;{zEK@}T! zCC~ofelUYCVo_WZZ6%;P&Nhs}CX=H6?>9g2d_mk1Kgv-4`AF$5jiK>< z+H{Qf`MboBPH}Np~ZZ7>~{I5 zd26LJ-FUi8(s-@sr*W5`g7MBT-mQ(n?Tzzzum3n;i3jnHY?ZA$HT=>0WdSb7cJ=&9 zNjem&BwIV^lKtssBK`=5pc{F6C3T!k3_@v2ndQY^WjyJZFMDRx6<^p-9aN_e!Iw2& zZziUmK=ZqHi*HN=YM?X`xw)!mBBj9pZ zy8K^nb^31buk&XcDq3y{{4_N-|H4&M|6>4Jiu`nTf9H^R-i)@`UT0lzjJa;jgq=Xa zaat?*(9uXl3K)F)lp-T4s%_jw^40Q>i_T{?Cfa1m@VcM(HL*-mV>oi}^p@OCN5je@ zQv6Zz=iBF?Hv;D3qveT4lz3FJw$?Xirw%H1e`ZGIZcx^>Met>&wkgO+_-gU zuT2)i885YbHD2jRFmEK{DjSHqt!tsN1ab)CfW0_aFnKtR^h|1hyodg|T7JCO`Q7gM zIEjRmEJ3O#j1f!2s`7mFIIVBLFCRXI z0?*LpOY+@*FTvqm<#o7VZS8%zaQTq*E3hfAQ*B=w)@eb*+n+yqiZcJ;$zLkNJ(>K^ zW~`&r_ovr1sUxR>8EiU*;zE?PopHYP%K~wn5H71Fa{&-qN7`@aJtN5ke=WAUsw}DP zfaCKo-a|+VymgB0O6D*b5d`DNnPV$60j4k_lk#Tp^Fn1^WO8dQyJ}RN%o+qv_h(LW zT|0!z*{zt*>TmP#u57Y_tH{^_NJd(91)t=R4Kj#o#RrA^A-T3#}+;3>Ayb> zkZ;qxznw`MPSlAt>h+G1#Fh;Ax@z>ekK@wqc zc{pKnM34)>J9UFzryv6)x&)$3`TF(ichCOqnwO5?gk!oo zBDB4zq!ZM8w*d}On&!0%@b_5f$NNjZjdS_leFWNMvF8XKC!2QVKQ%Qq&F~%okkESv zK>6KY{Z9yAvcd$5Nj%Zw2B(%V{okl8I12%Tf3frj8A?O zCo=>CL;815>y*W$&Dgw1V21oZU8fTI{6gStXMp#jJHcY5PP=7FO3J>YQbAa05?+QI zuyt5J$ou5%WexvsjJG_;H+t9)>tv5#Xv_}@-xjMTq=IkH39w^1!(yTm5 z8|4P@oC==8CyxovgIBPfECr&Xc*9Y1rMo8xcSBh_RyQ)z1K_onAgTx>JFZZDylGr4_z;Uae3wK3Nh z3(^q-k2AkKp8-~<7Blh5R=^wE@j?1n18a%xXz_q~sCLNVQBN;yfgHzMueb>OmYzJ6z zh2F^f>_9ShrfxIC#;3R<73AQbX(uY`dkuQ#E?UKoy6_Y2L|o=oCrNycruDWgpWm6{ zUEkcexH?sH!$IULXdUOOjp`P+whCrN8R?VbaKa!rN1!8KZ>c0qkZDT@Q>I$#sykVv zP#3B6np{xe=I>}uKiQ#1gLMES_gCP=o(CWOt#R94F6g}9e}(02fJB--RE7)8sxLQ^ zxi%VmZ`ZU2D#qLpVAd!RAOB{^7``f>b0?abL*KadE0K0A)ePO00Eucf8T$TrAB2Z) z*YssU#^E*YyLL&EBI(Auxj5am0GLz(%@!w{{-bqwpAa;GkP1&kv@bstRK&vwOk?{o zjW$!Q=*O{DftZN*?cLo0TY}jZ>EwJyXTjGH4iWvw49@2WNs;(}R2^Q&=;ljL5LO-Z zL}5C;6s|&aF%-kIY7q|6VHOG!RK4Z&4As)rC;Yw)OQg|HbK~>X-KpK5p$Kf?Yu3WN ztlIBYFEqb{G(c~$&7JpF=Ed8GH(b*+)bN&8Kp?WG*3ct+ic=O|gPWO4HhZ|6*^TJj zt;tl4Vj8i}D`U<(zlM#M+bqDV6aE?l;dvF%nQ^|XgF^26SXX6@yMRaTVmN!c#8i88 zamd4{(llBX3O7Y%kO}Gj8+o`N%S>xs{-_S;`%idW6Uo}`u+D=%VlH@c#<)@~1haj$ z?NT(oh{!&#Vv^U%3Kyu@pg*dFtf;8_R`!938qr;*E-jC)h;D7*o{AuVM;6WhH1&~w zEAt};VL{S6tmAA4z`5pVXIYG1-KAwImVcV2J`ZoO8XZ71K4UAe2V*;0J5HBrTo9_c z@AjA5cFon8)Qn$);q4z2Z8P0$Tkmhj()pUhWkYm4?>Td6-BXwr-opZ?E0$=RD?XT) z2E=BY#H#n>pawYc7lCUY0n);Qlpm=p%-^`1-S`1h;=JS(rJkDaiH?sl09ll|HB77R zrv2%Dji$wboex)08vvdAoBv2>5L~)v-xLn9bz3z+@8xNB#Yu`8?9rEqo_!~Px!S=X z=!3hBvR69db{mMI;F?3yAis8e3=sHpNYQKU6qQrVC!sJ%+Q1Bhtg?h9>xx?VxTbQ(j%?7cY~uk)N1R=kCvkIn>ZD=nJf@IW*^Ch@o=U)dunA zdV5cM$o;VK;DT?_+r`B(smBT^Y5pQ;u5>S<>Ug?;mu^(Z1z`ykD7;k*n=gV-2t7YU z^usu-s44;t_ANF;OlpEzI@FmwwUX5)OATTSZsY($^x2-F`x6!UaQ(*->Oi-Cw5ojp z?fskizr?VS>#2CT5@9zhW(mLIISw~4ji*|ATNKZZzWdX~xH^ft_!?rO&eL3+|ImB68`o|~0z#*t--mRSOWqJN_TCt9nGak?QRj#$Ttkw9` z(#@!maU_^M25lk3ZhCBOT6N1w+T^%cpmzviKU29Yhg|PES*hjy=otn<{xcfKnL!F` zGuGasdBCxYZJ(q*NXdBAZe?M?{NWL8%S@wv33XmR>|yX&<9A|thf&z|m{_5bo;Jg>88;K~VrZh5jo zv`#(@nA~a9nOFRiojXg4gAhD`rlqt;x4D_*X@h6_a&lbe)0F-9S}odSzut09XtG{6 z!khyT5cW!s4np+Gl`Gqg32O+k(dnhzx!mqYqB|o$*$r_B*2l$!83{6X!)KW0Exw5H zdk7K7dzt6=&^cx*s*<_*sQd&8-p~cZ@$cl7Yj@QM@X+JnEPBU=2=L1zOY^3m-l9Q7 z`bhX3M%p+!MfJ;Q1s~l4+x0U8Mq2LhjLx~PlRvPb*oq3v0F*BICB z-=9kql4yUe+7FtH_IYgd+y5M_MX?yjPy7jrS5l*nB0%!|JhUm~&b#ys#84lsjv@At zZErZlrk|-cLhYruS{o^oNPh{(nt0&ImyZKUs))Eh+B1Zvdv6YJ+uMErfGtI>&`BWc zDcrcNBT^ihrbMO*iF=ahGb~5(h%>E>(<#B3GL5)avfODV0=!&L+sb9u0`rHA$_L3m zxe+gM8?ib3}$Qr%)}Lsby2*t}m@rN!?J61sM_0Cy$~$?~eN~ctK3_ zDMv)XDc%|0Aml6iRPD0Dm;hD^)tcMorcsxPLg<;mn9OvlY5fsF4L2@3 z)1ztn;FdDW5F5`TxApx%-bi~x6gu%jd)c9|6t$i(fHyD98r7BJ5(@CpD{G9m zUpbR~rjJ=;pevnkHEnG5^>Ysfr^wJ}=$3qeO{HA^!PqjmE1Kf_pKkoWpdZHWqj$U62Kr3{J`w&+2-;Vxa zf}nt%b!1g1g?bC(uJ;7z8VH_cV1VQ9m>rI=z}^ODX?yU3A=wXEkNc}Z+YJqB?1rh{ zWyp4l)`#BR%tdL!xcAAHi99;@u}?yiWE6)aOMk_r$-IUqf|6U-5xu!NhZ@{WU3`~} zbh05Zck+5t<61<1^Q1Bv=j8tsJPxEx2kL(t`g*Sf2tH~vkqZmYAHUPx=N?jamiE?u z2winZB?mXHl5;4^br$Bav7sj42h=zlpna_(CeagCGFFBVQDdzbrdOxLv!))&;!aj+@p8D5GB(+c?C5hE@iEdK2MHD*|>(w z(2($ywTmCQpdVlRcNlipPHNZE$;9b)1+Xf~$}a6Vs=_QvkbKiCEh#SMaOwQ<_4ode z+)-2fQc&9IWL>Z7l=*lp_Y8P#7k|ufUAPxysW>X!&EgrJY(y~~n zo2I{w3w}q~uHO54k%VErqTHNQr|m9AlfXk7xPS=!^M}D?sM8) zE`NQSsu#OAQpEe*xT{*+xvuwpkSpL{G@XCNbS#R{uFA3*F{MF#B{5oF-#$qAeQTAo zj=AFV{@W}}h3)8?z0tgQ+31QG`s5zufTId+qUv#l?DcUaIsWN#nJuC?QqG5w6i(iR ztLF4S2m;pTcO0Rk8^x7+El)f7 zzDA>{Z<4hX^Z?B=TvW8`52?dhPsY&fG4-+by_9BYHLNtT$MqLfFHlO6k3in*Z|$KF zkKTk@efauGjlnayyt2H~69`pN>z~lHY&XuwyKTV* z0mstI8WXvMO~^UXyM|FP9z97t-XBYd@k_=fD!y$dTvnM$#$1vG9JAQfIl{utyji7l za|X$bI{->FJ~PM3NO}7PP&SrYob2NGIq*$hdcj6ko|J{1h&kKCwU_}6Zz=x(rO#Fk z9Yrtz65{q-7y3?}*`);MoMOxcmry-kW^E&!8-2df+X0lbULgjDxRqM#<3sVM2d5-0 zmBc{EqgVOi$tI;7)9*6##@f3JdR&b`x+4RSR^tVg;2RoyH4Btj^)N3s)E4BBzi6$< z*;<&f^DOZ7Ok)2b@I{INz$RBGJVHhn@xuiVb@){67KxB1!1|_~HX`iyS^d1c;xBa& z19+d7%;!Ib+EZUHb0Y;z>x1oNJ38z_1Xp*bN)PzM*G5o6P@>7M9wxFywGSNwGY5jg z6=UHqk*H#|RuG|6%S!6A^lGtmzO0%%1jt&_*tuGV>}7T9rrq{ZHi&nem(XRaN<9^U zL{tnD>;?olN~Z||9<+hgcaB-u&t&4^BqH7!RKjR!sVA!(5(=#mCZ4mCB~pP%-Ro67 z>NIHDRLULl?0oHy2Y}TNR^QzaFl#p%YLm*-@(PU}286D}QsweYaXKahnkATeVsb}d zA$9p1oOKgoyvjd9(^F65wd>Prar!Aj!dB*RFmKe)UoVA{#%AEiGm`!Wph_J)eJb8{ zcpMM3nVXvROZChyZkc9xowEAB3nbXZ-#fqV1_GM>5q@zNES2QR=G4y;3SA6~kxb&b z9Fdw7EN(VcO6t*vKN4yTg^alzuwL?dDcOBuuIfG42m~uu_YUfDL!b6feySt zr-yF7c)6bqbhSIMS(^;uN-MWx0&31yb3SOr^=5L;_e}}EUalcFqIvUly;G?`nIbFg zslvjM7g@HefP&@Rvkq+v^$L!rxe7JO(ubo!!PzNlgj-$xHd_EzhicTc9DK^TK0>Yt zxfMn>k?3e-!YmexmkdzCmrhY}QJDtUOw5<-Yis8m;SDI&(LE-Z`KZp7HpwwIw$Tx` zhfuvb*Ir5T=%^a)UxDCm?tpiEb!=kPh(Z-B(s@KF63_Qr#OKuwWCqI+o;K+^?2(q5 zrR^#wTz5_Go1czzTS!!B1q|(RSw~Jo&PJ|zv8$~&24^;F@W#eXqRffXGC9{ zR;IPq)y+wpRl z)2T2Ju{^+;mN0L8Esj=e`LSf5T#DMCmGcy>X=2#xXV(Rnz4-BXZOJ0h8D4N4t0kx| zEx62Q$t#sui`kbbZue#?7uX7-4&0vE;s4CIvzg}Y&$`LO1b);j-YITOzn=`fSf|+` zN3(HnnyL0acKqu1^fdN@z8vsnT|G=g%D?VH*_Nqvl>C6`2d7GD%pXPni=01rY`A6E z$wqAUkY(a&ljnDq^Eke zfokcH0EOwmzBIqYvqMmRMWnN}fw~AT^nCO)f%@W0WsQywC^|DIdWZnNxEyUVt-5_) zTUlSO)|PEJ46eZ1;BTEC^TS1CzUgwUuHd>_=jLbhroM2!)9;aAooTXupIPm0-gj(h zFS;cmfRQ=VN;PxzftPlR#P-rpFteY=SSMfzA83nuGIzI5h_1@wUaat3{Kt$yx1 zJUcRK-&BBihPPJmDYT(C9*QjdR}){MJO<=2|HM4X7q20vMEn$IZ&>3{>q)k(H3ug( zYN^aYwz8HRx%A^9xr}w?*NT8CCcS-r8E#UQ_TzfYs-jaQ5jT4wi=#RaTrmIN+0|_s zTGlu!0e-q#u|Vtl8uK}J*UC{nES^O^lT`fB6yKayDwS7rk@!u}?CQRcYT#ABq$r2= z=}w8-!Oo#gpli_w9QDn4Zj5t!U%nFRYU8@t;_3Oc*=~j~A^I>2pKdv8?u3!;dLVA2 zE=Kr-l))+$x;)%BWS>o|2A)DK%*}s5-K-SCh(XHfg&MU0)A1+31ou6Argo@QV7I$v zU@!?Ux=5+O5F%A9ZKuqXLoDEbYoP=b%dZ+<>KC&2*5B3_}_LM5~%Fn z4PR#z#mdkp`-StJsz`!prfPwlIvWPbiJqtmC*mH8phax?_7J$ds=8wikM}d7O2G#i z75}y4YL~ym%IfdmA##mE*C)eXqP}nlSxM)$!CA@+UEmj_<_lf1*uRj4q~31WrV3@- z-*-U{=ngSbFOu#543XAMEVvk}Ouye8c=nLhpl;1CkmYBGmVl2aMIDka-5MMW7iNlm zF1m0x9y>fz>b9xDX7%-J_5FNmJC7w!LxKFXA98LDGdHEMt=_viMYYSfwB3ydWjgI; zn(iI`jJ-$$GwFThTi=yLt|l{Hy}DLl-+8XebMH(mk9{4t_Mr4t7s)y)SzzT}AzSto zxIihSO6hcI63+~G2ebNW$=QBK{|G@pocndM*lm%4^CqbfFC=X;~ zmN3On8df%s&GnrS1}A~jIhu5L*Dxs07Srtr#*>k6;P}YopMREO)muR@?4a`Lq!|)M zTHef9q;v5te@la?MZIWBSAk#Rt_ONHc)zDzEop?*xoBcDROM_0t?#>5_77>Q<*VFm zAx9(>o5~s<>T`YL`0aLw6#4GFT>*z4e->HI!WaD@eIUI!lBI35`=UC7si#_A(K0NwbydKHUJ_ys{2pU2gGqe)3 z@*o`O3R7Q290l+42b(^W7mtUD=KQlIE-@m*{$fQSrI%`cJwU5iutVzY-x&?z?&*}i zrA8-c(f)xU=vV$)3Kk&uHdLeXK6LTTj+Mp+nKhex0tyyWeC=IYhzzHlf^!f}N9LCj zaSOemkYxK-U60zqCzN`9_J*z@_}BU1cZ2@@`v!9O`>Shih8Q=w0a2CDm~j%XzOQh| zu@lAHk(%%T0kK8}-iS6VN|h*u!T|`&lmF<@5eptbb=GT|YkIvd@C9QmgS-0-xbPN6UR# zyo?L1BNulQFmDz=IOd;01)!%__y*k=A%36ma9 zDi(y&LoX{Y+An8K2;Mhrm-b=IcQkc;O`xPw+CT6Hv@zx$lxH^J&d-Ly zgM;}bs4qtTI$&}zf_AA_x9>+u8oKz~vyISUQ}4%#7gE%h+&|6_R3FazQx4EyET38y zpZLfN{1ni7#aLa~*GdFZA=JC5;_U+2RNDxWl`(kCSCf`zCWp>z!S=TK$MdzZs>RtD zpo=>DT)k~kI^d1tp>lImh<9`(AC|loeyr=m-Ois~IKxo~k23mGRw!{abCCK*#&h%+ z`s6kkd^jaq{xOnrKvNeZl4No}&6VM*bJ{zT1=XqirO*R@u){ulJI*EH?So7jPm|{L zeo^CJ_1*}PLAoqP@-K|4 zWdUPDF4g_^B6&u~^G`<47L+-GM_xkZvIr=-zi42_Sl#A9{c>IGo6IFG+K^}Y1D*}< zwPP__SRWGMKIn~`!lPgXjw!oJgZ>9ffc-vf)Q6D4ad($b!p|?tPqQsZ=J?$f@+1bL zZlgdpsnM9Fg-zXPQlP%PrLVv~=pQOPHpGB}>|0_Qs}xiDxiv-hS!Cv&rj`A&zWd|7 zTDhPg#Wj#R?QIV-%RaHx_||CY{v$`uA&u(W%P=DD98Gt1J?&PP>_5m^>0wHp zx5()`8OTn6ATXN5W?-I-Lmf6G^Ow6hJ{1+z9{?LMzB#|lz`=H7t2@gRdm!z=eCv3q zrP@jRjT>O6D6BrkIt1(E)kb#B@t&X=c#+Ixf7fX9x*hHSxIaad+$|Szc5o7!3zIVl z>GB6mfDBV~)ck=)t84Gg7zHqP+p)$Or`-+m8%@^ON8_{mIO3&fE1H*Hj zuVVGn;p%4Zs#(27sfK^L1-t$ zqb8PH?@kt9JY*xw5w%%V_DPO50k1?P z>1f;Q27@#~9d%f0AYxX5rlwWT5gPi<0!7_tcvR+~Az5d|b5(i6j1PcJKpG&MQ;%@7%-@Us&okrC2GL5K6$Cvs6v#5K1mgk1_7ikecfl#@$ct*LWiYj zGihmdR$l1S2?U#B>X(klR!Ap|Bpfh*#>UXJsPa5-{>f#mN9<|1g}0f7wwN&wszV>{B)+;zGZj{q>2_UR&2W zt!NsH^`>@%bjpig?Y*N}pes4*6*Y1t&?35Dgelj~y$rlVru5d#- zj4Y^HUbU4!d=EpCAb5j8io3;C2s~H@n@1>;q?^<^c)rq`Ej9kzl6~FSl)c^>8l6Y% zvbg2-khXAoa;n3@$%)t-bjJOA1$Jbj3>&mRtbJtjP8$Ope>~Q&w_D$l=0^w$ck_T? z6ynXHaabn9Io56nulCROizprh7!Lgc3M}NA?_=M}C-T_B(gNN9M9NV+HgPtHiSS&P zo}ecgZ4UdA>=Qk1o&J@@t~@gwUoTd%e8?hX9#9Dq=L?IRwL*zJl3(si{&ts26 zkppgdLRaQR*I4^ruMm6L%Gx4NI6)i8j!vm@Sxs=XH2j~!!S>z=^z`n99Rb1RvqiyK zXN85m0q-eO^zf3~Q18ni71^#~1V?MHDZV8l)%>Y@{>~czoFf4IXw03LGBKtAj?-+z zz$d*h!5`6Z$DPZ7xqN=X-9_NJ*h~o0$KDQf%uv>;w~qpg+u0w+o&jnCjFhA6E#~dJ zM5V_(^i6h1R++fhpSNaz4b)E5u@p&`aFBfC*{d=1^NS-6gG2FI=8?VM7LAnJWWy`b z<|X!RCnv_^iCrq(zd$HkS~=~@3eVrW`4NZ5DesFpT}$G}Ui9WX{|TRCF2;7>6u2(S zL7>r#!*jr$)j)bc__}l*Zj$M)3Y_fLsCwk6H-@`H+R7yBLdXS}NTuM~we(xNEtv)U-ilwFa174OdNH@M zb%UV)AbqP}^^~hfA&%G(*9tsSV$De))t! zGVF8ivIy8Nip*>~FWB0V2_R!$CJZTXE}eVHi+{v?tAneD_=)?J-4&6fs2e-%v3q?_ zk$TH)tEFW4ZZ9s!YO~%oZio33ge_d`oD=5G+2Qn7b+`ImipS63H0)q{U>kHj7|W8G z(MD=6>Ka?_EB`XFG-We*@rEF=Hx+KW1*b&j**Ka3nL!o@Y#-C0pl=m`vZAn3-wG3~ zWAIt+9x)%L+=+wFAqo_M3xF@#WP`=>FF$|Ocn=P6~u1Gz1LybpEVusYuehz z+Hy-GY~)p6cTj!Qk1v?CV3e@l%%S=4>W#kNwy4~H2%gk+gzv)uTyOUPO^L+^1afx2 z6IYpuyF|%^c-gvN(u96R%`rF)@Otl;+>)gZUKSk{olgUhxX zXNxbVxR{IB${LN<0;6{bt7Ejj@&z1RJvDp$Qu%6-B*+|yQ`G`K=5?g{H z^@N2v1$oG~Nl~-0K4V{meQmRk_u2>KmE*6FFn}Yd0FuD-EA>47! z?PQaT=z}xS_Fr<$fsl6>vj*>FbBKSbctVlyB>zBRD?VI_mzvGB9zkInM2%WJOUO__ z?uhS~WyF~jB;y~!L7b4g^se2mZo7W?O-Z-c)&v(yF+Df_7!rA*c-tYbD2*!$N%p-h zp`mbEP8ik-^*JRWjM5=bwjK2Clarw@-tFfW%- zo>aAX%g@faT}p5j4oNJfkQDC#ok5EyRkRj;oveN2sAby>-0K)g8t-rZLJ3@;@o=4D zX+-jAr!4D&mb`|Cq^v!fm_cR_B&?K=j&wQzI$YT)jf}ExGEQTpiQmBy& zGu{uXp(nq&@rno8&N|k@7|)v)1*qpLV5S;k%w+J|iPv!=`3fGQ64cRiSSjn~$;;{I zUVfux;z@4645$C-`u)kkPn87O3E>T*()-{wsQqEb~C?!~dUFlQ6 zcmCjiGzv;PbxbaoyQ}EBk9y&PEevr)cTD(}Y(NQZmEm(}<=F=V>CD&<4%XAZhM586 z!F5*VGk=Hp&MJv5s*KHOdqY}D8!g~o@L2O1N=^tCKdD;W6q2>3hF_y12_eFRs4R-3 ze0WpQ+dgk>8G$EK;I#W-43)#PoG5SpMCeNlW(M6dWo*Uh?wFQ4R?Ec?W=;*ukAUbp zO{;4Z%Qms2(M&K(osiBOR69-j~?^OJx~R|&{o9C$s3;<|e{929a1 z>+=|BzqsiXxuS#=v{&+e5$E-%We3)x$QUWmG&!BFK5|VTPU~9s4Qoo&oea;Ay^raG zJ0bzf7#Plo z&36TY<7aI=>HQzlEc>)cGOhQlX5s^UnLv|(?q&eKH^IEv8u>AHDba(uqo4WhaeqZ1 zCg@5TBhuc@ANeY^D_JH)FD?Wy zR7CXsC<_$O_i+0{bkK@wGt%y7j^5-Ik+ga6sh9UL=6p#f@JTXoj~Y@_WO`A6e)AM; zvjCMsK&E5>oleFn#fs4HyF}Q+hn=7`*Vqg&7n_0;kB_# zNPmm-X^0}V2I2Y&jnNOZO17H%i+5XndhnRRU-r8Y_Kf?_8(ND_a2u?3Asv8|cX03D zB=ZD?vcu9F-AUej^a@46?FH?M5LXkxHQRf@xwFuUUOaudeK+jAp{p$ge#jK5^zh~_ z9q?R=_TeejgfNDb_Tem?;$~Jnnc}^h!-+NLK^)R0WK>CR4Nk{N<=hn*Wd%ib3{I?H z`LHCl7W5Vyu#68Ei!Y*3DDZ=S-|bbBIo@hlU!W6l4J>h(P8P)=lK*Aut03|_x<;Qa ze997G+hr4_GT`joly6VH2jTFem;QdW*TC90<3^6uiD{P>r31K6*J}6D>fFuEjSpTw z=*}RQhO1JqOAK)(f~1O>n*W#K9!waoe}&hHdG*O4ENsYFRB-KyBe4wu433)9&#H!m zu%_z>6RrN;Vh-3e7Ct_dT}NAxJika==n9W@QJKGrJ>!5m)J8IUFv?ibAmOT=7KpuA z92q-oA7+k4g~htO8)jCk5_l>bI1Te0?lW-jImQ_0JV3pN>FgK4L0A-liUT@WJPZ_G znm;2LUP@sC5m|q&EaqDX;wND}^EKMd3G3h(H~(Q&yo_}6Q^G0*8Ap8XmZwZ?1N)rF zzk^)-433IOBL5JcRk!)-zOv;+O5veFK}0!4S7)Kh$eo_$ZPfa7`Q>v$znxRiiyU&G zNd~+`$5>>n$S>o7i(r`g#8Ae6H%=Lo%UtG_b5_iC1}~KpiVIHw+lY=LVF8c%90?z> zB301SL%7|0xsC$@h}FA%81l3FF;8KHYisRN?blUzVOyDfyOZg46dymO^sB*oc**HpLbvR4T<46W1$sUK<)(MD_yQw^;#` zd`7jaQOX>2w734rmz*Ja?0|Nn*ZsvfOl*cH3P1h@k{W$8_iyv*Rr35XkEzNikt% zIF{Ru!Pr({H->7mD#^khj61Wn4!cKlCRnZckHKvd>BcMP^C`6hDb4)%h(6gQ3Y19D zq&&$a6|GtkZ@1fvJ%fUZ(lSFm4{)Px{6{UPCR}3_T-PRi``$_ju~ctQFwVg#hsl`o z+%)h@JIHQ-5z)?HkZz468>lrYySn&ZSkC_#Oz>6krog-_FA9TTuTD+6qD+CiQ3nKh zL-O(%i4+907F|g@GwqSdjo**#j6l4qwpjSIFeU}E_~TY^1RW+IH@NvNNG2B`g{d@v8>mJ-E_WT@GBpFQQmAP9rrTLY)vBR9n^u z7X^D#E}TSejo01xA92MY75Il~=zI`=Vnh4V0`#uBCPO<>8oWenML4+ zk!Q16NCn*J^Y7xA;wow1S=Lj3YYS4KsjA!pK)k_1~A{G!LtMH3g~1}8&S;(k_Y;Qz9t5u727+fqv-3Kz0j@eZO0^J zoR)*Hf&_?TLIX6SBoxAcg=&b0c?iC<_1stGUK6cR)d#odpa7lLp`_xe9H6e@aun~% zX)R$H@)o=a>n0I8SU$2A)`W;S2G(i(XV^+(Nsh+%;f^MIn2(KxG5hHdoIqPCs zAL}BJ1dB@mnH+Q9@aHS&k@G(Sg8eQgs}Tl)R^?sB=#rFv4E52XS>c_0uU(|16%q-e zm*T2klf!}ET&rvB6D>NK%cA8u9=FjDk1M(to`-#=Z@T|n4Zn_}>W=!T?(OGuv+wZh zS(iPFjdm8=byhkIdzw#mwy&b>Ju-5^&8v^L*K09-#GYEal3Jz!RDJ4kJ6dN*GD?3S_++Xg`F)rYPtn-@H#I^M6q56m(XPUfg?*$w4`x=w+IwPASr@tGY zIKG&B{(dv7=|$U%l=V)8N%3>Hkk!(vyb%R*!Yqu?S9=7=AptREL0QVY0M+{hC4gSW zneKj~TgPzzs>}z{!aPF<7iN=#-+S!ipSO5PC&wpE(0cnuJZ&)2>qQsWeMS2Z88u?I zbe5!5mVrqGV?XL$KiME1bN7s#bC}l%YL}_Z;zLv8UG-Azbr>l-EW!>3Ir-j3mkB9SmIJeaNq1uL`o9*ha0y4fj&FMzq6T6Ic#bL4^%Jxeh zf^ewy@S3jx_B`jCViPc|!j2sJyRa2rf_QP`UhQ7tW74dh1x_>GE9^nHNB3_PSU^fX z6f3IJ3k!oT8g67b+Px%6Xo?|Nn0_|Txk>FKVF|CFL(oN8)T_ufNgw9(_sIcCb#%T~ z+FYB#=q{K;D+k~TPwO2Y@~EIy_ZVPOQiAepN~U`Di$(E0ap2{DNQA#k-~sUMy=55W zv!6$;`#u-@LTO2Nj)=uz3%H$jQT5z@Xq)Oe5xC0ioy}?x;D{NG1b-$=U=wuDioDVM z92pGqtSHBLx)M9x{Lh9LW5oAP!`Mr1D4C{XSEV1n?13aD9{#-MXZx`-YA5GrB!`y|cI}V~L(bDQ&HDY+^I35zvg&q=2YFwi6%-zI>Y*NGLDz*@`7dbXj zQ1XzfEDwNH`ipK5JM=6kf8pyDN0UMs2uw#Tyo0l~3B1}r#Z`R63le<5T|k{%B$Ooc zToWKKHdI8Pg|Vg(isgB%4$9xv2JTeBha3JtGUp*VvQT_Bt`{lkEXZ*-w4updx_B%E zWfSqT6Ok-wT6LT?+p=U#AqQRwUA6M_ms>A9B+`*8HFB?!kj@9_b9@oA>l5edrGIc@ zbL9H)i@QRJFam`tGf{%0isEi3FRQ#!q~v0|XH_rKPRE#8Bl-8Kh5|xZTg&ucoz(W2p6jG*9L%mmlZOro(Y^#&%+Z4T( zo7~M+x3|Ysz!MsZXpwuX`T8v&F>ISEw?4HMrIy?;@fI>DcQYqtr+B4?^x?z$IbZ$O zt=0`V*qbIYrSgHvkhhr(ZYq8&0jTR~)n#%2>HEf}YVt{%$`$=iwh#ur`hA9=>l)HtXVZ zf;Qf^bHC9cPo%(Uya-Zv@j4nAfF~IJDk(63XSbMqxZKWiOEK7B?Sa08;VA$&c3D)1 z9}0NPZs$|a_FU6802=khrdbSt{6k}0L<&I{G|mrHiiu^O!B3-jIX!wL1g#zrx6gizxrqGkb} zagI;axFm_Elc3<$N<*1r9M~4J$A!CDOZpI?o)TQx)rr^e0PYDDxTsX^p8lVE^SX&3 zX!1KyBEh4g7e;3MwDCORpCbjANPSfB@i`L3C>1pNuBoYz*J9$rNcdjm%4o$}JYi== zy7{<9sa)yroY@u0>{UHLokw#!5tn48EL-hAAD*;yOO!vEFS zmB&Nb{cT&8WGjgfvc?l?>|;YCrJU$r83Z0GGK6Z4#tC zU`_3SU3$88oJ~p+3x$&CjrH!)d0zl^O zb;b9AHc?RT&+)X9bow?8*aV5+zHNh+yhF*QmWtC2TniWJuU)c`h>a{!5|4Om8>DJk z_IM}e-b@1$mZ2cpvp-aaX?aE;+|~g%dKo>e{5P1g%XnwS-OF>2XMiX0##+c)&BMh_ z^HO+l$=7IsX-4#Lo~9ZJ+P*&V1IXlrw4@KhOAd~@n?Va^8z z14|ZKnVHd8wZeK`;3Xk|I$X7AQ0$HEFYp<)&HJkFoE`O2pw>+#ZKgh@*FmrS;cS@N z6nx@~{B>y)#*=Yt--OBK4s2;LQtqweiOG7V#a641{?-k?B^#~szxz&HJSTSIN%IOY z_DJ4M1n|B*pW-;wgF&q0PT)P+`)S)U6i>ic+gN+Lq*c+i?i&f>Gg8ZZ$r!&C6)DA& zYYJNez!&>R%{N1lSK&_L0N$aw=f(`!H~GS*r7m|(fIuyO?ZVm5{Imk|N&> z9$3Cj`2ddD(F#ra|5S>D}Z{QHQm=S2x2yz)8%n z^4Ej_&&I1|?PPO@Ix;sBaU)rSLe)R#6mqtvk|ne+)vln)>>5W>=EV{!hG-49#X-TM zxvsFQzs)7=zA_Bg`1A$3vD2GjfucU<1q5NUGi7a#=!{s{#@n?&KYQDuMXU!hpx+c6 zmu)MkKE0!iR~O5tBcrifz1xPHy-W0hsD44Jn%*Zv)jPR3fV%Hs!z)y|Z7zIS1_h&H zfHX+y>TIIlfo*O;c`bPj{Ib9{V)_>p39D#5ODE2Xb?$)d@qdwj&wj4p`K>O9G8`)m z>KGH1aDKQ~c4>VdDE|XC^o=;FSS>+kcxApLl;l8a1uLO6FfK5g{wTJN9=S6LlYXd7 zCsDc?M}ukF;zJ$bYWjd`-=n5gg;#q*;y~vb@xmDxs576 zEq`BKZKL_>+N;n=)58WNK?(RoDxHxu-0(a*MB-&E#w@;7^Z(-zApbmHYJXLPHCa5K z57J?S{5^QLg6$uQUUBWKv&pj(KenJX!gieHvdn^%gfQ7(d;SwuMrDw@V@i`L7uL*5 zn8F2tgs@dwqY8Z`>PvbO3RsC_xb99(PrLE9y9(W)kqM5N&Cm#}2hJ{;fh!Xygwy!u zh16^Bj=?}*<*U=!G7s2UmXvPWQ2uVX zk5@^7gG9|9ZhMh&yLU!5f_eqDlcYQy- zb=}2ggnxlfZ$RLhVqm@WpoRKZu!&GPh~T`7aWkqQ>j|38=3G<~wIh!4K%A~MJv#r> z0_r~9zTLTl9CeKFd1d{bs>AV zm6d^v-D+tl*+nfrbLfJEVVy_xUxIDjEvrdq$d*#ot|E#5DrtyIM9TIzYu2OP#-qjb zhgpHi>Z5F3J4c)6Ay4i#rPW>1c&kF))o`58Lo9WqSS;1>8VjeX1cbS~@c$%GtGh9e zy$sQ75}iH`P?ZPaUaF{P2sC$*>(#7N=N0mGYd@wUY0^~bb4v?6oQ@Mah3{Qu$zVN~ zFmi~$yN~~WC+xRiY-pPSarp^@`0#k|{C!kmKjeU#L!Hjm3yM3={Ja0#li8a_s z91`<$@c}@vk#r}}?M)Up*cg-H6c5q(5*d0~XXYaLU?A9c=ivh( zO!DN^r*|N~(}8)-5{+d}`WVMH(Ui8^+*O}#)y**U&kVSIZPd&*fx z=1*1TN&s)*YMUQISo8S%33c#!K^Em<^+Ix&r zW!D^OZp72Sq6*zD8=kGyPP)v;(=Km$!}!mDG5^v(o~xT)zv1WawvIq*cO(jV90mXC zNg>ufEoH5hSvYJ-pk0DrAq@m*Qy|L=VLBA(UNqR>O_CAENP^a&JQa9)gtkB+ul!43 zJ|&NmvkmHdKDSd-bh<+*i*(uY-mkrlc~yHufebqy0x@f^y$n4v{)@_OGbZcy77yTQ zwDNkf)wcsTta#cFctMWXAy-q(i4*T+$VAgHfa3i-q6U`5kxV6>IvF5bQ9=j$j>TPosW(W6(6xma1*8e{36l@U zvFTJJbV1k|3X_F=*CKt)UpGJX#r}|pN>2~+Rs2?csT)qS$iQTjuNZjbPwMMw{m~wa zdn0$|FD`!Pbxq(Dl`z&xxi;1%FbTPnBes|xdVMV`_|${fDx)3c0Cb3z%)0-U&kCC2 zVx_eyr27T&Fc0_ZHLZ|@^J{Af#D@_(;eE%J9^ABtP%`e@?W=Jim^-8fDHyNi{$Du@ z_5xRkZ;k{#PoCD;Y^0a6+uhBKO7my>SRCK4coXay<%3va*0V_Zg2BcSvewTmFhhUt zF00P3!&WS8F8{TdO05#XjguqF$n&ZxDpWp?NJB=+lsOeC(Ry;{-YBWTCgo$W33BTF z={$)!=JLfdHLKuq&&|LO*(rarOGhRx5LM!Z%+i2={q=EAtydO7l70g?RpL$><)QB1 z*yVtWDYw=r7QktsG}@Ao17LsA2#&%HCym!=21o}cJyG4!;U&d}gY$td7ZP^L8gL9Tl4$ke)Q4QWC63_E54N;4a0*iqoi4mo#?=B{sIcE=-y}c$`TFqAz%yC> zgYp;gW%4p3RoR%&iSf%Hrv3&8%eiNB(jDlIj>C6R;#d_(wmp05gM{Ea zR?auTYqvH*aMxroBUIUurOh=ba-QUgGSRh>A3_qUi5Kw!X z@20Em;^-JB#&D553t9uczmh{K+LX548PRpCK!V1|38dJJQ_`0t5&DMP40RwT^6p;C zg1?taw9be;Cl)4B_?`}Gc3qr6JXn}3S@0Mh|H2WhP5ag7Ia%`Wq{l7=)DBI-U8V|X z^XOG_l3sN{$9~Z=PJ0g0yfApp`_nh%0nlaf@V4F#hxVtLb|15fu0$XW0Ze78a?}nr zzI-U@mVKM7Br(ODT3@5aJGdH~9L0rhB z<=+*Emgs9n0ag@AlA!0VH-W~UU4$|tE!7eK*qhp(qKjEBbUS`vzEnLZ^tf!D%LS3*?!sO+{t6 zrmkmv=qfH`IKyL!DaP!=`M%B@RhJ~&IrcYkGGXGGe^CdWhg+C2kbR!Z+p0QySU66c zbURvibeW1?pE$>QUL`4S%Jh+EQXKIw8+8Lr9rPEKuSE1U+$vhJd-vEVZ}EvrRl+Td z(GIZWvqQENdL8pAzog67UziSligwx@tz1-S_ zllvi8#AtT0DpF|((~n6|lCyz2HIuhq)KM1fx7R%`>;-GMXdK%$Tdb_V$}$dPi5L>6Un zfu5r%Kle!g8OjVcs28>O9tCe1)XVyzUBx&0Mn6K#pjOET$+DJ8kDu+*IKpc94WLMq zzLkU!O8pF#Z>wrn=zn|wWF!^1;{`KiA`(Ghn^gw7HI~?PH4ok5^DDOfjJ=xWy^W+% z3-9rG5{G+gLk%(Y9EZAnGu}@KAM{zD7_Z%(%grPE?!mfwJjiTs+{R-DD@C-8)ps+> z=WVS$GRx^0E-fAt##>((3#hSdH>69$I8Hw!#d$1Xhi=?)b(bEEG z`)!2Ni**>|3U#{L^fR7wlq#}jEsNi`Pe9m4(*!`|Zpu9enyb%MRRQkwK+^Wsr_9u< z>NU%^^MN=)H=BbWuzARQN?92amtjSnt5lB&YYUjUTY*lr!_R(+z$2V^SqaD76-jpA zQ-{~sFUw~@$(rt>?;Rs*nA;W&sj+i5X`~lOCb+Ju7#NSlRKb?KKDh324{R$m^Zpy>3@rv3}jgRDB zYT2yLrnl2+&v7E~8RZ4uM4#mNhM1}8g_3#n{XNeIZUujiW4!9}Z%IOi=6B)|A%kP! z>G>0hS*kKeod90_OVP(BSV+ZFYplt{YcfN3fG|S`JStsRS}5Q3yvZ{T9((J93fnz> zkmXk{)<+VcF_9+^WDb_*5;D|4ln07sXIsnWIIM^bIw_%5AK_>ArYI{O?CI9cuw=a5y?gesG3yQ_jVIgQca;*EfN}N0e3c@YU%&+{W2Am)FVkM%vczy+q%Pqq%2LK4Ss9!&a#C zQ-3hjclD3=POOZeTnnGK4N3@T%ui7@=0_D3Vfj<01)NLizSWB3sgu*^AsmOCm3we` z^%*no#hab6PV0t*5RI2$^nG0 zCaJK13bX58i^d?)m@Ov9mc<*l*l%VjFzr26pVwtiLj#rRDotu6su_fyXB@mBbR4*!MJ??;LGboj z>2gPq(-==2O`!b8q5-Qtf*_a&S{n`sh9u`3qfI6v!_2tH=sB+QcwFn`XupSM)=Y^U zkniSlOBf2+*BI*Q=S`UusE965+jH~oB$0J|}t?%AP4{ED~E zqFm^=`VR}2;Z=A{I9C&uPHI{Ntx=c+6hgc_UKA!H= z;5nC;wCCtY{m5(4Nr8Gwbj&jOYc>U*U9Wr{bL=y5PyM^b_cW<4YiPiT$Foc!HQ;KfzUsvAPHn<} z^B4aL$I44?V zkp4T$mfewCf^bwDPxFMqG=odaPq*gG83nrJKgaWR-s1KQexWRdKF8pb{(%4f+zxid z9$=P8z$bRN;HGHEhTkV6G$#CxqL!uANyK!&tHXPleN;zdNz~=hrtg zTD&6Ou3V80CBpgY&#^s25^qI%Ct6>DuF#i^lcx(J`66m6Up8pqRTR+K0&p$Gb#!TF zj51vz-*mrA=HfL%&{plF!?ea!<9^Ki4JkgjR`u{B28Rp8CQvv$)KEFW{+(7TV{=!xzljh%AytIY*(J)22poT|t zu;s7em<-7QA2?I}cDG@rKN9hK@CmqLj(Ww_0m|yeLn9~lF1T)}Z{<=SZn+iOX)j12 zfv;f_L;WrzGY=S!eOqV98(x*Ij8VL9Sy)u#H~%#7jL|q3#E1A0(ET)vcUuX?Wy)kH zktln;Y~Em z$9lIZi!jngKpT`i-+-Kb&TKYttGXO9;AETe%8en;cFg&3)TyISI?vaxvW_SY*V;o+ z@aH;vmf3TkMn3*Z-SM>$B7G3ViCYEuFW6v0T-^@wciTIbeBb&;297ypLbFC^@dOUG zAG_CkB|t7~b(Dq%7^$N8+-w^ChiAxjF2lJEngU9n5{uRwavYMAC6WE9XF4TP+lh4^ zkk~yrc{%F<&28%gc1B96iv0XLa_`$KqcDnQ))jL(IsAkOo{##tn;5Rm0J~W|-$pf` z_qM^!&KlUd9#^&UPk^{Wh#X*3g$)yE^5Hy zH6{@lx6$a!|4&}tz&b9OX*?lgdVWJ$a_-%`c=oE*eKqgZHv_QWQHWl43Jf5{|CbN9 ze-hiPtZ=kZdd;@VxsO!i@G<7pno6^ilHwQs+fZL!YVm(H5(hsSBCr(~617G~|9`H|WohlDFm*r~t$wR@ R#?XL2y&Hx)rPuAk{tG0cAd&z8 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/react.svg b/frontend/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/frontend/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/components/NavbarLinks.jsx b/frontend/src/components/NavbarLinks.jsx new file mode 100644 index 0000000..0511053 --- /dev/null +++ b/frontend/src/components/NavbarLinks.jsx @@ -0,0 +1,53 @@ +import { Group, NavLink, Text, ThemeIcon, UnstyledButton } from '@mantine/core' +import { GearIcon, HomeIcon, PlayIcon } from '@radix-ui/react-icons' +import React, { useState } from 'react' +import { Link } from 'react-router-dom' + +const NavbarLinks = () => { + const [active, setActive] = useState(null); + const links = linksList.map((link, index) => ) + return ( +
{links}
+ ) +} + +const NavbarLink = ({ label, icon, to, index, active, setActive }) => { + + return ( + ({ + width: '100%', + padding: theme.spacing.xs, + // borderRadius: theme.radius.sm, + color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black, + + '&:hover': { + backgroundColor: + theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[0], + }, + })} + active={active === index} + onClick={() => setActive(index)} + component={Link} + to={to} + icon={ + + {icon} + + } + label={ + {label} + } + > + + ) +} + +const linksList = [ + { label: 'Home', icon: , to: "/home" }, + { label: 'Play Chess', icon: , to: "/play" }, + { label: 'Settings', icon: , to: "/settings" }, + +] + +export default NavbarLinks \ No newline at end of file diff --git a/frontend/src/index.css b/frontend/src/index.css new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/layout/MainLayout.jsx b/frontend/src/layout/MainLayout.jsx new file mode 100644 index 0000000..9c62ce9 --- /dev/null +++ b/frontend/src/layout/MainLayout.jsx @@ -0,0 +1,43 @@ +import { AppShell, Button, Container, Navbar, Paper, Text, useMantineTheme } from '@mantine/core' +import React, { useState } from 'react' +import NavbarLinks from '../components/NavbarLinks'; +import { Outlet } from 'react-router-dom' + +const MainLayout = () => { + const theme = useMantineTheme(); + const [opened, setOpened] = useState(false); + return ( + + + + ); +} + +export default MainLayout \ No newline at end of file diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx new file mode 100644 index 0000000..c3a23be --- /dev/null +++ b/frontend/src/main.jsx @@ -0,0 +1,13 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.jsx' +import './index.css' +import { MantineProvider } from '@mantine/styles' + +ReactDOM.createRoot(document.getElementById('root')).render( + + + + + +) \ No newline at end of file diff --git a/frontend/src/pages/Home.jsx b/frontend/src/pages/Home.jsx new file mode 100644 index 0000000..ba25c87 --- /dev/null +++ b/frontend/src/pages/Home.jsx @@ -0,0 +1,10 @@ +import { Text } from '@mantine/core' +import React from 'react' + +const Home = () => { + return ( + Home + ) +} + +export default Home \ No newline at end of file diff --git a/frontend/src/pages/Play/Computer.jsx b/frontend/src/pages/Play/Computer.jsx new file mode 100644 index 0000000..53bdd84 --- /dev/null +++ b/frontend/src/pages/Play/Computer.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +const Computer = () => { + return ( +
Computer
+ ) +} + +export default Computer \ No newline at end of file diff --git a/frontend/src/pages/Play/Layout.jsx b/frontend/src/pages/Play/Layout.jsx new file mode 100644 index 0000000..b21a961 --- /dev/null +++ b/frontend/src/pages/Play/Layout.jsx @@ -0,0 +1,30 @@ +import { Avatar, Card, Divider, Flex, Image, NavLink, Text, Title } from '@mantine/core' +import React from 'react' +import { Link, Outlet } from 'react-router-dom' + +const Layout = () => { + return ( + + + } + description={"description"} + /> + + } + description={"description"} + /> + + + + ) +} + + + +export default Layout \ No newline at end of file diff --git a/frontend/src/pages/Play/Play.jsx b/frontend/src/pages/Play/Play.jsx new file mode 100644 index 0000000..b5dcf4a --- /dev/null +++ b/frontend/src/pages/Play/Play.jsx @@ -0,0 +1,43 @@ +import { Card, Flex, Image, NavLink, Title } from '@mantine/core' +import React from 'react' +import { Link } from 'react-router-dom' + +const Play = () => { + return ( + + + Play Chess + + { + dataList.map((item, index) => ) + } + + + ) +} + +const CardItem = ({ label, description, src, to }) => { + return ( + } + description={description} + sx={{ backgroundColor: 'gray', borderRadius: '5px' }} + /> + ) +} + +const dataList = [ + { label: 'Play Online', description: 'Play vs a person of similar skill', src: 'https://www.chess.com/bundles/web/images/color-icons/blitz.a0e36339.svg', to: "/play/online" }, + { label: 'Computer', description: 'Challenge a bot from easy to master', src: 'https://www.chess.com/bundles/web/images/color-icons/computer.2318c3b4.svg', to: "/play/computer" }, + { label: 'Play Friend', description: 'Invite a friend to a game of chess', src: 'https://www.chess.com/bundles/web/images/color-icons/handshake.fb30f50b.svg', to: "/play/friend" }, + { label: 'Tournaments', description: 'Join an arena where anyone can win', src: 'https://www.chess.com/bundles/web/images/color-icons/tournaments.6de54f69.svg', to: "/play/tournament" }, +] + +export default Play \ No newline at end of file diff --git a/frontend/src/pages/Play/PlayFriend.jsx b/frontend/src/pages/Play/PlayFriend.jsx new file mode 100644 index 0000000..318e5fe --- /dev/null +++ b/frontend/src/pages/Play/PlayFriend.jsx @@ -0,0 +1,69 @@ +import React, { useState } from 'react' +import { Button, Card, CopyButton, Flex, Group, Image, Modal, NativeSelect, NavLink, Select, Text, TextInput, Title } from '@mantine/core' +import { useDisclosure } from '@mantine/hooks' +import { IconSearch } from '@tabler/icons-react' +import { PersonIcon } from '@radix-ui/react-icons' + +const createChallengeLink = (color) => { + let challengeLink = Math.floor(Math.random() * 100_000_000).toString(); + if (color === 'RANDOM') { + challengeLink = challengeLink.concat(Math.random() < 0.5 ? 'W' : 'B'); + } else { + challengeLink = challengeLink.concat(color); + } + return challengeLink; +} + +const PlayFriend = () => { + const [opened, { open, close }] = useDisclosure(false); + const [color, setColor] = useState('W'); + return ( + <> + Create Challenge Link} centered> + Start a game with anyone +
+ setColor(evt.target.value)} my="20px" label={I play as} placeholder='choose your color' data={[ + { value: 'W', label: 'White' }, + { value: 'B', label: 'Black' }, + { value: 'RANDOM', label: 'Random' } + ]} /> +
+ + { + ({ copied, copy }) => + } + +
+ + + + Play a Friend + + } /> + + Friends + {friends.map((friend, index) => {friend.username}} />)} + + + + + + + + ) +} + +const friends = [ + { avatar: , username: "friend", rating: 100 }, + { avatar: , username: "friend", rating: 100 }, + { avatar: , username: "friend", rating: 100 }, + { avatar: , username: "friend", rating: 100 }, +] + +export default PlayFriend \ No newline at end of file diff --git a/frontend/src/pages/Settings/Friends.jsx b/frontend/src/pages/Settings/Friends.jsx new file mode 100644 index 0000000..29369da --- /dev/null +++ b/frontend/src/pages/Settings/Friends.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +const Friends = () => { + return ( +
Friends
+ ) +} + +export default Friends \ No newline at end of file diff --git a/frontend/src/pages/Settings/Password.jsx b/frontend/src/pages/Settings/Password.jsx new file mode 100644 index 0000000..e78f1b7 --- /dev/null +++ b/frontend/src/pages/Settings/Password.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +const Password = () => { + return ( +
Password
+ ) +} + +export default Password \ No newline at end of file diff --git a/frontend/src/pages/Settings/Profile.jsx b/frontend/src/pages/Settings/Profile.jsx new file mode 100644 index 0000000..95bc9a4 --- /dev/null +++ b/frontend/src/pages/Settings/Profile.jsx @@ -0,0 +1,31 @@ +import { Card, Container, Flex, Group, Image, Stack, Text, Title } from '@mantine/core' +import React from 'react' + +const Profile = () => { + return ( + + + +
+ username + + full name + city + +
+
+ + +
+ username + + full name + city + +
+
+
+ ) +} + +export default Profile \ No newline at end of file diff --git a/frontend/src/pages/Settings/Settings.jsx b/frontend/src/pages/Settings/Settings.jsx new file mode 100644 index 0000000..9d0fe9a --- /dev/null +++ b/frontend/src/pages/Settings/Settings.jsx @@ -0,0 +1,33 @@ +import { Flex, NavLink, Stack, Text, ThemeIcon, Title } from '@mantine/core' +import { ColorWheelIcon, GearIcon, GlobeIcon, LockOpen1Icon, LockOpen2Icon, PersonIcon } from '@radix-ui/react-icons' +import React, { useState } from 'react' +import { Link, Outlet } from 'react-router-dom'; + +const Settings = () => { + const [active, setActive] = useState(null); + return ( + <> + + + + Settings + + + + + {linksList.map((link, index) => )} + + + + + ) +} + +const linksList = [ + { label: "Profile", to: "/settings/profile", icon: }, + { label: "Password", to: "/settings/password", icon: }, + { label: "Themes", to: "/settings/themes", icon: }, + { label: "Friends", to: "/settings/friends", icon: }, +] + +export default Settings \ No newline at end of file diff --git a/frontend/src/pages/Settings/Themes.jsx b/frontend/src/pages/Settings/Themes.jsx new file mode 100644 index 0000000..cb1c7f2 --- /dev/null +++ b/frontend/src/pages/Settings/Themes.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +const Themes = () => { + return ( +
Themes
+ ) +} + +export default Themes \ No newline at end of file diff --git a/frontend/vite.config.js b/frontend/vite.config.js new file mode 100644 index 0000000..5a33944 --- /dev/null +++ b/frontend/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +})