From d06e5ae6e184c810f63baf8f73985491f4c0fbe4 Mon Sep 17 00:00:00 2001 From: AnanteshG Date: Sun, 13 Oct 2024 16:02:09 +0530 Subject: [PATCH] added sudoku-solver --- .../Advanced/Sudoku-Solver/.eslintrc.cjs | 21 + .../Advanced/Sudoku-Solver/README.md | Bin 0 -> 479 bytes .../Advanced/Sudoku-Solver/index.html | 17 + .../Advanced/Sudoku-Solver/package-lock.json | 4377 +++++++++++++++++ .../Advanced/Sudoku-Solver/package.json | 31 + .../Advanced/Sudoku-Solver/public/vite.svg | 1 + .../Advanced/Sudoku-Solver/src/App.css | 195 + .../Advanced/Sudoku-Solver/src/App.jsx | 188 + .../Sudoku-Solver/src/assets/logo1.png | Bin 0 -> 84654 bytes .../Sudoku-Solver/src/assets/react.svg | 1 + .../Sudoku-Solver/src/assets/try_it.png | Bin 0 -> 29114 bytes .../Advanced/Sudoku-Solver/src/index.css | 6 + .../Advanced/Sudoku-Solver/src/index.jsx | 11 + .../Advanced/Sudoku-Solver/src/main.jsx | 10 + .../Advanced/Sudoku-Solver/vite.config.js | 7 + 15 files changed, 4865 insertions(+) create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/.eslintrc.cjs create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/README.md create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/index.html create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/package-lock.json create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/package.json create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/public/vite.svg create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/src/App.css create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/src/App.jsx create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/src/assets/logo1.png create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/src/assets/react.svg create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/src/assets/try_it.png create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/src/index.css create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/src/index.jsx create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/src/main.jsx create mode 100644 React-JS-Projects/Advanced/Sudoku-Solver/vite.config.js diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/.eslintrc.cjs b/React-JS-Projects/Advanced/Sudoku-Solver/.eslintrc.cjs new file mode 100644 index 00000000..3e212e1d --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/.eslintrc.cjs @@ -0,0 +1,21 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:react/jsx-runtime', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + settings: { react: { version: '18.2' } }, + plugins: ['react-refresh'], + rules: { + 'react/jsx-no-target-blank': 'off', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/README.md b/React-JS-Projects/Advanced/Sudoku-Solver/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e7ba3002b7c26a4316e1ab9c67a9d6fc05ebec3d GIT binary patch literal 479 zcma)&J5R$f5XU`R;yawwg$feyoq!U=K$jH3P%${kCArp*$d5#PdmJb#NK|4v-Rb}M z*$XI9)&Z{Ig#vQ^+>?iZdQdVT493~8yrV~7I;3mt}|ce3t4rUNpcAuv(s z;c-)fG!1yG5sK{-nE);-^f~A2=p34$-mf7{7Hr#6O(}a&u_Ke(9D*DrDOo98ah}2M zW=wc{FTNz1o1xz>`w#}d5~53uvC3=5_CLvSJCXb?_kl`~$5+-=9Ow{8XPJ{((6gz5%wc>ytO#bLao6 XUNB%=7Fok=nwBXxGGvZjFwQ;z-x{N> literal 0 HcmV?d00001 diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/index.html b/React-JS-Projects/Advanced/Sudoku-Solver/index.html new file mode 100644 index 00000000..73a38ddd --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/index.html @@ -0,0 +1,17 @@ + + + + + + + + SudoSolver + + +
+ + + diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/package-lock.json b/React-JS-Projects/Advanced/Sudoku-Solver/package-lock.json new file mode 100644 index 00000000..07327096 --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/package-lock.json @@ -0,0 +1,4377 @@ +{ + "name": "sudoku", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "sudoku", + "version": "0.0.0", + "dependencies": { + "@fortawesome/fontawesome-free": "^6.5.2", + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-brands-svg-icons": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.2", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "eslint": "^8.57.0", + "eslint-plugin-react": "^7.34.2", + "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-refresh": "^0.4.7", + "vite": "^5.3.1" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", + "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", + "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", + "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", + "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", + "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "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.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", + "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz", + "integrity": "sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", + "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-brands-svg-icons": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.2.tgz", + "integrity": "sha512-zi5FNYdmKLnEc0jc0uuHH17kz/hfYTg4Uei0wMGzcoCL/4d3WM3u1VMc0iGGa31HuhV5i7ZK8ZlTCQrHqRHSGQ==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", + "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", + "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.3" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.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": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/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.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@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/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz", + "integrity": "sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "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.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "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.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001636", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", + "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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/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": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/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.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "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-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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.810", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.810.tgz", + "integrity": "sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "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.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "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.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "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", + "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.3", + "strip-ansi": "^6.0.1", + "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.34.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz", + "integrity": "sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.hasown": "^1.1.4", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "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.4.7", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz", + "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==", + "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.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "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.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "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.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "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.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.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.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/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-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.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "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.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "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.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "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==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "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-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "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.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "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.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-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.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "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-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "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-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "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.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "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/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "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/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "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-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-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.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/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.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/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.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "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.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "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.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "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.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "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.5" + }, + "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==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "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==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/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.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "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.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "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-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.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/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/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-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "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.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "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.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz", + "integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "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-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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/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/React-JS-Projects/Advanced/Sudoku-Solver/package.json b/React-JS-Projects/Advanced/Sudoku-Solver/package.json new file mode 100644 index 00000000..9f25de2a --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/package.json @@ -0,0 +1,31 @@ +{ + "name": "sudoku", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "@fortawesome/fontawesome-free": "^6.5.2", + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-brands-svg-icons": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.2", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "eslint": "^8.57.0", + "eslint-plugin-react": "^7.34.2", + "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-refresh": "^0.4.7", + "vite": "^5.3.1" + } +} diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/public/vite.svg b/React-JS-Projects/Advanced/Sudoku-Solver/public/vite.svg new file mode 100644 index 00000000..e7b8dfb1 --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/src/App.css b/React-JS-Projects/Advanced/Sudoku-Solver/src/App.css new file mode 100644 index 00000000..3b7492a9 --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/src/App.css @@ -0,0 +1,195 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: Arial, Helvetica, sans-serif; + text-align: center; + background: linear-gradient(135deg, #f8f9fa, #e0e0e0); + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + min-height: 100vh; + margin: 0; +} + +h1 { + font-weight: 600; + margin-top: 30px; + color: #333; +} + +.image-container { + margin-right: 20px; + position: absolute; + width: 10rem; + right: 73%; + top: 4.8rem; + user-select: none; + display: none; +} + +.image-container img { + width: 250px; + height: auto; + border-radius: 10px; +} + +@media (min-width: 1220px) { + .image-container { + display: block; + } +} + +/* @media (width: 1350px) { + .image-container { + margin-right: 20px; + position: absolute; + width: 10rem; + right: 90.66667%; + top: 4.8rem; + user-select: none; + display: none; + } +} */ + +.sudoku-container { + margin-top: 20px; + display: flex; + justify-content: center; + background: #fff; + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); +} + +table { + border-collapse: collapse; + border: 4px solid #000; +} + +.cell { + width: 50px; + height: 50px; + text-align: center; + font-size: 24px; + border: 1.5px solid #999; + transition: all 0.3s ease-in-out; +} + +table tr:nth-child(3n) td, +table tr:nth-child(3n + 3) td { + border-bottom: 2px solid #000; +} + +table td:nth-child(3n) { + border-right: 2px solid #000; +} + +input { + outline: none; + background: transparent; + border: none; + font-size: inherit; + width: 100%; + height: 100%; + text-align: center; +} + +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +button { + margin-top: 20px; + padding: 12px 24px; + font-size: 18px; + background-color: #0a5c36; + color: #fff; + border: none; + cursor: pointer; + border-radius: 4px; + transition: all 0.3s ease; +} + +button:hover { + background-color: #18392b; +} + +.solved { + background-color: #9ccc65; + transition: all 0.2s ease-in-out; +} + +.warning { + color: red; + margin-top: 20px; +} + +@media (max-width: 768px) { + .cell { + width: 40px; + height: 40px; + font-size: 20px; + } + + button { + font-size: 16px; + padding: 10px 20px; + } + + h1 { + margin-top: 110px; + } +} + +@media (max-width: 480px) { + .cell { + width: 40px; + height: 40px; + font-size: 22px; + } + + button { + font-size: 18px; + padding: 12px 24px; + } +} + +.linkedin-icon { + position: fixed; + bottom: 0; + right: 0; + width: 100px; + height: 100px; + overflow: hidden; +} + +.linkedin-icon::before { + content: ""; + position: absolute; + bottom: 0; + right: 0; + width: 200px; + height: 200px; + border-radius: 50%; + background-color: #0077b5; + transform: translate(60%, 50%); +} + +.linkedin-icon a { + position: absolute; + bottom: 10px; + right: 10px; + color: white; + text-decoration: none; + font-size: 24px; +} + +.linkedin-icon a:hover { + color: #005582; +} diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/src/App.jsx b/React-JS-Projects/Advanced/Sudoku-Solver/src/App.jsx new file mode 100644 index 00000000..8c22272e --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/src/App.jsx @@ -0,0 +1,188 @@ +import React, { useState, useRef, useEffect } from 'react'; +import './App.css'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faLinkedin } from '@fortawesome/free-brands-svg-icons'; + +function App() { + const gridSize = 9; + const [sudokuGrid, setSudokuGrid] = useState(Array(gridSize).fill().map(() => Array(gridSize).fill(0))); + const [userInputCells, setUserInputCells] = useState(new Set()); + const [warning, setWarning] = useState(""); + const inputRefs = useRef(Array.from({ length: gridSize }, () => Array.from({ length: gridSize }, () => React.createRef()))); + + const handleInputChange = (row, col, value) => { + if (value !== '' && !isValidInput(value)) { + setWarning('Invalid input: Only single-digit numbers (1-9) are allowed.'); + setTimeout(() => setWarning(""), 2000); + return; + } + + if (value !== '' && !isValidMove(sudokuGrid, row, col, parseInt(value))) { + setWarning(`Invalid move: ${value} is not allowed in row, column, or box.`); + setTimeout(() => setWarning(""), 2000); + return; + } + + const newGrid = sudokuGrid.map((r, rowIndex) => + r.map((c, colIndex) => (rowIndex === row && colIndex === col ? parseInt(value) || 0 : c)) + ); + setSudokuGrid(newGrid); + + if (value !== '') { + setUserInputCells(prev => new Set(prev).add(`${row}-${col}`)); + } else { + setUserInputCells(prev => { + const newSet = new Set(prev); + newSet.delete(`${row}-${col}`); + return newSet; + }); + } + }; + + const handleKeyDown = (e, row, col) => { + switch (e.key) { + case 'ArrowUp': + if (row > 0) { + inputRefs.current[row - 1][col].current.focus(); + } + break; + case 'ArrowDown': + if (row < gridSize - 1) { + inputRefs.current[row + 1][col].current.focus(); + } + break; + case 'ArrowLeft': + if (col > 0) { + inputRefs.current[row][col - 1].current.focus(); + } + break; + case 'ArrowRight': + if (col < gridSize - 1) { + inputRefs.current[row][col + 1].current.focus(); + } + break; + default: + break; + } + }; + + const solveSudoku = async () => { + const gridCopy = JSON.parse(JSON.stringify(sudokuGrid)); + if (solveSudokuHelper(gridCopy)) { + for (let row = 0; row < gridSize; row++) { + for (let col = 0; col < gridSize; col++) { + if (!userInputCells.has(`${row}-${col}`)) { + await new Promise(resolve => setTimeout(resolve, 20)); + setSudokuGrid(prevGrid => { + const newGrid = [...prevGrid]; + newGrid[row][col] = gridCopy[row][col]; + return newGrid; + }); + } + } + } + } else { + alert("No solution exists for the given Sudoku puzzle."); + } + }; + + const solveSudokuHelper = (board) => { + for (let row = 0; row < gridSize; row++) { + for (let col = 0; col < gridSize; col++) { + if (board[row][col] === 0) { + for (let num = 1; num <= 9; num++) { + if (isValidMove(board, row, col, num)) { + board[row][col] = num; + if (solveSudokuHelper(board)) { + return true; + } + board[row][col] = 0; + } + } + return false; + } + } + } + return true; + }; + + const isValidMove = (board, row, col, num) => { + for (let i = 0; i < gridSize; i++) { + if (board[row][i] === num && i !== col) { + return false; + } + } + for (let i = 0; i < gridSize; i++) { + if (board[i][col] === num && i !== row) { + return false; + } + } + + const startRow = Math.floor(row / 3) * 3; + const startCol = Math.floor(col / 3) * 3; + for (let i = startRow; i < startRow + 3; i++) { + for (let j = startCol; j < startCol + 3; j++) { + if (board[i][j] === num) { + return false; + } + } + } + return true; + }; + + const isValidInput = (value) => { + return /^[1-9]$/.test(value); + }; + + const restartSudoku = () => { + const initialGrid = Array(gridSize).fill().map(() => Array(gridSize).fill(0)); + setSudokuGrid(initialGrid); + setUserInputCells(new Set()); + setWarning(""); + }; + + return ( +
+

SudoSolver

+ {/*
+ Sudoku +
*/} +
+ + + {sudokuGrid.map((row, rowIndex) => ( + + {row.map((cell, colIndex) => ( + + ))} + + ))} + +
+ handleInputChange(rowIndex, colIndex, e.target.value)} + onKeyDown={(e) => handleKeyDown(e, rowIndex, colIndex)} + /> +
+
+ + {' '} + + {warning &&

{warning}

} +
+ + + +
+
+ ); +} + +export default App; diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/src/assets/logo1.png b/React-JS-Projects/Advanced/Sudoku-Solver/src/assets/logo1.png new file mode 100644 index 0000000000000000000000000000000000000000..a24c21a20fab204aab0b052213710f852968dfa7 GIT binary patch literal 84654 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 literal 0 HcmV?d00001 diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/src/assets/react.svg b/React-JS-Projects/Advanced/Sudoku-Solver/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/src/assets/try_it.png b/React-JS-Projects/Advanced/Sudoku-Solver/src/assets/try_it.png new file mode 100644 index 0000000000000000000000000000000000000000..4832d1d906b9c567c694ad31584fbce1025549b9 GIT binary patch literal 29114 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 literal 0 HcmV?d00001 diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/src/index.css b/React-JS-Projects/Advanced/Sudoku-Solver/src/index.css new file mode 100644 index 00000000..9794f6be --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/src/index.css @@ -0,0 +1,6 @@ +body, +html, +#root { + height: 100%; + margin: 0; +} diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/src/index.jsx b/React-JS-Projects/Advanced/Sudoku-Solver/src/index.jsx new file mode 100644 index 00000000..8540fc6b --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/src/index.jsx @@ -0,0 +1,11 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.css'; +import App from './App'; + +ReactDOM.render( + + + , + document.getElementById('root') +); diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/src/main.jsx b/React-JS-Projects/Advanced/Sudoku-Solver/src/main.jsx new file mode 100644 index 00000000..54b39dd1 --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/src/main.jsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.jsx' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')).render( + + + , +) diff --git a/React-JS-Projects/Advanced/Sudoku-Solver/vite.config.js b/React-JS-Projects/Advanced/Sudoku-Solver/vite.config.js new file mode 100644 index 00000000..5a33944a --- /dev/null +++ b/React-JS-Projects/Advanced/Sudoku-Solver/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()], +})